:root{background:#070f19}body{min-height:100vh;background:#070f19}body::before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,12,23,.95) 0%,rgba(3,13,24,.76) 29%,rgba(5,17,28,.12) 69%),linear-gradient(0deg,#06101be8,transparent 55%),url('assets/menu/approved-main.png') center/cover no-repeat;transition:opacity .4s}body[data-screen=game]::before{opacity:.18}body[data-screen=result]::before{opacity:.45}main{max-width:1800px;padding:24px 48px 28px}.product-header{margin-bottom:28px;min-height:48px}.brand .sigil{font-size:38px}.brand h1{font-size:22px;letter-spacing:3px}.header-actions{display:flex;gap:24px;align-items:center}#audio-toggle{font-size:12px;min-width:104px;background:#0a1727a8;border-color:#526c7b}#audio-toggle[aria-pressed=true]{color:#9badb5}#setup-screen{display:grid;grid-template-columns:minmax(440px,540px) 1fr;gap:50px;min-height:calc(100vh - 125px)}.menu-intro .eyebrow{color:#b6d6e3;letter-spacing:3px}.menu-intro h2{font-family:Georgia,'Times New Roman',serif;font-size:66px;line-height:.94;letter-spacing:8px;font-weight:400;margin:18px 0;color:#eaf7ff;text-shadow:0 2px 30px #acdff440}.menu-intro>p:last-child{font-size:14px;color:#bad1de;line-height:1.8;margin:0 0 24px}.draw-panel{margin-top:0;padding:24px 26px;background:linear-gradient(150deg,#132739df,#091422e8);border-color:#54728480;backdrop-filter:blur(16px);box-shadow:0 20px 70px #0005}.draw-heading-row h2{font-size:20px}.draw-fields{grid-template-columns:minmax(0,1fr) 142px;gap:24px;margin-top:20px}.draw-fields label{font-size:13px;gap:9px}.draw-fields textarea{height:185px;min-height:185px;max-height:300px;font-size:14px;line-height:1.48;resize:vertical;background:#071320b0}.draw-fields input{font-size:38px;line-height:1;width:100%;height:76px;background:#071320b0;text-align:center}.draw-fields small{font-size:10px;line-height:1.7}.draw-options .draw-help{font-size:11px;margin:20px 0 0;color:#bdd5df}.draw-buttons{gap:9px}.draw-buttons button{font-size:13px;min-height:45px}.draw-buttons .primary{flex:1;letter-spacing:1px}.draw-buttons button:disabled{display:none}.draw-status{font-size:11px;color:#9ab7c7;margin-top:13px;line-height:1.6}.draw-errors{margin:8px 0}.menu-footnote{font-size:10px;line-height:1.6;color:#7f9cab;margin:15px 2px}.menu-art-caption{align-self:end;justify-self:end;text-align:right;margin-bottom:60px;text-shadow:0 2px 8px #03101b}.menu-art-caption span{font-size:10px;letter-spacing:3px;color:#c0d9e5}.menu-art-caption p{font-size:17px;line-height:1.8;color:#d2e4ec}.workspace{grid-template-columns:minmax(0,1fr) 240px;box-shadow:0 15px 60px #0005}aside{padding:22px 18px}.counts strong{font-size:34px}.counts span,.roster-heading{font-size:10px}#roster li{height:31px;font-size:12px}#roster .action{font-size:9px}.transport{background:#0b1927db;padding:17px 20px 14px}.control-row button{font-size:12px;min-height:41px}#round-progress-label{font-size:11px;color:#9bb9c9}#game-progress{display:block;width:100%;height:3px;margin-top:16px;appearance:none;border:0;background:#253f4f}#game-progress::-webkit-progress-bar{background:#253f4f}#game-progress::-webkit-progress-value{background:#b8e3ef;box-shadow:0 0 12px #a2e1ff}.stage-bottom{max-width:max-content}.dev-control{display:none!important}body[data-dev=true] .dev-control{display:flex!important}body[data-dev=true] #scrub{display:block!important}body[data-dev=true] .chapter-row{display:grid!important}#winner-banner{display:none}body[data-dev=true] #winner-banner:not([hidden]){display:block}#result-screen{text-align:center;max-width:1200px;margin:0 auto;min-height:calc(100vh - 135px);padding:18px 0 35px}.celebration-ornament{font-size:65px;line-height:1;color:#d4f1ff;text-shadow:0 0 28px #adddfa;margin-bottom:18px}#result-screen>.eyebrow{letter-spacing:4px;color:#a9cedf}#result-title{font-size:37px;font-weight:400;letter-spacing:3px;margin:18px 0 12px}.result-subtitle{font-size:13px;color:#9fbfcf;margin:0 0 26px}#draw-result{border:0;padding:0;margin:0}#draw-result h3{font-size:15px;color:#c2e5f2;font-weight:400;margin-bottom:20px}.run-id{display:none}.winner-list{display:flex;justify-content:center;align-items:stretch;gap:14px;margin:0 auto 30px;max-width:1060px;list-style:none}.winner-list li{position:relative;display:flex;flex-direction:column;justify-content:center;gap:8px;flex:0 1 calc(33.333% - 14px);min-width:220px;height:auto;min-height:158px;padding:14px 18px 20px;border:1px solid #93bdd269;background:linear-gradient(150deg,#1a3c50e3,#0d2234ea);box-shadow:inset 0 1px 0 #d9f4ff25,0 8px 30px #0004;border-radius:8px;color:#effaff}.winner-portrait{display:block;height:95px;width:150px;object-fit:contain;filter:drop-shadow(0 3px 10px #87c8f838)}.winner-name{font-size:22px;line-height:1.45;font-weight:500;overflow-wrap:anywhere;word-break:break-all}.winner-list[data-count="1"] li,.winner-list[data-count="2"] li{flex-basis:330px;min-height:265px}.winner-list[data-count="1"] .winner-portrait,.winner-list[data-count="2"] .winner-portrait{height:170px;width:220px}.winner-list[data-count="1"] .winner-name,.winner-list[data-count="2"] .winner-name{font-size:27px}.result-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.result-actions button{min-width:165px;min-height:46px;font-size:13px}.result-meaning{font-size:11px;color:#86a6b7;margin-top:18px}#result-screen:not([hidden]) .celebration-ornament{animation:ice-glow 2.8s ease-in-out infinite alternate}@keyframes ice-glow{to{text-shadow:0 0 48px #d4f3ff,0 0 90px #9de2ff77}}@media(min-height:1000px){.menu-intro h2{font-size:80px;margin-top:27px}.draw-fields textarea{height:215px}}@media(max-width:1100px){main{padding:20px 28px}.header-meta{display:none}#setup-screen{grid-template-columns:minmax(420px,480px) 1fr;gap:20px}.menu-intro h2{font-size:58px}.draw-panel{padding:21px}.workspace{grid-template-columns:minmax(0,1fr) 208px}#roster li{font-size:10px;height:28px}.winner-list li{min-width:195px}.menu-art-caption{margin-bottom:30px}}@media(max-width:800px){main{padding:18px}.brand h1{font-size:17px;letter-spacing:2px}.brand .sigil{font-size:30px}.brand .eyebrow{font-size:8px;letter-spacing:1.5px}.brand{gap:9px}#audio-toggle{min-width:85px;font-size:11px;padding:9px}#setup-screen{display:block}.setup-content{max-width:540px;margin:auto}.menu-intro h2{font-size:50px;line-height:1;letter-spacing:5px}.menu-intro>p:last-child{font-size:12px}.menu-art-caption{display:none}.draw-fields{grid-template-columns:minmax(0,1fr) 115px;gap:17px}.draw-panel{padding:20px}.draw-buttons button{font-size:11px;padding:10px}.workspace{display:block}.header-actions{gap:8px}body::before{background-position:60% center}#result-title{font-size:27px}.winner-list{gap:10px}.winner-list li{min-width:140px;flex-basis:calc(50% - 10px);padding:12px}.winner-name{font-size:16px}.winner-portrait{width:120px;height:80px}.result-actions{gap:9px}.result-actions button{min-width:140px;font-size:12px}.result-meaning{line-height:1.7}.control-row{gap:8px}.control-row button{padding:9px;font-size:10px}#round-progress-label{font-size:10px}.celebration-ornament{font-size:48px}.result-subtitle{font-size:11px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
:root body::before{z-index:0;pointer-events:none}main{position:relative;z-index:1}
.winner-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;justify-content:center}.winner-list li{min-width:0;width:100%}.winner-list[data-count="1"]{grid-template-columns:minmax(0,330px)}.winner-list[data-count="2"]{grid-template-columns:repeat(2,minmax(0,330px))}@media(max-width:800px){.winner-list{grid-template-columns:repeat(2,minmax(0,1fr))}.winner-list li{min-width:0}.winner-list[data-count="1"]{grid-template-columns:minmax(0,330px)}.winner-list[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}}
#result-screen:has(.winner-list li:nth-child(4)){padding-top:0}#result-screen:has(.winner-list li:nth-child(4)) .celebration-ornament{font-size:36px;margin-bottom:10px}#result-screen:has(.winner-list li:nth-child(4)) #result-title{font-size:28px;margin:12px 0 8px}#result-screen:has(.winner-list li:nth-child(4)) .result-subtitle{margin-bottom:16px}#result-screen:has(.winner-list li:nth-child(4)) #draw-result h3{font-size:13px;margin:10px 0 14px}.winner-list:has(li:nth-child(4)){margin-bottom:22px}.winner-list:has(li:nth-child(4)) li{min-height:138px;padding:12px 14px;gap:7px}.winner-list:has(li:nth-child(4)) .winner-portrait{height:64px}.winner-list:has(li:nth-child(4)) .winner-name{font-size:18px;line-height:1.35}
.draw-buttons #draw-start:disabled{display:block}
