.fs-root{touch-action:none;user-select:none;font-family:var(--font-mono,monospace);background:#0a0e1f;position:absolute;inset:0;overflow:hidden}.fs-canvas{position:absolute;inset:0}.fs-canvas canvas{width:100%!important;height:100%!important;display:block!important}.fs-ui{z-index:3;pointer-events:none;color:#eaf3ff;position:absolute;inset:0}.fs-hud{top:max(8px,env(safe-area-inset-top));letter-spacing:.08em;text-align:center;background:#0a0e1fd9;border:1px solid #3fd0ff55;border-radius:8px;grid-template-columns:repeat(3,1fr) auto;align-items:center;gap:7px;padding:8px 10px;font-size:clamp(10px,2.7vw,12px);display:grid;position:absolute;left:10px;right:10px;box-shadow:0 8px 20px #0006}.fs-hud span{justify-items:center;gap:3px;display:grid}.fs-hud b{color:#fff;font-size:clamp(14px,4vw,20px)}.fs-hud .is-active b{color:#ffd15e;text-shadow:0 0 10px #ffb23f}.fs-overlay{pointer-events:auto;background:#080c26c9;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.fs-card{box-sizing:border-box;text-align:center;background:#101636f2;border:1px solid #3fd0ff88;border-radius:12px;justify-items:center;gap:12px;width:min(360px,100% - 24px);max-height:100%;padding:clamp(18px,6vw,30px);display:grid;overflow-y:auto;box-shadow:0 18px 60px #000b,0 0 32px #3fd0ff33}.fs-card h2{color:#eaf3ff;font:700 clamp(20px,7vw,32px) var(--font-display,sans-serif);letter-spacing:.12em;margin:0}.fs-card p{color:#b7c4ea;letter-spacing:.06em;margin:0;font-size:clamp(11px,2.9vw,13px);line-height:1.65}.fs-card strong{color:#ffd15e;font-size:clamp(34px,11vw,44px)}.fs-card small{color:#a7b6de;letter-spacing:.1em}.fs-card button{color:#08122a;min-height:46px;font:800 13px var(--font-mono,monospace);letter-spacing:.14em;cursor:pointer;background:#3fd0ff;border:0;border-radius:6px;padding:12px 26px}.fs-feedback{font:800 clamp(11px,2.8vw,13px) var(--font-mono,monospace);letter-spacing:.1em;pointer-events:none;opacity:.9;border-radius:999px;padding:5px 11px;position:absolute;top:62%;left:50%;transform:translate(-50%)}.fs-feedback--perfect{color:#18203b;background:#ffd15e}.fs-feedback--normal{color:#08122a;background:#7fd0ff}.fs-feedback--miss{color:#2b1020;background:#f28b9b}.fs-new-best{letter-spacing:.1em;font-weight:800;color:#ff9f4a!important}.fs-breakdown{letter-spacing:.08em;color:#a7b6de;flex-wrap:wrap;justify-content:center;gap:14px;font-size:clamp(10px,2.7vw,12px);display:flex}.fs-breakdown b{color:#eaf3ff;font-size:clamp(13px,3.4vw,15px)}.fs-records{letter-spacing:.08em;color:#7a8ec0;border-top:1px solid #3fd0ff22;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:2px;padding-top:8px;font-size:clamp(9px,2.4vw,11px);display:flex}.fs-records b{color:#a7b6de;font-size:clamp(12px,3.2vw,14px)}.fs-records .is-record{color:#ff9f4a}.fs-records .is-record b{color:#ffd15e;text-shadow:0 0 8px #ffb23f}.fs-powermap{width:min(240px,82%);height:auto;display:block}.fs-howto-note{color:#7fd0ff;letter-spacing:.06em;margin:0;font-size:clamp(10px,2.6vw,12px);line-height:1.6}.fs-mute{box-sizing:border-box;color:#eaf3ff;cursor:pointer;pointer-events:auto;background:#101636f2;border:1px solid #3fd0ff55;border-radius:6px;justify-content:center;align-items:center;width:clamp(30px,8vw,36px);height:clamp(30px,8vw,36px);padding:0;font-size:clamp(14px,3.6vw,17px);line-height:1;display:flex}.fs-drag-demo{justify-items:center;gap:5px;margin-top:2px;display:grid}.fs-drag-track{width:44px;height:52px;position:relative}.fs-drag-finger{box-sizing:border-box;background:#3fd0ff;border-radius:50%;width:16px;height:16px;animation:1.6s ease-in-out infinite fs-drag-up;position:absolute;bottom:4px;left:50%;transform:translate(-50%);box-shadow:0 0 12px #3fd0ff}.fs-drag-trail{background:linear-gradient(#0000,#3fd0ff);border-radius:2px;width:3px;height:0;animation:1.6s ease-in-out infinite fs-drag-trail;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.fs-drag-caption{color:#7fd0ff;letter-spacing:.06em;margin:0;font-size:clamp(10px,2.6vw,12px)}@keyframes fs-drag-up{0%,12%{opacity:.95;bottom:4px}55%{opacity:1;bottom:36px}62%{opacity:.25;bottom:36px}68%{opacity:0;bottom:36px}to{opacity:0;bottom:4px}}@keyframes fs-drag-trail{0%,12%{opacity:0;height:0}55%{opacity:.55;height:32px}68%{opacity:0;height:32px}to{opacity:0;height:0}}@media (orientation:landscape) and (height<=500px){.fs-hud{grid-template-columns:repeat(3,1fr) auto;font-size:clamp(10px,1.7vh,12px)}.fs-card{max-width:560px}}
