/* Moonlight presentation: title, readable controls, and match panels. */
:root{--bg:#080f17;--panel:#142331;--border:#3a4c59;--muted:#a6b6c0;--gold:#e5c58c;--text:#f5efe1}
body{background:radial-gradient(ellipse at 50% 0,#1b3042,transparent 65%),var(--bg);font-size:16px}
.site-shell{max-width:1560px;padding:0 clamp(18px,4vw,64px)}
.topbar{height:88px}.topbar nav{gap:20px;font-size:14px}.brand b{font-size:23px;letter-spacing:.15em}.sound-toggle{font-size:11px;padding:8px 13px}.page-heading{padding:28px 0 24px}.page-heading h1{font-size:30px}.intro{font-size:14px}.eyebrow{font-size:10px}
.is-title main{display:flex;flex-direction:column}.is-title .game-layout{display:none}.is-title .page-heading{position:relative;min-height:clamp(390px,41vw,640px);margin-top:24px;padding:40px;align-items:flex-end;border:1px solid #b9a16b66;border-radius:12px;background:linear-gradient(0deg,#080f17f5,transparent 55%),url('/art/title-landscape.webp') center/cover;box-shadow:0 25px 80px #0006;overflow:hidden}.is-title .page-heading>div{align-self:flex-end}.is-title .page-heading h1{font-size:clamp(24px,3vw,40px);text-shadow:0 2px 12px #000}.is-title .page-heading .intro{max-width:370px;color:#e4dac5;line-height:1.9;text-shadow:0 2px 8px #000}.is-title .page-heading .eyebrow{color:#e7c98c;letter-spacing:.23em}
.is-title .lobby{padding:28px 0 0}.lobby-heading{margin-bottom:20px;align-items:baseline}.lobby-heading h2{font-size:27px}.mode-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.mode-card{position:relative;padding:22px;background:linear-gradient(145deg,#1c3040,#101c28);border:1px solid #3b5060;border-radius:7px;min-height:135px;transition:transform .2s,border-color .2s,box-shadow .2s}.mode-card:hover{transform:translateY(-3px);border-color:#dec087;box-shadow:0 10px 25px #0004}.mode-card.selected{background:linear-gradient(135deg,#39382c,#1a2b34);border-color:#e5c58c;box-shadow:inset 0 0 0 1px #e5c58c33,0 0 28px #e5c58c12}.mode-card .mode-number{font-size:10px;margin-bottom:12px;letter-spacing:.15em}.mode-card b{font-size:21px}.mode-card small{font-size:13px;line-height:1.7;color:#b6c2c8;margin-top:9px}
.start-form{padding:24px;margin-top:18px;border:1px solid #3a4b58;border-radius:7px;background:#111f2be6;gap:18px;flex-wrap:wrap;align-items:flex-start}.start-form label:first-child{width:200px}.start-form label:nth-child(2){min-width:220px}.start-form label{font-size:13px}.start-form label small{font-size:12px;line-height:1.7}.start-form button#start-button{height:52px;align-self:flex-end;min-width:225px;font-size:16px}.start-form .voice-preview{margin-top:8px}.join-form{font-size:14px;padding:22px 0}.join-form input{width:240px}
input,select,textarea{font-size:15px;min-height:46px;padding:11px 13px;background:#0b1722;border-color:#526879}.primary,.secondary{font-size:14px;min-height:44px}.primary{background:linear-gradient(135deg,#f0d69f,#c8a46b);border-color:#ead099;box-shadow:0 4px 16px #0003}.secondary{background:#172a37;border-color:#647b88}.primary:hover{filter:brightness(1.1)}button:disabled{cursor:default}.text-button{min-height:44px}
.game-layout{grid-template-columns:minmax(0,1fr) 350px;gap:22px}.table-panel{border-radius:9px;box-shadow:0 18px 50px #0004;border-color:#4d6270}.table-meta{font-size:13px;padding:14px 22px;background:#122330}.night-scene{height:300px}.play-area{padding:22px;min-height:190px;background:linear-gradient(145deg,#1c303d,#12232f)}.player-row{gap:14px;margin-bottom:20px}.player-chip{padding:13px;border-radius:6px;border-color:#526875}.player-chip.active{background:linear-gradient(135deg,#353729,#1c3038);border-color:#ddc18a}.player-identity b{font-size:17px}.player-identity b small{font-size:12px}.controller-type{font-size:10px;letter-spacing:.04em}.seat-badge{font-size:12px;padding:8px}.thinking-badge{font-size:11px}.phase-instruction{font-size:25px;line-height:1.6}.muted{font-size:14px;line-height:1.8}.number-button{width:92px;height:66px;font-size:32px;border-radius:5px;background:linear-gradient(#2c4350,#182c39)}.number-button small{font-size:13px}.action-row{gap:13px;margin-top:18px}.accept-button,.doubt-button{min-height:58px;font-size:20px;min-width:170px}.doubt-button{background:linear-gradient(135deg,#a84f3c,#743225);border-color:#e09c7d;color:#fff2dc}.controls{gap:12px;margin-top:22px;padding-top:18px}.controls button{font-size:13px;min-height:42px;padding:9px 14px}.room-tools{font-size:13px;gap:12px}.room-tools button{font-size:12px;min-height:36px;padding:7px 11px}.history-panel{border-radius:9px;min-height:550px;max-height:760px;border-color:#435967;background:linear-gradient(#122431,#0d1a24)}.panel-heading{padding:20px}.panel-heading h2{font-size:23px}.panel-heading .eyebrow{font-size:9px}.history-scroll{max-height:610px;padding:0 20px}.history-item{padding:17px 0}.history-item .turn-label{font-size:11px}.history-item strong{font-size:17px}.history-item p{font-size:14px;line-height:1.8}.history-item .flavor{font-size:13px}.history-foot{font-size:12px;padding:14px}.broadcast-status{font-size:15px}.series-panel{font-size:14px}.lab-player{border-radius:8px}.lab-player label{font-size:14px}.lab-player h3{font-size:22px}
dialog:not(.true-view):not(.gochi-intro):not(.final-intro){border-color:#657580;border-radius:10px;box-shadow:0 25px 100px #000b}dialog li p{font-size:15px;line-height:1.9}.dialog-close{min-width:44px;min-height:44px}.review-turn>header>b{font-size:15px}.review-turn>header>span{font-size:12px}.review-response{font-size:15px}.review-truth-row>span:last-child{font-size:14px}.truth-compare small{font-size:12px}.truth-badge{font-size:15px}.debt-events strong{font-size:13px}.passed-badge{font-size:10px}.review-summary small{font-size:11px}.review-summary b{font-size:17px}footer{font-size:12px}.voice-credit{font-size:10px}
@media(max-width:1100px){.mode-grid{grid-template-columns:repeat(2,1fr)}.game-layout{grid-template-columns:minmax(0,1fr) 300px}.player-identity b{font-size:15px}.controller-type{white-space:normal}.is-title .page-heading{padding:28px}.is-title .page-heading .intro{max-width:260px;font-size:13px}}
@media(max-width:760px){.topbar{height:auto;min-height:84px;gap:14px;padding:16px 0;flex-wrap:wrap}.topbar nav{gap:12px;font-size:12px;flex-wrap:wrap}.brand b{font-size:20px}.sound-toggle{font-size:10px}.sound-toggle span{font-size:12px}.is-title .page-heading{min-height:520px;margin-top:16px;padding:24px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;background-image:linear-gradient(0deg,#080f17 0%,#080f17dd 22%,transparent 60%),url('/art/title-portrait.webp');background-position:center,center 38%}.is-title .page-heading>div{align-self:auto}.is-title .page-heading .intro{max-width:none;font-size:14px;margin-top:16px}.is-title .page-heading h1{font-size:29px}.is-title .page-heading .eyebrow{font-size:8px}.lobby-heading h2{font-size:24px}.mode-card{padding:17px;min-height:135px}.mode-card b{font-size:18px}.mode-card small{font-size:12px}.start-form{padding:18px;gap:16px}.start-form label:first-child,.start-form label:nth-child(2),.start-form label{width:100%;min-width:0;flex:auto}.start-form button#start-button{width:100%}.game-layout{grid-template-columns:1fr}.page-heading h1{font-size:25px}.night-scene{height:260px}.history-panel{min-height:250px;max-height:440px}.history-scroll{max-height:280px}.player-chip{padding:10px}.player-identity b{white-space:normal;font-size:15px}.controller-type{font-size:9px}.phase-instruction{font-size:23px}.play-area{padding:18px}.number-button{width:76px;height:60px}.room-tools{gap:9px}.topbar .night-label{display:none}.review-truth-row{flex-wrap:wrap}.review-turn>header{flex-wrap:wrap}.review-summary{grid-template-columns:1fr 1fr}}
.start-form .voice-pickers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;width:100%;order:2;padding-top:18px;border-top:1px solid #40535f}.start-form .voice-pickers>label{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;width:auto;min-width:0}.start-form .voice-pickers select{grid-column:1;min-width:0;width:100%;margin-top:0}.start-form .voice-pickers .voice-preview{grid-column:2;grid-row:2;margin:0;align-self:stretch}.start-form #start-button{order:3;margin-left:auto}.mode-card:focus-visible{outline:3px solid #f2d498;outline-offset:5px}.mode-card.selected:after{content:'✓';position:absolute;right:15px;top:14px;color:#f2d498;font:700 17px sans-serif}.player-identity{flex:1}.player-identity b{white-space:normal;overflow-wrap:anywhere}.is-lab .game-layout{display:none}.is-lab .lab{padding-bottom:20px}
@media(max-width:760px){.start-form .voice-pickers{grid-template-columns:1fr}.start-form #start-button{margin-left:0}.player-row{flex-wrap:wrap}.player-chip{min-width:calc(50% - 7px)}.thinking-badge{white-space:normal}.mode-card.selected:after{right:10px;top:9px}}
@media(min-width:761px){.is-title .page-heading{aspect-ratio:1672/941;min-height:0;background-size:cover}.is-title .page-heading h1{font-size:clamp(24px,2.7vw,40px)}}
@media(max-width:760px){.series-banner{padding:12px;margin-bottom:14px}.series-banner strong{font-size:15px}.series-banner p{font-size:13px;line-height:1.7}.series-score{font-size:15px;margin:7px 0}.series-score b{font-size:26px;padding:0 8px}.player-chip{flex-basis:100%;min-width:0}.thinking-badge{position:static}.page-heading h1{white-space:normal}.phase-instruction{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.mode-card:hover{transform:none}}
