:root{--bg: #020611;--bg2: #071225;--panel: #0b1730;--panel2: #0a1832;--cyan: #28f3ff;--blue: #2d7dff;--purple: #9b5cff;--magenta: #ff4fd8;--green: #66ffb2;--gold: #ffd166;--red: #ff5f6d;--text: #edf7ff;--text-dim: #a8b8d8;--radius: 16px;--radius-lg: 24px;--font: "Be Vietnam Pro", system-ui, sans-serif}@font-face{font-family:Be Vietnam Pro;src:url(/fonts/BeVietnamPro-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Be Vietnam Pro;src:url(/fonts/BeVietnamPro-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Be Vietnam Pro;src:url(/fonts/BeVietnamPro-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased}body,#root{min-height:100vh}:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;border-radius:2px}:focus:not(:focus-visible){outline:none}@keyframes board-countdown-flash{0%,to{background-color:#ff5f6d29}50%{background-color:#ff5f6d6b}}@keyframes board-node-orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}:root{--u: min(1vw, 1.7778vh);--glass-bg: linear-gradient(160deg, rgba(13,30,60,.68), rgba(4,12,28,.76));--glass-inset: inset 0 1px 0 rgba(255,255,255,.08);--glass-depth: 0 24px 64px rgba(0,0,0,.4);--hairline: 1px solid rgba(255,255,255,.1);--deck-bg: linear-gradient(135deg, rgba(4, 12, 28, .56), rgba(4, 10, 24, .26));--deck-rail: rgba(40, 243, 255, .24);--deck-rail-hot: rgba(40, 243, 255, .72);--deck-shadow: 0 30px 100px rgba(0, 0, 0, .46), 0 0 80px rgba(40, 243, 255, .07);--deck-safe-x: clamp(18px, calc(var(--u) * 4.1), 76px);--deck-safe-y: clamp(12px, calc(var(--u) * 1.2), 28px);--deck-glow-gutter: clamp(16px, calc(var(--u) * 1.65), 34px);--ease-orbit: cubic-bezier(.16, 1, .3, 1);--ease-atmosphere: cubic-bezier(.22, .61, .36, 1);--ease-ui: cubic-bezier(.4, 0, .2, 1);--motion-ui: .22s;--motion-content: .76s;--motion-page: .92s;--motion-atmosphere: .9s}.presentation-stage-shell{position:absolute;inset:0;display:flex;justify-content:center;padding:calc(var(--u) * .7) calc(var(--u) * 1.15) calc(var(--u) * 1.15);min-width:0;overflow:hidden}.presentation-stage-deck{position:relative;isolation:isolate;width:min(100%,calc(var(--u) * 104));height:100%;display:flex;flex-direction:column;padding:var(--deck-safe-y) var(--deck-safe-x) calc(var(--u) * .8);border:1px solid rgba(255,255,255,.1);border-radius:calc(var(--radius-lg) + 8px);background:transparent;box-shadow:var(--deck-shadow);overflow:hidden}.presentation-stage-glass{position:absolute;inset:0;z-index:-2;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 18% 8%,rgba(40,243,255,.14),transparent 34%),radial-gradient(circle at 82% 18%,rgba(155,92,255,.12),transparent 36%),var(--deck-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:presentation-glass-focus var(--motion-page) var(--ease-atmosphere) both;will-change:opacity,backdrop-filter}.presentation-stage-sweep{position:absolute;inset:-18%;z-index:4;pointer-events:none;background:linear-gradient(105deg,transparent 0 42%,rgba(255,255,255,.26) 47%,rgba(40,243,255,.2) 49%,rgba(155,92,255,.09) 53%,transparent 61%),linear-gradient(180deg,transparent 18%,rgba(40,243,255,.12) 50%,transparent 78%);mix-blend-mode:screen;opacity:0;transform:translate3d(-58%,0,0) skew(-10deg);animation:presentation-stage-sweep var(--motion-page) var(--ease-orbit) both;will-change:opacity,transform}.presentation-stage-deck:before{content:"";position:absolute;inset:1px;z-index:-1;border-radius:calc(var(--radius-lg) + 6px);background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(40,243,255,.04) 1px,transparent 1px);background-size:100% 9px,54px 100%;mask-image:linear-gradient(180deg,#000000d9,#0000002e)}.presentation-stage-deck:after{content:"";position:absolute;inset:calc(var(--u) * .55);z-index:-1;border-radius:calc(var(--radius-lg) + 2px);pointer-events:none;background:linear-gradient(90deg,var(--deck-rail-hot),transparent 18%) top left / 32% 1px no-repeat,linear-gradient(90deg,transparent 82%,var(--deck-rail)) top right / 32% 1px no-repeat,linear-gradient(90deg,var(--deck-rail),transparent 18%) bottom left / 28% 1px no-repeat,linear-gradient(90deg,transparent 82%,var(--deck-rail-hot)) bottom right / 28% 1px no-repeat,linear-gradient(180deg,var(--deck-rail-hot),transparent 24%) top left / 1px 22% no-repeat,linear-gradient(180deg,var(--deck-rail),transparent 24%) top right / 1px 22% no-repeat,linear-gradient(180deg,transparent 76%,var(--deck-rail)) bottom left / 1px 22% no-repeat,linear-gradient(180deg,transparent 76%,var(--deck-rail-hot)) bottom right / 1px 22% no-repeat}.presentation-stage-body{position:relative;z-index:1;flex:1 1 0%;min-height:0;display:grid;align-content:center;overflow:visible;container-type:size;padding:calc(var(--u) * .9) var(--deck-glow-gutter) calc(var(--u) * .75);animation:presentation-body-arrive var(--motion-content) var(--ease-orbit) 70ms both;will-change:opacity,transform,filter}.presentation-stage-body::-webkit-scrollbar{width:8px}.presentation-stage-body::-webkit-scrollbar-thumb{border-radius:999px;background:#28f3ff47}.presentation-stage-header{position:relative;z-index:2}.presentation-stage-title{position:relative;z-index:1;animation:presentation-title-arrive var(--motion-content) var(--ease-orbit) both;will-change:opacity,transform,filter}.presentation-stage-title:before{content:"";position:absolute;left:0;top:calc(var(--u) * -1);width:calc(var(--u) * 8);height:1px;background:linear-gradient(90deg,var(--cyan),transparent);box-shadow:0 0 22px #28f3ff5c;transform-origin:left center;animation:presentation-rail-draw .82s var(--ease-orbit) both}.presentation-control-dock{position:absolute;right:calc(var(--u) * 2.1);bottom:calc(var(--u) * 2.1);z-index:6}.presentation-stage-caption-slot{animation:presentation-caption-arrive .68s var(--ease-orbit) .13s both;will-change:opacity,transform}.presentation-sheet-page{min-height:100%;display:flex;flex-direction:column;gap:18px;padding:18px;border:1px solid rgba(255,255,255,.11);border-radius:var(--radius-lg);background:linear-gradient(180deg,#0a183299,#040a18b8),radial-gradient(circle at 15% 0%,rgba(40,243,255,.12),transparent 32%);box-shadow:0 20px 70px #00000061;animation:presentation-sheet-enter .62s var(--ease-orbit) both}.tour-progress-strip-sheet{scrollbar-width:none;-ms-overflow-style:none}.tour-progress-strip-sheet::-webkit-scrollbar{display:none}.tour-progress-preview{transform-origin:center bottom;animation:tour-progress-preview-in .26s var(--ease-orbit) both}.tour-mobile-scroll{scrollbar-width:thin;scrollbar-color:rgba(40,243,255,.38) transparent}.tour-mobile-scroll::-webkit-scrollbar{width:7px}.tour-mobile-scroll::-webkit-scrollbar-track{background:transparent}.tour-mobile-scroll::-webkit-scrollbar-thumb{border-radius:999px;background:#28f3ff5c}.presentation-caption-stage{overflow:hidden}.presentation-caption-stage:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(40,243,255,.16),transparent);opacity:.34;transform:translate(-38%);animation:presentation-caption-sheen 1.55s var(--ease-orbit) .18s both}.presentation-control-dock button:not(:disabled),.presentation-stage-header button:not(:disabled),.tour-progress-strip-stage button,.presentation-sheet-page button:not(:disabled){transition:transform var(--motion-ui) var(--ease-ui),filter var(--motion-ui) var(--ease-ui),background var(--motion-ui) var(--ease-ui),border-color var(--motion-ui) var(--ease-ui),box-shadow var(--motion-ui) var(--ease-ui)}.presentation-control-dock button:not(:disabled):hover,.presentation-stage-header button:not(:disabled):hover,.tour-progress-strip-stage button:hover,.presentation-sheet-page button:not(:disabled):hover{transform:translateY(-1px);filter:brightness(1.08)}.presentation-control-dock button:not(:disabled):active,.presentation-stage-header button:not(:disabled):active,.tour-progress-strip-stage button:active,.presentation-sheet-page button:not(:disabled):active{transform:translateY(0) scale(.985)}@media(max-width:1280px)and (orientation:landscape){.presentation-stage-deck{--deck-safe-x: clamp(16px, calc(var(--u) * 3.2), 58px);--deck-safe-y: clamp(10px, calc(var(--u) * .9), 22px)}}@media(max-width:640px){.presentation-sheet-page{gap:14px;padding:14px;border-radius:calc(var(--radius) + 4px)}}@keyframes v2-breathe{0%,to{opacity:.82;filter:brightness(1)}50%{opacity:1;filter:brightness(1.12) saturate(1.08)}}@keyframes presentation-glass-focus{0%{opacity:.56;backdrop-filter:blur(2.5px);-webkit-backdrop-filter:blur(2.5px)}to{opacity:1;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}}@keyframes presentation-stage-sweep{0%{opacity:0;transform:translate3d(-58%,0,0) skew(-10deg)}18%{opacity:.42}64%{opacity:.14}to{opacity:0;transform:translate3d(58%,0,0) skew(-10deg)}}@keyframes presentation-title-arrive{0%{opacity:.58;filter:blur(3px) brightness(1.08);transform:translate3d(0,calc(var(--u) * .42),0) scale(.996)}to{opacity:1;filter:blur(0) brightness(1);transform:translateZ(0) scale(1)}}@keyframes presentation-body-arrive{0%{opacity:.68;filter:blur(2.5px);transform:translate3d(0,calc(var(--u) * .32),0) scale(.998)}to{opacity:1;filter:blur(0);transform:translateZ(0) scale(1)}}@keyframes presentation-caption-arrive{0%{opacity:.72;transform:translate3d(0,calc(var(--u) * .24),0) scale(.997)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes presentation-caption-sheen{0%{opacity:0;transform:translate(-42%)}36%{opacity:.34}to{opacity:0;transform:translate(42%)}}@keyframes presentation-rail-draw{0%{opacity:0;transform:scaleX(.18)}to{opacity:1;transform:scaleX(1)}}@keyframes presentation-sheet-enter{0%{opacity:.82;transform:translate3d(0,10px,0) scale(.996)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes tour-progress-preview-in{0%{opacity:0;filter:blur(2px);transform:translate3d(0,6px,0) scale(.975)}to{opacity:1;filter:blur(0);transform:translateZ(0) scale(1)}}@keyframes scene-backdrop-image-in{0%{filter:saturate(1.16) contrast(1.12) brightness(1.08) blur(1.5px);transform:scale(1.028)}to{filter:saturate(1.02) contrast(1.05) brightness(.98) blur(0);transform:scale(1)}}@keyframes v2-dash-drift{0%{stroke-dashoffset:0}to{stroke-dashoffset:-280}}@keyframes map-letter-reveal{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}@keyframes map-route-draw{0%{opacity:.64;stroke-dashoffset:1}72%{opacity:.52;stroke-dashoffset:0}to{opacity:0;stroke-dashoffset:0}}@keyframes map-next-orbit{to{transform:rotate(360deg)}}@keyframes v2-rise{0%{opacity:.72;filter:blur(2px);transform:translate3d(0,12px,0) scale(.998)}to{opacity:1;filter:blur(0);transform:translateZ(0) scale(1)}}@keyframes v2-pop{0%{opacity:.68;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.v2-breathe{animation:v2-breathe 4.8s ease-in-out infinite}.v2-dash-drift{animation:v2-dash-drift 18s linear infinite}.map-letter-reveal{animation:map-letter-reveal 1.2s var(--ease-orbit) both}.map-route-reveal{animation:map-route-draw 1.15s var(--ease-orbit) both}.map-next-orbit{animation:map-next-orbit 14s linear infinite}.v2-rise{animation:v2-rise .68s var(--ease-orbit) both}.v2-pop{animation:v2-pop .54s var(--ease-orbit) both}.challenge-join-overlay{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:max(12px,env(safe-area-inset-top,0px)) 14px max(12px,env(safe-area-inset-bottom,0px));overflow:hidden;background:linear-gradient(140deg,#030a18f5,#020611e6 48%,#12071af0),linear-gradient(180deg,rgba(40,243,255,.08),transparent 38%)}.challenge-join-overlay:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(40,243,255,.04) 1px,transparent 1px);background-size:100% 18px,64px 100%;mask-image:linear-gradient(180deg,#000000d6,#00000047)}.challenge-join-console{position:relative;width:min(1120px,calc(100vw - 28px));height:min(760px,calc(100dvh - 28px));min-height:min(620px,calc(100dvh - 28px));display:grid;grid-template-columns:minmax(280px,.92fr) minmax(0,1.18fr);overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:calc(var(--radius-lg) + 8px);background:linear-gradient(145deg,#0b1730eb,#040a18f0);box-shadow:0 30px 110px #00000094,0 0 0 1px #28f3ff14 inset;isolation:isolate}.challenge-join-console:after{content:"";position:absolute;inset:1px;pointer-events:none;border-radius:calc(var(--radius-lg) + 7px);background:linear-gradient(90deg,rgba(255,209,102,.72),transparent 20%) top left / 38% 1px no-repeat,linear-gradient(90deg,transparent 72%,rgba(40,243,255,.54)) top right / 42% 1px no-repeat,linear-gradient(90deg,rgba(40,243,255,.42),transparent 18%) bottom left / 34% 1px no-repeat,linear-gradient(90deg,transparent 76%,rgba(255,79,216,.48)) bottom right / 34% 1px no-repeat}.challenge-join-hero,.challenge-join-panel{position:relative;min-width:0;min-height:0}.challenge-join-hero{display:grid;grid-template-rows:auto 1fr;gap:clamp(18px,3vh,32px);padding:clamp(24px,4vw,44px);background:linear-gradient(180deg,rgba(40,243,255,.08),transparent 36%),linear-gradient(140deg,rgba(255,209,102,.1),transparent 42%),#0309166b;border-right:1px solid rgba(255,255,255,.09)}.challenge-kicker,.game-scene-status,.game-challenge-copy span,.challenge-roster-head{text-transform:uppercase;letter-spacing:.09em;font-size:11px;font-weight:800}.challenge-kicker{width:fit-content;padding:7px 10px;border:1px solid rgba(255,209,102,.34);border-radius:999px;color:var(--gold);background:#ffd16614}.challenge-join-copy h1{margin:18px 0 0;font-size:54px;line-height:1.02;letter-spacing:0;text-wrap:balance}.challenge-join-copy p{max-width:420px;margin:12px 0 0;color:var(--text-dim);font-size:17px;line-height:1.5}.challenge-selected-ship{align-self:end;display:grid;gap:16px;justify-items:center;min-height:0}.challenge-ship-orbit{position:relative;width:min(250px,68%);aspect-ratio:1;display:grid;place-items:center}.challenge-ship-orbit:before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 20deg,#28f3ff14,#ffd166b8,#ff4fd838,#28f3ff14);mask:radial-gradient(circle,transparent 58%,#000 59% 63%,transparent 64%);animation:challenge-orbit-spin 14s linear infinite}.challenge-ship-orbit:after{content:"";position:absolute;inset:18%;border-radius:50%;border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 0 34px #28f3ff1f}.challenge-ship-orbit img{position:relative;z-index:1;width:min(150px,68%);height:min(150px,68%);object-fit:contain;filter:drop-shadow(0 18px 34px rgba(0,0,0,.42)) drop-shadow(0 0 24px rgba(40,243,255,.22))}.challenge-selected-copy{text-align:center;display:grid;gap:5px}.challenge-selected-copy span{color:var(--text-dim);font-size:12px;font-weight:700}.challenge-selected-copy strong{font-size:28px;line-height:1.1}.challenge-join-panel{display:flex;flex-direction:column;gap:12px;padding:clamp(18px,3vw,32px);background:linear-gradient(180deg,#0b1730d1,#050d1ef5)}.challenge-join-field{display:grid;gap:8px}.challenge-join-field span,.challenge-join-rule{color:var(--text-dim);font-size:12px;font-weight:700}.challenge-join-field input{width:100%;min-height:54px;padding:0 16px;border-radius:var(--radius);border:1px solid rgba(255,255,255,.14);background:#03091694;color:var(--text);font-family:var(--font);font-size:16px;box-shadow:inset 0 1px #ffffff0d}.challenge-join-field input::placeholder{color:#a8b8d8b8}.challenge-roster-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text-dim);margin-top:4px}.challenge-roster-head span:last-child{color:var(--cyan);font-variant-numeric:tabular-nums}.challenge-ship-grid{flex:1 1 auto;min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));align-content:start;gap:10px;padding:2px 3px 8px;scrollbar-width:thin;scrollbar-color:rgba(40,243,255,.36) transparent}.challenge-ship-grid::-webkit-scrollbar,.game-scene-scroll::-webkit-scrollbar{width:8px}.challenge-ship-grid::-webkit-scrollbar-thumb,.game-scene-scroll::-webkit-scrollbar-thumb{border-radius:999px;background:#28f3ff57}.challenge-ship-card{min-height:108px;display:grid;grid-template-rows:1fr auto;place-items:center;gap:6px;padding:10px 8px;border-radius:var(--radius);border:1px solid rgba(255,255,255,.1);background:#061125b3;color:var(--text);font-family:var(--font);font-size:11px;font-weight:800;line-height:1.15;cursor:pointer;box-shadow:inset 0 1px #ffffff0a}.challenge-ship-card[aria-pressed=true]{border-color:#28f3ffeb;background:linear-gradient(180deg,#28f3ff29,#061125e0);box-shadow:0 0 0 1px #28f3ff3d inset,0 14px 34px #28f3ff1f}.challenge-ship-thumb{width:72px;height:62px;display:grid;place-items:center}.challenge-ship-thumb img{width:68px;height:68px;object-fit:contain;filter:drop-shadow(0 10px 14px rgba(0,0,0,.28))}.challenge-join-error{padding:9px 12px;border:1px solid rgba(255,95,109,.38);border-radius:var(--radius);background:#ff5f6d1a;color:var(--red);font-size:13px;font-weight:700;text-align:center}.challenge-join-dock{flex:0 0 auto;padding-top:4px}.challenge-launch-button,.game-challenge-button{width:100%;min-height:56px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:var(--radius);border:1px solid rgba(255,209,102,.52);background:linear-gradient(135deg,#ffd166fa,#ff7e53f5 54%,#ff4fd8e0);color:#180714;font-family:var(--font);font-size:16px;font-weight:900;cursor:pointer;box-shadow:0 0 0 1px #ffffff24 inset,0 18px 48px #ff4fd82e}.challenge-launch-button:disabled,.game-challenge-button:disabled{border-color:#ffffff1a;background:#081226eb;color:var(--text-dim);cursor:default;box-shadow:inset 0 1px #ffffff0a;opacity:.74}.challenge-ship-card,.challenge-launch-button,.game-scene-close,.game-challenge-button{transition:transform var(--motion-ui) var(--ease-ui),filter var(--motion-ui) var(--ease-ui),border-color var(--motion-ui) var(--ease-ui),box-shadow var(--motion-ui) var(--ease-ui)}.challenge-ship-card:hover,.challenge-launch-button:not(:disabled):hover,.game-scene-close:hover,.game-challenge-button:not(:disabled):hover{transform:translateY(-1px);filter:brightness(1.07)}.challenge-ship-card:active,.challenge-launch-button:not(:disabled):active,.game-scene-close:active,.game-challenge-button:not(:disabled):active{transform:translateY(0) scale(.988)}.game-scene-overlay{position:fixed;inset:0;z-index:20;display:flex;align-items:flex-end;justify-content:center;padding:12px 12px max(0px,env(safe-area-inset-bottom,0px))}.game-scene-backdrop{position:absolute;inset:0;background:#020611ad;backdrop-filter:blur(3px)}.game-scene-sheet{position:relative;width:min(760px,100%);height:min(900px,calc(92dvh - env(safe-area-inset-bottom,0px)));min-height:min(520px,calc(92dvh - env(safe-area-inset-bottom,0px)));display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-bottom:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:linear-gradient(180deg,#0b1730f5,#050d1efa),linear-gradient(120deg,rgba(40,243,255,.08),transparent 42%);box-shadow:0 -22px 90px #00000085,0 0 0 1px #28f3ff0f inset}.game-scene-topbar{flex:0 0 auto;min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px 8px 18px;border-bottom:1px solid rgba(255,255,255,.08);background:#0309165c}.game-scene-status{min-width:0;color:var(--gold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-scene-actions{flex:0 0 auto;display:flex;align-items:center;gap:8px}.game-scene-close{min-width:44px;min-height:44px;display:grid;place-items:center;border-radius:var(--radius);border:1px solid rgba(255,255,255,.14);background:#0a183294;color:var(--text);cursor:pointer}.game-scene-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(40,243,255,.34) transparent}.game-scene-scroll .presentation-sheet-page{min-height:auto;border:0;border-radius:0;background:transparent;box-shadow:none;padding:18px;animation:none}.game-challenge-rail{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(148px,auto);align-items:center;gap:12px;padding:12px 14px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,#091328db,#040a18fa),repeating-linear-gradient(115deg,rgba(255,209,102,.08) 0 1px,transparent 1px 12px);box-shadow:0 -18px 52px #00000057}.game-challenge-rail.is-done{background:linear-gradient(180deg,#081e22bd,#040a18fa),repeating-linear-gradient(115deg,rgba(102,255,178,.08) 0 1px,transparent 1px 12px)}.game-challenge-copy{min-width:0;display:grid;gap:4px}.game-challenge-copy span{color:var(--gold)}.game-challenge-rail.is-done .game-challenge-copy span{color:var(--green)}.game-challenge-copy strong{color:var(--text);font-size:14px;line-height:1.35;overflow:hidden;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.game-challenge-button{width:auto;min-width:148px;white-space:nowrap}@media(max-width:820px){.challenge-join-console{width:calc(100vw - 16px);height:calc(100dvh - 16px);min-height:0;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);border-radius:var(--radius-lg)}.challenge-join-hero{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto;align-items:center;padding:18px;border-right:none;border-bottom:1px solid rgba(255,255,255,.09)}.challenge-join-copy h1{margin-top:10px;font-size:34px}.challenge-join-copy p{display:none}.challenge-selected-ship{align-self:center;gap:7px}.challenge-ship-orbit{width:clamp(86px,24vw,124px)}.challenge-selected-copy span{display:none}.challenge-selected-copy strong{max-width:130px;font-size:14px;overflow-wrap:anywhere}.challenge-join-panel{padding:16px}}@media(max-width:560px){.challenge-ship-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}.challenge-ship-card{min-height:96px;padding:8px 6px}.challenge-ship-thumb{width:62px;height:54px}.challenge-ship-thumb img{width:60px;height:60px}.game-scene-overlay{padding:8px 8px max(0px,env(safe-area-inset-bottom,0px))}.game-scene-sheet{height:min(940px,calc(94dvh - env(safe-area-inset-bottom,0px)))}.game-scene-topbar{padding-left:12px}.game-challenge-rail{grid-template-columns:1fr;gap:10px}.game-challenge-button{width:100%}}@media(max-height:620px)and (max-width:820px){.challenge-join-hero{padding:12px 14px}.challenge-kicker,.challenge-selected-copy{display:none}.challenge-join-copy h1{margin-top:0;font-size:24px}.challenge-ship-orbit{width:76px}.challenge-join-field input{min-height:48px}.challenge-launch-button{min-height:50px}}@keyframes challenge-orbit-spin{to{transform:rotate(360deg)}}@keyframes v2-rise-left{0%{opacity:.72;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes v2-rise-right{0%{opacity:.72;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.v2-rise-left{animation:v2-rise-left .68s var(--ease-orbit) both}.v2-rise-right{animation:v2-rise-right .68s var(--ease-orbit) both}@keyframes v2-orbit-cw{to{transform:rotate(360deg)}}@keyframes v2-orbit-ccw{to{transform:rotate(-360deg)}}.v2-orbit-cw{animation:v2-orbit-cw 90s linear infinite}.v2-orbit-ccw{animation:v2-orbit-ccw 120s linear infinite}@keyframes scene-backdrop-grid-drift{0%{transform:translate(0)}to{transform:translate(-74px,-74px)}}.scene-backdrop-grid-drift{animation:scene-backdrop-grid-drift 80s linear infinite}.scene-backdrop-image-in{animation:scene-backdrop-image-in var(--motion-atmosphere) var(--ease-atmosphere) both;will-change:transform,filter}.player-leaderboard-layer{position:fixed;inset:0;z-index:36;display:grid;justify-items:end;align-items:center;padding:calc(14px + env(safe-area-inset-top,0px)) calc(14px + env(safe-area-inset-right,0px)) calc(14px + env(safe-area-inset-bottom,0px)) calc(14px + env(safe-area-inset-left,0px));pointer-events:none}.player-leaderboard-scrim{position:absolute;inset:0;border:0;background:radial-gradient(circle at 78% 28%,rgba(255,209,102,.1),transparent 32%),linear-gradient(90deg,#0206112e,#020611b8);cursor:pointer;pointer-events:auto}.player-leaderboard-panel{position:relative;width:min(430px,calc(100vw - 28px));max-height:min(720px,calc(100vh - 28px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)));display:flex;flex-direction:column;gap:14px;padding:16px;border-radius:var(--radius-lg);background:linear-gradient(160deg,#ffd1661a,#28f3ff0d 42%,#020611f0),#050d1ef5;border:1px solid rgba(255,209,102,.28);box-shadow:var(--glass-inset),0 26px 70px #0000007a,0 0 42px #ffd16614;pointer-events:auto;overflow:hidden}.player-leaderboard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.player-leaderboard-kicker{display:block;margin-bottom:4px;color:var(--gold);font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.player-leaderboard-header h2,.player-leaderboard-header p{margin:0}.player-leaderboard-header h2{color:var(--text);font-size:23px;line-height:1.12}.player-leaderboard-header p{margin-top:5px;color:var(--text-dim);font-size:13px;font-weight:700}.player-leaderboard-close{min-width:40px;min-height:40px;display:grid;place-items:center;border-radius:var(--radius);border:1px solid rgba(255,255,255,.12);background:#02061147;color:var(--text);cursor:pointer}.player-leaderboard-close:hover,.player-leaderboard-close:focus-visible{border-color:#28f3ff7a;outline:none}.player-leaderboard-me{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border-radius:var(--radius);background:#28f3ff14;border:1px solid rgba(40,243,255,.24)}.player-leaderboard-me img,.player-leaderboard-row img{object-fit:contain;flex-shrink:0}.player-leaderboard-me span{display:block;color:var(--text-dim);font-size:11px;font-weight:800;letter-spacing:.04em}.player-leaderboard-me strong{display:block;min-width:0;overflow:hidden;color:var(--text);font-size:16px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.player-leaderboard-me-score{min-width:66px;text-align:right}.player-leaderboard-me-score span{color:var(--gold);font-size:18px}.player-leaderboard-me-score strong{font-size:20px;font-variant-numeric:tabular-nums}.player-leaderboard-list{min-height:0;display:flex;flex-direction:column;gap:8px;overflow-y:auto;padding-right:2px;scrollbar-width:thin;scrollbar-color:rgba(40,243,255,.35) transparent}.player-leaderboard-row{display:grid;grid-template-columns:32px 42px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:56px;padding:8px 10px;border-radius:var(--radius);border:1px solid rgba(255,255,255,.08);background:#02061152}.player-leaderboard-row.is-current{border-color:#ffd1667a;background:#ffd1661a}.player-leaderboard-rank{color:var(--gold);font-size:18px;font-weight:900;text-align:center;font-variant-numeric:tabular-nums}.player-leaderboard-name{min-width:0;overflow:hidden;color:var(--text);font-size:14px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.player-leaderboard-points{min-width:58px;color:var(--text);font-size:16px;font-weight:900;text-align:right;font-variant-numeric:tabular-nums}.player-leaderboard-empty{padding:28px 12px;color:var(--text-dim);font-size:14px;font-weight:700;text-align:center}@media(max-width:760px){.player-leaderboard-layer{align-items:end;justify-items:center;padding:0}.player-leaderboard-scrim{background:linear-gradient(180deg,#0206112e,#020611c2)}.player-leaderboard-panel{width:100%;max-height:min(78vh,680px);border-right:0;border-bottom:0;border-left:0;border-radius:20px 20px 0 0;padding:14px 12px calc(14px + env(safe-area-inset-bottom,0px))}.player-leaderboard-header h2{font-size:20px}.player-leaderboard-row{grid-template-columns:28px 38px minmax(0,1fr) auto}}
