/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.grid{display:grid}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--ink:#02030b;--panel:#090b18;--panel-high:#11152b;--blue:#315bff;--yellow:#ffdd18;--cream:#fff4d1;--muted:#8c94b8;--line:#7283c433}*{box-sizing:border-box}html{background:var(--ink);width:100%;max-width:100%;overflow-x:hidden}body{overscroll-behavior-x:none;background:radial-gradient(circle at 22% 8%, #2b4fff29, transparent 30rem), radial-gradient(circle at 80% 64%, #ff315814, transparent 34rem), var(--ink);color:#fff;width:100%;max-width:100%;min-height:100vh;font-family:var(--font-geist-sans), Arial, Helvetica, sans-serif;touch-action:pan-y;margin:0;overflow-x:hidden}button{color:inherit;font:inherit}button:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}::selection{background:var(--yellow);color:#080910}.game-page{isolation:isolate;width:min(1160px,100% - 40px);max-width:100%;min-height:100svh;margin:0 auto;padding:42px 0 26px;position:relative}.ambient-grid{z-index:-1;pointer-events:none;opacity:.2;background-image:linear-gradient(#4a5da817 1px,#0000 1px),linear-gradient(90deg,#4a5da817 1px,#0000 1px);background-size:42px 42px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 75%);mask-image:linear-gradient(#000,#0000 75%)}.hero{justify-content:space-between;align-items:flex-end;max-width:930px;margin:0 auto 24px;display:flex}.eyebrow,.panel-kicker,.result-kicker,.hud-label{color:#8e98c4;font-family:var(--font-geist-mono), monospace;letter-spacing:.2em;margin:0;font-size:.67rem;font-weight:700}.hero h1{font-family:var(--font-geist-sans), Arial, sans-serif;letter-spacing:-.085em;text-shadow:0 0 32px #315bff42;margin:3px 0 0;font-size:clamp(2.65rem,7vw,5.2rem);font-weight:950;line-height:.88}.hero h1 span{color:var(--yellow)}.tagline{color:#adb4d2;margin:11px 0 0 3px;font-size:.92rem}.ghost-squad{gap:12px;padding-bottom:7px;display:flex}.alien-squad{grid-template-columns:repeat(5,24px);gap:9px 7px;padding:0 4px 5px 0;display:grid}.mini-alien{color:#ffdd18;background:#69d7ff;border-radius:2px 2px 5px 5px;width:20px;height:13px;display:block;position:relative;box-shadow:-4px 4px 0 -2px #69d7ff,4px 4px 0 -2px #69d7ff,0 0 10px #69d7ff80}.mini-alien:before,.mini-alien:after{content:"";background:#02030b;width:3px;height:3px;position:absolute;top:4px}.mini-alien:before{left:4px}.mini-alien:after{right:4px}.mini-alien b{font-family:var(--font-geist-mono), monospace;font-size:.48rem;position:absolute;top:14px;left:50%;transform:translate(-50%)}.mini-alien[data-alive=false]{opacity:.16;filter:grayscale()}.mini-ghost{filter:drop-shadow(0 0 9px);background:currentColor;border-radius:11px 11px 4px 4px;width:20px;height:21px;display:block;position:relative}.mini-ghost:before,.mini-ghost:after{content:"";background:#fff;border-radius:50%;width:4px;height:6px;position:absolute;top:8px}.mini-ghost:before{left:4px}.mini-ghost:after{right:4px}.mini-ghost[data-selected=true]{outline-offset:5px;filter:drop-shadow(0 0 14px);outline:2px solid}.road-hero-mark{background:linear-gradient(#32204f 0 43%,#dc5260 44% 55%,#102f36 56%);border:1px solid #ff765e47;border-radius:11px;width:154px;height:76px;margin-bottom:1px;position:relative;overflow:hidden;box-shadow:0 0 28px #ff555b1f}.road-hero-mark:before{clip-path:polygon(43% 0,57% 0,100% 100%,0 100%);content:"";background:#242532;height:54px;position:absolute;bottom:-21px;left:25px;right:25px}.road-sunset{background:repeating-linear-gradient(#ffdf69 0 5px,#e75d5e 5px 7px);border-radius:50%;width:34px;height:34px;position:absolute;top:10px;right:25px;box-shadow:0 0 17px #ffdc6959}.road-car-mark{z-index:1;background:#ff3158;border-radius:7px 7px 5px 5px;width:54px;height:23px;position:absolute;bottom:9px;left:50%;transform:translate(-50%);box-shadow:-19px 8px 0 -14px #07080c,19px 8px 0 -14px #07080c,0 0 13px #ff31587a}.road-car-mark:before{content:"";background:#ffe478;height:5px;position:absolute;top:10px;left:8px;right:8px;box-shadow:inset 14px 0 #9c1835,inset -14px 0 #9c1835}.road-car-mark i{background:#171725;border-top:3px solid #78d7e4;border-radius:7px 7px 0 0;height:12px;position:absolute;top:-9px;left:10px;right:10px}.road-car-mark b{background:#25131d;border-radius:50%;width:6px;height:6px;position:absolute;top:-5px;left:17px;box-shadow:13px 0 #25131d}.road-hero-mark small{z-index:2;color:#fff2aa;font-family:var(--font-geist-mono), monospace;letter-spacing:.06em;font-size:.49rem;font-weight:900;position:absolute;top:8px;left:8px}.climb-hero-mark{background:linear-gradient(#0c163114,#040814b8),repeating-linear-gradient(90deg,#111b36 0 22px,#0a1329 22px 36px);border:1px solid #ff9b3d4d;border-radius:11px;width:154px;height:76px;margin-bottom:1px;position:relative;overflow:hidden;box-shadow:0 0 28px #ff74331f}.climb-hero-mark:before{content:"";background:#ffdb59;width:3px;height:3px;position:absolute;top:9px;right:13px;box-shadow:-22px 13px #ffdb59,-43px 1px #ffdb59,6px 21px #ffdb59,-66px 28px #ffdb5994,-96px 10px #ffdb5980}.climb-girder-mark{background:#df3f42;border-top:3px solid #ff9c3d;border-bottom:3px solid #8e2634;height:10px;position:absolute;bottom:9px;left:-8px;right:-8px;transform:rotate(-3deg);box-shadow:0 15px #8e2634}.climb-girder-mark:before{content:"";background:repeating-linear-gradient(45deg,#0000 0 11px,#df3f42 11px 14px,#0000 14px 24px);height:15px;position:absolute;inset:7px 0 auto}.climb-ape-mark{z-index:2;filter:drop-shadow(0 0 8px #ff8c382e);width:66px;height:66px;image-rendering:pixelated;background:url(/sprites/gorilla.png) 50%/contain no-repeat;position:absolute;bottom:4px;left:45px}.climb-hero-mark small{z-index:3;color:#ffe28a;font-family:var(--font-geist-mono), monospace;letter-spacing:.06em;font-size:.49rem;font-weight:900;position:absolute;top:8px;left:8px}.cross-hero-mark{background:#071a24;border:1px solid #4ef0be52;border-radius:11px;width:154px;height:76px;margin-bottom:1px;position:relative;overflow:hidden;box-shadow:0 0 28px #3de8be21}.cross-mark-river,.cross-mark-road{position:absolute;left:0;right:0}.cross-mark-river{background:repeating-linear-gradient(174deg,#0000 0 9px,#67f0ff3d 10px 12px),#073d58;height:37px;top:0}.cross-mark-road{background:repeating-linear-gradient(90deg,#0000 0 16px,#ffcf5c 17px 25px,#0000 26px 42px) 50%/auto 2px no-repeat,#171c2a;border-top:3px solid #5ee3a5;height:39px;bottom:0}.cross-mark-frog{z-index:2;filter:drop-shadow(0 0 7px #72ff83b3);background:#72ff83;border:2px solid #d7ff8e;border-radius:50% 50% 43% 43%;width:22px;height:18px;position:absolute;top:21px;left:68px}.cross-mark-frog:before{content:"";background:#0b2819;border:2px solid #d7ff8e;border-radius:50%;width:5px;height:5px;position:absolute;top:-5px;left:2px;box-shadow:9px 0 0 -2px #0b2819,9px 0 #d7ff8e}.cross-mark-car{z-index:2;background:#ff5d6c;border-radius:5px;width:44px;height:15px;position:absolute;bottom:11px;right:14px;box-shadow:0 0 8px #ff5d6c8c}.cross-mark-car:before{content:"";background:#69e9ff;border-radius:5px 5px 1px 1px;width:18px;height:8px;position:absolute;top:-5px;left:15px}.cross-hero-mark small{z-index:4;color:#d4ff9a;font-family:var(--font-geist-mono), monospace;letter-spacing:.04em;font-size:.45rem;font-weight:900;position:absolute;top:7px;left:8px}.meteor-hero-mark{background:radial-gradient(circle at 50% 52%,#45e4ff1f,#0000 28%),radial-gradient(circle at 13% 19%,#c8fbff 0 1px,#0000 2px),radial-gradient(circle at 76% 32%,#8eb8ff 0 1px,#0000 2px),radial-gradient(circle at 62% 79%,#d5faff 0 1px,#0000 2px),#030815;border:1px solid #69f1ff57;border-radius:11px;width:154px;height:76px;margin-bottom:1px;position:relative;overflow:hidden;box-shadow:0 0 30px #49e6ff24}.meteor-mark-orbit{border:1px solid #70efff52;border-radius:50%;width:62px;height:45px;position:absolute;top:14px;left:50%;transform:translate(-50%)rotate(-12deg)}.meteor-mark-rock{clip-path:polygon(50% 0,83% 13%,100% 48%,82% 91%,43% 100%,8% 73%,0 31%,22% 8%);filter:drop-shadow(0 0 5px #ff7facad);background:#ff7fac1f;width:27px;height:25px;position:absolute;top:26px;left:23px}.meteor-mark-rock:after{clip-path:inherit;content:"";border:2px solid #ff8fc3;position:absolute;inset:3px}.meteor-mark-ship{clip-path:polygon(100% 50%,0 0,19% 50%,0 100%);filter:drop-shadow(0 0 5px #5bedffd1);border:2px solid #d9fdff;width:29px;height:21px;position:absolute;top:29px;right:26px;transform:rotate(-16deg)}.meteor-mark-ship:after{content:"";background:#ff72b6;width:12px;height:2px;position:absolute;top:8px;right:22px;box-shadow:0 0 6px #ff72b6}.meteor-hero-mark small{z-index:4;color:#c9fbff;font-family:var(--font-geist-mono), monospace;letter-spacing:.035em;font-size:.43rem;font-weight:900;position:absolute;top:7px;left:8px}.brawl-hero-mark{background:linear-gradient(#1422406b,#0000 50%),repeating-linear-gradient(90deg,#0000 0 27px,#ff508d14 27px 29px),linear-gradient(#15152b 0 60%,#28202f 61% 70%,#0d101a 71%);border:1px solid #ffb8525c;border-radius:11px;width:154px;height:76px;margin-bottom:1px;position:relative;overflow:hidden;box-shadow:0 0 30px #ff5c801f}.brawl-hero-mark:before{content:"";background:#64e7f452;height:2px;position:absolute;bottom:12px;left:0;right:0;box-shadow:0 12px #ff629329}.brawl-mark-fighter{z-index:2;width:67px;height:67px;image-rendering:pixelated;filter:drop-shadow(0 3px 2px #000000b3);background-image:url(/sprites/brawl/fighters-curated-v7.png);background-repeat:no-repeat;background-size:800% 600%;position:absolute;bottom:-3px}.brawl-mark-striker{filter:drop-shadow(0 0 6px #ffc13c61);background-position:0 20%;left:0}.brawl-mark-hero{z-index:3;filter:drop-shadow(0 0 7px #6cf3ff6b);background-position:57.143% 0;width:72px;height:72px;bottom:-1px;left:44px}.brawl-mark-boss{filter:drop-shadow(0 0 7px #ff496d6b);background-position:42.857% 100%;width:72px;height:72px;right:-2px}.brawl-hero-mark small{z-index:4;color:#fff0bb;font-family:var(--font-geist-mono), monospace;letter-spacing:.035em;text-shadow:0 1px 4px #05050c;font-size:.43rem;font-weight:900;position:absolute;top:7px;left:8px}.arcade-layout{grid-template-columns:minmax(0,592px) minmax(260px,310px);justify-content:center;align-items:start;gap:24px;min-width:0;display:grid}.cabinet,.control-panel{background:linear-gradient(150deg,#10142bf5,#050712f7);border:1px solid #6b80cf40;min-width:0;box-shadow:0 32px 80px #0006,inset 0 1px #ffffff0a}.cabinet{border-radius:22px;padding:16px}.cabinet-topbar{grid-template-columns:1fr auto 1fr;align-items:center;min-height:54px;padding:0 8px 13px;display:grid}.hud-block{flex-direction:column;gap:3px;display:flex}.hud-block.align-right{align-items:flex-end}.hud-block strong{font-family:var(--font-geist-mono), monospace;font-variant-numeric:tabular-nums;letter-spacing:.06em;font-size:1.05rem}.hud-block small{color:#646d93;font-size:.72em;font-weight:600}.status-stack{flex-direction:column;align-items:center;gap:5px;display:flex}.live-status{color:#64e5b2;font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;background:#4de0a90f;border:1px solid #4de0a933;border-radius:999px;align-items:center;gap:7px;padding:7px 10px;font-size:.58rem;font-weight:800;display:flex}.live-status>span{background:currentColor;border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite status-pulse;box-shadow:0 0 9px}.defender-lives{gap:5px;display:flex}.defender-lives span{clip-path:polygon(42% 0,58% 0,65% 35%,88% 35%,100% 100%,0 100%,12% 35%,35% 35%);opacity:.18;background:#65f2ad;width:13px;height:7px;transition:opacity .12s,filter .12s}.defender-lives span[data-active=true]{opacity:1;filter:drop-shadow(0 0 4px #65f2adb8)}.climb-lives{gap:5px;display:flex}.climb-lives span{opacity:.18;background:#5b2a20;border:2px solid #ff9c3d;border-radius:50%;width:11px;height:11px;transition:opacity .12s,filter .12s;box-shadow:inset 0 0 0 2px #2b1619}.climb-lives span[data-active=true]{opacity:1;filter:drop-shadow(0 0 4px #ff9c3db3)}.cross-lives{gap:5px;display:flex}.cross-lives span{opacity:.16;background:#173d25;border:2px solid #72ff83;border-radius:50% 50% 42% 42%;width:12px;height:10px;transition:opacity .12s,filter .12s;position:relative}.cross-lives span[data-active=true]{opacity:1;filter:drop-shadow(0 0 4px #72ff83b8)}.live-status[data-phase=won]{color:var(--yellow);background:#ffdd1812;border-color:#ffdd1840}.live-status[data-phase=lost]{color:#ff5573;background:#ff315812;border-color:#ff315840}.live-status[data-victory-march=true]{color:var(--yellow);background:#ffdd1817;border-color:#ffdd1852;box-shadow:0 0 16px #ffdd181f}.live-status[data-powered=true]{color:#aebcff;box-shadow:0 0 18px rgba(49, 91, 255, calc(var(--power-ratio) * .22));background:#315bff21;border-color:#8da1ff61}.board-frame{aspect-ratio:23/25;background:#02030b;border:1px solid #3e5bff73;border-radius:10px;position:relative;overflow:hidden;box-shadow:0 0 0 5px #00000080,0 0 34px #2642ff29}.game-canvas,.game-canvas canvas{display:block;width:100%!important;max-width:100%!important;height:100%!important}.mobile-controls{--touch-size:clamp(36px, 9.5vw, 42px);z-index:20;right:max(6px, env(safe-area-inset-right));bottom:max(6px, env(safe-area-inset-bottom));left:max(6px, env(safe-area-inset-left));pointer-events:none;justify-content:space-between;align-items:flex-end;display:none;position:fixed}.touch-cluster{pointer-events:auto;opacity:.72;transition:opacity .12s}.touch-cluster:active,.touch-cluster:focus-within{opacity:1}.touch-dpad{grid-template-columns:repeat(3, var(--touch-size));grid-template-rows:repeat(3, var(--touch-size));gap:2px;display:grid}.touch-ghosts{grid-template-columns:repeat(2, var(--touch-size));gap:3px;display:grid}.touch-button{width:var(--touch-size);height:var(--touch-size);color:#f4f7ffd1;cursor:pointer;min-width:0;font-family:var(--font-geist-mono), monospace;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;text-shadow:0 1px 3px #000000f2;background:#070a1b14;border:1px solid #d6ddff38;border-radius:11px;place-items:center;padding:0;font-size:1.25rem;font-weight:900;line-height:1;transition:transform 80ms,border-color .12s,background-color .12s,box-shadow .12s;display:grid;box-shadow:inset 0 0 0 1px #03051014}.touch-button:active{background:#315bff2e;border-color:#ffdd18ad;transform:scale(.9);box-shadow:inset 0 1px 4px #00000029,0 0 12px #315bff38}.touch-button:disabled{cursor:default;opacity:.4}.touch-up{border-radius:16px 16px 9px 9px;grid-area:1/2}.touch-left{border-radius:16px 9px 9px 16px;grid-area:2/1}.touch-clear{color:#ffdd18db;border-color:#ffdd183d;border-radius:50%;grid-area:2/2;font-size:1rem}.touch-right{border-radius:9px 16px 16px 9px;grid-area:2/3}.touch-down{border-radius:9px 9px 16px 16px;grid-area:3/2}.touch-ghost{color:var(--ghost-color);flex-direction:column;gap:2px;font-size:.58rem;display:flex}.touch-ghost i{background:var(--ghost-color);width:17px;height:16px;filter:drop-shadow(0 0 5px var(--ghost-color));border-radius:9px 9px 4px 4px;display:block;position:relative}@supports (color:color-mix(in lab, red, red)){.touch-ghost i{filter:drop-shadow(0 0 5px color-mix(in srgb, var(--ghost-color) 70%, transparent))}}.touch-ghost i:before{content:"";background:#fff;border-radius:50%;width:3px;height:4px;position:absolute;top:6px;left:4px;box-shadow:6px 0 #fff}.touch-ghost[data-selected=true]{border-color:var(--ghost-color);background:var(--ghost-color)}@supports (color:color-mix(in lab, red, red)){.touch-ghost[data-selected=true]{background:color-mix(in srgb, var(--ghost-color) 10%, transparent)}}.touch-ghost[data-selected=true]{box-shadow:inset 0 0 0 1px var(--ghost-color), 0 0 12px var(--ghost-color)}@supports (color:color-mix(in lab, red, red)){.touch-ghost[data-selected=true]{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ghost-color) 15%, transparent), 0 0 12px color-mix(in srgb, var(--ghost-color) 28%, transparent)}}.invader-mobile-controls{justify-content:center}.road-mobile-controls{align-items:flex-end}.climb-mobile-controls{justify-content:center}.cross-mobile-controls{top:0;right:max(5px, env(safe-area-inset-right));align-items:stretch;width:40px;bottom:0;left:auto}.cross-lane-touch{color:#dfff96;cursor:pointer;width:34px;height:34px;font-family:var(--font-geist-mono), monospace;pointer-events:auto;touch-action:manipulation;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);text-shadow:0 1px 4px #000;background:#020a1233;border:1px solid #70f3b08a;border-radius:50%;place-items:center;padding:0;font-size:.68rem;font-weight:950;display:grid;position:absolute;right:0;overflow:hidden;transform:translateY(-50%)}.cross-lane-touch span{z-index:2;position:relative}.cross-lane-touch i{height:calc(var(--cooldown) * 100%);background:#41536b94;position:absolute;bottom:0;left:0;right:0}.cross-lane-touch:disabled,.cross-lane-touch[data-cooling=true]{opacity:.4}.climb-touch-button{color:#69e8ff;cursor:pointer;min-width:min(260px,78vw);min-height:54px;font-family:var(--font-geist-mono), monospace;pointer-events:auto;touch-action:none;-webkit-tap-highlight-color:transparent;text-shadow:0 1px 5px #000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0408141f;border:1px solid #69e8ff7a;border-radius:999px;place-items:center;gap:3px;padding:8px 18px;transition:transform 80ms,border-color .12s,color .12s;display:grid}.game-page[data-wave=climb] .game-canvas,.game-page[data-wave=climb] .game-canvas canvas{touch-action:none}.climb-touch-button[data-stage=power]{color:#ffdd3d;border-color:#ffdd3d85}.climb-touch-button[data-stage=ready]{color:#ff5a6c;border-color:#ff5a6c94}.climb-touch-button:active{transform:scale(.94)}.climb-touch-button:disabled{cursor:default;opacity:.42}.climb-touch-button small{opacity:.72;letter-spacing:.12em;font-size:.48rem;font-weight:800}.climb-touch-button strong{letter-spacing:.08em;font-size:.72rem}.road-touch-cluster{pointer-events:auto;opacity:.62;gap:4px;transition:opacity .12s;display:flex}.road-touch-cluster:active,.road-touch-cluster:focus-within{opacity:.92}.road-touch-button{width:var(--touch-size);height:var(--touch-size);color:#fff6cde6;cursor:pointer;min-width:0;font-family:var(--font-geist-mono), monospace;text-shadow:0 1px 5px #000;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#0b09191a;border:1px solid #ffefbe57;border-radius:12px;place-items:center;padding:0;font-size:1.1rem;font-weight:950;transition:transform 80ms,opacity .12s,border-color .12s;display:grid;position:relative;overflow:hidden}.road-touch-button:active:not(:disabled){border-color:#fff0a8;transform:scale(.9)}.road-touch-button:disabled{cursor:default;opacity:.28}.road-curve-button:nth-child(2){color:#75e5c4;border-radius:50%}.road-lane-button{color:#ffed78}.road-lane-button span{z-index:1;position:relative}.road-lane-button i{height:calc(var(--cooldown) * 100%);pointer-events:none;background:#4548618c;position:absolute;bottom:0;left:0;right:0}.road-lane-button[data-cooling=true]{opacity:.43}.invader-touch-stack{pointer-events:auto;gap:3px;width:100%;display:grid}.invader-active-controls{grid-template-columns:42px minmax(0,1fr) 42px;gap:5px;display:grid}.invader-touch-stack .invader-active-controls{opacity:.74;justify-self:center;width:min(260px,76%)}.active-column-button{min-width:0;height:38px;color:var(--yellow);cursor:pointer;font-family:var(--font-geist-mono), monospace;touch-action:manipulation;-webkit-tap-highlight-color:transparent;text-shadow:0 0 8px #ffdd1885;background:#070a1b1f;border:1px solid #ffdd1861;border-radius:9px;padding:0 8px;font-size:1rem;font-weight:900;transition:transform 80ms,border-color .12s,opacity .12s}.active-column-button:active:not(:disabled){border-color:#fff4d1;transform:scale(.92)}.active-column-button:disabled{cursor:default;opacity:.34}.active-column-fire{letter-spacing:.06em;font-size:.63rem}.invader-column-controls{pointer-events:auto;grid-template-columns:repeat(10,minmax(0,1fr));gap:2px;width:100%;display:grid}.column-fire-button,.invader-fire-key{color:#ffdd18;cursor:pointer;min-width:0;font-family:var(--font-geist-mono), monospace;touch-action:manipulation;-webkit-tap-highlight-color:transparent;text-shadow:0 0 8px #ffdd1880;background:#070a1b1a;border:1px solid #69d7ff57;padding:0;font-weight:900;transition:transform 80ms,border-color .12s,opacity .12s;position:relative;overflow:hidden}.column-fire-button span,.invader-fire-key span{z-index:1;position:relative}.column-fire-button i,.invader-fire-key i{height:calc(var(--cooldown) * 100%);pointer-events:none;background:#697dac75;position:absolute;bottom:0;left:0;right:0}.column-fire-button:active:not(:disabled),.invader-fire-key:active:not(:disabled){border-color:var(--yellow);transform:scale(.9)}.column-fire-button:disabled,.invader-fire-key:disabled{cursor:default;opacity:.3}.column-fire-button[data-cooling=true],.invader-fire-key[data-cooling=true]{opacity:.62}.column-fire-button[data-selected=true],.invader-fire-key[data-selected=true]{border-color:var(--yellow);background:#315bff33;box-shadow:inset 0 0 0 1px #ffdd1829,0 0 12px #ffdd1847}.column-fire-button{border-radius:8px 8px 12px 12px;height:clamp(38px,11vw,46px);font-size:clamp(.7rem,3.2vw,.92rem)}.result-overlay{z-index:3;text-align:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#02030bd6;flex-direction:column;justify-content:center;align-items:center;padding:32px;animation:.28s ease-out both result-in;display:flex;position:absolute;inset:0}.result-overlay h2{color:var(--yellow);letter-spacing:-.06em;margin:9px 0 10px;font-size:clamp(2rem,6vw,3.8rem);font-weight:950;line-height:.95}.result-overlay p{color:#bcc3df;max-width:330px;margin:0;font-size:.92rem;line-height:1.55}.result-overlay button{background:var(--yellow);color:#070914;cursor:pointer;font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;border:0;border-radius:7px;margin-top:24px;padding:13px 19px;font-size:.72rem;font-weight:900;transition:transform .15s,box-shadow .15s;box-shadow:0 8px 30px #ffdd1833}.result-overlay button:hover{transform:translateY(-2px);box-shadow:0 10px 38px #ffdd184d}.next-wave-indicator{color:#69d7ff;font-family:var(--font-geist-mono), monospace;letter-spacing:.16em;text-shadow:0 0 14px #69d7ff7a;margin-top:24px;font-size:.68rem;font-weight:900;animation:.7s ease-in-out infinite status-pulse}.progress-track{background:#6f7eb821;border-radius:999px;height:3px;margin:15px 3px 0;overflow:hidden}.progress-track span{transform-origin:0;background:linear-gradient(90deg, #ff3158, var(--yellow));width:100%;height:100%;transition:transform .18s linear;display:block;box-shadow:0 0 10px #ffdd1880}.control-panel{border-radius:18px;overflow:hidden}.command-card{border-bottom:1px solid var(--line);background:linear-gradient(90deg,#315bff24,#0000 70%),#ffffff04;justify-content:space-between;align-items:center;min-height:104px;padding:18px 20px;display:flex}.command-display{max-width:205px;color:var(--yellow);font-family:var(--font-geist-mono), monospace;text-overflow:ellipsis;text-shadow:0 0 18px #ffdd1861;white-space:nowrap;margin-top:5px;font-size:2.4rem;line-height:1;display:block;overflow:hidden}.command-actions{gap:8px;display:flex}.restart-button,.sound-button{color:#a9b1d4;cursor:pointer;background:#ffffff0a;border:1px solid #93a0d33b;border-radius:50%;place-items:center;width:38px;height:38px;font-size:1.2rem;transition:color .15s,border-color .15s,transform .15s;display:grid}.restart-button:hover,.sound-button:hover{color:var(--yellow);border-color:#ffdd1880}.restart-button:hover{transform:rotate(-20deg)}.sound-button:hover{transform:scale(1.06)}.sound-button[aria-pressed=false]{color:#687197}.ghost-selector{grid-template-columns:repeat(2,1fr);gap:7px;padding:17px 18px 0;display:grid}.invader-fire-panel{padding:17px 18px 12px}.panel-active-controls{margin-bottom:10px}.invader-fire-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.invader-fire-key{border-radius:7px;place-items:center;height:43px;font-size:.82rem;display:grid;box-shadow:inset 0 0 0 1px #315bff14}.invader-fire-meta{color:#747da2;font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;justify-content:space-between;margin-top:10px;font-size:.49rem;font-weight:800;display:flex}.invader-control-hint{padding-top:3px}.game-page[data-wave=invaders] .cabinet,.game-page[data-wave=invaders] .control-panel{border-color:#69d7ff4d}.game-page[data-wave=invaders] .progress-track span{background:linear-gradient(90deg,#ff5aa5,#69d7ff);box-shadow:0 0 10px #69d7ff80}.game-page[data-wave=climb] .cabinet,.game-page[data-wave=climb] .control-panel{border-color:#ff9c3d59}.game-page[data-wave=climb] .board-frame{border-color:#ff9c3d85;box-shadow:0 0 0 5px #00000080,0 0 38px #df3f422b}.game-page[data-wave=climb] .command-card{background:linear-gradient(90deg,#df3f4229,#0000 72%),#ffffff04}.game-page[data-wave=climb] .command-display{letter-spacing:.04em;max-width:190px;font-size:1.05rem}.game-page[data-wave=climb] .progress-track span{background:linear-gradient(90deg,#69e8ff,#ffdd3d,#ff5a6c);box-shadow:0 0 12px #ff9c3d8f}.game-page[data-wave=climb] .rules-list li>span,.game-page[data-wave=climb] .result-overlay h2{color:#ff9c3d}.game-page[data-wave=climb] .live-status[data-phase=playing][data-stage=aim]{color:#69e8ff;background:#69e8ff14;border-color:#69e8ff57}.game-page[data-wave=climb] .live-status[data-phase=playing][data-stage=power]{color:#ffdd3d;background:#ffdd3d14;border-color:#ffdd3d57}.game-page[data-wave=climb] .live-status[data-phase=playing][data-stage=ready]{color:#ff5a6c;background:#ff5a6c14;border-color:#ff5a6c5c}.climb-control-panel{padding:17px 18px 14px}.climb-stage-rail{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.climb-stage-rail>span{color:#5d6689;min-width:0;min-height:44px;font-family:var(--font-geist-mono), monospace;opacity:.54;background:#0c0e1c;border:1px solid #6f7eb833;border-radius:7px;place-items:center;padding:6px 3px;transition:border-color .12s,color .12s,opacity .12s;display:grid}.climb-stage-rail b{font-size:.72rem}.climb-stage-rail small{letter-spacing:.08em;font-size:.43rem;font-weight:900}.climb-stage-rail>span:first-child[data-active=true]{color:#69e8ff;opacity:1;border-color:#69e8ff;box-shadow:0 0 12px #69e8ff21}.climb-stage-rail>span:nth-child(2)[data-active=true]{color:#ffdd3d;opacity:1;border-color:#ffdd3d;box-shadow:0 0 12px #ffdd3d21}.climb-action-button{color:#69e8ff;cursor:pointer;width:100%;min-height:74px;font-family:var(--font-geist-mono), monospace;touch-action:none;-webkit-user-select:none;user-select:none;background:linear-gradient(#12223a,#0b1224);border:1px solid #69e8ff6b;border-bottom-width:4px;border-radius:10px;place-items:center;gap:6px;margin-top:9px;padding:10px;transition:transform 80ms,border-color .12s,color .12s;display:grid;box-shadow:inset 0 1px #ffffff0d}.climb-action-button[data-stage=power]{color:#ffdd3d;background:linear-gradient(#292718,#17160e);border-color:#ffdd3d8c}.climb-action-button[data-stage=ready]{color:#ff5a6c;background:linear-gradient(#351823,#1d1019);border-color:#ff5a6c99}.climb-action-button:active:not(:disabled){border-bottom-width:1px;transform:translateY(3px)}.climb-action-button:disabled{cursor:default;opacity:.35}.climb-action-button span{color:currentColor;letter-spacing:.12em;opacity:.7;font-size:.44rem;font-weight:800}.climb-action-button strong{letter-spacing:.07em;font-size:.82rem}.climb-live-stats{border:1px solid var(--line);background:var(--line);border-radius:8px;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:10px;display:grid;overflow:hidden}.climb-live-stats span{text-align:center;background:#0c0d1a;flex-direction:column;gap:4px;min-width:0;padding:8px 3px;display:flex}.climb-live-stats small{color:#777d99;font-family:var(--font-geist-mono), monospace;letter-spacing:.04em;text-overflow:ellipsis;font-size:.37rem;font-weight:800;overflow:hidden}.climb-live-stats b{color:#ffe489;font-family:var(--font-geist-mono), monospace;white-space:nowrap;font-size:.54rem}.climb-control-hint{padding-top:2px}.game-page[data-wave=cross] .cabinet,.game-page[data-wave=cross] .control-panel{border-color:#4ef0be61}.game-page[data-wave=cross] .board-frame{border-color:#67f0ff8a;box-shadow:0 0 0 5px #00000080,0 0 42px #35e1c533}.game-page[data-wave=cross] .command-card{background:linear-gradient(90deg,#28d1a22b,#0000 72%),#ffffff04}.game-page[data-wave=cross] .command-display{letter-spacing:.03em;max-width:205px;font-size:.95rem}.game-page[data-wave=cross] .progress-track span{background:linear-gradient(90deg,#ff7a5d,#55e9ef,#77ff92);box-shadow:0 0 12px #55e9ef8f}.game-page[data-wave=cross] .rules-list li>span,.game-page[data-wave=cross] .result-overlay h2{color:#70f3b0}.game-page[data-wave=cross] .live-status[data-phase=playing]{color:#70f3b0;background:#2ec79a17;border-color:#70f3b05c}.cross-control-panel{padding:17px 18px 14px}.cross-control-label{color:#8ca7aa;font-family:var(--font-geist-mono), monospace;letter-spacing:.13em;margin-bottom:9px;font-size:.55rem;font-weight:900;display:block}.cross-lane-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.cross-lane-key{color:#70f3b0;cursor:pointer;min-width:0;min-height:48px;font-family:var(--font-geist-mono), monospace;touch-action:manipulation;background:linear-gradient(#102229,#09151d);border:1px solid #70f3b04d;border-bottom-width:3px;border-radius:8px;place-items:center;gap:1px;padding:5px;transition:transform 80ms,border-color .12s,opacity .12s;display:grid;position:relative;overflow:hidden}.cross-lane-key[data-kind=road]{color:#ff9a64;border-color:#ff905b66}.cross-lane-key b,.cross-lane-key span{z-index:2;position:relative}.cross-lane-key b{font-size:.83rem}.cross-lane-key span{letter-spacing:.08em;text-transform:uppercase;opacity:.72;font-size:.39rem;font-weight:900}.cross-lane-key i{height:calc(var(--cooldown) * 100%);background:#44556894;position:absolute;bottom:0;left:0;right:0}.cross-lane-key:active:not(:disabled){border-bottom-width:1px;transform:translateY(2px)}.cross-lane-key:disabled,.cross-lane-key[data-cooling=true]{cursor:default;opacity:.4}.cross-control-meta{color:#748d99;font-family:var(--font-geist-mono), monospace;letter-spacing:.07em;justify-content:space-between;margin-top:10px;font-size:.46rem;font-weight:800;display:flex}.cross-live-stats{background:#4ef0be29;border:1px solid #4ef0be33;border-radius:8px;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:11px;display:grid;overflow:hidden}.cross-live-stats span{text-align:center;background:#0a141a;flex-direction:column;gap:4px;min-width:0;padding:8px 3px;display:flex}.cross-live-stats small{color:#71868f;font-family:var(--font-geist-mono), monospace;letter-spacing:.05em;font-size:.37rem;font-weight:800}.cross-live-stats b{color:#dfff96;font-family:var(--font-geist-mono), monospace;white-space:nowrap;font-size:.53rem}.cross-control-hint{padding-top:3px}.game-page[data-wave=meteor] .cabinet,.game-page[data-wave=meteor] .control-panel{border-color:#67eeff61}.game-page[data-wave=meteor] .board-frame{border-color:#ff67b180;box-shadow:0 0 0 5px #00000080,0 0 46px #45e2ff33,0 0 70px #ff57ae14}.game-page[data-wave=meteor] .game-canvas,.game-page[data-wave=meteor] .game-canvas canvas{cursor:crosshair;touch-action:none}.game-page[data-wave=meteor] .command-card{background:linear-gradient(90deg,#44dfff26,#ff5ab20e 75%,#0000),#ffffff04}.game-page[data-wave=meteor] .command-display{letter-spacing:.025em;max-width:205px;font-size:.9rem}.game-page[data-wave=meteor] .progress-track span{background:linear-gradient(90deg,#ff69b0,#926fff,#6ef3ff);box-shadow:0 0 13px #66eeff9e}.game-page[data-wave=meteor] .rules-list li>span,.game-page[data-wave=meteor] .result-overlay h2{color:#70efff}.game-page[data-wave=meteor] .live-status[data-phase=playing]{color:#79f4ff;background:#48daff14;border-color:#69f1ff61}.meteor-lives{gap:6px;display:flex}.meteor-lives span{clip-path:polygon(100% 50%,0 0,20% 50%,0 100%);opacity:.15;border:1.5px solid #93f6ff;width:15px;height:10px;transition:opacity .12s,filter .12s}.meteor-lives span[data-active=true]{opacity:1;filter:drop-shadow(0 0 4px #69f1ffd1)}.meteor-control-panel{padding:16px 18px 14px}.meteor-control-radar{background:linear-gradient(#4e78b517 1px,#0000 1px) 0 0/19px 19px,linear-gradient(90deg,#4e78b517 1px,#0000 1px) 0 0/19px 19px,radial-gradient(circle,#47e0ff1c,#0000 48%),#050a16;border:1px solid #69f1ff42;border-radius:10px;height:146px;position:relative;overflow:hidden;box-shadow:inset 0 0 28px #1c80bb14}.meteor-control-radar:before,.meteor-control-radar:after{content:"";background:#6bebff2e;position:absolute}.meteor-control-radar:before{width:1px;top:0;bottom:0;left:50%}.meteor-control-radar:after{height:1px;top:50%;left:0;right:0}.meteor-control-orbit{border:1px solid #69f1ff40;border-radius:50%;width:86px;height:86px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.meteor-control-ship{z-index:2;clip-path:polygon(100% 50%,0 0,19% 50%,0 100%);filter:drop-shadow(0 0 5px #5bedffd1);border:2px solid #d9fdff;width:29px;height:18px;position:absolute;top:64px;left:calc(50% - 14px)}.meteor-control-rock{z-index:2;clip-path:polygon(50% 0,84% 11%,100% 48%,81% 92%,41% 100%,8% 73%,0 30%,21% 8%);filter:drop-shadow(0 0 6px #ff67b794);opacity:.38;background:#ff6fb71a;border:2px solid #ff80be;width:35px;height:33px;position:absolute;top:17px;left:18px}.meteor-control-radar[data-dragging=true] .meteor-control-rock{opacity:.78;background:#ff6fb738}.meteor-control-radar i{--meteor-angle:0deg;--meteor-power:0;z-index:1;width:54px;height:2px;opacity:calc(.18 + var(--meteor-power) * .82);transform:rotate(var(--meteor-angle)) scaleX(calc(.18 + var(--meteor-power) * .82));transform-origin:0;background:linear-gradient(90deg,#ff78ba,#72f2ff);position:absolute;top:calc(50% - 1px);left:50%;box-shadow:0 0 8px #70f2ffa6}.meteor-live-stats{background:#66ebff29;border:1px solid #66ebff33;border-radius:8px;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:10px;display:grid;overflow:hidden}.meteor-live-stats span{text-align:center;background:#080d1a;flex-direction:column;gap:4px;min-width:0;padding:8px 5px;display:flex}.meteor-live-stats small{color:#71849d;font-family:var(--font-geist-mono), monospace;letter-spacing:.07em;font-size:.39rem;font-weight:850}.meteor-live-stats b{color:#c8fbff;font-family:var(--font-geist-mono), monospace;text-overflow:ellipsis;white-space:nowrap;font-size:.54rem;overflow:hidden}.meteor-control-hint{padding-top:3px}.game-page[data-wave=road] .cabinet,.game-page[data-wave=road] .control-panel{border-color:#ff765e57}.game-page[data-wave=road] .board-frame{border-color:#ff765e80;box-shadow:0 0 0 5px #00000080,0 0 38px #ff475729}.game-page[data-wave=road] .command-card{background:linear-gradient(90deg,#ff475724,#0000 72%),#ffffff04}.game-page[data-wave=road] .progress-track span{background:linear-gradient(90deg,#ff485a,#ffe068,#65e0b7);box-shadow:0 0 12px #ffe06885}.game-page[data-wave=road] .rules-list li>span,.game-page[data-wave=road] .result-overlay h2{color:#ff765e}.road-control-panel{padding:17px 18px 14px}.road-control-section+.road-control-section{border-top:1px solid var(--line);margin-top:17px;padding-top:16px}.road-control-label{color:#858eaf;font-family:var(--font-geist-mono), monospace;letter-spacing:.13em;margin-bottom:8px;font-size:.55rem;font-weight:900;display:block}.road-curve-grid,.road-lane-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.road-curve-key,.road-lane-key{color:#e6dce8;cursor:pointer;min-width:0;min-height:52px;font-family:var(--font-geist-mono), monospace;background:linear-gradient(#22172d,#131323);border:1px solid #ff765e47;border-bottom-width:3px;border-radius:8px;place-items:center;padding:7px 3px;transition:transform 90ms,border-color .12s,opacity .12s;display:grid;position:relative;overflow:hidden}.road-curve-key b{color:#ff8b72;font-size:1.08rem;line-height:1}.road-curve-key span{color:#968da8;letter-spacing:.06em;font-size:.47rem;font-weight:800}.road-curve-key[data-active=true]{background:linear-gradient(#ff545833,#151425);border-color:#ff765e;box-shadow:0 0 13px #ff545826}.road-curve-key:active:not(:disabled),.road-lane-key:active:not(:disabled){transform:scale(.93)}.road-curve-key:disabled,.road-lane-key:disabled{cursor:default;opacity:.28}.road-curve-readout{color:#6f7590;font-family:var(--font-geist-mono), monospace;flex-wrap:wrap;gap:4px 7px;margin:9px 0 0;font-size:.48rem;font-weight:800;display:flex}.road-curve-readout b{color:#aab0c7}.road-curve-readout strong{color:#ff8b72}.road-lane-key{color:#ffea79;border-color:#ffe0684d;grid-template-rows:1fr auto}.road-lane-key span,.road-lane-key small{z-index:1;position:relative}.road-lane-key span{font-size:1rem;font-weight:950}.road-lane-key small{color:#8f8b9e;letter-spacing:.08em;font-size:.43rem;font-weight:800}.road-lane-key i{height:calc(var(--cooldown) * 100%);pointer-events:none;background:#4f4c5b94;position:absolute;bottom:0;left:0;right:0}.road-lane-key[data-cooling=true]{opacity:.55}.road-control-meta{color:#74768a;font-family:var(--font-geist-mono), monospace;letter-spacing:.05em;justify-content:space-between;margin-top:9px;font-size:.46rem;font-weight:850;display:flex}.road-live-stats{border:1px solid var(--line);background:var(--line);border-radius:8px;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:15px;display:grid;overflow:hidden}.road-live-stats span{text-align:center;background:#0c0d1a;flex-direction:column;gap:4px;min-width:0;padding:9px 5px;display:flex}.road-live-stats small{color:#777d99;font-family:var(--font-geist-mono), monospace;letter-spacing:.06em;text-overflow:ellipsis;font-size:.4rem;font-weight:800;overflow:hidden}.road-live-stats b{color:#fff0a2;font-family:var(--font-geist-mono), monospace;white-space:nowrap;font-size:.56rem}.road-control-hint{padding-top:2px}.ghost-choice{min-width:0;font-family:var(--font-geist-mono), monospace;background:#ffffff05;border:1px solid #6b80cf33;border-radius:7px;grid-template-columns:10px 24px 1fr auto;align-items:center;gap:6px;padding:9px;display:grid;position:relative}.ghost-choice[data-selected=true]{border-color:var(--ghost-color);background:var(--ghost-color)}@supports (color:color-mix(in lab, red, red)){.ghost-choice[data-selected=true]{background:color-mix(in srgb, var(--ghost-color) 9%, transparent)}}.ghost-choice[data-selected=true]{box-shadow:0 0 15px var(--ghost-color)}@supports (color:color-mix(in lab, red, red)){.ghost-choice[data-selected=true]{box-shadow:0 0 15px color-mix(in srgb, var(--ghost-color) 18%, transparent)}}.ghost-choice i{background:var(--ghost-color);width:8px;height:8px;box-shadow:0 0 7px var(--ghost-color);border-radius:50%}.ghost-choice strong{color:#dce1f7;font-size:.63rem}.ghost-choice span{color:var(--ghost-color);text-overflow:ellipsis;font-size:.55rem;font-weight:800;overflow:hidden}.ghost-choice b{color:var(--ghost-color);text-overflow:ellipsis;white-space:nowrap;grid-area:1/4;max-width:48px;font-size:.82rem;overflow:hidden}.keys{grid-template-rows:repeat(2,45px);grid-template-columns:repeat(3,52px);justify-content:center;gap:7px;padding:18px 20px 15px;display:grid}.key{color:#d8dcf0;font-family:var(--font-geist-mono), monospace;background:linear-gradient(#181d38,#0f1328);border:1px solid #6b80cf4d;border-bottom:3px solid #6b80cf61;border-radius:7px;place-items:center;font-size:1.15rem;display:grid;box-shadow:inset 0 1px #ffffff0d,0 8px 16px #0000002e}.key.up{grid-column:2}.key.left{grid-area:2/1}.key.down{grid-area:2/2}.key.right{grid-area:2/3}.tab-control,.number-control,.space-control{color:#d8dcf0;width:min(196px,100% - 40px);min-height:34px;font-family:var(--font-geist-mono), monospace;background:linear-gradient(#181d38,#0f1328);border:1px solid #6b80cf47;border-bottom:3px solid #6b80cf5c;border-radius:7px;justify-content:space-between;align-items:center;padding:7px 11px;display:flex;box-shadow:inset 0 1px #ffffff0d,0 8px 16px #0000002e}.tab-control{margin:12px auto 6px}.number-control{margin:0 auto}.space-control{margin:0 auto 14px}.tab-control span,.number-control span,.space-control span{letter-spacing:.1em;font-size:.62rem;font-weight:800}.tab-control small,.number-control small,.space-control small{color:#737da4;letter-spacing:.08em;font-size:.5rem;font-weight:700}.control-hint{color:#929abb;text-align:center;margin:0;padding:0 27px 23px;font-size:.78rem;line-height:1.5}.touch-hint{display:none}.game-page[data-wave=brawl] .cabinet,.game-page[data-wave=brawl] .control-panel{border-color:#ffb44d61}.game-page[data-wave=brawl] .board-frame{aspect-ratio:4/3;border-color:#ff568085;box-shadow:0 0 0 5px #00000080,0 0 42px #ff4e8029,0 0 64px #56e6f212}@media (width>=921px){.game-page[data-wave=brawl]{width:min(1080px,100% - 32px);padding-top:18px}.game-page[data-wave=brawl] .hero{max-width:940px;margin-bottom:12px}.game-page[data-wave=brawl] .hero h1{font-size:clamp(2.65rem,5vw,4rem)}.game-page[data-wave=brawl] .tagline{margin-top:6px;font-size:.82rem}.game-page[data-wave=brawl] .arcade-layout{grid-template-columns:minmax(0,620px) minmax(238px,260px);gap:18px}.game-page[data-wave=brawl] .cabinet{border-radius:16px;padding:11px}.game-page[data-wave=brawl] .cabinet-topbar{display:none}}.game-page[data-wave=brawl] .game-canvas canvas{image-rendering:pixelated}.game-page[data-wave=brawl] .command-card{background:linear-gradient(90deg,#ff548026,#ffc0500d 72%,#0000),#ffffff04}.game-page[data-wave=brawl] .command-display{letter-spacing:.035em;max-width:205px;font-size:.92rem}.game-page[data-wave=brawl] .progress-track span{background:linear-gradient(90deg,#5fe5ef,#ffd163,#ff557e);box-shadow:0 0 13px #ffbe4c94}.game-page[data-wave=brawl] .rules-list li>span,.game-page[data-wave=brawl] .result-overlay h2{color:#ffc456}.game-page[data-wave=brawl] .live-status[data-phase=playing]{color:#ffd17a;background:#ffb54314;border-color:#ffbf5061}.brawl-lives{gap:6px;display:flex}.brawl-lives span{clip-path:polygon(50% 0,100% 35%,83% 100%,17% 100%,0 35%);opacity:.14;background:#1b5261;border:2px solid #69edf4;width:11px;height:11px;transition:opacity .12s,filter .12s}.brawl-lives span[data-active=true]{opacity:1;filter:drop-shadow(0 0 4px #69edf4c7)}.brawl-control-panel{padding:16px 18px 13px}.brawl-selector{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.brawl-fighter-key{--fighter-color:#3d3a4b;--fighter-health:0;border:1px solid var(--fighter-color);grid-template-columns:24px minmax(0,1fr);align-items:center;gap:5px;min-width:0;min-height:42px;padding:5px 7px 9px;display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.brawl-fighter-key{border:1px solid color-mix(in srgb, var(--fighter-color) 32%, transparent)}}.brawl-fighter-key{background:var(--fighter-color);border-radius:7px}@supports (color:color-mix(in lab, red, red)){.brawl-fighter-key{background:color-mix(in srgb, var(--fighter-color) 6%, #090b16)}}.brawl-fighter-key{color:var(--fighter-color);cursor:pointer;font-family:var(--font-geist-mono), monospace;text-align:left;transition:opacity .12s,border-color .12s,transform 80ms}.brawl-fighter-key b{border:1px solid;border-radius:50%;place-items:center;width:22px;height:22px;font-size:.62rem;display:grid}.brawl-fighter-key span{letter-spacing:.045em;text-overflow:ellipsis;white-space:nowrap;font-size:.48rem;font-weight:850;overflow:hidden}.brawl-fighter-key i{background:var(--fighter-color);height:3px;transform:scaleX(var(--fighter-health));transform-origin:0;border-radius:999px;position:absolute;bottom:4px;left:5px;right:5px}.brawl-fighter-key[data-active=false]{color:#4a4b5d;cursor:default;opacity:.42;border-color:#64698424}.brawl-fighter-key[data-selected=true]{border-color:var(--fighter-color);background:var(--fighter-color)}@supports (color:color-mix(in lab, red, red)){.brawl-fighter-key[data-selected=true]{background:color-mix(in srgb, var(--fighter-color) 15%, #090b16)}}.brawl-fighter-key[data-selected=true]{box-shadow:0 0 13px var(--fighter-color)}@supports (color:color-mix(in lab, red, red)){.brawl-fighter-key[data-selected=true]{box-shadow:0 0 13px color-mix(in srgb, var(--fighter-color) 26%, transparent)}}.brawl-fighter-key:active:not(:disabled){transform:scale(.96)}.brawl-keyboard-guide{grid-template-columns:1fr 54px 54px;gap:7px;margin-top:10px;display:grid}.brawl-keyboard-guide>button{color:#ffd277;cursor:pointer;background:linear-gradient(#1d1b2b,#100f1a);border:1px solid #ffc0563d;border-bottom-width:3px;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:0;display:flex}.brawl-keyboard-guide>button b{font-family:var(--font-geist-mono), monospace;font-size:.9rem}.brawl-keyboard-guide>button span{color:#9f8e72;font-family:var(--font-geist-mono), monospace;font-size:.38rem;font-weight:850}.brawl-keyboard-guide>button:disabled{cursor:default;opacity:.35}.brawl-move-keys{grid-template-rows:repeat(2,22px);grid-template-columns:repeat(3,22px) 1fr;align-items:center;gap:2px;display:grid}.brawl-move-keys span{color:#9cf8ff;background:#101522;border:1px solid #69edf43d;border-radius:4px;place-items:center;width:22px;height:22px;font-size:.65rem;display:grid}.brawl-move-keys span:first-child{grid-area:1/2}.brawl-move-keys span:nth-child(2){grid-area:2/1}.brawl-move-keys span:nth-child(3){grid-area:2/2}.brawl-move-keys span:nth-child(4){grid-area:2/3}.brawl-move-keys small{color:#667184;font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-align:center;grid-area:1/4/3;font-size:.44rem;font-weight:850}.brawl-live-stats{background:#ffbe5024;border:1px solid #ffbe502e;border-radius:8px;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:10px;display:grid;overflow:hidden}.brawl-live-stats span{text-align:center;background:#0b0d17;flex-direction:column;gap:4px;min-width:0;padding:8px 5px;display:flex}.brawl-live-stats small{color:#77798d;font-family:var(--font-geist-mono), monospace;letter-spacing:.06em;font-size:.38rem;font-weight:850}.brawl-live-stats b{color:#ffe2a5;font-family:var(--font-geist-mono), monospace;text-overflow:ellipsis;white-space:nowrap;font-size:.52rem;overflow:hidden}.brawl-control-hint{padding-top:3px}.brawl-mobile-controls{align-items:flex-end}.brawl-touch-dpad{pointer-events:auto;opacity:.68}.brawl-cycle-touch{font-size:.72rem}.brawl-touch-console{pointer-events:auto;opacity:.7;flex-direction:column;align-items:flex-end;gap:5px;max-width:166px;transition:opacity .12s;display:flex}.brawl-touch-console:active,.brawl-touch-console:focus-within{opacity:1}.brawl-touch-actions{align-items:flex-end;gap:7px;display:flex}.brawl-touch-actions button{color:#ffd37f;touch-action:none;text-shadow:0 1px 4px #000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);-webkit-tap-highlight-color:transparent;background:#0d0a141f;border:1px solid #ffca6861;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:1px;width:58px;height:58px;display:flex}.brawl-touch-actions button:nth-child(2){color:#81f0f8;border-color:#67ebf461;width:49px;height:49px}.brawl-touch-actions b{font-family:var(--font-geist-mono), monospace;font-size:.9rem}.brawl-touch-actions small{font-family:var(--font-geist-mono), monospace;letter-spacing:.04em;font-size:.37rem;font-weight:900}.brawl-touch-actions button:disabled{opacity:.28}.brawl-touch-slots{grid-template-columns:repeat(4,30px);gap:3px;display:grid}.brawl-touch-slots button{--fighter-color:#3d3a4b;border:1px solid var(--fighter-color);place-items:center;width:30px;height:25px;padding:0;display:grid}@supports (color:color-mix(in lab, red, red)){.brawl-touch-slots button{border:1px solid color-mix(in srgb, var(--fighter-color) 38%, transparent)}}.brawl-touch-slots button{background:var(--fighter-color);border-radius:6px}@supports (color:color-mix(in lab, red, red)){.brawl-touch-slots button{background:color-mix(in srgb, var(--fighter-color) 7%, #04050c2e)}}.brawl-touch-slots button{color:var(--fighter-color);font-family:var(--font-geist-mono), monospace;touch-action:manipulation;text-shadow:0 1px 4px #000;-webkit-tap-highlight-color:transparent;font-size:.52rem;font-weight:900}.brawl-touch-slots button[data-selected=true]{border-color:var(--fighter-color);background:var(--fighter-color)}@supports (color:color-mix(in lab, red, red)){.brawl-touch-slots button[data-selected=true]{background:color-mix(in srgb, var(--fighter-color) 18%, #04050c1f)}}.brawl-touch-slots button[data-selected=true]{box-shadow:0 0 9px var(--fighter-color)}@supports (color:color-mix(in lab, red, red)){.brawl-touch-slots button[data-selected=true]{box-shadow:0 0 9px color-mix(in srgb, var(--fighter-color) 36%, transparent)}}.brawl-touch-slots button:disabled{color:#969aad47;border-color:#73768b1f}.rules-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.rules-list li{border-bottom:1px solid var(--line);grid-template-columns:28px 1fr;gap:12px;padding:17px 19px;display:grid}.rules-list li:last-child{border-bottom:0}.rules-list li>span{color:#3f64ff;font-family:var(--font-geist-mono), monospace;padding-top:1px;font-size:.68rem;font-weight:800}.rules-list strong{font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;font-size:.67rem}.rules-list p{color:#858eaf;margin:5px 0 0;font-size:.73rem;line-height:1.5}footer{color:#4f5778;max-width:930px;font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;justify-content:space-between;align-items:center;margin:19px auto 0;font-size:.58rem;font-weight:700;display:flex}footer a{color:#8c94b8;white-space:nowrap;text-decoration:none;transition:color .15s,text-shadow .15s}footer a:hover{color:var(--yellow);text-shadow:0 0 12px #ffdd185c}@keyframes status-pulse{0%,to{opacity:.42;transform:scale(.8)}50%{opacity:1;transform:scale(1.12)}}@keyframes result-in{0%{opacity:0;transform:scale(1.03)}to{opacity:1;transform:scale(1)}}@media (width<=920px){.game-page{width:min(620px,100% - 28px);padding-top:28px}.arcade-layout{grid-template-columns:minmax(0,592px)}.control-panel{grid-template-columns:.8fr 1fr;display:grid}.command-card{border-right:1px solid var(--line)}.keys{padding-top:17px}.road-control-hint,.climb-control-hint,.cross-control-hint,.meteor-control-hint,.brawl-control-hint{grid-column:1/-1}.rules-list{grid-column:1/-1;grid-template-columns:repeat(2,1fr);display:grid}.rules-list li{border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:0}.rules-list li:nth-child(2n){border-right:0}}@media (width<=600px){.game-page{width:calc(100% - 18px);max-width:520px;padding-top:21px}.hero{align-items:center;margin-bottom:17px}.hero h1{font-size:clamp(2.35rem,13vw,3.5rem)}.tagline,.ghost-squad,.alien-squad,.road-hero-mark,.climb-hero-mark,.cross-hero-mark,.meteor-hero-mark,.brawl-hero-mark{display:none}.cabinet{border-radius:15px;padding:10px}.cabinet-topbar{min-height:48px;padding:0 3px 9px}.live-status{padding:6px 8px;font-size:.52rem}.hud-block strong{font-size:.86rem}.game-page[data-wave=road] .hud-block strong{letter-spacing:.02em;font-size:.72rem}.game-page[data-wave=climb] .hud-block strong,.game-page[data-wave=cross] .hud-block strong{letter-spacing:.01em;font-size:.72rem}.game-page[data-wave=meteor] .hud-block strong,.game-page[data-wave=brawl] .hud-block strong{letter-spacing:0;font-size:.68rem}.control-panel{grid-template-columns:1fr}.road-control-hint,.climb-control-hint,.cross-control-hint,.meteor-control-hint,.brawl-control-hint{grid-column:auto}.command-card{border-right:0;min-height:82px}.rules-list{grid-column:auto;grid-template-columns:1fr}.rules-list li,.rules-list li:last-child{border-right:0;border-bottom:1px solid var(--line)}.rules-list li:last-child{border-bottom:0}footer{gap:18px}footer span:nth-child(2){display:none}}@media (width<=700px),(hover:none) and (pointer:coarse){.mobile-controls{display:flex}.keyboard-control-guide{display:none}.touch-hint{padding-top:20px;display:block}}@media (height<=520px) and (hover:none) and (pointer:coarse){.mobile-controls{--touch-size:34px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
