:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f3ece0;background:#151b20;font-synthesis:none;--ink:#f3ece0;--muted:#afbabd;--line:#3b494e;--gold:#dcb676;--panel:#202a30;--red:#e9988e}*{box-sizing:border-box}body{margin:0;padding:env(safe-area-inset-top) max(16px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(16px,env(safe-area-inset-left));overflow-x:hidden}button,input,select,textarea{font:inherit;min-height:44px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:#182127;max-width:100%}button,.button{cursor:pointer;padding:10px 16px;font-weight:650}button:hover,.button:hover{border-color:var(--gold)}button:disabled{opacity:.45;cursor:wait}input,select,textarea{width:100%;padding:10px 12px}textarea{resize:vertical}label{display:block;font-size:.85rem;color:var(--muted);margin:12px 0 6px}label>select{display:block;margin-top:6px}a{color:var(--gold);text-underline-offset:4px}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #89d3e9;outline-offset:3px}h1,h2,h3,p{margin:0}p{line-height:1.55}h1{font-family:Georgia,serif;font-weight:500;letter-spacing:-.035em}h2{font-size:1.05rem}h3{margin-top:24px}small{font-size:.63rem;letter-spacing:.12em;color:var(--gold)}.masthead{max-width:1100px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 0;border-bottom:1px solid var(--line)}.brand{font-weight:900;font-size:1.7rem;letter-spacing:.15em;color:var(--ink);text-decoration:none}.brand span{display:block;font-size:.6rem;letter-spacing:.08em;font-weight:500;color:var(--muted)}nav{display:flex;gap:16px;font-size:.82rem}#app{max-width:1100px;margin:auto}.lobby{max-width:480px;padding:50px 0 40px;margin:auto;display:grid;gap:14px}.lobby h1{font-size:clamp(3rem,12vw,4.8rem);line-height:1}.eyebrow{font-size:.65rem;letter-spacing:.15em;font-weight:750;color:var(--gold)}.muted,.fine{color:var(--muted);font-size:.82rem}.fine{font-size:.74rem}.primary{background:var(--gold);border-color:var(--gold);color:#20272c}.button{display:block;border-radius:9px;text-align:center;text-decoration:none}.danger{color:#ffd7ce;border-color:#ad6f64;background:#482f30}.quiet{background:transparent;font-size:.78rem}.wide{width:100%;margin-top:16px}.create-row{display:flex;align-items:end;gap:12px}.create-row label{width:100px;flex-shrink:0;margin:0}.create-row button{flex:1}details{border-top:1px solid var(--line);padding-top:14px}summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:650}details form{display:grid;gap:6px}details .muted{margin-top:10px}#lobby-error{color:#ffc2b8}.table{padding:26px 0 40px}.table-bar{display:flex;justify-content:space-between;align-items:center;gap:16px}.table-bar h1{font-size:clamp(1.8rem,6vw,2.8rem);margin-top:8px}.table-bar button{flex-shrink:0}.connection{display:flex;gap:12px;align-items:center;min-height:44px;color:var(--muted);font-size:.75rem;flex-wrap:wrap;margin-bottom:12px}#connection-state[data-state=lost],#connection-state[data-state=reconnecting]{color:var(--red)}.army{display:flex;align-items:center;gap:18px;padding:18px 22px;background:linear-gradient(110deg,#2c2832,#202a30);border:1px solid #65505c;border-radius:15px;margin-bottom:16px}.army-icon{font-size:3rem;color:#c994ae}.army b{display:block;font-size:2.1rem;line-height:1}.army span:not(.army-icon){color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.army p{font-size:.85rem;color:#d1c4c8;margin-left:auto;max-width:430px}.players{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.player{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:13px;min-width:0}.player.is-you{border-color:var(--gold)}.player.is-out{opacity:.7}.player-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:3px}.player-head h2{font-size:.85rem;overflow-wrap:anywhere}.player-head>span{color:var(--muted);font-size:.68rem}.player-vitals{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:12px 0}.player-vitals b{letter-spacing:1px;color:#eca397;font-size:.85rem}.player-vitals span{font-size:.7rem;color:var(--muted);text-align:right}.bonuses{display:flex;justify-content:space-between;gap:8px;color:#e4d6b6;font-size:.85rem}.seat-status{font-size:.65rem;color:var(--muted);margin-top:10px}.private,.decision{margin-top:16px;border:1px solid var(--line);border-radius:13px;padding:20px;background:#192329}.private{border-style:dashed}.private-heading{display:flex;justify-content:space-between;gap:16px;align-items:center}.soul{font-size:.7rem;padding:5px 11px;border-radius:20px;border:1px solid #69938c;color:#a9d8c7}.soul.demon{border-color:#ad6f64;color:#ffc2b8}.hand{display:flex;gap:10px;margin:16px 0}.card{display:grid;place-items:center;width:49px;height:65px;background:#eee2c9;color:#253137;font-family:Georgia,serif;font-size:2.1rem;border:2px solid #d3bc97;border-radius:8px;box-shadow:0 3px 0 #111}.decision h2{margin-bottom:10px}.decision>p{font-size:.85rem;color:var(--muted)}.decision form{max-width:650px}.decision form>.primary{margin-top:16px;min-width:180px}.form-grid{display:flex;gap:12px;flex-wrap:wrap}.form-grid>label{flex:1;min-width:100px}.decision .fine{margin-top:10px}.choice-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}fieldset{border:1px solid var(--line);border-radius:9px;padding:8px 14px 14px;margin:16px 0}legend{color:var(--gold);font-size:.8rem}.conversation{margin-top:28px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-title h2{font-family:Georgia,serif;font-size:1.4rem;font-weight:400}#transcript{list-style:none;padding:0;margin:14px 0;max-height:350px;overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:12px;background:#111a20}#transcript li{display:flex;gap:12px;padding:12px 16px;border-bottom:1px solid #29363d;font-size:.8rem;line-height:1.5}#transcript li:last-child{border-bottom:0}.event-number{color:#778990;font-size:.65rem;min-width:20px;padding-top:3px}.utterance{background:#233138}.speech{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:4px;color:#f3ece0}.utterance b{color:var(--gold)}#say-form{display:flex;gap:10px;align-items:stretch}#say-form textarea{flex:1;min-width:0}#say-form button{flex-shrink:0}.conversation>.fine{margin-top:8px}dialog{width:min(600px,calc(100% - 28px));max-height:90dvh;border:1px solid var(--line);border-radius:16px;background:#1b272e;color:var(--ink);padding:22px;box-shadow:0 20px 80px #0009}dialog::backdrop{background:#000b}.sheet-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}.sheet-head h2{font-size:1.4rem;font-family:Georgia,serif}.sheet-head button{font-size:1.5rem;padding:0;width:44px}#sheet-body>p{font-size:.86rem;color:var(--muted)}#sheet-body>button{margin:8px 6px 8px 0}#sheet-body input{font-size:.8rem}#agent-prompt{font-size:.8rem;margin-top:10px}#copy-status{min-height:24px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}@media(min-width:900px){.private{display:inline-block;vertical-align:top;width:30%;margin-right:2%}.decision{display:inline-block;vertical-align:top;width:68%}.private[hidden]+.decision{width:100%}.players{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}@media(max-width:450px){body{padding-left:12px;padding-right:12px}.masthead{padding:17px 0}.brand{font-size:1.4rem}.brand span{max-width:125px;font-size:.5rem}nav{gap:12px;font-size:.72rem}.lobby{padding-top:35px}.players{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.player{padding:10px}.player-head h2{font-size:.77rem}.bonuses{gap:4px;font-size:.77rem}.seat-status{font-size:.6rem}.army{padding:14px;gap:12px;flex-wrap:wrap}.army p{flex:1;min-width:130px;font-size:.75rem}.army-icon{font-size:2.4rem}.army b{font-size:1.8rem}.private,.decision{padding:15px}.table{padding-top:20px}.table-bar h1{font-size:1.8rem}.form-grid{gap:8px}.form-grid>label{min-width:85px}.choice-buttons button{flex:1}.section-title .quiet{max-width:125px;font-size:.7rem}#transcript li{padding:10px}.event-number{min-width:12px}#say-form{gap:7px}#say-form button{padding:10px}.private-heading h2{font-size:.95rem}}
.sealed-choice{display:flex;align-items:center;gap:14px;margin:16px 0;padding:14px;border:1px dashed var(--gold);border-radius:10px;background:#202a30}.sealed-choice .card{flex-shrink:0}.sealed-choice>div{min-width:0;overflow-wrap:anywhere}.sealed-choice strong{font-size:.95rem}.sealed-choice .fine{margin-top:5px}

.class-guide-button{min-height:44px;padding:6px 8px;font-size:.72rem;color:var(--gold);background:transparent;overflow-wrap:anywhere}.class-guide{font-size:.85rem;line-height:1.5}.class-guide .guide-start{padding:10px;border:1px solid var(--line);border-radius:9px}.class-guide h3{margin:18px 0 6px;font-size:.95rem}.class-guide dl{margin:0}.class-guide dt{font-weight:750;color:var(--gold);margin-top:10px}.class-guide dd{margin:2px 0 0}.class-guide .fine{margin-top:14px}.sheet-head button{flex-shrink:0}
.rules{max-width:48rem;margin:0 auto;padding:24px 0 48px;overflow-wrap:anywhere}
.rules h1{font-size:clamp(2rem,8vw,3rem);margin:16px 0 24px}
.rules p{margin:16px 0;line-height:1.65}
.rules h2{font-size:1.2rem;scroll-margin-top:16px}
.rules h3{scroll-margin-top:16px}
.rules-contents{margin:24px 0;border-bottom:1px solid var(--line);padding-bottom:12px}
.rules-contents nav{display:block}
.rules-contents ul{list-style:none;margin:0;padding:0}
.rules-contents a,.rules-home,.rules-back{display:flex;align-items:center;min-height:44px}
.rules-contents a{padding:8px 0;font-size:1rem}
.rules-section-heading{display:flex;align-items:center;gap:16px;margin-top:32px}
.rules-section-heading h2{flex:1;min-width:0}
.rules-back{flex-shrink:0;font-size:.8rem}

#cast-planner{margin:12px 0 20px}#cast-rows{display:grid;gap:10px}#cast-rows fieldset{min-width:0;margin:0;padding:12px}#cast-rows label{margin-top:10px}.party-status{color:var(--gold);font-size:.8rem;margin:14px 0}.cast-seat{border:1px solid var(--line);padding:14px;border-radius:10px;margin-top:12px;overflow-wrap:anywhere}.cast-seat h4{font-size:1rem;margin:0 0 5px}.cast-seat details{margin:10px 0 0}.cast-seat button{margin:8px 6px 0 0}.joined-seat{font-size:.8rem;color:#b9d7c6;margin:8px 0}.story-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:16px 0 8px}.story-tools label{margin:0}.story-tools select{flex:1;min-width:160px;width:auto}.story-tools button{font-size:.8rem}#story-note{font-size:.75rem;color:var(--muted)}#transcript li>div{min-width:0;overflow-wrap:anywhere}#refresh-seats{margin-top:12px}
