:root{--bg:#060b17;--bg-2:#0e1730;--panel:#0e1730e0;--panel-border:#aac1f061;--text:#f5f8ff;--muted:#d2def6;--brand:#7dd3fc;--brand-2:#818cf8;--good:#34d399;--danger:#fda4af;--viewport-h:100vh;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--space-1:clamp(4px, .4vw, 6px);--space-2:clamp(8px, .8vw, 10px);--space-3:clamp(12px, 1vw, 14px);--space-4:clamp(16px, 1.2vw, 18px);--text-xs:clamp(.72rem, .66rem + .18vw, .8rem);--text-sm:clamp(.82rem, .78rem + .2vw, .92rem);--text-base:clamp(.92rem, .86rem + .3vw, 1rem);--text-lg:clamp(1.02rem, .96rem + .42vw, 1.2rem);--projector-safe-inline:clamp(16px, 2.2vw, 34px);--ease-premium:cubic-bezier(.22, 1, .36, 1);--ease-snappy:cubic-bezier(.2, .8, .2, 1)}*{box-sizing:border-box}html,body{overscroll-behavior:none;width:100%;height:100%;min-height:100%;max-height:100%;margin:0;padding:0;overflow:hidden}html{block-size:var(--viewport-h);inline-size:100%;overflow:hidden}body{block-size:var(--viewport-h);inline-size:100%;position:relative}body>div:first-child{height:100%}body>*{min-height:0}body{color:var(--text);background:radial-gradient(circle at 10% 0%, var(--route-glow-a,#233a73) 0%, transparent 35%), radial-gradient(circle at 100% 10%, var(--route-glow-b,#2a2d6b) 0%, transparent 28%), linear-gradient(160deg, var(--bg) 0%, var(--bg-2) 100%);min-height:var(--viewport-h);background-size:160% 160%,160% 160%,100% 100%;font-family:Inter,ui-sans-serif,system-ui;line-height:1.4;transition:background .38s,color .22s;animation:18s ease-in-out infinite alternate drift-bg;overflow:hidden}body[data-route=home]{--route-glow-a:#0f766e;--route-glow-b:#312e81}body[data-route=join]{--route-glow-a:#1d4ed8;--route-glow-b:#4338ca}body[data-route=lobby]{--route-glow-a:#0f766e;--route-glow-b:#1d4ed8}body[data-route=flight],body[data-route=host]{--route-glow-a:#155e75;--route-glow-b:#4338ca}body[data-route=results]{--route-glow-a:#7c3aed;--route-glow-b:#0369a1}body.projector-mode{--bg:#020617;--bg-2:#020617;--panel:#020617f5;--panel-border:#bfdbfee6;--text:#fff;--muted:#dbeafe;--brand:#93c5fd;--brand-2:#c4b5fd;letter-spacing:.01em}body.projector-mode .panel,body.projector-mode .header-wrap{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;border-width:2px}body.high-contrast-mode{--bg:#020617;--bg-2:#000;--panel:#010712fa;--panel-border:#fffffff2;--text:#fff;--muted:#f8fafc;--brand:#93c5fd;--brand-2:#fef08a}body.high-contrast-mode .panel,body.high-contrast-mode .header-wrap,body.high-contrast-mode .top-nav a,body.high-contrast-mode button,body.high-contrast-mode input,body.high-contrast-mode select,body.high-contrast-mode textarea,body.high-contrast-mode .flow-step,body.high-contrast-mode .route-stop{border-width:2px}body.high-contrast-mode .top-nav a.active,body.high-contrast-mode .top-nav a:hover,body.high-contrast-mode .choice.selected,body.high-contrast-mode .flow-step.active{color:#fff;background:#fef08a33;border-color:#fef08a}body.projector-mode,body.projector-mode *{animation-duration:.01ms!important;animation-iteration-count:1!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-contrast:more){:root{--panel-border:#dbeafef2;--muted:#eaf2ff}.top-nav a,.btn-secondary,button,input,select,textarea{border-width:2px}}body.projector-mode .panel-title,body.projector-mode .muted,body.projector-mode p,body.projector-mode .flow-step span,body.projector-mode .top-nav a,body.projector-mode button,body.projector-mode input,body.projector-mode select{font-size:clamp(.95rem,1.35vw,1.1rem)}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6{text-wrap:balance;margin:0;line-height:1.2}p{margin:0;line-height:1.45}p+p{margin-top:var(--space-1)}small,.muted{line-height:1.4}:where(p,span,li,button,a,label,strong){overflow-wrap:anywhere}.app-shell{isolation:isolate;width:100%;height:min(var(--viewport-h), 100svh);min-height:min(var(--viewport-h), 100svh);max-height:min(var(--viewport-h), 100svh);contain:layout paint;padding:calc(var(--safe-top) + clamp(2px, .7vh, 8px)) 0 calc(var(--safe-bottom) + clamp(2px, .7vh, 8px));animation:.28s shell-in;position:relative;overflow:clip}@supports (height:100dvh){.app-shell{height:min(var(--viewport-h), 100dvh);min-height:min(var(--viewport-h), 100dvh);max-height:min(var(--viewport-h), 100dvh)}}.app-shell:after{content:"";pointer-events:none;z-index:-1;background:linear-gradient(#7dd3fc0f,#0000 18%);border-top:1px solid #7dd3fc3d;position:absolute;inset:0}.simple-shell{width:100%;height:min(var(--viewport-h), 100svh);min-height:min(var(--viewport-h), 100svh);max-height:min(var(--viewport-h), 100svh);padding:calc(var(--safe-top) + clamp(2px, .7vh, 8px)) 0 calc(var(--safe-bottom) + clamp(2px, .7vh, 8px));isolation:isolate;animation:.28s shell-in;position:relative;overflow:auto}@supports (height:100dvh){.simple-shell{height:min(var(--viewport-h), 100dvh);min-height:min(var(--viewport-h), 100dvh);max-height:min(var(--viewport-h), 100dvh)}}.simple-layout{width:min(1020px,94vw);min-height:min(var(--viewport-h), 100svh);align-content:start;align-items:start;gap:10px;margin:0 auto;padding-inline:clamp(6px,1.2vw,16px);display:grid;overflow:visible}.simple-header{background:linear-gradient(135deg,#14264cdb,#071023f0);border-color:#7dd3fc6b;gap:4px;padding:clamp(8px,1.1vh,12px);display:grid;box-shadow:0 18px 34px #03081657}.home-header{text-align:center;background:linear-gradient(135deg,#085458e6,#302e81e6);border-color:#6ee7fa73;justify-items:center;gap:5px;max-width:min(410px,100%);margin:0 auto;padding:12px 14px}.home-header .simple-header-content{justify-items:center;gap:4px;margin-top:0}.home-welcome{text-align:center;max-width:28ch;margin:0 auto;font-size:.83rem}.captain-login-shell{background:linear-gradient(135deg,#5d2511e0,#16223ff5);border-color:#fbbf2475;gap:2px;max-width:min(360px,100%);margin:0 auto;padding:6px 8px}.captain-login-shell .simple-header-content{gap:4px;margin-top:0}.captain-login-form{gap:4px}.captain-login-shell label{gap:2px}.captain-login-label{font-size:.8rem}.captain-login-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;display:grid}.captain-login-row .btn-primary{width:auto;min-width:88px;min-height:38px;padding-inline:14px}.join-shell{background:linear-gradient(135deg,#0a4d7be6,#1d4ed8d1);border-color:#7dd3fc75}.flight-shell{background:linear-gradient(135deg,#084259eb,#2563ebd6);border-color:#67e8f966}.results-shell{background:linear-gradient(135deg,#65370ce6,#065f46e6);border-color:#fbbf2473}.captain-dashboard-shell{background:linear-gradient(135deg,#1e293bf0,#1e40afdb);border-color:#93c5fd75}.home-header .simple-nav{margin-inline:auto;grid-template-columns:1fr;justify-content:center;gap:5px;width:100%;max-width:250px;margin-top:4px;display:grid}.home-header .simple-nav .btn-primary,.home-header .simple-nav .btn-secondary{width:100%;min-width:0;min-height:38px;margin:0 auto}.captain-login-shell p,.home-header p{line-height:1.2}.simple-nav{flex-wrap:wrap;gap:6px;margin-top:0;display:flex}.simple-nav .btn-primary,.simple-nav .btn-secondary{min-width:min(180px,100%)}@media (max-width:520px){.captain-login-row{grid-template-columns:1fr}.captain-login-row .btn-primary{width:100%}}.simple-nav+p{margin-top:0}.simple-header p{margin:0}.simple-header h1{margin:0;font-size:clamp(1.08rem,1.45vw,1.42rem);line-height:1.08}.simple-content{gap:10px;display:grid}.simple-header-content{gap:10px;margin-top:2px;display:grid}.button-help{color:var(--muted);font-size:.82rem;line-height:1.3}.simple-layout>.panel{width:100%}.container{width:min(1280px,94vw);max-width:100%;height:100%;min-height:0;margin:0 auto;padding-inline:clamp(6px,1.2vw,16px);overflow-x:clip}.app-container{flex-direction:column;gap:6px;height:100%;min-height:0;display:flex;overflow:hidden}.header-wrap{border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(120deg,#182b56a6,#091022d9);border-radius:18px;flex-shrink:0;justify-content:space-between;gap:14px;min-width:0;margin-bottom:4px;padding:clamp(8px,1vh,12px) clamp(10px,1.2vw,14px);animation:.28s fade-up;display:flex}.header-wrap>div{min-width:0}.header-wrap h1{margin:2px 0;font-size:clamp(1.25rem,2.1vw,1.75rem);line-height:1.15}.eyebrow{font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;color:#b8ecff;margin:0}.muted{color:var(--muted);line-height:1.45;font-size:var(--text-sm);margin:0}.top-nav{scrollbar-width:thin;flex-wrap:wrap;place-content:flex-start flex-end;align-items:center;gap:10px;width:100%;min-width:0;max-width:100%;max-height:min(28vh,220px);padding-bottom:2px;display:flex;overflow:auto}.top-nav-list{flex-wrap:wrap;flex:auto;justify-content:flex-end;align-items:center;gap:10px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.top-nav-list li{min-width:0}.top-nav-controls{flex-wrap:wrap;flex:320px;justify-content:flex-end;align-items:center;gap:8px;min-width:0;max-width:100%;display:inline-flex}.top-nav a{font-size:var(--text-sm);border:1px solid var(--panel-border);min-height:38px;color:var(--muted);transition:color .2s var(--ease-snappy), border-color .2s var(--ease-snappy), background .2s var(--ease-snappy), transform .2s var(--ease-snappy);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;flex:none;justify-content:center;align-items:center;max-width:100%;padding:6px 10px;display:inline-flex;overflow:hidden}.top-nav a.active,.top-nav a:hover{color:#fff;border-color:var(--brand);background:#7dd3fc2e}.top-nav a.active{text-underline-offset:2px;font-weight:700;text-decoration:underline}.projector-toggle{white-space:nowrap;background:#7dd3fc1f;border-radius:999px;flex:none;width:auto;min-height:34px;padding:6px 10px;font-size:12px}.projector-shortcut{color:#eaf2ff;background:#0b122473;border:1px dashed #aac1f0ad;border-radius:999px;padding:4px 8px;font-size:11px}.presenter-cue{color:#dbeafe;background:#1e40af2e;border:1px dashed #93c5fd99;border-radius:999px;width:fit-content;margin-top:6px;padding:4px 9px;font-size:11px}.phase-rail{flex-wrap:wrap;gap:6px;max-width:100%;margin-top:8px;margin-bottom:0;padding:0;list-style:none;display:flex}.phase-pill{text-transform:uppercase;letter-spacing:.08em;color:#dbeafe;background:#0f172a80;border:1px solid #94a3b873;border-radius:999px;padding:4px 9px;font-size:10px}.phase-pill.active{color:#f0f9ff;background:linear-gradient(90deg,#0ea5e952,#6366f152);border-color:#7dd3fcf2;animation:1.3s ease-in-out infinite alternate beat-pulse;box-shadow:0 0 0 1px #7dd3fc40}.slide-rail{scrollbar-width:thin;flex-wrap:wrap;gap:6px;max-width:100%;max-height:min(18vh,126px);margin-top:8px;margin-bottom:0;padding-left:0;padding-right:2px;list-style:none;display:flex;overflow:auto}.slide-pill{color:#dbeafe;white-space:nowrap;text-overflow:ellipsis;background:#080e1d85;border:1px solid #aac1f073;border-radius:999px;max-width:min(100%,420px);padding:4px 9px;font-size:11px;line-height:1.2;transition:border-color .22s,background .22s,transform .22s;animation:.24s fade-up;overflow:hidden}.slide-pill.cue{background:#0ea5e91f;border-style:dashed;max-width:min(100%,560px)}.slide-pill.talk{background:#5b21b62e;border-color:#c4b5fdb3;max-width:min(100%,680px)}.slide-pill.active{color:#eff6ff;background:linear-gradient(90deg,#2563eb57,#6366f14d);border-color:#7dd3fcbf;transform:translateY(-1px);box-shadow:0 6px 14px #2563eb38}.deck-progress{background:#080e1d99;border:1px solid #7dd3fc59;border-radius:999px;height:6px;margin-top:8px;overflow:hidden}.deck-progress>span{border-radius:inherit;background:linear-gradient(90deg,#10b981eb,#7dd3fcf2);height:100%;transition:width .35s;display:block;box-shadow:0 0 12px #38bdf861}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}body.projector-mode{letter-spacing:.01em}body.projector-mode .container{width:min(1600px,98vw);padding-inline:var(--projector-safe-inline)}body.projector-mode .header-wrap h1{font-size:clamp(1.4rem,2.6vw,2.2rem)}body.projector-mode .panel{border-width:2px}body.projector-mode .panel-title,body.projector-mode .top-nav a,body.projector-mode .projector-toggle,body.projector-mode .projector-shortcut{font-size:15px}body.projector-mode .panel-title{letter-spacing:.12em}body.projector-mode .timer-row .btn-secondary,body.projector-mode .button-row .btn-secondary,body.projector-mode .button-row .btn-primary{font-size:16px;font-weight:800}body.projector-mode .top-nav a,body.projector-mode .projector-toggle{min-height:46px;padding:8px 12px}body.projector-mode .layout-grid{gap:14px}body.projector-mode .top-nav{gap:8px}body.projector-mode .muted{color:#e6efff}@media (max-height:720px){.projector-shortcut{display:none}.top-nav,.slide-rail,.phase-rail{max-height:min(16vh,96px)}.header-wrap{margin-bottom:2px}}@media (max-width:1400px),(max-height:820px){body.projector-mode .projector-shortcut{display:none}body.projector-mode .top-nav a,body.projector-mode .projector-toggle{min-height:42px;font-size:14px}}@media (max-width:1100px){.header-wrap{flex-direction:column;align-items:stretch}.top-nav{justify-content:flex-start;max-height:min(24vh,200px)}.top-nav-list,.top-nav-controls{justify-content:flex-start}}@media (max-width:860px),(max-height:680px){.phase-pill,.slide-pill{padding:4px 8px;font-size:11px}.header-wrap h1{font-size:clamp(1.12rem,1.8vw,1.5rem)}.presenter-cue{font-size:10px}.projector-toggle{min-height:32px;padding:5px 9px}body.projector-mode .top-nav a,body.projector-mode .projector-toggle{min-height:40px;padding:7px 10px;font-size:14px}}@media (min-width:1200px) and (min-height:700px){body.projector-mode .header-wrap{grid-template-columns:minmax(0,1.2fr) minmax(360px,.9fr);align-items:start;gap:12px;display:grid}body.projector-mode .top-nav{place-content:start flex-end;align-self:stretch;width:100%}body.projector-mode .top-nav-list{justify-content:flex-end}body.projector-mode .phase-rail,body.projector-mode .slide-rail{max-height:min(15vh,110px)}}body.projector-mode .presenter-cue{color:#fff;background:#1e293bbf;border-style:solid;border-color:#bfdbfef2;font-size:13px;font-weight:700}body.projector-mode .phase-pill,body.projector-mode .slide-pill{border-width:2px;padding:6px 12px;font-size:13px}body.projector-mode .app-shell{padding:clamp(2px,.6vh,8px) 0}body.projector-mode strong,body.projector-mode .cue-slide,body.projector-mode h2{color:#fff;text-shadow:0 1px #00000073}body.projector-mode.high-contrast-mode .panel,body.projector-mode.high-contrast-mode .header-wrap{background:#020617fa;border-color:#fffffffa}body.projector-mode .route-stop{width:36px;height:36px}body.projector-mode .route-main,body.projector-mode .route-aside{padding-right:6px}body.projector-mode input,body.projector-mode select,body.projector-mode button,body.projector-mode textarea{min-height:54px;font-size:17px}.layout-grid{flex:1;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:12px;min-height:0;display:grid;overflow:hidden}.layout-grid.no-aside{grid-template-columns:minmax(0,1fr)}.layout-grid main,.layout-grid aside{overscroll-behavior:contain;contain:layout paint;scrollbar-gutter:stable both-edges;-webkit-overflow-scrolling:touch;align-content:start;gap:8px;min-height:0;max-height:100%;padding-bottom:2px;padding-right:2px;display:grid;overflow:hidden auto}.route-main,.route-aside{scrollbar-width:thin;scrollbar-color:#5772a8 transparent}.route-main::-webkit-scrollbar{width:8px}.route-aside::-webkit-scrollbar{width:8px}.route-main::-webkit-scrollbar-thumb{background:linear-gradient(#7dd3fcb3,#818cf899);border-radius:999px}.route-aside::-webkit-scrollbar-thumb{background:linear-gradient(#7dd3fcb3,#818cf899);border-radius:999px}.route-main>*,.route-aside>*{animation:.32s fade-up}.passenger-screen{isolation:isolate;contain:layout;gap:10px;width:100%;min-width:0;min-height:0;display:grid;position:relative}.passenger-screen:before{content:"";pointer-events:none;opacity:.8;border:1px solid #7dd3fc24;border-radius:18px;animation:3.8s ease-in-out infinite screen-glow;position:absolute;inset:-2px}.passenger-screen>*{z-index:0;min-width:0;max-width:100%;animation:.26s fade-up;position:relative}.flow-screen>*{will-change:transform, opacity;transform-origin:50% 100%}.flow-screen .panel{position:relative;overflow:hidden}.flow-screen .panel:after{content:"";opacity:.55;pointer-events:none;background:linear-gradient(90deg,#7dd3fc00,#7dd3fc73,#facc1559,#7dd3fc00);width:100%;height:2px;position:absolute;inset:0 auto auto 0}.passenger-screen>:nth-child(2){animation-delay:30ms}.passenger-screen>:nth-child(3){animation-delay:60ms}.passenger-screen>:nth-child(4){animation-delay:90ms}.flow-screen[data-passenger-screen=join] .panel,.flow-screen[data-passenger-screen=lobby] .panel,.flow-screen[data-passenger-screen=flight] .panel,.flow-screen[data-passenger-screen=results] .panel,.flow-screen[data-host-screen=dashboard] .panel{transition:border-color .24s var(--ease-snappy), box-shadow .24s var(--ease-premium), background .24s var(--ease-snappy), transform .24s var(--ease-snappy)}@media (hover:hover) and (pointer:fine){.flow-screen[data-passenger-screen=join] .panel:hover,.flow-screen[data-passenger-screen=lobby] .panel:hover,.flow-screen[data-passenger-screen=flight] .panel:hover,.flow-screen[data-passenger-screen=results] .panel:hover,.flow-screen[data-host-screen=dashboard] .panel:hover{transform:translateY(-1px);box-shadow:0 16px 30px #04081452}}.host-priority-panel{background:linear-gradient(130deg,#78350f38,#0e1730eb);border-color:#fbbf24b8}.passenger-flight-priority{border-color:#7dd3fcb3;box-shadow:0 0 0 1px #7dd3fc33,0 14px 30px #0000003d}.passenger-screen .panel,.passenger-screen .stack,.passenger-screen .choice-grid{overflow-wrap:anywhere}.route-main>:nth-child(2),.route-aside>:nth-child(2){animation-delay:40ms}.route-main>:nth-child(3),.route-aside>:nth-child(3){animation-delay:80ms}.route-main>:nth-child(4),.route-aside>:nth-child(4){animation-delay:.12s}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:15px;min-height:0;padding:clamp(9px,1.1vh,12px);animation:.24s fade-up;transform:translateZ(0);box-shadow:0 14px 26px #00000038}.route-main .panel,.route-aside .panel{transition:border-color .2s,box-shadow .2s;animation:.24s fade-up}@media (hover:hover) and (pointer:fine){.route-main .panel:hover,.route-aside .panel:hover{border-color:#7dd3fc8c;box-shadow:0 16px 30px #04081452}}.panel.panel-scroll{max-height:min(34vh,320px);overflow:auto}.panel-title{color:var(--brand);letter-spacing:.12em;text-transform:uppercase;margin:0 0 6px;font-size:.75rem}.stack{gap:10px;min-height:0;display:grid}.compact-route-progress .button-help{margin:0}.compact-route-progress{background:linear-gradient(135deg,#0c1e3bf2,#112548e6);border-color:#60a5fa75}.compact-route-strip{overscroll-behavior:contain;scrollbar-width:none;flex-wrap:nowrap;gap:7px;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.compact-route-strip::-webkit-scrollbar{display:none}.compact-route-item{color:var(--text);min-height:26px;font-size:var(--text-xs);background:#0f172ab8;border:1px solid #7dd3fc59;border-radius:999px;flex:none;align-items:center;gap:7px;padding:3px 10px;line-height:1;display:inline-flex}.compact-route-item.active{background:#7dd3fc33;border-color:#7dd3fc}.compact-route-item.done{background:#34d39933;border-color:#34d399}.compact-route-item.done .compact-route-badge{color:#34d399}.compact-route-item.upcoming .compact-route-badge{color:var(--muted)}.compact-route-badge{width:16px;height:16px;color:var(--brand);border:1px solid #7dd3fc8c;border-radius:999px;justify-content:center;align-items:center;font-size:10px;display:inline-flex}.compact-route-item.done .compact-route-badge{border-color:#34d399b3}.compact-route-progress .muted{font-size:11px}.checkin-landing,.checkin-form-panel,.checkin-confirmed{gap:10px}.checkin-landing{background:linear-gradient(130deg,#05344af5,#1e40af7a);border-color:#6ee7fa8f}.checkin-form-panel{background:linear-gradient(135deg,#1b264af0,#3730a36b);border-color:#818cf87a}.checkin-confirmed{background:linear-gradient(135deg,#0a3036f0,#065f466b);border-color:#2dd4bf73}.checkin-steps{gap:10px;margin:0;padding:0;list-style:none;display:grid}.checkin-steps li{grid-template-columns:26px minmax(0,1fr);align-items:start;gap:10px;display:grid;position:relative}.checkin-steps li span:first-child{width:26px;height:26px;color:var(--brand-2);background:#0f172a99;border:1px solid #7dd3fca3;border-radius:999px;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.checkin-summary-grid{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}@media (max-width:760px){.checkin-summary-grid{grid-template-columns:1fr}}summary.panel-title{cursor:pointer;justify-content:space-between;align-items:center;margin-bottom:0;list-style:none;display:flex}summary.panel-title::-webkit-details-marker{display:none}details.panel[open]>summary.panel-title{margin-bottom:var(--space-2)}details.panel>summary.panel-title:after{content:"Show";letter-spacing:.08em;color:var(--muted);font-size:11px}details.panel[open]>summary.panel-title:after{content:"Hide"}input,select,button,textarea{width:100%;color:var(--text);min-height:44px;font-size:var(--text-base);background:#121d39;border:1px solid #4d6597;border-radius:12px;padding:10px 12px;line-height:1.35}textarea{resize:vertical;line-height:1.4}label{color:var(--muted);gap:6px;display:grid}button{transition:transform .2s var(--ease-snappy), opacity .18s var(--ease-snappy), box-shadow .2s var(--ease-premium), border-color .2s var(--ease-snappy), background .2s var(--ease-snappy)}@media (hover:hover) and (pointer:fine){button:hover{transform:translateY(-1px);box-shadow:0 10px 18px #04081452}}button:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-primary,.btn-secondary{cursor:pointer;border-width:2px;justify-content:center;align-items:center;min-height:46px;font-weight:800;display:inline-flex}.btn-primary{background:linear-gradient(90deg, var(--brand-2), var(--brand));color:#061125;border:none}.btn-secondary{background:#101b35}.recovery-banner{background:#5718248c;border:1px solid #fda4afb3;border-radius:14px;flex-shrink:0;justify-content:space-between;align-items:center;gap:14px;margin-bottom:10px;padding:10px 12px;display:flex}.recovery-banner p{color:#ffd3db;margin:6px 0 0}.recovery-banner button{width:auto;min-width:180px}.inline-toggle{color:var(--muted);align-items:center;gap:8px;display:flex}.inline-toggle input[type=checkbox]{width:auto}.route-map{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;width:100%;margin:0;padding:0;list-style:none;display:grid}.route-stop-wrap{text-align:center;text-transform:uppercase;color:var(--muted);min-width:0;max-width:100%;font-size:11px}.route-stop-wrap small{opacity:.85;font-size:9px;display:block}.route-stop-wrap>span{white-space:normal;line-height:1.25;display:block}.route-stop{border:1px solid #5c72a2;border-radius:50%;place-items:center;width:30px;height:30px;margin:0 auto 6px;transition:transform .25s,box-shadow .25s,border-color .25s,background .25s,color .25s;display:grid}.route-stop.major{border-width:2px}.route-stop.done{background:linear-gradient(120deg, var(--brand-2), var(--brand));color:#05101f;border:none}.route-region-split{color:#fef08a;letter-spacing:.08em;margin-bottom:6px;font-size:9px;display:inline-block}.route-legend{font-size:11px}.route-stop.pulse{animation:1.5s infinite pulse-stop}@keyframes pulse-stop{0%,to{transform:scale(1);box-shadow:0 0 #7dd3fc80}50%{transform:scale(1.1);box-shadow:0 0 0 10px #7dd3fc00}}@keyframes screen-glow{0%,to{opacity:.65;filter:saturate(95%)}50%{opacity:1;filter:saturate(120%)}}.meter-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.meter-track{background:#131f3d;border:1px solid #2f4067;border-radius:999px;height:12px;overflow:hidden}.meter-fill{background:linear-gradient(90deg, var(--good), var(--brand));height:100%;transition:width .5s}.question-card.reveal-in{background:linear-gradient(145deg,#07182ff5,#0a2345e6);border-color:#67e8f96b;width:100%;max-width:820px;margin-inline:auto;animation:.3s reveal-question}.question-card h3{margin:4px 0 0;font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.3}@keyframes reveal-question{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.choice-grid{gap:10px;margin-top:12px;display:grid}.choice{text-align:left;white-space:normal;word-break:break-word;overflow-wrap:anywhere;box-sizing:border-box;touch-action:manipulation;border-width:2px;width:100%;min-height:56px;padding:12px 14px;font-weight:700;line-height:1.35;transition:border-color .2s,background .2s,box-shadow .2s;display:block}.choice-content{grid-template-columns:28px 1fr;align-items:start;gap:8px;display:grid}.choice-prefix{color:var(--brand);font-weight:800;line-height:1.25}.choice-text{white-space:normal;word-break:break-word;overflow-wrap:anywhere;min-width:0}.choice.selected{border-color:var(--brand);background:#7dd3fc1f;box-shadow:inset 0 0 0 1px #7dd3fc4d}.choice.correct{border-color:var(--good);background:#34d39933}@media (hover:hover) and (pointer:fine){.choice:hover{border-color:#6b88c2}}.leaderboard{gap:8px;margin:0;padding:0;list-style:none;display:grid}.leaderboard li{background:linear-gradient(135deg,#101c3ae0,#192e5c85);border:1px solid #455c8d;border-radius:12px;justify-content:space-between;align-items:center;padding:9px 12px;display:flex}.leaderboard-copy{gap:2px;display:grid}.leaderboard-meta{color:#9cb6d6;font-size:.8rem}.results-individuals-card{background:linear-gradient(#241a4af0,#151234f0);border-color:#94a3ff59}.team-badge{background:#0c1428bf;border:1px solid;border-radius:14px;align-items:center;gap:10px;padding:12px;display:flex}.team-badge .dot{border-radius:999px;width:12px;height:12px}.team-badge p{color:var(--muted);margin:2px 0 0;font-size:13px}.home-center{text-align:center;place-items:center;max-width:700px;height:100%;min-height:0;display:grid;overflow:hidden}.home-center>.panel{width:min(700px,100%);max-height:calc(min(var(--viewport-h), 100svh) - 24px - var(--safe-top) - var(--safe-bottom));animation:.24s fade-up;overflow:auto}.home-landing{text-align:center;align-items:center;gap:14px;max-width:min(420px,100%);margin:0 auto}.home-links{justify-items:center;gap:12px;width:100%;margin-top:4px;display:grid}.home-links>.btn-primary,.home-links>.btn-secondary{border-radius:999px;width:min(360px,100%);min-height:52px}.screen-back-link{top:calc(var(--safe-top) + 10px);z-index:50;border-radius:999px;width:auto;min-width:150px;min-height:36px;padding:7px 12px;position:fixed;left:clamp(10px,2vw,22px);box-shadow:0 10px 20px #0408144d}@media (max-width:640px){.screen-back-link{top:calc(var(--safe-top) + 8px);min-width:132px;min-height:38px;padding:7px 12px;left:10px}}.terminal-center{width:100%;position:relative}.terminal-center:before{content:"";pointer-events:none;filter:blur(14px);z-index:-1;background:radial-gradient(circle,#7dd3fc33,#818cf805 70%);border-radius:999px;height:40%;position:absolute;inset:8% 12% auto}.terminal-card{animation:.3s fade-up}.terminal-card .button-row>*{transition:transform .2s,box-shadow .2s}@media (hover:hover) and (pointer:fine){.terminal-card .button-row>:hover{transform:translateY(-1px);box-shadow:0 10px 20px #04081447}}.admin-hint{opacity:.9;margin-top:10px;font-size:12px}.admin-link{color:var(--brand);text-underline-offset:2px;text-decoration:underline}.button-row{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:stretch;gap:8px;display:grid}.button-row>*{min-width:0}.button-row>button,.button-row>a.btn-primary,.button-row>a.btn-secondary{width:auto;min-height:46px}.timer-row{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));align-items:stretch;gap:8px;display:grid}.timer-row .timer-readout{grid-column:1/-1}.timer-readout{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:.02em}body.projector-mode .timer-readout{letter-spacing:.03em;font-size:clamp(1.35rem,2.8vw,2.3rem);font-weight:800;line-height:1.1}.danger{color:var(--danger)}.sync-chip{color:var(--muted);background:#0c152acc;border:1px solid #4a6292;border-radius:999px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:inline-flex}.sync-chip strong{color:#e5f1ff}.sync-meta{opacity:.95}.sync-pill{color:#e5f1ff;background:#1e3a8a2e;border:1px solid #93c5fd59;border-radius:999px;padding:2px 8px}.sync-dot{background:#93a4c6;border-radius:999px;width:8px;height:8px;box-shadow:0 0 #93a4c6a6}.sync-chip.connected .sync-dot{background:var(--good);animation:1.4s infinite pulse-stop;box-shadow:0 0 #34d399bf}.sync-chip.degraded .sync-dot,.sync-chip.connecting .sync-dot{background:#fbbf24}.sync-chip.offline .sync-dot{background:var(--danger)}.sync-chip.connected{border-color:#34d399b3}.sync-chip.degraded,.sync-chip.connecting{border-color:#fbbf24b3}.sync-chip.offline{border-color:#fda4afe6}.sync-chip.stale{box-shadow:inset 0 0 0 1px #fbbf24b3}.flow-list{gap:8px;display:grid}.flow-step{color:var(--muted);transition:border-color .2s var(--ease-snappy), transform .2s var(--ease-premium), background .2s var(--ease-snappy), box-shadow .24s var(--ease-premium);background:#0e17307a;border:1px solid #445c90;border-radius:12px;gap:4px;padding:10px 12px;display:grid}.flow-step:hover{transform:translateY(-1px);box-shadow:0 10px 18px #04081438}.flow-step.active{border-color:var(--brand);color:#e9f8ff;background:#3f8aa82e;position:relative;overflow:hidden}.flow-step.active:before{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 30%,#7dd3fc38 50%,#0000 70%);animation:3.2s ease-in-out infinite bridge-sheen;position:absolute;inset:0;transform:translate(-120%)}.flow-step.done{opacity:.9;background:#34d3991f;border-color:#529778}.flow-step span{font-size:13px}.presentation-cue .cue-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.run-of-show-card .flow-list{max-height:min(26dvh,220px);padding-right:2px;overflow:auto}.cue-chip{color:var(--muted);border:1px solid #4f638f;border-radius:999px;padding:4px 10px;font-size:12px}.cue-slide{margin:0;font-size:1.05rem;font-weight:700}.cue-line{color:#d9e8ff;margin:0}.queue-list{overscroll-behavior:contain;gap:8px;max-height:min(24dvh,210px);display:grid;overflow:auto}.queue-item{text-align:left;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.queue-item>span{gap:4px;display:grid}.queue-item small{color:var(--muted);line-height:1.25}.queue-beat{letter-spacing:.05em;text-transform:uppercase;color:#d9f4ff;background:#0ea5e91f;border:1px dashed #7dd3fc9e;border-radius:999px;width:fit-content;margin-top:2px;padding:2px 8px;font-size:10px;display:inline-flex}@keyframes queue-active-pulse{0%{box-shadow:0 0 #7dd3fc47}70%{box-shadow:0 0 0 10px #7dd3fc00}to{box-shadow:0 0 #7dd3fc00}}.queue-item.current{border-color:var(--brand);background:#7dd3fc33;animation:1.6s ease-in-out infinite queue-active-pulse}@media (prefers-reduced-motion:reduce){.queue-item.current{animation:none}}.podium{background:linear-gradient(130deg,#818cf847,#7dd3fc3d);border-color:#fbbf247a;position:relative;overflow:hidden}.podium:after{content:"";pointer-events:none;background:radial-gradient(circle at 30% 40%,#ffffff42,#0000 55%);width:130%;height:70%;position:absolute;inset:-30% auto auto -10%}.leg-status{background:linear-gradient(125deg,#4338ca42,#0e1730e0)}.flight-status-card{background:linear-gradient(135deg,#072740f0,#0c4a6e85);border-color:#38bdf87a}.flight-connection-card{background:linear-gradient(135deg,#142044eb,#312e8170);border-color:#818cf86b}.results-tools-card{background:linear-gradient(135deg,#462a0be6,#103f34b8);border-color:#fbbf246b}.results-summary-card{background:linear-gradient(135deg,#08362feb,#092445ad);border-color:#2dd4bf66}.results-leaderboard{background:linear-gradient(135deg,#0f1d3af0,#1f3761a8);border-color:#7dd3fc70}.results-leaderboard .leaderboard li:first-child{background:linear-gradient(135deg,#78350f80,#1b264ad1);border-color:#fbbf248f}.results-leaderboard .leaderboard li:nth-child(2){background:linear-gradient(135deg,#3341559e,#1e293bd6);border-color:#94a3b88f}.results-leaderboard .leaderboard li:nth-child(3){background:linear-gradient(135deg,#7c2d128a,#1e293bd1);border-color:#fb923c85}.captain-live-card{background:linear-gradient(135deg,#0b344df0,#0f2043bd);border-color:#67e8f966}.captain-stage-card{background:linear-gradient(135deg,#10244cf0,#1d4ed857);border-color:#7dd3fc75}.captain-question-card{background:linear-gradient(135deg,#1e1b4bf0,#24417d75);border-color:#818cf870}.captain-question-sequence{max-height:min(38dvh,320px);padding-right:2px;overflow:auto}.captain-question-step{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;appearance:none;gap:0;padding:12px 14px;display:block}.captain-question-step.selected{box-shadow:inset 0 0 0 1px #bfdbfeb8}.captain-question-step-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.captain-question-step strong{color:#eef6ff;font-size:.95rem;line-height:1.3;display:block}.captain-question-badge{color:#dbeafe;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:#0f172a61;border:1px solid #94a3b86b;border-radius:999px;justify-content:center;align-items:center;padding:3px 10px;font-size:11px;display:inline-flex}.captain-question-badge.done{color:#d1fae5;background:#34d39924;border-color:#34d3998f}.captain-question-badge.active{color:#e0f2fe;background:#0ea5e92e;border-color:#7dd3fca6}.captain-score-card{background:linear-gradient(135deg,#074035e6,#112548c7);border-color:#2dd4bf6b}.captain-sync-card{background:linear-gradient(135deg,#5b3210e6,#13254acc);border-color:#fbbf2475}.captain-status-banner{background:linear-gradient(135deg,#0c2449eb,#084b6ead);border-color:#67e8f96b}.precheck-card{background:linear-gradient(135deg,#092d4ff0,#1e40af66);border-color:#60a5fa70}.beat-track{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.beat{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border:1px solid #496293;border-radius:999px;padding:5px 10px;font-size:11px}.beat.active{color:#e9f8ff;background:#7dd3fc33;border-color:#7dd3fcf2}.beat.done{color:#dcfff2;background:#34d3992e;border-color:#34d399bf}.stage-flow-card{background:linear-gradient(135deg,#26567a42,#0e1730e0);border-color:#7dd3fc85;gap:12px;display:grid}.transition-banner{background:linear-gradient(125deg,#10b98133,#3b82f633) 0 0/200% 200%;border-color:#7dd3fcb8;animation:.34s slide-in,1.6s transition-sheen}.transition-label{margin:0;font-size:clamp(1rem,1.6vw,1.2rem);font-weight:800}.transition-meta{opacity:.95;font-size:12px}.transition-hint{opacity:.95;border-top:1px dashed #bfdbfe61;padding-top:6px;font-size:12px}.transition-banner .cue-chip{color:#f0f9ff;background:#082f4959;border-color:#bae6fda6}.transition-chip-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.transition-freshness{border-style:dashed;animation:1.1s ease-in-out infinite alternate beat-pulse}.transition-slide{color:#e0f2fe;background:#0284c72e;border-color:#7dd3fcb8;box-shadow:inset 0 0 0 1px #7dd3fc3d}.transition-banner{position:relative;overflow:hidden}.transition-banner.transition-leg{border-color:#38bdf8d1}.transition-banner.transition-answer{border-color:#2dd4bfd1}.transition-banner.transition-stage,.transition-banner.transition-info{border-color:#a78bfac7}.transition-banner:after{content:"";background:linear-gradient(90deg,#34d39940,#7dd3fcf2,#818cf859);height:3px;animation:2.4s linear transition-progress;position:absolute;inset:auto -20% -2px}.stage-flow-track{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.stage-flow-track .dot{background:#c5d3f142;border:1px solid #c5d3f157;border-radius:999px;height:8px}.stage-flow-track .dot.done{background:linear-gradient(90deg,#34d399cc,#7dd3fccc);border-color:#7dd3fce6}.stage-flow-track .dot.active{background:linear-gradient(90deg,#818cf8f2,#7dd3fcf2);border-color:#7dd3fcf2;animation:1.2s infinite pulse-stop;box-shadow:0 0 #7dd3fc8c}.stage-flow-next{gap:8px;display:grid}.stage-flow-next .btn-secondary{width:fit-content;min-width:200px}.run-of-show-card{background:linear-gradient(125deg,#4338ca33,#0e1730e0);border-color:#818cf88c}.beat-tracker-card{background:linear-gradient(125deg,#14532d52,#0e1730e0);border-color:#34d39980}.good{color:var(--good)}.lobby-roster{gap:8px;display:grid}.roster-item{background:linear-gradient(135deg,#0b1f3be0,#16366770);border:1px solid #60a5fa57;border-radius:10px;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,.8fr);align-items:center;gap:8px;padding:7px 10px;display:grid}.slide-flow-card{background:linear-gradient(135deg,#7b5c1b33,#0e1730e0);border-color:#fbbf248c}.bridge-card{background:linear-gradient(130deg,#5b21b638,#0e1730e6);border-color:#c084fc80}.script-beats-card{background:linear-gradient(130deg,#713f1233,#0e1730e6);border-color:#facc158c}.script-beat.active{box-shadow:inset 0 0 0 1px #facc1573,0 10px 18px #04081438}.script-beat-strip{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:6px;max-height:min(20dvh,150px);padding-right:2px;display:grid;overflow:auto}.script-beat-pill{background:#0f172a6b;border:1px solid #93c5fd61;border-radius:10px;gap:2px;min-width:0;padding:7px 8px;display:grid}.script-beat-pill strong{color:#dbeafe;font-size:11px;line-height:1.2}.script-beat-pill small{color:var(--muted);font-size:10px}.script-beat-pill.active{background:#facc152e;border-color:#facc15eb;animation:1.2s ease-in-out infinite alternate beat-pulse;box-shadow:inset 0 0 0 1px #facc1547}.script-beat-pill.done{background:#34d39924;border-color:#34d399bf}.bridge-step{position:relative;overflow:hidden}.bridge-step:after{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 35%,#c4b5fd29 52%,#0000 70%);animation:3.8s ease-in-out infinite bridge-sheen;position:absolute;inset:0;transform:translate(-120%)}.bridge-region{color:#f3e8ff;text-transform:uppercase;letter-spacing:.06em;border:1px dashed #d8b4fe99;border-radius:999px;width:fit-content;padding:2px 8px;font-size:10px}.route-legs-card{background:linear-gradient(130deg,#1e40af38,#0e1730e0);border-color:#60a5fa8c}.route-leg-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:min(24dvh,210px);padding-right:2px;display:grid;overflow:auto}.route-leg-item{background:#0e17306b;border:1px solid #93c5fd59;border-radius:10px;padding:8px 10px;transition:border-color .2s,transform .2s,background .2s;animation:.3s fade-up}.route-leg-item.active{background:#7dd3fc24;border-color:#7dd3fcf2;animation:1.3s ease-in-out infinite alternate leg-glow;transform:translateY(-1px);box-shadow:inset 0 0 0 1px #7dd3fc3d}.route-leg-item.done{background:#34d3991f;border-color:#34d3998c}.route-leg-kicker{text-transform:uppercase;letter-spacing:.1em;color:#bfdbfe;margin:0 0 2px;font-size:10px}.route-leg-title{margin:0}.route-leg-beat{letter-spacing:.06em;text-transform:uppercase;color:#c8dafc;background:#1e293b52;border:1px solid #93c5fd73;border-radius:999px;width:fit-content;margin:2px 0 0;padding:3px 8px;font-size:11px}.route-leg-beat.active{color:#ecfeff;background:#0ea5e933;border-color:#7dd3fcf2;animation:1.2s ease-in-out infinite alternate beat-pulse}.route-leg-beat.done{color:#d1fae5;background:#10b98124;border-color:#34d399b3}.timing-card{background:linear-gradient(135deg,#0f766e33,#0e1730e0);border-color:#2dd4bf80}.timing-breakdown{gap:6px;display:grid}.timing-breakdown-item{background:#0f766e1f;border:1px solid #2dd4bf61;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:7px 10px;font-size:12px;transition:border-color .2s,background .2s,transform .2s;display:flex}.timing-breakdown-item.active{background:#2dd4bf33;border-color:#2dd4bff2;transform:translateY(-1px)}.flight-plan-card{background:linear-gradient(135deg,#8318432e,#0e1730e0);border-color:#f472b673}.gate-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.gate-chip{background:#1e0a1d59;border:1px solid #fbcfe859;border-radius:10px;gap:2px;padding:8px 10px;transition:transform .2s,border-color .2s,background .2s;display:grid}.gate-chip:hover{background:#42163570;border-color:#fbcfe8b8;transform:translateY(-1px)}.gate-chip strong{color:#fbcfe8;letter-spacing:.08em;font-size:12px}.gate-chip span{color:var(--muted);font-size:12px}.intro-card{background:linear-gradient(130deg,#1e3a8a3d,#0e1730e0);border-color:#3b82f68c}.orchestrator-card{background:linear-gradient(135deg,#064e3b42,#0e1730e6);border-color:#10b9818c}.flow-navigator-card{background:linear-gradient(135deg,#92400e2e,#0e1730e6);border-color:#fbbf2480}.flow-brief-card{background:linear-gradient(135deg,#1e3a8a3d,#0e1730e6);border-color:#60a5fa94}.flow-brief-rail{flex-wrap:wrap;gap:6px;display:flex}.flow-brief-chip{text-transform:uppercase;letter-spacing:.08em;color:#dbeafe;background:#0f172a6b;border:1px solid #93c5fd73;border-radius:999px;padding:3px 8px;font-size:10px}.flow-brief-chip.active{color:#ecfeff;background:#0ea5e933;border-color:#7dd3fcf2;animation:1.2s ease-in-out infinite alternate beat-pulse}.pulse-rail-card{background:linear-gradient(135deg,#1e40af38,#0e1730e6);border-color:#7dd3fc9e}.pulse-rail{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.pulse-step{background:#0e173073;border:1px solid #93c5fd66;border-radius:10px;grid-template-columns:24px 1fr;gap:8px;padding:7px 9px;transition:transform .2s,border-color .2s,background .2s;display:grid;position:relative}.pulse-step:after{content:"";background:#94a3b88c;border-radius:999px;width:8px;height:2px;position:absolute;top:50%;right:-6px}.pulse-step:last-child:after{display:none}.pulse-step.active{background:#0ea5e933;border-color:#7dd3fcf2;animation:1.2s ease-in-out infinite alternate leg-glow}.pulse-step.done{background:#34d3991f;border-color:#34d399bf}.pulse-step-index{width:22px;height:22px;color:var(--muted);border:1px solid #5d77ac;border-radius:999px;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.flow-navigator-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.flow-navigator-step{background:#0e173073;border:1px solid #496191;border-radius:10px;grid-template-columns:26px 1fr auto;align-items:start;gap:10px;padding:8px 10px;transition:transform .22s,border-color .24s,background .24s,box-shadow .24s;animation:.26s fade-up;display:grid}.flow-navigator-step:hover{border-color:#93c5fdb8;transform:translateY(-1px)}.flow-navigator-step.active{background:#fbbf2424;border-color:#fbbf24f2;box-shadow:inset 0 0 0 1px #fbbf244d,0 0 0 1px #fbbf2442}.flow-navigator-step.done{background:#34d3991f;border-color:#34d399bf}.flow-navigator-grid .flow-navigator-step:nth-child(2){animation-delay:30ms}.flow-navigator-grid .flow-navigator-step:nth-child(3){animation-delay:60ms}.flow-navigator-grid .flow-navigator-step:nth-child(4){animation-delay:90ms}.flow-navigator-index{width:24px;height:24px;color:var(--muted);border:1px solid #5d77ac;border-radius:999px;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.flow-navigator-cue{border-radius:999px;width:auto;min-height:32px;padding:5px 9px;font-size:11px;transition:transform .18s,box-shadow .18s}.flow-navigator-cue:hover{transform:translateY(-1px);box-shadow:0 6px 16px #38bdf833}.orchestrator-summary{background:#10b98114;border:1px dashed #6ee7b773;border-radius:10px;padding:6px 10px;font-size:12px}.orchestrator-progress{background:#064e3b59;border:1px solid #6ee7b76b;border-radius:999px;height:7px;overflow:hidden}.orchestrator-progress>span{border-radius:inherit;height:100%;transition:width .3s var(--ease-snappy);background:linear-gradient(90deg,#10b981e6,#7dd3fceb);display:block;box-shadow:0 0 10px #7dd3fc47}.orchestrator-next{background:#1e40af1f;border:1px solid #7dd3fc59;border-radius:10px;padding:6px 10px;font-size:12px}.orchestrator-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.orchestrator-compact .orchestrator-summary{margin-bottom:2px}.orchestrator-compact .orchestrator-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.orchestrator-compact .orchestrator-step{grid-template-columns:22px 1fr;padding:7px 8px}.orchestrator-compact .orchestrator-meta{font-size:10px}.orchestrator-grid .orchestrator-step{animation:.28s fade-up}.orchestrator-grid .orchestrator-step:nth-child(2){animation-delay:30ms}.orchestrator-grid .orchestrator-step:nth-child(3){animation-delay:60ms}.orchestrator-grid .orchestrator-step:nth-child(4){animation-delay:90ms}.orchestrator-step{background:#0e173073;border:1px solid #496191;border-radius:10px;grid-template-columns:26px 1fr;align-items:start;gap:10px;padding:8px 10px;display:grid;position:relative}.orchestrator-step:after{content:"";background:#94a3b873;border-radius:999px;width:42px;height:2px;position:absolute;bottom:8px;right:10px}.orchestrator-step.active{background:#10b98129;border-color:#10b981f2;animation:1.2s ease-in-out infinite alternate leg-glow;box-shadow:inset 0 0 0 1px #10b9814d}.orchestrator-step.active:after{background:linear-gradient(90deg,#10b9814d,#10b981f2)}.orchestrator-step.done{background:#7dd3fc21;border-color:#7dd3fccc}.orchestrator-step.done:after{background:linear-gradient(90deg,#7dd3fc4d,#7dd3fce6)}.orchestrator-index{width:24px;height:24px;color:var(--muted);border:1px solid #5d77ac;border-radius:999px;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.orchestrator-meta{opacity:.95;font-size:11px}.beat-list{max-height:min(22dvh,190px);padding-right:2px;overflow:auto}.talk-track-list{gap:4px;margin:0;padding-left:18px;display:grid}.slide-flow-track{gap:6px;max-height:min(24dvh,200px);padding-right:2px;display:grid;overflow:auto}.slide-flow-step{border:1px solid #465f91;border-radius:10px;grid-template-columns:26px 1fr;align-items:start;gap:10px;padding:8px 10px;display:grid}.slide-flow-index{width:24px;height:24px;color:var(--muted);border:1px solid #5a74a9;border-radius:999px;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.slide-flow-title{margin:0;font-size:13px}.slide-flow-step.is-complete{background:#34d3991f;border-color:#34d3998c}.slide-flow-step.is-current{background:#7dd3fc29;border-color:#7dd3fce6}.slide-flow-step.is-current .slide-flow-index{color:#e8f7ff;background:#7dd3fc42;border-color:#7dd3fcf2}.flow-list.compact .flow-step{padding:8px 10px}.flow-list.compact .flow-step span{font-size:12px}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes shell-in{0%{opacity:.01}to{opacity:1}}@keyframes slide-in{0%{opacity:0;transform:translateY(-8px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes transition-sheen{0%{background-position:0%}to{background-position:100%}}@keyframes transition-progress{0%{opacity:.65;transform:translate(-42%)}to{opacity:.95;transform:translate(42%)}}@keyframes leg-glow{0%{box-shadow:inset 0 0 0 1px #7dd3fc33,0 0 #0000}to{box-shadow:inset 0 0 0 1px #7dd3fc57,0 8px 18px #0ea5e924}}@keyframes beat-pulse{0%{transform:translateY(0);box-shadow:0 0 #0ea5e900}to{transform:translateY(-1px);box-shadow:0 4px 10px #0ea5e933}}@keyframes drift-bg{0%{background-position:0 0,100% 0,50%}to{background-position:10% 8%,92% 6%,50%}}@keyframes bridge-sheen{0%,24%{opacity:0;transform:translate(-120%)}42%,68%{opacity:1;transform:translate(120%)}to{opacity:0;transform:translate(120%)}}@media (prefers-contrast:more){:root{--panel-border:#dbeafef2;--muted:#e2e8f0}.panel,.header-wrap,.flow-step,.route-stop,input,select,button,textarea{border-width:2px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (forced-colors:active){.panel,.header-wrap,button,input,select,textarea,.flow-step,.route-stop{border:1px solid canvastext}}@media (max-width:1400px) and (max-height:900px){.header-wrap{flex-direction:column;align-items:stretch}.top-nav,.top-nav-list,.top-nav-controls{justify-content:flex-start}}@media (max-width:1280px){.projector-shortcut{display:none}}@media (max-width:1100px){.layout-grid{grid-template-columns:minmax(0,1fr)}.header-wrap{flex-direction:column}.top-nav{justify-content:space-between}.top-nav-list,.top-nav-controls{justify-content:flex-start}.roster-item{grid-template-columns:minmax(0,1fr) minmax(0,1fr);row-gap:4px}}@media (max-height:900px){.app-shell{padding:6px 0}.header-wrap{margin-bottom:6px;padding:10px 12px}.layout-grid{gap:8px}.panel{padding:12px}.top-nav a,.projector-toggle{padding:6px 10px}}@media (max-height:720px){.header-wrap{overscroll-behavior:contain;max-height:36vh;overflow:auto}.header-wrap h1{font-size:clamp(1.1rem,1.6vw,1.4rem)}.app-container{gap:4px}.panel{padding:10px}.top-nav{gap:6px}body.projector-mode .presenter-cue{padding:4px 8px;font-size:11px;line-height:1.2}body.projector-mode .projector-shortcut{display:none}}@media (max-height:820px) and (min-width:700px){body.projector-mode .header-wrap{gap:8px;padding:6px 10px}body.projector-mode .header-wrap h1{font-size:clamp(1.05rem,1.4vw,1.35rem)}body.projector-mode .presenter-cue,body.projector-mode .phase-rail{display:none}body.projector-mode .top-nav a,body.projector-mode .projector-toggle{min-height:40px;padding:6px 10px}}@media (max-height:768px) and (min-width:1000px){body.projector-mode .container{width:min(1460px,98vw);padding-inline:clamp(10px,1.8vw,24px)}body.projector-mode .layout-grid{gap:10px}body.projector-mode .top-nav{gap:6px}body.projector-mode input,body.projector-mode select,body.projector-mode button,body.projector-mode textarea{min-height:44px;font-size:14px}}@media (max-height:640px){.header-wrap{border-radius:14px;padding:8px 10px}.app-shell{padding:4px 0}.top-nav{scrollbar-width:auto;flex-wrap:wrap;justify-content:flex-start;gap:5px;padding-bottom:0;overflow:visible}.top-nav-list{flex-wrap:wrap;justify-content:flex-start;gap:5px}.top-nav-controls{flex-wrap:wrap;gap:5px}.top-nav a,.projector-toggle,.projector-shortcut{white-space:normal;text-align:center;line-height:1.15}.eyebrow{font-size:10px}.header-wrap h1{font-size:clamp(1rem,1.4vw,1.2rem)}.header-wrap .muted{display:none}.presenter-cue{margin-top:4px;padding:3px 8px;font-size:10px}.muted,.flow-step span,.queue-item small{font-size:12px;line-height:1.2}.panel{border-radius:12px;padding:8px 10px}.panel-title{margin-bottom:6px}input,select,button,textarea{min-height:42px;padding:8px 10px;font-size:14px}}@media (max-width:1366px) and (max-height:900px){.route-map{grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:6px}}@media (max-width:1366px) and (max-height:768px){.container{width:min(98vw,1260px)}.header-wrap{padding:8px 10px}.layout-grid{grid-template-columns:minmax(0,1fr) minmax(240px,310px);gap:8px}.panel{padding:9px 10px}.panel.panel-scroll,.run-of-show-card .flow-list,.queue-list,.beat-list,.slide-flow-track{max-height:min(22dvh,170px)}}@media (max-width:1024px) and (max-height:768px){.top-nav a,.projector-toggle{min-height:38px;padding:6px 9px;font-size:12px}.header-wrap h1{font-size:clamp(1.05rem,1.7vw,1.35rem)}.panel-title{margin-bottom:6px}}@media (max-width:1024px) and (max-height:600px){.panel,.header-wrap{border-radius:10px}.panel{padding:7px 8px}.panel.panel-scroll,.run-of-show-card .flow-list,.queue-list,.beat-list,.slide-flow-track,.route-leg-grid{max-height:min(20dvh,120px)}.top-nav a,.projector-toggle,.projector-shortcut{min-height:34px;padding:5px 8px;font-size:11px}body.projector-mode input,body.projector-mode select,body.projector-mode button,body.projector-mode textarea{min-height:40px;font-size:14px}}@media (min-width:900px) and (max-width:1280px) and (max-height:800px){body.projector-mode .container{width:min(99vw,1220px)}body.projector-mode .layout-grid{grid-template-columns:minmax(0,1fr) minmax(220px,280px);gap:8px}}@media (min-width:960px) and (max-height:620px){body.projector-mode .app-shell{padding:2px 0}body.projector-mode .header-wrap{margin-bottom:4px;padding:6px 8px}body.projector-mode .layout-grid{gap:6px}body.projector-mode .top-nav a,body.projector-mode .projector-toggle{min-height:38px;padding:5px 9px;font-size:13px}body.projector-mode .panel{padding:8px 9px}}@media (max-width:700px){.roster-item{grid-template-columns:1fr 1fr}.gate-grid,.route-leg-grid,.orchestrator-grid,.flow-navigator-grid,.pulse-rail{grid-template-columns:1fr}.pulse-step:after{display:none}.flow-navigator-step{grid-template-columns:24px 1fr}.flow-navigator-cue{grid-column:2;justify-self:start}.app-shell{padding:8px 0}.container{width:min(100%,96vw)}.timer-row{grid-template-columns:1fr}.button-row{flex-direction:column}.header-wrap h1{font-size:1.3rem}.panel{padding:12px}.top-nav,.top-nav-list{justify-content:flex-start}.top-nav a{padding:6px 10px;font-size:12px}.projector-shortcut{display:none}.recovery-banner{flex-direction:column;align-items:stretch}.recovery-banner button{width:100%;min-width:0}}.host-screen{isolation:isolate;contain:layout;gap:10px;width:100%;min-width:0;min-height:0;display:grid;position:relative}.host-screen:before{content:"";pointer-events:none;opacity:.82;border:1px solid #facc152e;border-radius:18px;animation:3.2s ease-in-out infinite screen-glow;position:absolute;inset:-2px}.host-screen>*{min-width:0;max-width:100%;animation:.28s fade-up}.host-screen>:nth-child(2){animation-delay:30ms}.host-screen>:nth-child(3){animation-delay:60ms}.host-screen>:nth-child(4){animation-delay:90ms}.host-screen .panel{animation:.28s fade-up}.host-screen .flow-navigator-cue{background:#713f1247;border-color:#facc15b8}.host-screen .flow-navigator-cue:hover{box-shadow:0 8px 18px #facc1542}
