.tc-board-wrap{position:relative;width:100%;max-width:min(94vw,520px);margin:0 auto;user-select:none;-webkit-user-select:none}.tc-board{position:relative;border-radius:18px;padding:8px;background:linear-gradient(160deg,#23262d,#16181d 55%,#101216);box-shadow:inset 0 2px 3px #ffffff12,inset 0 -3px 8px #000000a6,0 10px 28px #0000008c;will-change:transform;touch-action:none}.tc-cells,.tc-tiles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.tc-cell{position:absolute;border-radius:14%;background:radial-gradient(120% 120% at 35% 25%,#ffffff09,#00000047);box-shadow:inset 0 1px 2px #00000080,inset 0 -1px 1px #ffffff0a}.tc-layer{position:relative;overflow:hidden;border-radius:12px}.tc-canvas{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:30}.tc-fx{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:40}.tc-tile{position:absolute;top:0;left:0;will-change:transform;z-index:10}.tc-tile-inner{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;border-radius:16%}.tc-oil-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:2}.tc-oil-overlay.tc-oil-wipe{animation:tcOilWipe .24s ease-in forwards;transform-origin:100% 50%}@keyframes tcOilWipe{0%{transform:translate(0) scaleX(1);opacity:1}55%{transform:translate(30%) scaleX(.5) skew(-12deg);opacity:.75}to{transform:translate(72%) scaleX(.06) skew(-18deg);opacity:0}}.tc-oil-overlay.tc-oil-ooze{animation:tcOilOoze .44s cubic-bezier(.2,1.3,.4,1)}@keyframes tcOilOoze{0%{transform:scale(0);opacity:0}50%{transform:scale(1.14,.88);opacity:1}75%{transform:scale(.92,1.08)}to{transform:scale(1);opacity:1}}.tc-tile-inner.tc-oil-freed{animation:tcOilFreed .26s cubic-bezier(.2,1.4,.4,1)}@keyframes tcOilFreed{0%{transform:scale(1)}45%{transform:scale(1.15)}to{transform:scale(1)}}.tc-tile-inner.tc-blocker-hit{animation:tcBlockerHit .18s ease-out;filter:brightness(1.25)}@keyframes tcBlockerHit{0%{transform:translate(0)}25%{transform:translate(-2px,1px) rotate(-1.6deg)}55%{transform:translate(2px,-1px) rotate(1.2deg)}80%{transform:translate(-1px) rotate(-.6deg)}to{transform:translate(0)}}.tc-tile-inner.tc-nope-soft{animation:tcNopeSoft .24s ease-in-out}@keyframes tcNopeSoft{0%{transform:rotate(0)}25%{transform:rotate(-3deg)}55%{transform:rotate(2.5deg)}80%{transform:rotate(-1.5deg)}to{transform:rotate(0)}}.tc-tile-inner.tc-selected{transform:scale(1.08);transition:transform .12s ease-out;box-shadow:0 0 0 3px #ffd166e6,0 0 18px 4px #ffb0208c;z-index:20}.tc-tile.tc-front{z-index:20}.tc-tile-inner.tc-drag{transform:scale(1.06);transition:transform 90ms ease-out;filter:drop-shadow(0 6px 10px rgba(0,0,0,.55))}.tc-tile-inner.tc-bulge{animation:tcBulge .14s ease-in-out infinite;filter:brightness(1.4)}@keyframes tcBulge{0%,to{transform:scale(1.12) translate(0)}25%{transform:scale(1.12) translate(-1.5px,1px)}75%{transform:scale(1.12) translate(1.5px,-1px)}}.tc-tile-inner.tc-jostle{animation:tcJostle .14s ease-out}@keyframes tcJostle{0%{transform:translateY(0)}40%{transform:translateY(3px) scale(1.03,.95)}to{transform:translateY(0)}}.tc-tile-inner.tc-hint{animation:tcHintPulse 1s ease-in-out infinite}@keyframes tcHintPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.85}}.tc-tile-inner.tc-nope{animation:tcNope .32s ease-in-out}@keyframes tcNope{0%{transform:rotate(0)}20%{transform:rotate(-9deg)}45%{transform:rotate(8deg)}70%{transform:rotate(-5deg)}to{transform:rotate(0)}}.tc-tile-inner.tc-land{animation:tcLand .2s ease-out}@keyframes tcLand{0%{transform:scale(1.06,.82)}55%{transform:scale(.94,1.08)}to{transform:scale(1)}}.tc-tile-inner.tc-spawn{animation:tcSpawn .28s cubic-bezier(.2,1.4,.4,1)}@keyframes tcSpawn{0%{transform:scale(0) rotate(-240deg);opacity:0}70%{transform:scale(1.18) rotate(12deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.tc-redline-glow{position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:20px;pointer-events:none;z-index:50;opacity:0;border:3px solid rgba(255,181,46,.95);box-shadow:0 0 22px 6px #ffb52e8c,inset 0 0 22px 4px #39c2ff59}.tc-redline-glow.tc-on{animation:tcRedlinePulse .7s ease-in-out infinite}@keyframes tcRedlinePulse{0%,to{opacity:.45}50%{opacity:1}}.tc-ring{position:absolute;border-radius:50%;border:3px solid rgba(255,210,63,.95);box-shadow:0 0 12px 2px #ffd23f80;transform:translate(-50%,-50%) scale(.15);opacity:1;animation:tcRing .42s ease-out forwards}.tc-ring.tc-ring-2{border-color:#ffffffe6;animation-delay:80ms;animation-duration:.46s}@keyframes tcRing{0%{transform:translate(-50%,-50%) scale(.15);opacity:1}to{transform:translate(-50%,-50%) scale(1);opacity:0}}.tc-beam{position:absolute;border-radius:999px;background:linear-gradient(90deg,#ff8a1a00,#ffe45cf2 18%,#fff,#ffe45cf2 82%,#ff8a1a00);opacity:0;animation:tcBeamH .3s ease-out forwards}.tc-beam.tc-beam-v{background:linear-gradient(180deg,#ff8a1a00,#ffe45cf2 18%,#fff,#ffe45cf2 82%,#ff8a1a00);animation-name:tcBeamV}@keyframes tcBeamH{0%{transform:scaleX(.1) scaleY(.4);opacity:0}25%{transform:scaleX(1) scaleY(1.15);opacity:1}to{transform:scaleX(1) scaleY(.5);opacity:0}}@keyframes tcBeamV{0%{transform:scaleY(.1) scaleX(.4);opacity:0}25%{transform:scaleY(1) scaleX(1.15);opacity:1}to{transform:scaleY(1) scaleX(.5);opacity:0}}.tc-flash{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;background:radial-gradient(circle at 50% 45%,#9fd8fff2,#2f8ce68c 60%,#0b57b533);opacity:0;animation:tcFlash .42s ease-out forwards;z-index:45}@keyframes tcFlash{0%{opacity:0}18%{opacity:.95}to{opacity:0}}.tc-chroma-edge{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;pointer-events:none;z-index:55;opacity:0}.tc-chroma-edge:before,.tc-chroma-edge:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px}.tc-chroma-edge:before{border:1px solid rgba(255,40,70,.9);transform:translate(-1px)}.tc-chroma-edge:after{border:1px solid rgba(60,220,255,.9);transform:translate(1px)}.tc-chroma-edge.tc-on{animation:tcChromaPulse .22s ease-out forwards}@keyframes tcChromaPulse{0%{opacity:0}30%{opacity:1}to{opacity:0}}.tc-vignette{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;pointer-events:none;z-index:44;opacity:0;background:radial-gradient(circle at 50% 50%,#0000 55%,#ff5a1442 82%,#780a0080)}.tc-vignette.tc-on{animation:tcVignette .5s ease-out forwards}@keyframes tcVignette{0%{opacity:0}25%{opacity:1}to{opacity:0}}.tc-stamp{position:absolute;left:50%;top:42%;font-family:Arial Black,system-ui,sans-serif;font-weight:900;font-size:34px;letter-spacing:.04em;color:#ffd166;-webkit-text-stroke:2px rgba(0,0,0,.6);text-shadow:0 3px 0 rgba(0,0,0,.45),0 0 24px rgba(255,150,30,.8);white-space:nowrap;pointer-events:none;z-index:65;opacity:0;transform:translate(-50%,-50%) rotate(-6deg) scale(.3);animation:tcStamp .6s cubic-bezier(.2,1.5,.4,1) forwards}@keyframes tcStamp{0%{transform:translate(-50%,-50%) rotate(-6deg) scale(.3);opacity:0}22%{transform:translate(-50%,-50%) rotate(-6deg) scale(1.18);opacity:1}38%{transform:translate(-50%,-50%) rotate(-6deg) scale(1)}78%{opacity:1}to{transform:translate(-50%,-50%) rotate(-6deg) scale(1.02);opacity:0}}.tc-score-pop{position:absolute;transform:translate(-50%,-50%);font-weight:900;font-family:Arial Black,system-ui,sans-serif;-webkit-text-stroke:1px rgba(0,0,0,.55);text-shadow:0 2px 6px rgba(0,0,0,.7);opacity:0;animation:tcScorePop .8s cubic-bezier(.2,.8,.3,1) forwards;white-space:nowrap;z-index:60}@keyframes tcScorePop{0%{transform:translate(-50%,-50%) scale(.4);opacity:0}18%{transform:translate(-50%,-60%) scale(1.15);opacity:1}40%{transform:translate(-50%,-75%) scale(1);opacity:1}to{transform:translate(-50%,-170%) scale(.92);opacity:0}}.tc-banner{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:10px 18px;border-radius:10px;background:#0c0e12eb;border:1px solid rgba(255,176,32,.7);color:#ffd166;font-family:Arial Black,system-ui,sans-serif;font-weight:900;font-size:14px;letter-spacing:.08em;text-align:center;opacity:0;z-index:70;pointer-events:none}.tc-banner.tc-on{animation:tcBanner 1.1s ease-in-out forwards}@keyframes tcBanner{0%{opacity:0;transform:translate(-50%,-50%) scale(.85)}15%{opacity:1;transform:translate(-50%,-50%) scale(1.04)}25%{transform:translate(-50%,-50%) scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) scale(.96)}}@media (prefers-reduced-motion: reduce){.tc-tile-inner.tc-hint,.tc-redline-glow.tc-on{animation-duration:2.2s}.tc-tile-inner.tc-nope,.tc-tile-inner.tc-land,.tc-tile-inner.tc-spawn,.tc-tile-inner.tc-nope-soft,.tc-tile-inner.tc-oil-freed{animation-duration:.12s}.tc-oil-overlay.tc-oil-ooze{animation:none}.tc-tile-inner.tc-blocker-hit{animation:none;filter:brightness(1.2)}.tc-tile-inner.tc-bulge{animation:none;transform:scale(1.08);filter:brightness(1.25)}.tc-tile-inner.tc-jostle,.tc-stamp,.tc-vignette,.tc-chroma-edge.tc-on{animation:none;opacity:0}}:root{--bg: #0d0f14;--panel: #161a22;--panel-2: #1b2029;--border: #262c38;--text: #f2f4f8;--dim: #9aa3b2;--accent: #ff6b1a;--danger: #ff4d4d;--good: #3ddc84;--radius: 18px;--radius-sm: 12px;--shadow: 0 10px 30px rgba(0, 0, 0, .45);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;overscroll-behavior:none}body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;user-select:none;-webkit-user-select:none}#root{min-height:100dvh}h1,h2,h3{font-weight:800;font-style:italic;letter-spacing:.02em;margin:0}button{font:inherit;color:inherit;border:none;background:none;padding:0;cursor:pointer;touch-action:manipulation}.app-root{position:relative;min-height:100dvh;max-width:560px;margin:0 auto;overflow:hidden;background:var(--bg)}.screen{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;overflow:hidden;padding-left:var(--safe-left);padding-right:var(--safe-right)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 28px;border-radius:14px;font-weight:800;font-style:italic;font-size:17px;letter-spacing:.06em;text-transform:uppercase;transition:transform .12s ease,filter .12s ease}.btn:active{transform:scale(.96)}.btn-primary{background:linear-gradient(180deg,var(--accent),color-mix(in srgb,var(--accent) 72%,#000));color:#fff;box-shadow:0 6px 18px color-mix(in srgb,var(--accent) 40%,transparent),inset 0 1px #ffffff40}.btn-primary:hover{filter:brightness(1.08)}.btn-ghost{background:var(--panel-2);border:1px solid var(--border);color:var(--text)}.btn-ghost:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--border))}.btn-block{width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:#161a22d1;border:1px solid var(--border);color:var(--dim);transition:transform .12s ease,color .12s ease,border-color .12s ease;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.icon-btn:active{transform:scale(.92)}.icon-btn[aria-pressed=true]{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.splash{align-items:center;justify-content:center;text-align:center;cursor:pointer;padding-top:calc(var(--safe-top) + 12px);padding-bottom:calc(var(--safe-bottom) + 12px)}.splash-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:18px;padding:0 24px}.splash-tagline{color:var(--dim);font-size:15px;font-style:italic;letter-spacing:.08em;text-transform:uppercase;margin:0}.tap-start{margin-top:34px;font-weight:800;font-style:italic;font-size:20px;letter-spacing:.24em;text-transform:uppercase;color:var(--text);text-shadow:0 0 18px color-mix(in srgb,var(--accent) 60%,transparent);animation:tap-pulse 1.5s ease-in-out infinite}@keyframes tap-pulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.corner-tr{position:absolute;z-index:2;top:calc(var(--safe-top) + 12px);right:calc(var(--safe-right) + 12px)}.powered{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 16px calc(10px + var(--safe-bottom));font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}.powered strong{color:var(--text);font-weight:800;font-style:italic;letter-spacing:.08em}.powered img{height:20px;width:auto;display:block}.garage-header{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(var(--safe-top) + 14px) 18px 10px}.garage-title{font-size:26px;text-transform:uppercase;letter-spacing:.04em}.garage-sub{color:var(--dim);font-size:13px;margin:2px 0 0}.garage-scroll{position:relative;z-index:1;flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:4px 18px calc(24px + var(--safe-bottom));display:flex;flex-direction:column;gap:22px}.bay-section{display:flex;flex-direction:column;gap:10px}.bay-heading{display:flex;align-items:baseline;gap:10px}.bay-name{font-size:17px;text-transform:uppercase;letter-spacing:.1em}.bay-rule{flex:1;height:1px;background:var(--border)}.bay-current .bay-name{color:var(--accent);text-shadow:0 0 14px color-mix(in srgb,var(--accent) 45%,transparent)}.ticket{position:relative;display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;min-height:76px;box-shadow:var(--shadow);transition:transform .12s ease,border-color .12s ease;overflow:hidden}.ticket:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:4px;border-radius:0 4px 4px 0;background:var(--accent);opacity:.9}.ticket:active:not(.ticket-locked){transform:scale(.98)}.ticket-num{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:700;color:var(--dim);background:var(--panel-2);border:1px dashed var(--border);border-radius:8px;padding:6px 8px;flex-shrink:0}.ticket-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.ticket-title{font-size:17px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ticket-objective{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--dim);font-size:12.5px;letter-spacing:.04em}.obj-chip{display:inline-flex;align-items:center;gap:4px;background:var(--panel-2);border:1px solid var(--border);border-radius:999px;padding:2px 8px 2px 3px;font-weight:700;color:var(--text);font-size:12px}.obj-text{font-weight:700;color:var(--dim);text-transform:uppercase}.ticket-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.stars{display:inline-flex;gap:2px;font-size:15px;line-height:1}.star-on{color:var(--accent);text-shadow:0 0 8px color-mix(in srgb,var(--accent) 55%,transparent)}.star-off{color:#333a47}.ticket-best{font-size:11px;color:var(--dim);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.ticket-locked{opacity:.45;filter:saturate(.4)}.ticket-locked:before{background:var(--border)}.padlock{color:var(--dim);flex-shrink:0}.game{padding-top:calc(var(--safe-top) + 8px)}.game-header-audio{display:flex;align-items:center;gap:6px}.game-header{position:relative;z-index:2;display:flex;align-items:center;gap:10px;padding:4px 12px}.game-header-ticket{flex:1;min-width:0;text-align:center}.game-header-num{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--dim);letter-spacing:.18em;text-transform:uppercase}.game-header-title{font-size:16px;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hud{position:relative;z-index:2;display:flex;align-items:stretch;gap:8px;padding:6px 12px 0}.hud-panel{flex:1;background:#161a22e0;border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:56px}.hud-label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);font-weight:700}.hud-value{font-size:22px;font-weight:800;font-style:italic;font-variant-numeric:tabular-nums;line-height:1.1}.hud-value-warn{color:var(--danger);animation:warn-blink 1s steps(2) infinite}@keyframes warn-blink{50%{opacity:.55}}.chips-row{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:8px 12px 0}.goal-chip{display:inline-flex;align-items:center;gap:6px;background:#161a22e0;border:1px solid var(--border);border-radius:999px;padding:4px 12px 4px 5px;font-size:14px;font-weight:800;font-variant-numeric:tabular-nums}.goal-chip-done{border-color:color-mix(in srgb,var(--good) 55%,var(--border));color:var(--good)}.score-track{flex:1;max-width:340px;display:flex;align-items:center;gap:10px;background:#161a22e0;border:1px solid var(--border);border-radius:999px;padding:6px 14px}.score-track-bar{flex:1;height:8px;border-radius:999px;background:#0a0c10;overflow:hidden}.score-track-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 70%,#ffd23f),var(--accent));transition:width .4s ease}.score-track-label{font-size:11px;font-weight:800;color:var(--dim);letter-spacing:.08em;font-variant-numeric:tabular-nums;white-space:nowrap}.cluster{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 16px 2px}.gear-flash{flex:1;text-align:center;font-weight:800;font-style:italic;font-size:20px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);text-shadow:0 0 16px color-mix(in srgb,var(--accent) 60%,transparent);pointer-events:none}.board-wrap{position:relative;z-index:1;flex:1;display:flex;align-items:center;justify-content:center;padding:8px 10px;min-height:0}.rush-banner{position:absolute;z-index:6;top:calc(var(--safe-top) + 62px);left:50%;width:min(92%,420px);transform:translate(-50%);display:flex;align-items:center;gap:12px;background:linear-gradient(180deg,#232936,#161a22);border:1px solid color-mix(in srgb,var(--accent) 55%,var(--border));border-radius:var(--radius-sm);padding:10px 14px;box-shadow:0 12px 34px #0000008c,0 0 22px color-mix(in srgb,var(--accent) 25%,transparent)}.modal-carryover{margin:2px 0 0;font-size:13px;font-weight:700;color:#39c2ff;text-shadow:0 0 10px rgba(57,194,255,.4)}.rush-banner-body{flex:1;min-width:0}.rush-banner-quote{font-size:12px;font-style:italic;color:#c8d0dc;line-height:1.25;margin:1px 0 2px}.rush-banner-label{font-size:10px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}.rush-banner-line{font-size:14px;font-weight:800;display:flex;align-items:center;gap:6px;font-variant-numeric:tabular-nums}.rush-banner-moves{margin-left:auto;text-align:center;flex-shrink:0}.rush-banner-moves .n{display:block;font-size:24px;font-weight:800;font-style:italic;color:var(--accent);line-height:1;font-variant-numeric:tabular-nums}.rush-banner-moves .l{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}.rush-flash{position:absolute;z-index:7;top:calc(var(--safe-top) + 66px);left:50%;transform:translate(-50%);padding:10px 22px;border-radius:999px;font-weight:800;font-style:italic;letter-spacing:.12em;text-transform:uppercase;font-size:15px;background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);pointer-events:none}.rush-flash-completed{color:var(--good);border-color:color-mix(in srgb,var(--good) 55%,var(--border))}.rush-flash-failed{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 55%,var(--border))}.redline-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none}.redline-vignette{position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 90px 22px #ffb52e80,inset 0 0 34px 8px #39c2ff66;animation:redline-pulse .7s ease-in-out infinite alternate}@keyframes redline-pulse{0%{opacity:.55}to{opacity:1}}.redline-banner{position:absolute;top:calc(var(--safe-top) + 14px);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;background:linear-gradient(180deg,#2a1f04,#101c26);border:1px solid rgba(255,181,46,.7);border-radius:999px;padding:8px 18px;box-shadow:0 0 26px #ffb52e73,0 0 40px #39c2ff4d}.redline-banner-text{font-weight:800;font-style:italic;font-size:18px;letter-spacing:.2em;color:#ffd24a;text-shadow:0 0 12px rgba(57,194,255,.9);animation:redline-pulse .5s ease-in-out infinite alternate}.redline-ring{transform:rotate(-90deg)}.redline-ring .track{stroke:#ffffff24}.redline-ring .sweep{stroke:#ffb52e;stroke-linecap:round;animation-name:redline-sweep;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes redline-sweep{0%{stroke-dashoffset:0}to{stroke-dashoffset:var(--ring-c)}}.modal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:24px;background:#06080bb8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.modal-overlay-sheet{align-items:flex-end;padding:0}.modal-card{position:relative;width:min(100%,380px);background:var(--panel);border:1px solid var(--border);border-radius:20px;padding:26px 22px 22px;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;overflow:hidden}.modal-kicker{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--dim)}.modal-title{font-size:26px;text-transform:uppercase;letter-spacing:.03em}.modal-title-accent{color:var(--accent);text-shadow:0 0 18px color-mix(in srgb,var(--accent) 45%,transparent)}.modal-title-danger{color:var(--danger)}.modal-sub{color:var(--dim);font-size:14px;margin:0;line-height:1.5}.modal-objective{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 16px;width:100%}.modal-actions{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:4px}.modal-score{font-size:38px;font-weight:800;font-style:italic;font-variant-numeric:tabular-nums;line-height:1;color:var(--text)}.modal-score-label{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--dim);font-weight:700}.win-stars{display:flex;gap:10px;font-size:40px;line-height:1}.sheet{width:100%;max-width:560px;background:var(--panel);border:1px solid var(--border);border-bottom:none;border-radius:22px 22px 0 0;padding:14px 22px calc(24px + var(--safe-bottom));display:flex;flex-direction:column;gap:10px;box-shadow:0 -14px 40px #00000080}.sheet-grip{width:44px;height:5px;border-radius:999px;background:var(--border);margin:0 auto 8px}.sheet-title{text-align:center;font-size:20px;text-transform:uppercase;margin-bottom:6px}.sparks{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.spark{position:absolute;top:-10px;width:7px;height:12px;border-radius:2px;opacity:0;animation:spark-fall 1.6s ease-in forwards}@keyframes spark-fall{0%{opacity:0;transform:translateY(0) rotate(0)}8%{opacity:1}to{opacity:0;transform:translateY(460px) rotate(540deg)}}@media (prefers-reduced-motion: reduce){.tap-start,.redline-vignette,.redline-banner-text,.hud-value-warn{animation:none}.spark{animation-duration:.6s}}
