/*! tailwindcss v4.3.3 | 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}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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-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%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;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:where(:not(iframe)){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]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance: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{.m-4{margin:calc(var(--spacing) * 4)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}}:root{color:#edf6ff;font-synthesis:none;--navy:#071426;--panel:#0d2037;--panel-2:#102943;--line:#23415e;--muted:#8da8c2;--cyan:#56d6ff;--green:#64e572;--orange:#ffbf69;--font-display:"Arial Narrow", "Roboto Condensed", "Segoe UI", sans-serif;background:#071426;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{background:var(--navy);min-height:100%;margin:0}body{background-image:radial-gradient(circle at 80% 4%,#21578242,#0000 34rem),linear-gradient(145deg,#071426,#081c32 55%,#06101e);min-width:320px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}.topbar{background:#051221b8;border-bottom:1px solid #64a0cb33;justify-content:space-between;align-items:center;gap:20px;min-height:74px;padding:16px clamp(18px,3vw,52px);display:flex}.brand{letter-spacing:.09em;align-items:center;gap:12px;display:flex}.brand strong{font-family:var(--font-display);letter-spacing:.13em;font-size:19px;display:block}.brand small{color:#7194b2;letter-spacing:.27em;font-size:9px}.brand-orbit{color:var(--cyan);text-shadow:0 0 18px #56d6ffb3;font-size:34px;line-height:1}.top-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.phase-chip,.public-badge,.exhibition-note{color:#a7cee9;letter-spacing:.1em;text-transform:uppercase;border:1px solid #285474;border-radius:4px;padding:7px 11px;font-size:10px;font-weight:700}.header-timer{text-align:center;min-width:53px;color:var(--orange);font-family:var(--font-display);font-size:24px}.status-pill{color:#a9c0d2;align-items:center;gap:7px;font-size:11px;display:inline-flex}.status-pill i,.save-state i{background:#7a9ab4;border-radius:50%;width:8px;height:8px;display:inline-block}.status-connected i{background:var(--green);box-shadow:0 0 8px #64e572a6}.status-connecting i{background:var(--orange)}.status-disconnected i,.status-error i{background:#ff836d}.eyebrow{color:#679fc2;letter-spacing:.18em;text-transform:uppercase;font-size:10px;font-weight:700;line-height:1.5;display:block}.join-shell{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:26px;width:min(1030px,100% - 40px);margin:clamp(46px,9vh,105px) auto;display:grid}.join-card,.join-brief,.prompt-card,.identity-card,.side-card,.roster-card,.host-controls,.preflight,.host-materials,.projector-stage,.race-panel{border:1px solid var(--line);background:linear-gradient(145deg,#122d48eb,#091a2df5);box-shadow:0 20px 70px #0003}.join-card{border-radius:8px;padding:clamp(25px,5vw,55px)}.join-card h1,.lobby-hero h1,.host-top h1,.results-hero h1{max-width:650px;font-family:var(--font-display);letter-spacing:.01em;margin:13px 0;font-size:clamp(38px,5vw,64px);line-height:.98}.lede,.host-top p,.lobby-hero p,.results-hero p{color:#9db6ca;max-width:570px;font-size:14px;line-height:1.7}.join-card form{gap:9px;margin-top:32px;display:grid}label{color:#cce3f3;margin-top:8px;font-size:12px;font-weight:700}input,select{color:#eaf7ff;background:#091c31;border:1px solid #315976;border-radius:4px;outline:none;padding:13px 14px}input:focus,select:focus{border-color:var(--cyan);box-shadow:0 0 0 2px #56d6ff26}.field-hint,.join-note{color:#7897b0;font-size:11px}.primary-button{background:var(--cyan);color:#052039;border:0;border-radius:4px;margin-top:12px;padding:14px 18px;font-size:13px;font-weight:700;transition:transform .15s,background .15s}.primary-button:hover{background:#a3edff;transform:translateY(-1px)}.form-error{color:#ff9a89;margin:4px 0;font-size:12px}.join-note{border-top:1px solid #64a0cb38;margin:24px 0 0;padding-top:18px}.recovery-entry{border-top:1px solid #64a0cb38;margin-top:8px;padding:11px 0}.recovery-entry summary{color:var(--cyan);cursor:pointer;font-size:12px;font-weight:700}.recovery-entry[open]{gap:8px;display:grid}.storage-fault{color:#ffd4cc;background:#2b1920;border:1px solid #874d4d;border-left:4px solid #ff836d;border-radius:4px;gap:4px;width:min(1450px,100% - 48px);margin:16px auto;padding:13px 17px;font-size:12px;display:grid}.storage-fault span,.storage-fault small{color:#e7b5ad}.join-brief{border-radius:8px;flex-direction:column;justify-content:flex-end;min-height:440px;padding:38px;display:flex;position:relative;overflow:hidden}.join-brief h2{font-family:var(--font-display);margin:9px 0;font-size:33px}.join-brief p{color:#86a6bd;font-size:13px;line-height:1.6}.star-map{opacity:.55;background-image:radial-gradient(circle at 20% 25%,#91def7 0,#91def7 1px,#0000 2px),radial-gradient(circle at 70% 16%,#91def7 0,#91def7 1px,#0000 2px),radial-gradient(circle at 84%,#91def7 0,#91def7 1px,#0000 2px),radial-gradient(circle at 42% 64%,#91def7 0,#91def7 1px,#0000 2px),radial-gradient(circle at 66% 83%,#91def7 0,#91def7 1px,#0000 2px);position:absolute;top:0;right:0;bottom:0;left:0}.star-map:after{content:"";border:1px solid #56d6ff66;border-radius:50%;width:260px;height:260px;position:absolute;top:-65px;right:-85px;box-shadow:0 0 0 28px #56d6ff0a,0 0 0 70px #56d6ff06}.join-brief>div:not(.star-map){z-index:1;position:relative}.brief-stat{color:#88a7be;border-top:1px solid #64a0cb4d;align-items:center;gap:14px;margin-top:34px;padding-top:20px;font-size:12px;line-height:1.5;display:flex}.brief-stat b{color:var(--cyan);font-family:var(--font-display);font-size:42px}.game-shell,.panel-shell{grid-template-columns:minmax(0,1fr) 310px;gap:25px;width:min(1280px,100% - 48px);margin:34px auto;display:grid}.round-kicker{color:#719bbc;letter-spacing:.15em;justify-content:space-between;align-items:center;margin-bottom:13px;font-size:11px;font-weight:700;display:flex}.prompt-card{border-radius:7px;min-height:485px;padding:clamp(26px,5vw,68px);position:relative;overflow:hidden}.meteor-card:before{content:"";background:linear-gradient(90deg,transparent,var(--cyan),transparent);opacity:.7;width:40%;height:1px;position:absolute;top:0;left:20%}.meteor-glyph{color:var(--orange);text-shadow:0 0 25px #ffbf698c;margin-bottom:20px;font-size:62px;line-height:1}.prompt-card h1{max-width:800px;font-family:var(--font-display);letter-spacing:.01em;margin:0;font-size:clamp(31px,4vw,54px);line-height:1.07}.prompt-helper{color:#88a6bd;max-width:740px;font-size:13px;line-height:1.6}.progress-track{background:#183753;border-radius:4px;height:4px;margin:25px 0 27px;overflow:hidden}.progress-track span{background:var(--cyan);height:100%;transition:width .25s linear;display:block}.options-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:29px;display:grid}.option-button{color:#d9f0fa;text-align:left;background:#081e33e6;border:1px solid #315977;border-radius:5px;align-items:center;gap:13px;min-height:85px;padding:14px 17px;font-size:14px;line-height:1.4;transition:border-color .15s,background .15s,transform .15s;display:flex}.option-button:hover,.option-button.selected{border-color:var(--cyan);background:#235a7773;transform:translateY(-2px)}.option-key{color:#08233a;background:var(--cyan);border-radius:4px;flex:none;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.option-arrow{color:#6491ad;margin-left:auto;font-size:20px}.game-side{flex-direction:column;gap:15px;display:flex}.identity-card,.side-card{border-radius:6px;padding:21px}.identity-card h2{font-family:var(--font-display);margin:8px 0 4px;font-size:26px}.identity-card p,.side-card p{color:#85a3b9;margin:0;font-size:12px}.side-card strong{color:var(--cyan);font-family:var(--font-display);margin-top:15px;font-size:38px;display:block}.side-card strong small{color:#93acc0;font-family:inherit;font-size:12px}.save-state{color:#8fa9bb;letter-spacing:.04em;white-space:nowrap;align-items:center;gap:7px;font-size:10px;display:inline-flex}.save-state.saved i{background:var(--green)}.save-state.saving i{background:var(--orange)}.save-state.rejected i{background:#ff8b79}.save-state.locked i{background:#96aabd}.save-state.waiting i{background:#7495ae}.scene-context{border-left:3px solid var(--cyan);background:#56d6ff0f;margin-bottom:18px;padding:16px 18px}.scene-context h2{font-family:var(--font-display);margin:6px 0;font-size:24px}.scene-context p,.scene-description{color:#b8d0df;margin:6px 0 0;line-height:1.55}.reveal-panel{border-left:3px solid var(--orange);color:#c4dbe7;background:#ffbf6912;margin-top:27px;padding:17px 18px;font-size:13px;line-height:1.6}.reveal-panel p{margin:8px 0}.reveal-panel strong{color:var(--orange)}.reveal-panel .answer-outcome.correct{color:var(--green)}.reveal-panel .answer-outcome.incorrect{color:#ff8b79}.reveal-panel .answer-outcome.unanswered{color:#96aabd}.team-strip{grid-template-columns:repeat(8,minmax(0,1fr));gap:7px;margin-bottom:25px;display:grid}.team-lane{border:1px solid #203f5b;border-top:2px solid var(--team-color);background:#0a1e32b3;min-width:0;padding:11px 9px}.team-lane b{font-size:11px;display:block}.team-dot{background:var(--team-color);border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.team-count{color:#7695ae;margin-top:4px;font-size:9px;display:block}.team-lane strong{color:#b8d9e7;margin-top:4px;font-size:11px;display:block}.team-strip.compact{grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.team-strip.compact .team-lane{padding:9px}.panel-shell{grid-template-columns:minmax(340px,.95fr) minmax(0,1.05fr)}.owned-card{min-height:480px;padding:34px}.owned-card h1{margin-top:16px;font-size:clamp(29px,3.2vw,46px)}.panel-options{margin-top:35px}.board-column{background:#091b2e9e;border:1px solid #203e5a;border-radius:7px;padding:23px}.board-heading,.section-heading{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:17px;display:flex}.board-heading h2,.section-heading h2{font-family:var(--font-display);margin:5px 0;font-size:27px}.count-badge{color:var(--cyan);padding-top:10px;font-size:11px}.task-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.task-card{background:#0d243cc2;border:1px solid #22445f;border-radius:4px;min-height:155px;padding:13px}.task-card.is-own{border-color:#4eb0cf;box-shadow:inset 0 0 0 1px #56d6ff2b}.task-head{color:#6d99b5;letter-spacing:.08em;align-items:center;gap:6px;font-size:9px;display:flex}.task-head b{color:var(--cyan);font-size:8px}.task-head .save-state{margin-left:auto}.task-card p{color:#c4d9e5;margin:12px 0 8px;font-size:11px;line-height:1.45}.task-card small{color:#7898af;font-size:9px}.task-answer{border-top:1px solid #274761;margin-top:10px;padding-top:8px}.task-answer b{color:var(--orange);font-size:10px;display:block}.task-answer span{color:#b3cedd;margin-top:3px;font-size:10px;display:block}.lobby-shell,.results-shell{width:min(1400px,100% - 48px);margin:39px auto}.lobby-hero,.results-hero{justify-content:space-between;align-items:center;gap:25px;margin-bottom:30px;display:flex}.lobby-hero h1,.results-hero h1{font-size:clamp(40px,5vw,65px)}.lobby-orbit{width:130px;height:130px;color:var(--cyan);border:1px solid #2f6a89;border-radius:50%;place-items:center;font-size:56px;display:grid;box-shadow:0 0 0 17px #56d6ff0a,0 0 0 42px #56d6ff06}.roster-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;display:grid}.roster-card{border-top:2px solid var(--team-color);border-radius:4px;min-height:134px;padding:15px}.roster-card header{align-items:center;gap:4px;margin-bottom:12px;display:flex}.roster-card h2{font-family:var(--font-display);margin:0;font-size:20px}.roster-card header>span:last-child{color:#7495ae;margin-left:auto;font-size:10px}.roster-person{color:#bfd4e0;border-top:1px solid #3a5f794d;align-items:center;gap:7px;padding:5px 0;font-size:11px;display:flex}.roster-person>span{color:#668ca5;width:16px}.roster-person i{color:#718fa5;margin-left:auto;font-size:9px;font-style:normal}.roster-person i.online{color:var(--green)}.remove-person{color:#ffad9c;background:0 0;border:1px solid #874d4d;border-radius:3px;min-height:32px;margin-left:4px;padding:5px 8px;font-size:10px}.remove-person:hover:not(:disabled){background:#874d4d40;border-color:#ff8c7e}.remove-person:disabled{opacity:.55}.roster-entry{border-top:1px solid #3a5f794d}.roster-entry .roster-person{border-top:0}.reissue-person{min-height:32px;color:var(--cyan);background:0 0;border:1px solid #39627c;border-radius:3px;margin-left:4px;padding:5px 8px;font-size:10px}.recovery-code{gap:5px;padding:4px 0 10px 23px;display:grid}.recovery-code label{margin:0;font-size:10px}.recovery-code>div{gap:5px;display:flex}.recovery-code input{flex:1;min-width:0;padding:7px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:9px}.recovery-code button{color:var(--cyan);background:#102c47;border:1px solid #39627c;border-radius:3px;font-size:10px}.host-error{background:#874d4d33;border:1px solid #874d4d;border-radius:4px;margin:12px 0;padding:11px 14px}.team-change-form{background:#091d30ad;border:1px solid #4777966b;border-radius:5px;gap:8px;margin:18px 0 22px;padding:14px 16px;display:grid}.team-change-form>div{flex-wrap:wrap;gap:8px;display:flex}.team-change-form select,.team-change-form button{min-height:40px}.team-change-form .primary-button{margin:0}.team-change-form .primary-button:disabled{background:var(--panel-2);color:#b6cadd;border:1px solid var(--line);opacity:1;transform:none}.form-feedback{margin:0;font-size:11px}.form-feedback.success{color:var(--green)}.form-feedback.error{color:#ffad9c}.muted{color:#7895aa;font-size:12px}.host-shell{width:min(1450px,100% - 48px);margin:32px auto 70px}.host-top{justify-content:space-between;align-items:end;gap:30px;margin-bottom:29px;display:flex}.host-top h1{margin-bottom:8px}.token-form{gap:8px;width:min(350px,100%);display:grid}.token-form>div{gap:7px;display:flex}.token-form input{flex:1;min-width:0}.token-form .primary-button{margin:0;padding:11px 15px}.host-controls{border-radius:5px;justify-content:space-between;align-items:center;gap:25px;padding:20px;display:flex}.control-status strong{color:var(--cyan);font-family:var(--font-display);margin:5px 0;font-size:24px;display:block}.control-status small{color:#7494ad;font-size:10px}.control-buttons{flex-wrap:wrap;justify-content:end;gap:8px;display:flex}.control-buttons button{color:#c7dfec;background:#102c47;border:1px solid #39627c;border-radius:3px;padding:10px 13px;font-size:11px}.control-buttons button:hover{border-color:var(--cyan)}.control-buttons .danger-button{color:#ffad9c;border-color:#874d4d}.control-buttons .secondary-button{color:var(--cyan)}.preflight{border-left:3px solid var(--orange);color:#ffca83;margin:16px 0;padding:15px 19px;font-size:12px}.preflight ul{color:#bdced9;margin:8px 0 0}.host-rosters{margin-top:32px}.exhibition-note{color:#ffcb82;border-color:#775e39}.host-materials{margin-top:25px;padding:22px}.host-materials h2{font-family:var(--font-display);margin:7px 0 15px;font-size:27px}.materials-list{grid-template-columns:repeat(2,1fr);gap:9px;display:grid}.materials-list>div{border:1px solid #284961;flex-direction:column;gap:5px;padding:12px;font-size:11px;display:flex}.materials-list span{color:#91adbf;line-height:1.45}.projector-view{min-height:100vh}.projector-shell{grid-template-columns:minmax(0,1.25fr) minmax(420px,.75fr);gap:25px;width:min(1780px,100% - 72px);margin:38px auto;display:grid}.projector-stage{border-radius:7px;flex-direction:column;justify-content:center;min-height:620px;padding:clamp(36px,5vw,85px);display:flex}.projector-stage h1{max-width:950px;font-family:var(--font-display);margin:20px 0 35px;font-size:clamp(43px,5vw,74px);line-height:1.04}.projector-options{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.projector-options div{color:#d7eaf3;border:1px solid #355e77;align-items:center;gap:14px;padding:20px;font-size:17px;display:flex}.projector-options span{background:var(--cyan);color:#082237;place-items:center;width:40px;height:40px;font-weight:700;display:grid}.race-panel{border-radius:7px;padding:24px}.race-panel h2{font-size:30px}.race-lanes{flex-direction:column;gap:15px;display:flex}.race-lane{color:#c2d8e3;grid-template-columns:65px minmax(100px,1fr) 50px 48px;align-items:center;gap:9px;font-size:12px;display:grid}.lane-track{background:#183752;border-radius:9px;height:9px;overflow:hidden}.lane-track span{border-radius:inherit;height:100%;transition:width 1s;display:block}.race-lane strong{color:var(--cyan);text-align:right}.race-lane em{color:#829db0;text-align:right;font-size:10px;font-style:normal}.empty-state{color:#9cb8c9;text-align:center}.empty-state>span{color:var(--cyan);font-size:60px;display:block}.empty-state h2{font-family:var(--font-display);font-size:32px}.empty-state p{font-size:13px}.results-hero{display:block}.results-list{flex-direction:column;gap:8px;max-width:900px;display:flex}.results-list article{background:#0d243bbf;border:1px solid #294b65;grid-template-columns:43px 1fr 130px 150px;align-items:center;gap:12px;padding:16px;display:grid}.rank-badge{color:#092237;background:var(--orange);border-radius:50%;place-items:center;width:29px;height:29px;font-weight:700;display:grid}.results-list strong{color:var(--cyan)}.results-list small{color:#849eb1;text-align:right}@media(max-width:900px){.join-shell{grid-template-columns:1fr;margin-top:35px}.join-brief{min-height:280px}.game-shell,.panel-shell,.projector-shell{grid-template-columns:1fr}.game-shell .game-main{order:-1}.team-strip.compact{grid-template-columns:repeat(4,1fr)}.host-top,.host-controls{flex-direction:column;align-items:stretch}.control-buttons{justify-content:start}.projector-stage{min-height:500px}.projector-shell{width:min(100% - 35px,700px)}.race-panel{order:-1}}@media(max-width:620px){.topbar{flex-direction:column;align-items:flex-start}.top-meta{justify-content:flex-start}.game-shell,.panel-shell,.lobby-shell,.host-shell,.results-shell{width:min(100% - 26px,500px);margin-top:24px}.team-strip,.team-strip.compact,.roster-grid{grid-template-columns:repeat(2,1fr)}.options-grid,.projector-options{grid-template-columns:1fr}.prompt-card,.owned-card{min-height:0;padding:23px}.task-grid{grid-template-columns:1fr}.lobby-hero{align-items:flex-start}.lobby-orbit{flex:none;width:75px;height:75px;font-size:34px}.host-shell .roster-grid{grid-template-columns:repeat(2,1fr)}.materials-list{grid-template-columns:1fr}.results-list article{grid-template-columns:34px 1fr 100px}.results-list small{text-align:left;grid-column:2/-1}.race-lane{grid-template-columns:53px minmax(70px,1fr) 35px}.race-lane em{display:none}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}:is(.primary-button,.control-buttons button,.option-button){min-height:44px}input:focus-visible,select:focus-visible,button:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}.option-button.selected{box-shadow:inset 0 0 0 2px var(--cyan),0 0 0 1px #56d6ff59}.projector-shell--meteor{grid-template-columns:minmax(0,1.8fr) minmax(310px,.8fr);align-items:start;gap:20px;width:min(1780px,100% - 40px);margin:20px auto}.projector-stage--meteor{background:radial-gradient(ellipse at 50% 10%,#193650 0%,transparent 58%),var(--panel);justify-content:flex-start;min-height:0;padding:clamp(20px,2vw,36px)}.projector-stage--meteor h1{overflow-wrap:anywhere;margin:16px 0;font-size:clamp(25px,2.2vw,40px);line-height:1.25}.projector-stage--meteor .projector-options div{padding:16px;font-size:clamp(18px,1.4vw,24px)}.projector-stage--meteor .projector-options span{flex-shrink:0}.projector-stage--meteor .reveal-panel{margin-top:4px;padding:14px 18px;font-size:clamp(16px,1.1vw,20px);line-height:1.5}.projector-shell--meteor .race-panel h2{font-size:clamp(23px,1.8vw,32px)}.projector-shell--meteor .race-panel{padding:22px}.projector-shell--meteor .race-lanes{gap:24px}.projector-shell--meteor .race-lane{grid-template-columns:68px minmax(24px,1fr) 48px 48px;font-size:clamp(15px,1.1vw,20px)}.projector-shell--meteor .race-lane em{grid-column:4;font-size:13px}.meteor-encounter{min-width:0}.meteor-scene{background:radial-gradient(at 50% 35%,#33658624,#0000 65%);border-bottom:1px solid #56d6ff1f;width:100%;height:clamp(150px,14vw,230px);display:block;overflow:hidden}.meteor-starfield{animation:4.8s ease-out both meteor-star-drift}.meteor-star{fill:#a1bdd4;opacity:.65}.meteor-star-cross{fill:none;stroke:#92b7d1;stroke-width:1.2px}.meteor-orbits{transform-origin:400px 62px;animation:4.8s ease-out both meteor-orbit-drift}.meteor-orbit{fill:none;stroke:#355570;stroke-dasharray:2 12;opacity:.7}.meteor-orbit--inner{stroke:#487790;stroke-dasharray:32 100;opacity:.4}.meteor-drift{animation:4.8s ease-out both meteor-approach}.meteor-tumble{animation:4.8s ease-in-out both meteor-tumble}.meteor-encounter--revealed .meteor-drift,.meteor-encounter--revealed .meteor-tumble{animation:none}.meteor-tail{fill:var(--orange);opacity:.18}.meteor-tail-core{fill:#ffad65;opacity:.38}.meteor-tail-streak{fill:none;stroke:#ffd09a;stroke-width:1.5px;opacity:.5}.meteor-rock{fill:#926344;stroke:#ffb67c;stroke-width:2px;stroke-linejoin:round}.meteor-rock-face{fill:#c99262}.meteor-rock-shadow{fill:#5c4136}.meteor-crater{fill:#513e37;stroke:#d49b68;stroke-width:1.5px}.meteor-crack{fill:none;stroke:#513e37;stroke-width:2.5px}.meteor-ship-hover{animation:meteor-hover 4.8s ease-in-out var(--hover-delay) both}.meteor-encounter--revealed .meteor-ship-hover{animation:none}.meteor-ship-flight--firing{animation:meteor-recoil .4s ease-out var(--shot-delay) var(--shot-count) both}.meteor-ship{fill:#1b3349;stroke:var(--team-color);stroke-width:1.8px;stroke-linejoin:round}.meteor-ship-wing{fill:#38536a;stroke:var(--team-color);stroke-width:.8px}.meteor-cockpit{fill:#e8faff;stroke:var(--team-color);stroke-width:1px}.meteor-ship-engine{stroke:#effcff;stroke-width:2px}.meteor-thruster,.meteor-thruster-core{transform-origin:0 10px;animation:1.2s ease-in-out 4 meteor-thrust}.meteor-thruster{fill:var(--team-color);opacity:.65}.meteor-thruster-core{fill:#e9fcff;opacity:.9}.meteor-ship-flight--firing .meteor-thruster,.meteor-ship-flight--firing .meteor-thruster-core{animation:meteor-thrust .4s ease-in-out var(--shot-delay) var(--shot-count)}.meteor-ship-label{fill:#edf6ff;font-size:19px;font-weight:600}.meteor-beam{stroke:#effcff;stroke-width:2.2px;stroke-linecap:round;stroke-dasharray:.24 .76;filter:drop-shadow(0 0 3px var(--team-color));opacity:0;animation:meteor-fire .38s linear var(--shot-delay) both}.meteor-hit-spark{fill:#fff0c9;stroke:var(--team-color);stroke-width:2px;opacity:0;animation:meteor-hit-spark .38s ease-out var(--shot-delay) both}.meteor-volley-mark{fill:var(--team-color);opacity:1;animation:meteor-confirm .38s linear var(--shot-delay) both}.meteor-encounter--hit .meteor-body{opacity:0;animation:meteor-break .22s ease-out var(--impact-delay) both}.meteor-aftermath{fill:#ffb06e;opacity:.08;animation:meteor-aftermath .8s ease-out var(--impact-delay) both}.meteor-impact{fill:#ffe7ba;opacity:0;animation:meteor-impact .6s ease-out var(--impact-delay) both}.meteor-shockwave{fill:none;stroke:#ffd7a6;stroke-width:1.8px;opacity:0;animation:meteor-shockwave .85s ease-out var(--impact-delay) both}.meteor-fragment{fill:#926344;stroke:#ffc18a;stroke-width:1.3px;opacity:.85;transform:translate(var(--fragment-x),var(--fragment-y)) rotate(var(--fragment-turn)) scale(.7);animation:meteor-scatter .95s ease-out var(--impact-delay) both}.meteor-spark{fill:none;stroke:#ffe2a8;stroke-width:1.7px;opacity:0;animation:meteor-sparks .7s ease-out var(--impact-delay) both}.meteor-score-pop{fill:var(--team-color);opacity:0;animation:meteor-score 1.1s ease-out var(--impact-delay) both;font-size:22px;font-weight:800}.meteor-verdict{color:#d7eaf3;text-align:center;margin:6px 0 12px;font-size:clamp(16px,1.3vw,23px);font-weight:600;line-height:1.5}.meteor-encounter--hit .meteor-verdict{color:var(--orange)}.meteor-results{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.meteor-results li{border:1px solid var(--line);border-left:3px solid var(--team-color);background:var(--navy);border-radius:4px;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 8px;padding:9px 10px;font-size:clamp(14px,1vw,18px);display:flex}.meteor-results strong{color:var(--team-color);font-variant-numeric:tabular-nums}.meteor-results li>span{color:#c2d8e3;width:100%;font-size:clamp(13px,.9vw,16px);line-height:1.5}.meteor-results strong span{font-weight:400}@keyframes meteor-star-drift{0%{opacity:.5;transform:translate(6px,-3px)}to{opacity:1;transform:translate(0)}}@keyframes meteor-orbit-drift{0%{transform:rotate(-6deg)scale(.97)}to{transform:rotate(0)scale(1)}}@keyframes meteor-approach{0%{transform:translate(17px,-8px)scale(.88)}65%{transform:translate(-3px,2px)scale(1.02)}to{transform:translate(0)scale(1)}}@keyframes meteor-tumble{0%{transform:rotate(-12deg)}65%{transform:rotate(4deg)}to{transform:rotate(0)}}@keyframes meteor-hover{0%,to{transform:translate(0)}25%{transform:translate(1px,-3px)}65%{transform:translate(-1px,2px)}}@keyframes meteor-thrust{0%,to{opacity:.6;transform:scaleY(.8)}45%{opacity:.95;transform:scaleY(1.15)}}@keyframes meteor-recoil{0%,to{transform:translateY(0)}16%{transform:translateY(-3px)}38%{transform:translateY(3px)}70%{transform:translateY(1px)}}@keyframes meteor-fire{0%{opacity:0;stroke-dashoffset:.24px}12%{opacity:1}70%{opacity:1;stroke-dashoffset:-.76px}to{opacity:0;stroke-dashoffset:-1px}}@keyframes meteor-hit-spark{0%,58%{opacity:0}72%{opacity:.85}to{opacity:0}}@keyframes meteor-confirm{0%,80%{opacity:0}to{opacity:1}}@keyframes meteor-break{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.7)}}@keyframes meteor-aftermath{0%{opacity:0;transform:scale(.4)}to{opacity:.08;transform:scale(1)}}@keyframes meteor-impact{0%{opacity:0;transform:scale(.3)}18%{opacity:.85;transform:scale(1.15)}to{opacity:0;transform:scale(1.5)}}@keyframes meteor-shockwave{0%{opacity:0;transform:scale(.5)}15%{opacity:.7}to{opacity:0;transform:scale(3.1,1.45)}}@keyframes meteor-scatter{0%{opacity:0;transform:translate(0)rotate(0)scale(.4)}12%{opacity:1}to{opacity:.85;transform:translate(var(--fragment-x),var(--fragment-y)) rotate(var(--fragment-turn)) scale(.7)}}@keyframes meteor-sparks{0%{opacity:0;transform:translate(0)scale(.4)}18%{opacity:.9}to{opacity:0;transform:translate(var(--fragment-x),var(--fragment-y)) scale(1.7)}}@keyframes meteor-score{0%{opacity:0;transform:translateY(5px)}25%,65%{opacity:1;transform:translateY(-2px)}to{opacity:0;transform:translateY(-10px)}}@media(max-height:800px)and (min-width:901px){.projector-shell--meteor{margin:10px auto}.projector-stage--meteor{padding:16px 20px}.projector-stage--meteor h1{margin:8px 0;font-size:clamp(22px,2vw,32px)}.projector-stage--meteor .reveal-panel{padding:10px 14px;line-height:1.35}.projector-shell--meteor .race-panel{padding:16px}.projector-shell--meteor .race-lanes{gap:10px}.meteor-scene{height:140px}.meteor-verdict{margin:2px 0 6px;line-height:1.25}.meteor-results{gap:4px}.meteor-results li{padding:5px 8px}.meteor-results li>span{line-height:1.2}}@media(max-width:900px){.projector-shell--meteor{grid-template-columns:1fr}.projector-shell--meteor .race-panel{order:0}.meteor-scene{height:190px}}@media(max-width:620px){.projector-shell--meteor{width:calc(100% - 26px)}.projector-stage--meteor{padding:16px}.meteor-results{grid-template-columns:repeat(2,minmax(0,1fr))}.meteor-scene{height:auto;min-height:110px}.meteor-ship-label{font-size:26px}}@media(prefers-reduced-motion:reduce){.meteor-scene *,.meteor-encounter--hit .meteor-body{animation:none!important}.meteor-beam,.meteor-hit-spark,.meteor-impact,.meteor-shockwave,.meteor-spark,.meteor-score-pop{opacity:0}}@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}
