:root{color-scheme:dark;--cyan:#66f7ff;--violet:#a284ff;--yellow:#ffe79a;--ink:#050714;--text:#f4f7ff;--muted:#9caacb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#050715;color:var(--text);-webkit-tap-highlight-color:transparent}body{display:flex;justify-content:center;align-items:center;position:relative;touch-action:none;background:radial-gradient(ellipse at 22% 40%,#162648 0,transparent 48%),radial-gradient(ellipse at 83% 76%,#1c1742 0,transparent 49%),#050715}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}.ambient{position:fixed;width:46vw;height:100vh;filter:blur(18px);opacity:.34;pointer-events:none}.ambient-left{left:-18vw;top:0;background:linear-gradient(110deg,transparent 24%,#254bb080 25%,transparent 27%,transparent 57%,#4c2cbd 58%,transparent 59%);transform:rotate(10deg)}.ambient-right{right:-18vw;top:0;background:linear-gradient(95deg,transparent 25%,#274c89 26%,transparent 27%,transparent 61%,#6f2ce0 62%,transparent 64%);transform:rotate(-10deg)}.desktop-label{position:absolute;top:50%;display:flex;flex-direction:column;gap:24px;z-index:1;transform:translateY(-50%);letter-spacing:4px;pointer-events:none}.desktop-label-left{right:calc(50% + min(32vw,295px));text-align:right}.desktop-label-right{left:calc(50% + min(32vw,295px));text-align:left}.desktop-label span{font-size:9px;color:#6682bc;font-weight:800}.desktop-label strong{font-size:clamp(22px,3vw,43px);line-height:1.02;font-weight:950;color:#e2eeff0f;white-space:nowrap}.desktop-label i{font-size:8px;font-style:normal;color:#5c6691;letter-spacing:3px}.game-shell{position:relative;height:100dvh;max-height:100dvh;width:min(100vw,calc(100dvh * .65),540px);overflow:hidden;background:#060918;isolation:isolate;box-shadow:0 0 0 1px #b9c3ff19,0 0 120px #263e8f44,0 30px 100px #000c}@supports not (height:100dvh){.game-shell{height:100vh;max-height:100vh;width:min(100vw,calc(100vh * .65),540px)}}#game{width:100%;height:100%;display:block;touch-action:none;outline:0}.noise{position:absolute;inset:0;pointer-events:none;z-index:2;opacity:.14;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.28'/%3E%3C/svg%3E")}.screen-edge{position:absolute;inset:0;pointer-events:none;z-index:3;box-shadow:inset 0 0 50px #0205137a,inset 0 -40px 70px #06091877}.overlay{position:absolute;inset:0;z-index:10}.menu-overlay{display:flex;flex-direction:column;justify-content:space-between;padding:calc(23px + var(--safe-top)) clamp(23px,7%,40px) calc(22px + var(--safe-bottom));background:linear-gradient(180deg,#080d24b8 0%,#090e24a8 28%,#050b1eda 64%,#080b1bf9 100%)}.menu-top,.menu-foot{display:flex;justify-content:space-between;align-items:center;gap:10px}.dept-brand{font-weight:900;letter-spacing:2px;font-size:10px;white-space:nowrap}.dept-brand b{color:#7ddbf2;font-weight:600;margin-left:5px}.dept-mark{font-size:18px;color:var(--cyan);vertical-align:-2px;padding-right:3px;text-shadow:0 0 20px var(--cyan)}.version{color:#8a9bb9;font-weight:700;letter-spacing:1px;font-size:7px}.menu-hero{position:relative;max-width:440px;margin:0 auto;width:100%;padding-top:8px}.overline{font-size:clamp(8px,1.8vh,10px);font-weight:900;letter-spacing:2.6px;display:flex;align-items:center;color:#b2bdf2;gap:10px}.overline-end{color:#7992b4;margin-left:auto}.live-dot{width:6px;height:6px;background:var(--cyan);border-radius:50%;box-shadow:0 0 12px var(--cyan);animation:pulse 1.8s infinite}h1{margin:14px 0 12px;font-size:clamp(76px,16vh,134px);line-height:.77;letter-spacing:-.096em;font-weight:1000;transform:translateX(-5px);text-shadow:0 7px 22px #03040b9f;font-style:italic}h1 em{font-style:italic;background:linear-gradient(120deg,#e7fbff 4%,#80f9ff 38%,#a59dff 85%);background-clip:text;-webkit-background-clip:text;color:transparent;filter:drop-shadow(0 9px 26px #4693ff30)}.title-dot{color:#ffdc8b;-webkit-text-fill-color:#ffdc8b}.menu-subtitle{color:#abb9d5;font-size:clamp(11px,2.1vh,14px);font-weight:600;letter-spacing:2.2px;line-height:1.65;margin:18px 0 15px}.menu-subtitle strong{color:#e9fbff;font-weight:850}.hero-divider{display:flex;align-items:center;gap:12px;margin:clamp(10px,2.3vh,22px) 0 13px;color:#7c92b0;font-size:8px;letter-spacing:2px}.hero-divider span{height:1px;background:linear-gradient(90deg,transparent,#5a7f9a8a);flex:1}.hero-divider span:last-child{transform:rotate(180deg)}.how-to{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:clamp(17px,3vh,32px)}.how-item{padding:12px 7px;display:flex;align-items:center;flex-direction:column;text-align:center;gap:7px;border:1px solid #91b4ff2a;background:linear-gradient(145deg,#14234385,#10142895);border-radius:10px;min-width:0}.how-icon{display:flex;align-items:center;justify-content:center;font-size:22px;height:30px;width:30px;color:var(--cyan);text-shadow:0 0 20px #1dc6feaa}.gem-icon{color:#ffd48f;text-shadow:0 0 20px #ebac48aa}.shield-icon{color:#a18aff;text-shadow:0 0 20px #a18affbb}.how-item strong{font-size:9px;letter-spacing:1.3px;display:block}.how-item small{display:block;margin-top:4px;color:#94a1bd;font-size:8px;line-height:1.2}.main-cta{width:100%;display:flex;align-items:center;justify-content:center;gap:14px;position:relative;overflow:hidden;min-height:clamp(54px,8vh,65px);border:0;border-radius:8px;background:linear-gradient(115deg,#65f6fc,#a7f5fa 44%,#77c8f8 100%);color:#0b1b32;font-weight:950;font-size:12px;letter-spacing:2.1px;box-shadow:0 8px 36px #1ed6f34f,0 1px 0 #f5ffffa8 inset;transition:transform .12s,box-shadow .12s}.main-cta:active{transform:scale(.98);box-shadow:0 3px 17px #1ed6f33a}.main-cta b{font-size:22px;font-weight:500;position:absolute;right:20px;top:50%;transform:translateY(-50%)}.cta-shine{position:absolute;top:0;left:-60%;width:28%;height:100%;transform:skewX(-25deg);background:#ffffff52;animation:shimmer 5s ease-in-out infinite}.score-teaser{margin-top:17px;display:flex;justify-content:space-between;align-items:center}.score-teaser>div:not(.teaser-sep){display:flex;flex-direction:column;gap:5px}.score-teaser small{font-size:8px;letter-spacing:1.8px;color:#8297b5;font-weight:800}.score-teaser strong{font-size:14px;letter-spacing:1.8px;font-weight:850;color:#e4f6ff}.teaser-sep{width:1px;height:29px;background:#49617b77}.menu-foot{font-size:7px;letter-spacing:1.5px;color:#92a7c0;font-weight:800}.menu-foot b{color:var(--cyan)}.foot-glow{font-size:8px;margin-right:4px}.hud{position:absolute;inset:0;z-index:6;pointer-events:none;padding:calc(18px + var(--safe-top)) clamp(20px,5%,30px) 0}.hud-top{display:flex;align-items:start;justify-content:space-between}.hud-brand{display:flex;gap:9px;align-items:center;letter-spacing:.7px}.brand-cube{color:var(--cyan);font-size:23px;text-shadow:0 0 15px #60eafb}.hud-brand strong{font-size:17px;line-height:1;display:block;letter-spacing:-.5px}.hud-brand strong span{color:var(--cyan)}.hud-brand small{font-size:7px;letter-spacing:2.5px;color:#86a8c3;display:block;margin-top:5px}.hud-score{margin-left:auto;margin-right:15px;text-align:right}.hud-score small,.results small{font-size:8px;letter-spacing:2px;font-weight:850;color:#a2b2ce;display:block}.hud-score strong{font-variant-numeric:tabular-nums;font-size:24px;letter-spacing:1.8px;display:block;line-height:1.2}.circle-btn{width:38px;height:38px;border:1px solid #a3edff55;border-radius:12px;background:#0c1a31b3;display:flex;align-items:center;justify-content:center;pointer-events:auto;backdrop-filter:blur(8px)}.pause-icon{width:12px;height:16px;border-left:4px solid #b6f7ff;border-right:4px solid #b6f7ff}.hud-second{display:flex;justify-content:space-between;margin-top:18px;align-items:center;gap:7px}.lives{color:#fb769c;text-shadow:0 0 12px #ff4c87aa;font-size:18px;letter-spacing:2px}.zone,.combo{font-size:9px;font-weight:950;letter-spacing:1px;border:1px solid #86a8e354;padding:7px 8px;border-radius:5px;background:#070f24b5;color:#c9d9ff}.combo{color:#ffe5a0;border-color:#e7b96962}.boost-line{margin-top:9px;width:100%;height:2px;background:#3f4b796b}.boost-line span{display:block;width:0%;height:100%;background:linear-gradient(90deg,#1de7f7,#bceeff);box-shadow:0 0 11px #80ffff}.toast{position:absolute;top:30%;left:50%;transform:translate(-50%,-10px);color:#fff4d6;text-shadow:0 0 25px #fba746aa;letter-spacing:3px;font-weight:1000;text-align:center;font-size:22px;white-space:nowrap;opacity:0;transition:opacity .15s,transform .2s}.toast.show{opacity:1;transform:translate(-50%,0)}.controls{position:absolute;bottom:calc(19px + var(--safe-bottom));left:clamp(18px,5%,30px);right:clamp(18px,5%,30px);display:flex;justify-content:space-between;align-items:center;z-index:7;pointer-events:none}.steer-btn{pointer-events:auto;width:65px;height:65px;display:flex;align-items:center;justify-content:center;border-radius:19px;background:linear-gradient(145deg,#1b3864c9,#11172ca8);border:1px solid #86efffa1;box-shadow:inset 0 1px 0 #ffffff22,0 6px 22px #0008;backdrop-filter:blur(8px)}.steer-btn svg{width:24px;height:24px;fill:none;stroke:#b2f5ff;stroke-linecap:round;stroke-linejoin:round;stroke-width:3}.steer-btn:active{background:#52bcda9c;transform:scale(.96)}.controls-instruction{color:#8cb1d1;letter-spacing:1.4px;font-weight:900;font-size:8px;text-align:center;display:flex;flex-direction:column;gap:9px;align-items:center;text-shadow:0 2px 8px #060c21}.gesture-line{width:43px;height:1px;background:linear-gradient(90deg,#4060a1,#9fd7ef,#4060a1);position:relative}.gesture-line:after{content:'◇';position:absolute;top:-9px;left:18px;font-size:13px;font-style:normal;color:#91e7ec}.modal-overlay{background:#030718dd;display:flex;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(10px)}.modal-card{width:100%;max-width:360px;padding:28px 21px 23px;border-radius:18px;background:linear-gradient(155deg,#18294de8,#0a1027f4 58%,#10152fe9);border:1px solid #78c9ff52;box-shadow:0 30px 100px #000b,0 0 60px #278cde1c;text-align:center}.modal-graphic{margin:0 auto 22px;width:72px;height:72px;border:1px solid #a5f5ff8c;display:flex;justify-content:center;align-items:center;transform:rotate(45deg);font-size:34px;color:#aff8ff;box-shadow:0 0 40px #60d4f01f,inset 0 0 22px #74def226}.modal-graphic::first-letter{transform:rotate(-45deg)}.paused-graphic{transform:none;border-radius:17px}.modal-kicker{font-size:9px;color:#83eef4;font-weight:900;letter-spacing:2.4px}.modal-card h2{font-size:clamp(48px,10vh,70px);letter-spacing:-4px;line-height:.92;margin:14px 0;font-style:italic;font-weight:1000}.modal-card h2 span{color:#77f3ff}.modal-card h2 em{font-style:italic;color:var(--cyan)}.modal-card p{color:#9eafc8;font-size:12px;line-height:1.6;margin:0 0 22px}.secondary-cta{background:transparent;border:0;color:#9db0cf;font-weight:900;letter-spacing:2px;font-size:10px;margin-top:18px;padding:8px 15px}.results{display:flex;justify-content:space-between;text-align:left;gap:12px;border-top:1px solid #6583b355;border-bottom:1px solid #6583b355;padding:17px 4px;margin-bottom:20px}.results strong{display:block;margin-top:5px;letter-spacing:1px;font-size:25px;font-variant-numeric:tabular-nums}.new-record{color:#ffe39a;letter-spacing:2px;font-weight:950;font-size:9px;margin:-3px 0 16px}.over-graphic{color:#ffe7a8;border-color:#ffe7a8a6;font-size:43px;transform:none;clip-path:polygon(50% 0,88% 19%,100% 57%,75% 100%,22% 100%,0 57%,12% 19%)}[hidden]{display:none!important}@keyframes pulse{0%,100%{opacity:1;box-shadow:0 0 10px #69e9ff}50%{opacity:.45;box-shadow:0 0 3px #69e9ff}}@keyframes shimmer{0%,78%{left:-60%}100%{left:160%}}@media(max-height:680px){.menu-overlay{padding-top:15px;padding-bottom:15px}.menu-top,.menu-foot{font-size:7px}.menu-hero{padding-top:0}.overline{font-size:8px}h1{font-size:clamp(64px,13.8vh,98px);margin:10px 0}.menu-subtitle{font-size:10px;margin:13px 0 10px}.hero-divider{margin:10px 0}.how-item{padding:8px 5px}.how-icon{height:23px;font-size:18px}.how-to{margin-bottom:12px}.main-cta{min-height:49px}.score-teaser{margin-top:11px}.modal-card{padding:18px}.modal-graphic{width:54px;height:54px;margin-bottom:12px}}@media(max-height:540px){.menu-foot,.menu-top{display:none}.menu-hero{margin:auto}.how-to{margin-bottom:9px}.how-item{padding:6px 3px;gap:2px}.how-item small{display:none}.hero-divider{margin:5px 0}h1{font-size:clamp(55px,15vh,88px)}.menu-subtitle{margin:10px 0}.score-teaser{margin-top:8px}}@media(max-width:600px){body{background:#050819}.game-shell{width:100vw}.desktop-label{display:none}}@media(prefers-reduced-motion:reduce){.live-dot,.cta-shine{animation:none}}

/* Keep sound controls outside the Playables platform UI. */
.sound-btn{position:absolute;right:12px;bottom:calc(4px + var(--safe-bottom));z-index:20;border:0;background:#071124;color:#9ebad1;font-size:8px;letter-spacing:1px;padding:3px 8px;border-radius:4px}
/* Short and narrow viewports retain access to every menu and modal action. */
.menu-overlay,.modal-overlay{overflow-y:auto;touch-action:pan-y}
.modal-card{flex-shrink:0;margin:auto}
@media(max-height:540px) and (min-width:601px){.game-shell{width:min(100vw,420px)}}
@media(max-width:360px){h1{font-size:min(24vw,110px)}.version{display:none}.menu-overlay{padding-left:18px;padding-right:18px}.hud{padding-left:12px;padding-right:12px}.hud-brand strong{font-size:14px}.hud-score strong{font-size:20px}.zone,.combo{font-size:8px;padding:6px}.toast{font-size:16px}.score-teaser strong{font-size:11px}.modal-overlay{padding:12px}.modal-card h2{font-size:clamp(40px,14vw,60px)}}

.sdk-paused *{animation-play-state:paused!important;transition:none!important}
@media(max-height:360px){.menu-subtitle{display:none}.modal-graphic,.modal-card p{display:none}.modal-card{padding:12px}.modal-card h2{font-size:40px;margin:9px 0}.results{padding:9px 4px;margin-bottom:10px}.secondary-cta{margin-top:8px}.new-record{margin:0 0 8px}}
/* The complete-run label must fit inside mobile result cards. */
.over-card h2{font-size:clamp(36px,12vw,56px);letter-spacing:-3px}

/* A reachable standalone audio toggle with room above it for the swipe hint. */
.sound-btn{left:50%;right:auto;transform:translateX(-50%);bottom:calc(2px + var(--safe-bottom));min-width:100px;min-height:44px;font-size:10px;border:1px solid #86efff55;cursor:pointer}
.controls-instruction{transform:translateY(-24px)}
