:root{font-family:Inter,"Helvetica Neue",Arial,sans-serif;color:#e7e9e8;background:#080a0e;font-synthesis:none;color-scheme:dark;--bg:#080a0e;--panel:#12161c;--line:#242b33;--muted:#89929b;--light:#e7e9e8;--red:#e0443e;--green:#78ba8a;--mint:#badbc4}*{box-sizing:border-box}html,body{margin:0;min-height:100%;width:100%}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible{outline:2px solid var(--mint);outline-offset:4px}body{background:radial-gradient(ellipse 70% 42% at 50% 18%,#171e26 0%,#0a0d12 60%,#080a0e 100%);min-height:100vh}.noise{pointer-events:none;position:fixed;inset:0;opacity:.11;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.19'/%3E%3C/svg%3E");z-index:1}.app{position:relative;min-height:100dvh;max-width:760px;margin:0 auto;padding:0 22px;display:flex;flex-direction:column;z-index:2}.topbar{height:88px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #252b31}.wordmark{display:flex;align-items:center;font-size:15px;font-weight:900;letter-spacing:.13em;color:#e9edeb}.mark{display:flex;align-items:center;gap:3px;height:18px;margin-right:11px}.mark i{width:2px;height:7px;background:var(--mint);border-radius:5px}.mark i:nth-child(2),.mark i:nth-child(4){height:14px}.mark i:nth-child(3){height:19px}.mark-dot{color:#85bc94}.top-right{font-size:9px;letter-spacing:.13em;font-weight:750;color:#a0a9af;display:flex;align-items:center;gap:8px;white-space:nowrap}.online-dot,.tiny-dot{height:5px;width:5px;background:#87c9a0;border-radius:100%;display:inline-block}.top-right .online-dot{box-shadow:0 0 10px #6ba67c}.view[hidden],*[hidden]{display:none!important}main{width:100%;flex:1;display:flex;flex-direction:column}.view{flex:1;display:flex;flex-direction:column;min-height:0}#home{padding:51px 0 34px}.eyebrow{font-size:10px;letter-spacing:.22em;font-weight:800;color:var(--mint);display:flex;align-items:center;gap:9px}.dash{width:17px;height:1px;background:var(--mint);display:inline-block}.intro h1{font-family:"Arial Narrow",Impact,"Helvetica Neue",Arial,sans-serif;font-stretch:condensed;font-size:clamp(34px,8.25vw,64px);line-height:1.03;font-weight:900;letter-spacing:-.045em;margin:23px 0 15px}.intro h1 em{font-style:normal;color:#a8c4b0}.intro p{font-size:15px;line-height:1.6;color:#a2acb3;margin:0;max-width:465px}.showcase{margin-top:42px;padding:20px 23px 24px;border:1px solid #354047;border-radius:4px;background:linear-gradient(152deg,rgba(40,50,60,.35),rgba(12,15,20,.9) 63%);box-shadow:0 18px 70px #0005}.showcase-top,.showcase-meta,.results-head,.metrics-heading{display:flex;justify-content:space-between;align-items:center}.showcase-top{color:#a7b0b6;letter-spacing:.2em;font-size:9px;font-weight:800}.serial{color:#697781}.profile-art{height:204px;display:flex;justify-content:center;align-items:center;position:relative;overflow:hidden}.art-outer,.art-middle,.art-center{display:grid;place-items:center;border-radius:50%;border:1px solid rgba(167,200,184,.13)}.art-outer{width:191px;height:191px;box-shadow:0 0 0 28px #a7c8b006,0 0 0 60px #a7c8b004}.art-middle{width:151px;height:151px;background:radial-gradient(circle at 30% 25%,#354047,#131a22 66%,#0c1016 100%)}.art-center{width:111px;height:111px;background:radial-gradient(circle at 40% 30%,#333e47,#1b252d 62%,#101920);box-shadow:inset 0 0 25px #0004}.art-center span,.big-avatar span{font-weight:250;font-size:68px;color:#7d9097;line-height:1}.art-bars{position:absolute;bottom:9px;display:flex;gap:4px;align-items:center;height:18px}.art-bars b{display:block;width:2px;background:#6d8c7d;height:7px;border-radius:3px}.art-bars b:nth-child(2),.art-bars b:nth-child(8){height:14px}.art-bars b:nth-child(3),.art-bars b:nth-child(7){height:11px}.art-bars b:nth-child(4),.art-bars b:nth-child(6){height:16px}.art-bars b:nth-child(5){height:20px}.showcase-meta{font-size:10px;font-weight:850;letter-spacing:.16em}.genre{color:#a4c7b0}.length{color:#737e85}.showcase h2{font-size:clamp(28px,6vw,42px);line-height:1.08;letter-spacing:-.05em;font-weight:900;margin:17px 0 10px}.period{color:#78b68c}.showcase p{font-size:13px;line-height:1.55;color:#9da7ae;margin:0 0 23px;max-width:420px}.primary{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;padding:19px 20px;background:var(--mint);border:1px solid var(--mint);color:#111b14;font-weight:900;font-size:12px;letter-spacing:.11em;border-radius:2px;transition:background .15s,transform .15s}.primary:hover{background:#d6ecda}.primary:active,.secondary:active{transform:scale(.99)}.button-arrow{font-size:19px;font-weight:500}.secondary{border:1px solid #39434b;color:#d6e0dc;background:transparent;width:100%;display:flex;align-items:center;justify-content:space-between;padding:17px 18px;font-size:10px;font-weight:820;letter-spacing:.1em;margin-top:11px;border-radius:2px;transition:background .15s}.secondary:hover{background:#172027}.die{font-size:21px;color:#b3d2bc;margin-right:14px}.rules{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:29px;font-size:8px;font-weight:800;letter-spacing:.12em;color:#8c959b}.rules span{display:flex;gap:8px;align-items:center}.rules .tiny-dot{height:4px;width:4px}.footnote{font-size:11px;text-align:center;color:#68727b;margin:24px 0 0}.app-footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:67px;border-top:1px solid #252b31;font-size:9px;letter-spacing:.12em;font-weight:720;color:#6c777f}.call-view{align-items:stretch;padding:27px 0 29px}.phone-kicker,.live-head{color:#a7bbb2;font-size:11px;letter-spacing:.17em;font-weight:900;text-align:center}.blinking,.live-dot{height:8px;width:8px;background:#8ec09c;box-shadow:0 0 12px #83c69e;border-radius:50%;display:inline-block;margin-right:9px;animation:blink 1.3s ease-in-out infinite}@keyframes blink{50%{opacity:.25}}.inbound-content{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:330px}.big-avatar{width:194px;height:194px;display:grid;place-items:center;border-radius:100%;border:1px solid #35434a;background:radial-gradient(circle at 33% 29%,#36414b,#1c242e 49%,#0e141b 76%);box-shadow:0 0 0 26px #a5c5b405,0 0 0 55px #a5c5b403,0 28px 70px #0006;position:relative}.big-avatar:after{content:"";position:absolute;inset:-16px;border:1px solid transparent;border-radius:50%}.big-avatar.ringing:after{border-color:#577666;animation:ring 2s ease-out infinite}@keyframes ring{0%{transform:scale(.92);opacity:.7}100%{transform:scale(1.27);opacity:0}}.big-avatar.talking{box-shadow:0 0 0 24px #9dd5ab0d,0 0 60px #609a7240,0 28px 70px #0005}.big-avatar.listening:after{border-color:#7a9dba;animation:ring 1.4s infinite}.inbound-content h2{font-size:clamp(28px,6vw,40px);font-weight:870;letter-spacing:-.045em;margin:31px 0 9px;text-align:center}.phone-number{font-size:13px;font-weight:650;color:#9eabb0;letter-spacing:.08em}.incoming-label{color:#7d8a90;margin-top:22px;font-size:10px;letter-spacing:.2em;font-weight:780}.phone-actions{display:flex;justify-content:space-around;gap:40px;align-items:center;width:100%;max-width:390px;margin:25px auto}.phone-action,.control{border:0;background:transparent;color:#9ba7ad;display:flex;gap:13px;flex-direction:column;align-items:center;font-size:12px}.phone-action small,.control small{font-size:11px;letter-spacing:.03em}.round-icon{width:80px;height:80px;display:grid;place-items:center;border-radius:50%;box-shadow:0 12px 40px #0007}.round-icon svg{width:33px;height:33px}.round-icon.red,.control-circle.end{background:#d74c45;color:#fff}.round-icon.green{background:#60b682;color:#fff}.microcopy{margin:20px auto 0;font-size:11px;color:#66737b;text-align:center}.live-head{display:flex;align-items:center;justify-content:space-between;color:#92b3a0}.live-head strong{font-size:12px;letter-spacing:.1em;font-weight:700;color:#c3d2c7}.live-main{min-height:305px;max-height:465px}.live-main .big-avatar{height:159px;width:159px}.live-main .big-avatar span{font-size:55px}.live-main h2{margin-top:24px;font-size:30px}.call-state{font-size:10px;letter-spacing:.17em;font-weight:800;color:#7da592;margin-top:18px}.live-lower{display:flex;flex-direction:column}.transcript-title{display:flex;justify-content:space-between;font-weight:800;font-size:9px;color:#95a0a7;letter-spacing:.16em;padding:16px 0;border-top:1px solid var(--line)}.transcript-title button{border:0;background:none;color:#799d89;cursor:pointer;font-size:10px;font-weight:850;letter-spacing:.12em}.transcript-list{height:130px;overflow-y:auto;display:flex;flex-direction:column;gap:9px;padding:7px 3px 20px;scrollbar-width:thin;scrollbar-color:#303943 transparent}.line{display:flex;gap:9px;font-size:12px;line-height:1.45;color:#c9d4d2}.line .role{font-weight:850;letter-spacing:.04em;min-width:52px;font-size:10px;padding-top:2px;color:#89b99a}.line.player .role{color:#84a8d2}.line.player{color:#bfcad0}.line .words{overflow-wrap:anywhere}.transcript-list:not(.expanded) .line:nth-last-child(n+4){display:none}.transcript-list.collapsed{height:0;padding:0;overflow:hidden}.call-controls{display:flex;justify-content:center;gap:clamp(48px,12vw,91px);padding-top:22px;border-top:1px solid var(--line)}.control-circle{width:60px;height:60px;display:grid;place-items:center;background:#1e272e;border:1px solid #34434b;border-radius:50%;color:#d4ded8}.control-circle svg{height:26px;width:26px}.control-circle.end{border:0;width:72px;height:72px;margin:-6px -6px -6px}.control.active .control-circle{background:#3f5263;border-color:#6f94aa}.results-view{padding:34px 0 40px}.results-head{font-size:10px;font-weight:820;letter-spacing:.16em;color:#929ea3}.score-kicker{font-size:10px;letter-spacing:.2em;font-weight:860;color:#b0d2ba;margin:52px 0 20px}.score-major{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #2c353b;padding-bottom:28px}.score-label{letter-spacing:.18em;font-size:10px;font-weight:850;color:#93a0a7}.huge-score{line-height:1.1;margin:6px 0 9px;font-family:Impact,"Arial Narrow",Arial,sans-serif;white-space:nowrap;letter-spacing:-.03em}.huge-score>span:first-child{font-size:clamp(79px,23vw,139px);font-weight:850}.outof{font:500 clamp(20px,5vw,29px) Arial,sans-serif;color:#5f7077;letter-spacing:-.08em}.score-ranking{display:inline-block;background:#23392c;color:#b9dcc2;border:1px solid #3d654d;padding:8px 11px;font-size:10px;letter-spacing:.14em;font-weight:850}.target-score{width:125px;flex-shrink:0;position:relative;color:#bedac7}.target-score svg{width:100%;display:block}.target-score svg circle{fill:none;stroke-width:4}.target-score .track{stroke:#2d393b}.target-score .progress{stroke:#a4d3b3;stroke-linecap:round;stroke-dasharray:308;stroke-dashoffset:308;transition:stroke-dashoffset .9s ease}.target-score>span{position:absolute;top:39%;left:0;width:100%;font-size:11px;line-height:1.35;letter-spacing:.17em;font-weight:850;text-align:center}.verdict{font-size:17px;line-height:1.5;color:#d1dcda;padding:21px 0 24px;margin:0}.metrics-heading{margin:5px 0 20px;font-weight:900;font-size:10px;letter-spacing:.19em;color:#eef2ef}.metrics-heading span{color:#85959e;font-size:9px}.metric{margin-bottom:21px}.metric-line{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;margin-bottom:9px}.metric-line strong{font-size:14px;font-weight:820;font-variant-numeric:tabular-nums}.metric-track{background:#202b30;height:5px;width:100%}.metric-track div{height:100%;background:#a4d3b3;transition:width 1s ease}.feedback{margin-top:13px;padding:25px 0;border-top:1px solid #2a333a}.feedback-label{font-size:10px;font-weight:850;letter-spacing:.18em;color:#9acaa8}.feedback-label.second{color:#e2aa96}.feedback p{font-size:14px;line-height:1.55;color:#d0d8d5;margin:9px 0 24px}.feedback p:last-child{margin-bottom:0}.result-actions{padding-top:2px}.share{margin-top:12px}.score-loading,.score-error{text-align:center;margin:65px 0}.score-loading h2,.score-error h2{font-size:19px;letter-spacing:.06em}.score-loading p,.score-error p{font-size:13px;line-height:1.6;color:#9ca8a7}.loading-spinner{width:52px;height:52px;border-radius:100%;border:2px solid #304238;border-top-color:#b1dcc1;margin:0 auto 30px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.score-error .primary{margin-top:24px}.toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%,15px);pointer-events:none;opacity:0;background:#26362d;color:#d9ecdd;border:1px solid #679777;border-radius:3px;font-size:12px;padding:12px 16px;z-index:10;text-align:center;min-width:220px;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:680px){.app{padding:0 35px}.intro h1{font-size:64px}.showcase{padding:23px 32px 30px}.profile-art{height:250px}.inbound-content{min-height:440px}.live-main{min-height:365px}.transcript-list{height:155px}}@media(max-height:760px){.topbar{height:69px}#home{padding-top:26px}.intro h1{margin:14px 0}.showcase{margin-top:22px}.profile-art{height:153px}.art-outer{transform:scale(.73)}.art-bars{display:none}.showcase p{margin-bottom:14px}.inbound-content{min-height:260px}.live-main{min-height:250px}.transcript-list{height:94px}.phone-actions{margin:14px auto}.results-view{padding-top:22px}}@media(max-width:360px){.app{padding:0 16px}.showcase{padding:18px}.top-right{font-size:8px}.wordmark{font-size:13px}.rules{gap:8px}.rules span{font-size:7px}.die{margin-right:4px}.secondary{font-size:9px}.intro h1{font-size:34px}.target-score{width:103px}}@media(prefers-reduced-motion:reduce){*,*:after{animation:none!important;transition:none!important}}

/* The first screen is a player briefing, not a marketing landing page. */
#home.briefing-view{padding:31px 0 26px;gap:0}
.briefing-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.18em;font-weight:850;color:#c1d6c7}
.briefing-indicator{display:flex;align-items:center;gap:10px}
.signal-dot{width:7px;height:7px;border-radius:50%;background:#89c39a;box-shadow:0 0 12px #89c39a66;display:inline-block;flex-shrink:0}
.briefing-episode{font-size:9px;color:#7e8a90;letter-spacing:.1em;white-space:nowrap}
.briefing-heading{padding:39px 0 30px;border-bottom:1px solid #303b42}
.briefing-type{font-size:10px;letter-spacing:.22em;color:#8dc49d;font-weight:850}
.briefing-heading h1{font-size:clamp(42px,10.8vw,72px);line-height:.99;letter-spacing:-.055em;font-family:Impact,"Arial Narrow",Arial,sans-serif;font-weight:900;max-width:570px;margin:14px 0 16px}
.briefing-description{font-size:16px;line-height:1.5;color:#b4c0c0;max-width:540px;margin:0}
.briefing-details{padding:6px 0 0}
.briefing-detail{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:15px;padding:24px 0;border-bottom:1px solid #263137}
.detail-number{font-size:12px;line-height:1.6;font-weight:800;color:#75a988;font-variant-numeric:tabular-nums}
.detail-copy h2{font-size:11px;letter-spacing:.18em;font-weight:900;color:#b6d9c0;margin:0 0 9px}
.detail-copy p{font-size:15px;line-height:1.56;color:#d2d9d7;margin:0;max-width:530px}
.briefing-bottom{padding-top:24px;margin-top:auto}
.briefing-instructions{display:flex;align-items:flex-start;gap:11px;color:#a5b4b1;font-size:12px;line-height:1.55;margin:0 0 22px}
.briefing-instructions .signal-dot{margin-top:5px;width:6px;height:6px}
.briefing-start{padding:21px 20px;font-size:13px}
.briefing-random{margin-top:11px}
.briefing-bottom .footnote{font-size:10px;line-height:1.4;margin-top:21px}
@media(max-height:760px){#home.briefing-view{padding-top:19px}.briefing-heading{padding:24px 0}.briefing-heading h1{font-size:clamp(37px,9vw,58px)}.briefing-detail{padding:16px 0}.briefing-bottom{padding-top:16px}.briefing-instructions{margin-bottom:14px}.briefing-bottom .footnote{margin-top:12px}}
@media(min-width:680px){#home.briefing-view{padding-top:50px}.briefing-heading{padding-top:54px}}

/* Results: instant outcome before scoring endpoint finishes. */
.instant-result{display:flex;align-items:center;gap:24px;margin:32px 0 22px;padding:22px 16px;border:1px solid #4f3639;background:linear-gradient(120deg,#2c1a20,#151e21)}
.instant-result[hidden]{display:none}
.instant-grade{font-family:Impact,"Arial Narrow",Arial,sans-serif;font-size:clamp(95px,20vw,132px);line-height:1;color:#f26760;flex-shrink:0;min-width:105px;text-align:center}
.instant-body h2{font-size:18px;letter-spacing:.03em;margin:0 0 8px}
.instant-body p{font-size:13px;color:#b8c5c4;line-height:1.5;margin:0;overflow-wrap:anywhere}
.instant-next{margin-top:0;margin-bottom:20px}
.instant-next[hidden]{display:none}
#results:has(.instant-grade) .score-loading{margin:30px 0}
#results .score-loading h2{font-size:13px}
@media(max-width:400px){.instant-result{gap:10px;padding:14px 10px}.instant-grade{font-size:89px;min-width:80px}.instant-body h2{font-size:15px}}

/* Multiplayer lobby, player handoff, score table and winner. */
.lobby-view{padding:38px 0 30px}.lobby-kicker{display:flex;gap:10px;align-items:center;color:#b6d7c2;letter-spacing:.18em;font-size:10px;font-weight:850}
.lobby-hero{padding:27px 0 25px;border-bottom:1px solid #344047}.lobby-subhead{font-size:10px;letter-spacing:.15em;color:#a1b3ac;font-weight:850}
.lobby-hero h1,.champion-view h1{font-family:Impact,"Arial Narrow",Arial,sans-serif;font-size:clamp(68px,15vw,108px);line-height:.90;letter-spacing:-.038em;margin:19px 0 18px;font-weight:900}.lobby-hero h1 span{color:#9fcbb0}.lobby-hero>p:last-child{font-size:14px;line-height:1.6;color:#a7b7b4;max-width:450px;margin:0}
#lobbyForm{padding-top:27px}.lobby-row-head{display:flex;justify-content:space-between;font-size:10px;font-weight:850;letter-spacing:.18em;color:#c2d8ca;margin-bottom:11px}.lobby-row-head>span{color:#7f9290;font-size:9px}.player-names{display:flex;flex-direction:column;gap:9px}.player-name-row{display:flex;align-items:center;min-height:56px;border:1px solid #33434b;background:#11191d;padding:5px 10px;gap:11px}.player-number{font-size:12px;font-weight:900;color:#90b4a0;min-width:24px}.player-name-row input{flex:1;min-width:0;font:inherit;background:transparent;border:0;color:#f4f9f6;outline:0;font-size:16px;padding:12px 0}.player-name-row input::placeholder{color:#71837f}.player-name-row:focus-within{border-color:#9fcbb0}.player-remove{background:transparent;border:0;font-size:25px;color:#829693;width:34px;height:36px}.add-player{justify-content:space-between;margin-top:9px}.add-player:disabled{opacity:.38}.rounds-box{margin-top:26px;border-top:1px solid #344047;padding-top:24px}.rounds-box label{display:block;font-size:10px;letter-spacing:.18em;font-weight:850;color:#c2d8ca;margin-bottom:11px}.rounds-box select{width:100%;appearance:auto;font:inherit;font-size:15px;color:#eff6f1;background:#162027;border:1px solid #36464c;border-radius:2px;padding:14px}.rounds-box p{font-size:12px;line-height:1.5;color:#899a98}.lobby-total{margin:21px 0 15px;font-size:10px;letter-spacing:.12em;color:#b8cfbc;font-weight:900}.lobby-error{font-size:13px;color:#f49e9e}.lobby-submit{margin-top:15px}.turn-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#1a2827;border:1px solid #375747;color:#bfdbc7;border-radius:2px;padding:13px 15px;margin:0 0 22px;font-size:11px;letter-spacing:.10em;font-weight:850}.turn-banner #turnProgress{font-size:9px;letter-spacing:.05em;color:#9ab4a6;white-space:nowrap}.lobby-exit{border:0;background:transparent;display:block;margin:14px auto 0;color:#7e9f94;font-weight:750;letter-spacing:.14em;font-size:9px;padding:10px}.result-for-player{color:#b4d7c2;font-size:12px;font-weight:850;letter-spacing:.16em;margin:25px 0 0}.standings-mini,.standings-final{border:1px solid #33413f;background:#101a1e;padding:14px 18px;margin:20px 0}.standings-title{display:flex;justify-content:space-between;align-items:center;font-weight:850;font-size:10px;letter-spacing:.14em;color:#b8d4c0;padding-bottom:11px;border-bottom:1px solid #2d383a}.standings-title span{color:#849991}.standing-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 0;border-bottom:1px solid #2a3336}.standing-row:last-child{border:0}.standing-person{display:flex;align-items:center;gap:11px;min-width:0}.standing-rank{font-weight:850;font-size:11px;color:#8ba99d}.standing-person>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800;color:#e5eee8}.standing-person small{font-size:10px;color:#899d99;white-space:nowrap}.standing-row strong{color:#c9ecd4;font-size:17px;font-variant-numeric:tabular-nums}.instant-next:disabled{opacity:.57}.result-actions #againBtn{display:none}.champion-view{padding:38px 0 40px}.champion-head{display:flex;justify-content:space-between;font-weight:850;font-size:10px;letter-spacing:.18em;color:#94a79d;margin:30px 0 38px}.champion-kicker{font-size:12px;letter-spacing:.24em;color:#a9cbb1;font-weight:900}.champion-view h1{font-size:clamp(57px,13vw,102px);color:#eafaf1;overflow-wrap:anywhere}.champion-trophy{font-size:58px;color:#b6dbbf;text-shadow:0 0 36px #9ce4b055}.champion-score{font-size:29px;font-weight:900;color:#b6d8c2;margin:4px 0 12px}.champion-description{font-size:13px;color:#98aca4;line-height:1.6}.standings-final{margin:29px 0 26px}.champion-new{margin-top:20px}
@media(max-width:420px){.turn-banner{flex-direction:column;align-items:flex-start}.standing-person{gap:7px}.standing-person small{font-size:9px}}

/* Incoming-call cues complement the audible ringtone and supported Android vibration. */
#incoming.ring-active .phone-kicker{color:#b9dec2;text-shadow:0 0 18px #83c79b77}
#incoming.ring-active .big-avatar{animation:incoming-pulse 1.5s ease-in-out infinite}
@keyframes incoming-pulse{0%,100%{box-shadow:0 0 0 0 #7cb38d22}50%{box-shadow:0 0 0 18px #7cb38d08,0 0 55px #7cb38d24}}
@media(prefers-reduced-motion:reduce){#incoming.ring-active .big-avatar{animation:none}}

/* Character portraits stay visible throughout ringing and conversation. */
.big-avatar{overflow:visible;isolation:isolate}
.big-avatar .caller-portrait{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block;position:absolute;inset:0;opacity:0;transition:opacity .2s ease;box-shadow:inset 0 0 30px #060b12;z-index:1}
.big-avatar.has-portrait .caller-portrait{opacity:1}
.big-avatar.has-portrait .avatar-fallback{opacity:0}
.big-avatar .avatar-fallback{transition:opacity .2s ease}
.big-avatar.ringing:after,.big-avatar.listening:after{pointer-events:none}
@media(prefers-reduced-motion:reduce){.big-avatar .caller-portrait{transition:none}}

/* The hard-limit briefing is visible only for scenarios that specify resources. */
#briefResourcesRow[hidden]{display:none!important}
#briefResourcesRow{border-left:2px solid #da6b46;padding-left:10px;background:linear-gradient(90deg,rgba(218,107,70,.08),transparent 65%)}
#briefResourcesRow h2{color:#edaa86}


/* MayoShrimp 4.5s game opener — isolated from the game views. */
.cinematic-intro{position:fixed;inset:0;inset:0 0 0 0;z-index:9999;display:grid;place-items:center;background:#030b18;overflow:hidden;color:white}
.cinematic-intro[hidden]{display:none!important}
body.intro-playing{overflow:hidden}
.intro-video{height:100%;height:100dvh;width:100%;object-fit:contain;display:block;position:absolute;inset:0;background:#071c36}
.intro-controls{position:absolute;inset:0;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:calc(24px + env(safe-area-inset-top,0px)) max(24px,env(safe-area-inset-right,0px)) calc(26px + env(safe-area-inset-bottom,0px));background:linear-gradient(to bottom,rgba(0,0,0,.36),transparent 19%,transparent 76%,rgba(0,0,0,.45));font-size:10px;font-weight:850;letter-spacing:.18em}
.intro-top{display:flex;align-items:center;justify-content:space-between;gap:16px;color:#f5fcff}
.intro-skip,.intro-sound{pointer-events:auto;border:1px solid rgba(255,255,255,.58);background:rgba(3,17,32,.45);backdrop-filter:blur(7px);color:#fff;padding:12px 15px;letter-spacing:.12em;font-weight:850;font-size:11px;border-radius:2px;text-shadow:0 1px 2px #000}
.intro-skip:hover,.intro-sound:hover{background:rgba(5,31,55,.76)}
.intro-bottom{display:flex;flex-direction:column;gap:13px;align-items:flex-start}
.intro-sound{font-size:10px;padding:11px 13px}
.intro-sound:disabled{opacity:.83;cursor:default}
.intro-progress{display:block;height:3px;background:rgba(255,255,255,.33);width:100%;overflow:hidden;border-radius:3px}
#introProgress{display:block;width:0;height:100%;background:#fff;box-shadow:0 0 12px #fff;transition:width .09s linear}
.intro-caption{font-size:10px;color:#d7edfa}
@media(min-width:720px){.intro-video{object-fit:contain}.intro-controls{padding-left:clamp(32px,7vw,90px);padding-right:clamp(32px,7vw,90px)}}
@media(prefers-reduced-motion:reduce){#introProgress{transition:none}}

/* Cinematic audio / microphone readiness gate. In-game copy explains the system
   permission request; browser itself must still display the native dialog. */
.ready-view{padding:26px 0 44px;max-width:640px;margin:0 auto;width:100%}
.ready-kicker{display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:.17em;font-weight:900;color:#c6daca}
.ready-count{margin-left:auto;color:#a1b9aa;letter-spacing:.1em;font-size:10px}
.ready-emblem{height:110px;width:110px;display:grid;place-items:center;border:1px solid #39634e;border-radius:50%;background:radial-gradient(circle,#1b4337 0%,#111f22 65%,transparent);box-shadow:0 0 60px #3e9d6730,0 16px 50px #030709cc;position:relative;margin:36px 0 29px;color:#b4dec5}
.ready-emblem svg{width:60%;height:60%;filter:drop-shadow(0 0 12px #8ad7a455)}
.ready-emblem-ring{position:absolute;inset:-10px;border:1px solid #39634e66;border-radius:50%;animation:ready-ring 3s ease-in-out infinite}
@keyframes ready-ring{50%{transform:scale(1.07);opacity:.34}}
.ready-eyebrow{font-size:10px;letter-spacing:.27em;color:#afcbb9;font-weight:900;margin:0 0 11px}
.ready-view h1{font-size:clamp(62px,15vw,103px);letter-spacing:-.075em;line-height:.83;margin:0;color:#effaf1;font-weight:950}
.ready-view h1 span{color:#a5d2ae}
.ready-description{color:#a6bcb1;font-size:14px;line-height:1.62;margin:24px 0 27px;max-width:490px}
.ready-steps{border-top:1px solid #345048;border-bottom:1px solid #345048}
.ready-step{display:flex;gap:16px;padding:22px 0 20px;border-bottom:1px solid #283b35;transition:background .2s}
.ready-step:last-child{border-bottom:0}
.ready-step.complete{background:linear-gradient(90deg,#1b3a2c88,transparent 80%)}
.ready-step-number{font-size:12px;line-height:20px;color:#85aa90;font-weight:900;min-width:24px}
.ready-step-main{flex:1;min-width:0}
.ready-step-main h2{font-size:13px;letter-spacing:.11em;margin:2px 0 9px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.ready-indicator{font-size:9px;letter-spacing:.08em;border:1px solid #6f8074;color:#acbdb1;padding:5px 7px;white-space:nowrap}
.ready-step.complete .ready-indicator{color:#b8efc0;border-color:#63b47f}
.ready-step-main>p{font-size:12px;color:#96ada1;line-height:1.6;margin:0 0 15px}
.ready-action{background:#203d2f;border:1px solid #4a8061;color:#e2ffea;font-size:11px;letter-spacing:.12em;font-weight:900;padding:12px 14px;width:100%;text-align:left;display:flex;justify-content:space-between;min-height:46px}
.ready-action:hover{background:#2b5740}
.ready-step.complete .ready-action{background:#163529;border-color:#3d7c50}
.ready-step-main>.ready-hint{color:#9fd4a8;min-height:0;margin:10px 0 0;font-size:11px}
.ready-hint:empty{display:none}
.ready-music{display:flex;align-items:center;gap:12px;border:1px solid #375749;background:#14261e;padding:11px 12px;margin:21px 0 4px;font-size:9px;letter-spacing:.1em;font-weight:850;color:#addabb}
.ready-music[hidden]{display:none!important}
.ready-music>span{flex:1}
.ready-music>button{border:0;background:transparent;color:#e8f9e9;font-weight:900;letter-spacing:.09em;font-size:10px;min-width:55px}
.ready-eq{display:flex;align-items:center;gap:3px;height:21px}
.ready-eq i{height:8px;width:3px;background:#b2deb7;animation:ready-eq .9s ease-in-out infinite alternate;border-radius:2px}
.ready-eq i:nth-child(2){animation-delay:.24s}.ready-eq i:nth-child(3){animation-delay:.4s}.ready-eq i:nth-child(4){animation-delay:.13s}.ready-eq i:nth-child(5){animation-delay:.56s}.ready-eq i:nth-child(6){animation-delay:.32s}.ready-eq i:nth-child(7){animation-delay:.68s}
@keyframes ready-eq{from{height:3px;opacity:.55}to{height:19px;opacity:1}}
.ready-continue{margin-top:19px;width:100%}
.ready-continue:disabled{background:#22302a!important;color:#879d90;opacity:1;cursor:not-allowed}
.ready-bottom{margin:20px 0 0;color:#82958a;line-height:1.6;font-size:11px}
@media(max-width:450px){.ready-view{padding-top:23px}.ready-emblem{margin:27px 0 23px;height:91px;width:91px}.ready-step{gap:10px}.ready-step-main h2{font-size:12px}.ready-description{font-size:13px}}
@media(prefers-reduced-motion:reduce){.ready-emblem-ring,.ready-eq i{animation:none}}

/* Reliable answering on compact phones and recoverable connection failures. */
#incoming .phone-actions{flex-shrink:0;position:relative;z-index:4}
#incoming .phone-action{min-width:96px;min-height:115px;touch-action:manipulation}
#incoming .phone-action .round-icon{pointer-events:none}
.answer-issue{border:1px solid #b96b62;background:#301d20;color:#ffe6e1;padding:15px;margin:15px 0 0;line-height:1.5;font-size:13px}
.answer-issue[hidden]{display:none!important}
.answer-issue strong{font-size:11px;letter-spacing:.12em}
.answer-issue p{font-size:13px;margin:8px 0 12px}
.answer-issue button{background:#f3c2b4;border:0;color:#251514;padding:12px 14px;font-weight:900;width:100%;font-size:11px;letter-spacing:.07em}
.answer-issue small{display:block;margin-top:10px;color:#c8b2af;line-height:1.6}
.audio-resume{margin:16px auto 0;padding:12px 16px;border:1px solid #84cfa0;background:#1e4834;color:#e0f9e8;font-weight:900;font-size:11px;letter-spacing:.1em}
@media(max-height:760px){
  #incoming{padding-top:10px;padding-bottom:8px}
  #incoming .inbound-content{min-height:0}
  #incoming .big-avatar{width:clamp(100px,19vh,150px);height:clamp(100px,19vh,150px)}
  #incoming .inbound-content h2{margin:12px 0 5px;font-size:26px}
  #incoming .incoming-label{margin-top:9px}
  #incoming .phone-actions{margin:7px auto 0}
  #incoming .round-icon{width:64px;height:64px}
  #incoming .phone-action{min-height:90px}
  #incoming .microcopy{margin:3px auto 0;font-size:10px}
}

/* Android answer reliability: action dock stays reachable above system bars,
   and the entire button remains a live touch target on short screens. */
#incoming{min-height:calc(100dvh - 88px);padding-bottom:calc(18px + env(safe-area-inset-bottom,0px))}
#incoming .inbound-content{min-height:0;flex:1 1 auto}
#incoming .phone-actions{position:sticky;bottom:calc(8px + env(safe-area-inset-bottom,0px));z-index:20;flex-shrink:0;margin:10px auto 0;padding:13px 4px 8px;background:linear-gradient(180deg,rgba(8,10,14,0),#0b0e14 20%,#0b0e14 100%);isolation:isolate}
#incoming .phone-action{position:relative;z-index:21;min-width:116px;min-height:112px;justify-content:center;gap:8px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;pointer-events:auto;user-select:none}
#incoming .phone-action .round-icon,#incoming .phone-action .round-icon *{pointer-events:none}
#incoming #answerBtn .round-icon{box-shadow:0 0 0 8px rgba(96,182,130,.10),0 12px 42px rgba(0,0,0,.6)}
#incoming .microcopy{flex-shrink:0;padding-bottom:3px}
@media(max-height:700px){
  #incoming{padding-top:7px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}
  #incoming .big-avatar{width:clamp(90px,17vh,124px);height:clamp(90px,17vh,124px)}
  #incoming .phone-actions{margin:5px auto 0;padding-top:7px;padding-bottom:4px}
  #incoming .phone-action{min-height:93px}
  #incoming .inbound-content h2{font-size:clamp(20px,5vw,27px)}
}


/* During the call: clean at-a-glance mission, no scrolling chat transcript. */
.live-main{min-height:230px;max-height:350px}
.live-main .big-avatar{width:132px;height:132px}
.live-main h2{font-size:clamp(22px,5.6vw,27px);margin:17px 0 6px}
.live-main .phone-number{font-size:11px}
.live-main .call-state{margin-top:10px}
.live-lower{width:100%;gap:0}
.mission-card{border:1px solid #34483d;border-radius:10px;background:linear-gradient(140deg,#18271e 0%,#131c1c 45%,#10171c 100%);padding:16px 18px 14px;margin:5px 0 20px;box-shadow:inset 0 1px 0 #9dc7a015}
.mission-head{display:flex;justify-content:space-between;gap:10px;align-items:center;padding-bottom:11px;border-bottom:1px solid #ffffff15;color:#b8dfc3;font-weight:900;font-size:10px;letter-spacing:.17em}
.mission-head span:last-child{color:#748e80;letter-spacing:.08em;font-size:9px;text-align:right}
.mission-role{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 14px;margin-top:13px}
.mission-meta{font-size:9px;color:#9eb5aa;letter-spacing:.15em;font-weight:850;flex-shrink:0}
.mission-role strong{color:#e8f0eb;font-size:13px;letter-spacing:.05em}
.mission-section{margin-top:15px}
.mission-goal{color:#ecf6ed;font-size:clamp(15px,4.5vw,19px);font-weight:800;line-height:1.35;margin:5px 0 0;letter-spacing:-.015em}
.mission-alt{display:flex;align-items:baseline;gap:12px;margin-top:5px}
.mission-alt>span{flex-shrink:0;font-size:9px;letter-spacing:.12em;font-weight:900;color:#a5cdb0;border:1px solid #56725d;border-radius:3px;padding:3px 5px}
.mission-alt>.mission-goal{margin:0}
.mission-hint{display:flex;gap:9px;align-items:baseline;border-top:1px solid #ffffff1b;padding-top:11px;margin:16px 0 0;font-size:11px;line-height:1.45;color:#b9c7be}
.mission-hint>span:first-child{font-size:9px;letter-spacing:.1em;color:#95bca0;font-weight:900;flex-shrink:0}
.call-controls{padding-top:16px}
@media(max-height:760px){.live-main{min-height:195px;max-height:270px}.live-main .big-avatar{height:104px;width:104px}.live-main h2{font-size:22px;margin-top:10px}.live-main .call-state{margin-top:7px}.mission-card{padding:12px 14px 10px;margin-bottom:12px}.mission-section{margin-top:10px}.mission-hint{margin-top:10px;padding-top:9px}.call-controls{padding-top:11px}}
@media(max-width:360px){.mission-goal{font-size:15px}.mission-head{font-size:9px}.mission-card{padding:12px}}

/* Explicit pre-flight audio confirmation; never mislabel playback as OS permission. */
.sound-confirm{width:100%;min-height:46px;margin-top:11px;border:1px solid #80cba0;background:#35664b;color:#f1fff4;font-size:12px;font-weight:900;letter-spacing:.1em;touch-action:manipulation}
.sound-confirm:hover{background:#448058}.sound-confirm:disabled{opacity:.5}
.sound-confirm[hidden]{display:none!important}

/* Call countdown: red pulse in the last 30 seconds */

@keyframes timerPulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.55;transform:scale(1.08);}}

/* Big centred countdown + pass-the-phone banner */
.big-timer{font-size:clamp(52px,17vw,72px);font-weight:900;line-height:1;margin-top:12px;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:#eef3ef;text-shadow:0 4px 24px #0008}
#timer.timer-urgent{color:#ff3b30;animation:timerPulse 1s ease-in-out infinite}
.pass-banner{margin-top:12px;width:100%;max-width:420px;padding:12px 14px;border-radius:10px;background:#f4d03f;color:#111;text-align:center;box-shadow:0 10px 30px #0007;display:flex;flex-direction:column;gap:3px}
.pass-banner strong{font-size:clamp(24px,7.5vw,32px);font-weight:950;letter-spacing:.04em;line-height:1.05}
.pass-banner span{font-size:clamp(12px,3.6vw,15px);font-weight:850;letter-spacing:.12em}
.pass-banner.pop{animation:passIn .35s ease-out, passPulse 2s ease-in-out .4s infinite}
@keyframes passIn{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}
@keyframes passPulse{0%,100%{box-shadow:0 10px 30px #0007,0 0 0 0 #f4d03f66}50%{box-shadow:0 10px 30px #0007,0 0 0 10px #f4d03f00}}
@media(prefers-reduced-motion:reduce){.pass-banner.pop,#timer.timer-urgent{animation:none}}
#live .live-main{min-height:0;max-height:none}
#live .live-main .big-avatar{width:clamp(72px,14vh,120px);height:clamp(72px,14vh,120px)}
#live .live-main h2{margin-top:10px;font-size:clamp(20px,6vw,28px)}
@media(max-height:760px){.big-timer{font-size:clamp(48px,15vw,60px);margin-top:6px}.pass-banner{margin-top:8px;padding:9px 12px}#live .live-main .big-avatar{width:76px;height:76px}#live .live-main h2{font-size:20px;margin-top:6px}}

/* After-action buttons: loud NEXT LEVEL, outline REPLAY */
#instantNext{background:#f4d03f;border-color:#f4d03f;color:#111;font-size:clamp(16px,4.6vw,20px);font-weight:950;letter-spacing:.08em;padding:20px 22px;margin-bottom:10px;box-shadow:0 10px 30px #0007;animation:nextPulse 2s ease-in-out infinite}
#instantNext:hover{background:#ffe066}
#instantNext:disabled{animation:none;opacity:.55}
@keyframes nextPulse{0%,100%{box-shadow:0 10px 30px #0007,0 0 0 0 #f4d03f66}50%{box-shadow:0 10px 30px #0007,0 0 0 10px #f4d03f00}}
.replay-mission{justify-content:center;gap:8px;margin:0 0 20px;font-size:13px;letter-spacing:.12em;border-color:#8a959c;color:#eef3ef;padding:15px 18px}
@media(prefers-reduced-motion:reduce){#instantNext{animation:none}}
