/* Page composition; components live in style.css. */
.shell{width:calc(100% - 80px);max-width:1220px;margin-inline:auto}
.shell.wide{max-width:1380px}
.topbar-row{display:flex;align-items:center;min-height:88px;gap:15px;border-bottom:1px solid var(--line)}
.home-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(350px,1fr);gap:75px;padding-top:42px;padding-bottom:60px;align-items:start}
.rules-section{border-top:1px solid var(--line);padding-top:55px;padding-bottom:65px}
.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:30px}
.section-heading .eyebrow{margin-top:8px}.section-heading h2{width:60%}
.how{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin-top:40px}
.home-foot .foot-row{border-top:1px solid var(--line);padding-block:28px;display:flex;align-items:center;gap:35px}
.home-foot .foot-row>a:last-child{margin-left:auto}
.host-shell{min-height:100svh;display:flex;flex-direction:column}
.host .topbar-row{min-height:86px}.host-meta{margin-left:auto;display:flex;align-items:center;gap:22px}
.timer-wrap{padding-top:18px}.stage{width:calc(100% - 80px);max-width:1200px;margin:auto;padding:50px 0 40px;flex:1}
.lobby{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.round-stage{text-align:center}.round-stage>.eyebrow{color:var(--muted)}
.moderation{padding-block:8px}
.host-foot .foot-row{display:flex;align-items:center;gap:12px;padding:18px 0;border-top:1px solid var(--line)}
.phone{width:calc(100% - 40px);max-width:460px;margin:auto;min-height:100svh;display:flex;flex-direction:column}
.play-head{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:88px}
.head-right{display:flex;align-items:center;gap:15px}.head-right .timer-text{font-size:19px}.head-right .status{font-size:9px}
.phone-stage{flex:1}.play-foot{padding:25px 0;text-align:center;color:var(--muted);font-size:10px}
@media(min-width:1500px){.home-grid{padding-top:85px;padding-bottom:90px}}
@media(max-width:1100px){
 .shell,.stage{width:calc(100% - 48px)}.home-grid{gap:38px;grid-template-columns:minmax(0,1.35fr) minmax(330px,1fr)}
 .hero-copy h1{font-size:7.2vw}.hero-copy .eyebrow{font-size:9px}.create-panel{padding:26px}.lead{font-size:18px}
 .host-meta{gap:15px}.host .brand{font-size:30px}.join-qr{gap:14px;padding:12px}.join-qr img{width:125px}
}
@media(max-width:800px){
 .shell,.stage{width:calc(100% - 40px)}.topbar-row{min-height:80px}
 .home-grid{grid-template-columns:1fr;gap:40px;padding-top:40px;padding-bottom:45px}
 .hero-copy{max-width:650px}.hero-copy h1{font-size:clamp(60px,11.5vw,90px)}
 .hero-copy .eyebrow{font-size:10px;margin-bottom:25px}.hero-asterisk{font-size:.45em}
 .lead{margin:25px 0 20px;font-size:19px}.sample-strip{display:none}
 .start-desk{display:grid;grid-template-columns:1.2fr 1fr;gap:14px;align-items:start}
 .join-panel-home{margin:0;padding:24px}.join-heading{align-items:flex-start;flex-direction:column;gap:6px}
 .join-form{grid-template-columns:1fr}.join-form .btn{width:100%}.desk-footnote{grid-column:1/-1;margin-top:0}
 .section-heading{display:block}.section-heading h2{width:auto}.section-heading .eyebrow{margin-bottom:20px}
 .how{gap:25px}.how-card h3{font-size:22px}.how-card p{font-size:13px}
 .host .topbar-row{flex-wrap:wrap;padding-block:18px;gap:15px}.host-meta{gap:14px}.host-meta .status{display:none}
 .lobby{gap:14px}.panel{padding:24px}.room-code{font-size:60px}.join-qr{flex-direction:column;align-items:flex-start}.join-qr-note{max-width:none}
 .player-grid{grid-template-columns:1fr}.choice-card{padding:20px 16px;gap:10px}.choice-text{font-size:18px}.choice-tail{font-size:9px}
}
@media(max-width:540px){
 .shell,.stage{width:calc(100% - 36px)}.brand{font-size:31px}.brand-dot{font-size:34px}
 .brand-caption{display:none}.rules-link{margin-left:auto;font-size:12px}.rules-link span{margin-left:10px}
 .hero-copy h1{font-size:clamp(48px,10.9vw,64px)}.hero-asterisk{right:-.55em;top:-.2em}
 .hero-copy .eyebrow{font-size:9px;letter-spacing:.08em}.lead{font-size:17px;line-height:1.6}
 .hero-facts{font-size:10px;gap:15px}.hero-facts span+span{padding-left:15px}
 .home-grid{padding-top:32px;gap:30px}.start-desk{display:block}.create-panel{padding:25px}.create-panel h2{font-size:38px}
 .join-panel-home{margin-top:10px;padding:22px 25px}.join-heading{flex-direction:row;align-items:center}
 .join-form{grid-template-columns:1fr auto}.desk-footnote{margin-top:14px}
 .how{grid-template-columns:1fr;gap:26px;margin-top:30px}.how-card{display:grid;grid-template-columns:35px 1fr;column-gap:18px}
 .how-card .step-number{margin-top:5px}.how-card h3{margin:0 0 12px;font-size:26px}.how-card p{grid-column:2;font-size:14px;max-width:none}
 .rules-section{padding-top:35px;padding-bottom:40px}.section-heading h2{font-size:29px}
 .home-foot .foot-row{flex-wrap:wrap;gap:20px}.home-foot .foot-row p{margin-left:auto;font-size:10px}.home-foot .foot-row>a:last-child{display:none}
 .host .topbar-row{gap:15px}.host .brand{font-size:28px}.host-meta{display:contents}.round-label{order:5;flex:1;font-size:11px}
 .room-chip{margin-left:auto;font-size:13px;padding-left:12px}.host-meta .btn-small{font-size:10px;padding:7px 10px;min-height:30px;order:6}
 .timer-text{font-size:16px;min-width:30px}.timer-wrap{padding-top:12px}.stage{padding:30px 0}
 .lobby{grid-template-columns:1fr}.join-qr{flex-direction:row}.join-qr img{width:120px}.join-panel .room-code{font-size:70px}
 .player-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.player-tile{grid-template-columns:30px minmax(0,1fr);gap:8px}.avatar{width:30px;height:30px;font-size:13px}.pname{font-size:12px}
 .choice-grid{grid-template-columns:1fr;margin-top:25px;gap:9px}.choice-card{min-height:70px;padding:17px 16px}.choice-tail{max-width:90px}
 .question{font-size:29px}.question.small{font-size:27px}.round-meta{margin-bottom:20px;gap:12px}.sub-note{font-size:14px}
 .truth-banner{font-size:17px}.stage-actions{margin-top:25px}.podium{gap:8px}.podium-place{width:33.33%;padding:20px 8px;min-height:155px}.podium-place.first{min-height:190px}
 .podium-place .place{font-size:35px}.podium-place .pname{font-size:12px}.podium-place .pscore{font-size:17px}
 .score-row{gap:10px;padding:15px 12px}.sname{font-size:14px}.sscore{font-size:22px}.sgain{font-size:11px}
 .host-foot .foot-row{flex-wrap:wrap;font-size:10px;gap:6px}.host-foot .url{max-width:80%}.host-foot .btn{margin-left:0;margin-top:8px}
 .phone{width:calc(100% - 36px)}.phone-card h1{font-size:34px}.phone-card{padding-top:26px}
}

.party-settings,.party-history{margin-top:22px}.party-settings h2{margin-bottom:20px}.game-pick{display:flex;align-items:center;gap:10px;margin-bottom:12px}.game-pick input{width:auto}.party-settings-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:22px}.party-settings-row input{width:85px;padding:10px;background:var(--paper);border:1px solid var(--line);border-radius:8px;color:var(--ink)}.party-history summary{cursor:pointer}.party-history article{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.party-history h3{font-size:18px;margin-bottom:8px}.party-history p{line-height:1.6}

.party-topics{margin-top:24px;border:1px solid var(--line);border-radius:10px;padding:16px}.party-topics legend{padding:0 6px;font-weight:600}.party-topic-options{display:flex;flex-wrap:wrap;gap:9px}.party-topic-label{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:8px;padding:8px 11px;font-size:13px}.party-topic-label input,.host-join-setting input[type="checkbox"]{width:18px;height:18px;flex-shrink:0;accent-color:var(--red)}.host-join-setting{margin-top:24px}.host-join-setting>label{display:flex;align-items:center;gap:9px}.host-join-setting input[type="text"]{max-width:300px;margin-top:12px}.party-topics .hint{margin-top:12px}#hostPlayLink{white-space:nowrap}

.phase-settings{border:1px solid var(--line);border-radius:10px;margin:24px 0;padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.phase-settings legend{padding:0 6px;font-weight:600}.phase-settings label{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:13px}.phase-settings input,.final-setting input{width:85px;flex-shrink:0;padding:10px}.final-setting{display:flex;align-items:center;gap:20px;font-size:14px}.final-setting+.hint{margin-top:10px}.host #pauseToggle{white-space:nowrap}@media(max-width:700px){.phase-settings{grid-template-columns:1fr;padding:14px}.final-setting{justify-content:space-between}.host #pauseToggle{font-size:11px}}
