@font-face{font-family:Libre Baskerville;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/libre-baskerville-latin-400-normal-C42RasBZ.woff2)format("woff2"),url(/assets/libre-baskerville-latin-400-normal-BTm3cn9P.woff)format("woff")}@font-face{font-family:Libre Baskerville;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/libre-baskerville-latin-700-normal-CLGq6Yj4.woff2)format("woff2"),url(/assets/libre-baskerville-latin-700-normal-D1DCMXWx.woff)format("woff")}@font-face{font-family:Libre Franklin;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/libre-franklin-latin-400-normal-DNAyL8lK.woff2)format("woff2"),url(/assets/libre-franklin-latin-400-normal-B5qoBLOl.woff)format("woff")}@font-face{font-family:Libre Franklin;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/libre-franklin-latin-600-normal-BBKMvfE-.woff2)format("woff2"),url(/assets/libre-franklin-latin-600-normal-DjS29Py2.woff)format("woff")}@font-face{font-family:Libre Franklin;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/libre-franklin-latin-700-normal-TBBKpXzk.woff2)format("woff2"),url(/assets/libre-franklin-latin-700-normal-CP58KLQO.woff)format("woff")}:root{--color-bg:#0f2436;--color-bg-raised:#16324a;--color-card:#fbf1cf;--color-card-ink:#2a2015;--color-ink:#f4ead0;--color-ink-dim:#b9c6d1;--color-gold:#c9a24b;--color-gold-bright:#e4c874;--color-danger:#d1594a;--color-ok:#6fae7a;--font-heading:"Libre Baskerville", Georgia, "Times New Roman", serif;--font-body:"Libre Franklin", system-ui, "Segoe UI", sans-serif;--weight-regular:400;--weight-semibold:600;--weight-bold:700;--radius-card:14px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:radial-gradient(circle at 50% -10%, var(--color-bg-raised), var(--color-bg) 60%);color:var(--color-ink);font-family:var(--font-body);font-weight:var(--weight-regular);min-height:100dvh;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom)}#root{flex-direction:column;min-height:100dvh;display:flex}h1,h2,h3{font-family:var(--font-heading);font-weight:var(--weight-bold);letter-spacing:.04em;margin:0}button{font-family:var(--font-body);font-weight:var(--weight-semibold);cursor:pointer}[hidden]{display:none!important}.app{flex-direction:column;flex:1;width:100%;max-width:480px;margin:0 auto;padding:0 20px 32px;display:flex}.top-bar{justify-content:space-between;align-items:center;padding:14px 0;display:flex}.brand-mark{font-family:var(--font-heading);font-weight:var(--weight-bold);letter-spacing:.12em;color:var(--color-gold-bright);font-size:.9rem}.instructions-button{border:1px solid var(--color-gold);color:var(--color-gold-bright);letter-spacing:.08em;background:0 0;border-radius:999px;padding:6px 14px;font-size:.75rem}.connection-banner{background:var(--color-danger);color:var(--color-card);text-align:center;border-radius:8px;margin-bottom:12px;padding:6px 0;font-size:.8rem}.screen{flex-direction:column;flex:1;justify-content:center;gap:28px;padding:24px 0;display:flex}.screen--top{justify-content:flex-start}.title-block{text-align:center}.title-block h1{color:var(--color-gold-bright);text-transform:uppercase;font-size:2rem}.title-block .subtitle{color:var(--color-ink-dim);margin-top:8px;font-size:.85rem}.button-stack{flex-direction:column;gap:14px;display:flex}.btn{border-radius:var(--radius-card);letter-spacing:.06em;text-transform:uppercase;border:2px solid #0000;padding:16px 20px;font-size:1rem;font-weight:600}.btn-primary{background:var(--color-gold);color:#201705;border-color:var(--color-gold-bright)}.btn-primary:active{background:var(--color-gold-bright)}.btn-secondary{color:var(--color-ink);border-color:var(--color-ink-dim);background:0 0}.btn-secondary:active{border-color:var(--color-ink)}.card-panel .btn-secondary{color:var(--color-bg);opacity:1;border-color:#8a6c2f}.card-panel .btn-secondary:active{border-color:var(--color-card-ink);background:#2a201514}.btn:disabled{opacity:.5;cursor:not-allowed}.card-panel{background:var(--color-card);color:var(--color-card-ink);border-radius:var(--radius-card);padding:22px;box-shadow:0 12px 30px #00000059}.card-panel h2{color:var(--color-card-ink);margin-bottom:16px;font-size:1.1rem}.field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.field label{letter-spacing:.1em;text-transform:uppercase;color:#5c4a26;font-size:.7rem}.field input{font-family:var(--font-body);color:var(--color-card-ink);letter-spacing:.04em;background:#fffdf5;border:2px solid #d9c896;border-radius:8px;padding:12px 14px;font-size:1.1rem}.field input:focus{border-color:var(--color-gold);outline:none}.error-text{color:var(--color-danger);margin:-4px 0 16px;font-size:.85rem}.room-code{text-align:center}.room-code .code{font-family:var(--font-body);font-weight:var(--weight-bold);letter-spacing:.3em;color:var(--color-gold-bright);font-size:2.4rem}.room-code .label{letter-spacing:.14em;color:var(--color-ink-dim);text-transform:uppercase;font-size:.7rem}.player-count{text-align:center;color:var(--color-ink-dim);letter-spacing:.06em;text-transform:uppercase;font-size:.8rem}.player-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.player-row{background:#ffffff0a;border:1px solid #c9a24b59;border-radius:10px;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.player-row .name{align-items:center;gap:8px;display:flex}.status-dot{background:var(--color-ok);border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-dot.offline{background:var(--color-ink-dim)}.host-tag{letter-spacing:.08em;color:var(--color-gold-bright);border:1px solid var(--color-gold);border-radius:999px;padding:2px 8px;font-size:.65rem}.waiting-note{text-align:center;color:var(--color-ink-dim);font-size:.8rem}.candidate-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.candidate-row{width:100%;font-family:var(--font-body);font-size:1.05rem;font-weight:var(--weight-semibold);color:var(--color-card-ink);text-align:left;background:#ffffff80;border:2px solid #2a201526;border-radius:10px;align-items:center;gap:10px;min-height:52px;padding:16px 14px;display:flex}.candidate-row:active{background:#ffffffb3}.candidate-row.selected{background:#f3e3b0;border-color:#8a6c2f}.candidate-row .status-dot{background:var(--color-ok)}.candidate-row .status-dot.offline{background:#8a7f6a}.candidate-name{overflow-wrap:anywhere}.vote-progress{text-align:center;color:var(--color-ink-dim);letter-spacing:.06em;text-transform:uppercase;font-size:.8rem}.vote-status h2{text-align:center;margin-bottom:10px}.vote-status .waiting-note{margin:0}.election-result{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;padding:24px 0;display:flex}.election-result-eyebrow{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-dim);font-size:.8rem}.election-result-name{font-family:var(--font-heading);font-weight:var(--weight-bold);color:var(--color-gold-bright);text-transform:uppercase;overflow-wrap:anywhere;font-size:2.4rem;line-height:1.15}.election-result-role{font-family:var(--font-heading);letter-spacing:.06em;color:var(--color-ink);font-size:1rem}.election-result-you{letter-spacing:.08em;text-transform:uppercase;color:var(--color-gold-bright);border:1px solid var(--color-gold);border-radius:999px;margin-top:12px;padding:8px 16px;font-size:.85rem}.election-result-actions{flex-direction:column;gap:10px;width:100%;margin-top:10px;display:flex}.cabinet-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.cabinet-card{background:var(--color-card);border-radius:var(--radius-card);overflow:hidden;box-shadow:0 10px 24px #0000004d}.cabinet-card-header{text-align:left;width:100%;font-family:var(--font-body);color:var(--color-card-ink);background:0 0;border:none;padding:16px 18px;display:block}.cabinet-card-header.tappable{cursor:pointer}.cabinet-card-header.tappable:active{background:#0000000d}.cabinet-card-header:disabled{cursor:default}.cabinet-card-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 10px;display:flex}.cabinet-position-name{font-family:var(--font-heading);font-weight:var(--weight-bold);letter-spacing:.02em;font-size:.95rem}.cabinet-assignee{font-size:.9rem;font-weight:var(--weight-semibold);color:#4a6b3a;white-space:nowrap}.cabinet-assignee.unassigned{color:#8a7f6a;font-weight:var(--weight-regular);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.cabinet-position-description{color:#5c4a26;margin-top:8px;font-size:.8rem;line-height:1.5}.cabinet-player-picker{border-top:1px solid #2a20151f;flex-direction:column;gap:8px;margin:0;padding:12px 14px 16px;list-style:none;display:flex}.confirm-prompt{text-align:center;color:var(--color-gold-bright);letter-spacing:.04em;font-size:.9rem}.role-intro-screen{text-align:center}.role-introduction-position{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-dim);font-size:.85rem}.role-introduction-headline{font-family:var(--font-heading);font-weight:var(--weight-bold);color:var(--color-gold-bright);text-transform:uppercase;overflow-wrap:anywhere;margin-bottom:4px;font-size:2.2rem;line-height:1.15}.role-intro-copy{text-align:left;flex-direction:column;gap:12px;width:100%;display:flex}.role-intro-copy p{margin:0;font-size:.9rem;line-height:1.5}.start-message{text-align:center;color:var(--color-gold-bright);font-size:.85rem}.instructions-overlay{z-index:20;background:#040a10b8;justify-content:center;align-items:flex-end;padding:16px;display:flex;position:fixed;inset:0}.instructions-sheet{background:var(--color-card);color:var(--color-card-ink);border-radius:var(--radius-card);width:100%;max-width:480px;max-height:80vh;padding:24px;overflow-y:auto}.instructions-sheet h2{margin-bottom:4px}.instructions-sheet .role-tag{letter-spacing:.1em;text-transform:uppercase;color:#8a6c2f;margin-bottom:14px;font-size:.7rem;display:block}.instructions-sheet p{font-size:.9rem;line-height:1.5}.loading-screen{color:var(--color-ink-dim);letter-spacing:.1em;text-transform:uppercase;flex:1;justify-content:center;align-items:center;font-size:.85rem;display:flex}.year-start-screen{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:18px;padding:24px 0;display:flex}.year-start-eyebrow{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-dim);font-size:.8rem}.year-start-headline{font-family:var(--font-heading);font-weight:var(--weight-bold);color:var(--color-gold-bright);text-transform:uppercase;font-size:2rem}.role-header{text-align:center}.role-header-label{letter-spacing:.12em;text-transform:uppercase;color:var(--color-ink-dim);margin-bottom:6px;font-size:.7rem}.role-header-value{font-family:var(--font-heading);font-weight:var(--weight-bold);letter-spacing:.03em;color:var(--color-gold-bright);overflow-wrap:anywhere;font-size:1.6rem}.current-situation{text-align:center}.current-situation-label{letter-spacing:.12em;text-transform:uppercase;color:var(--color-ink-dim);margin-bottom:6px;font-size:.7rem}.current-situation-value{font-family:var(--font-heading);font-weight:var(--weight-semibold);color:var(--color-ink);overflow-wrap:anywhere;font-size:1.15rem}.current-situation-value--mine{color:var(--color-gold-bright);font-weight:var(--weight-bold)}.situation-front-screen{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:28px;padding:24px 0;display:flex}.situation-card-front{aspect-ratio:3/4;border-radius:var(--radius-card);border:2px solid var(--color-gold);background:radial-gradient(circle at 50% 30%, var(--color-bg-raised), var(--color-bg) 75%);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:100%;max-width:320px;padding:24px;animation:.35s ease-out situation-card-flip-in;display:flex;box-shadow:0 16px 34px #00000073}@keyframes situation-card-flip-in{0%{opacity:0;transform:rotateY(90deg)}to{opacity:1;transform:rotateY(0)}}.situation-card-front-position{font-family:var(--font-heading);font-weight:var(--weight-bold);letter-spacing:.03em;color:var(--color-gold-bright);text-transform:uppercase;overflow-wrap:anywhere;font-size:1.3rem}.situation-card-front-name{font-family:var(--font-body);color:var(--color-ink);font-size:1rem}.situation-prompt{white-space:pre-line;font-size:.95rem;line-height:1.5}.situation-answers-preview{position:relative}.situation-answers-note{text-align:center;text-transform:uppercase;letter-spacing:.08em;color:#8a6c2f;margin-bottom:12px;font-size:.7rem}.situation-answer-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.answer-option{text-align:left;width:100%;font-family:var(--font-body);background:#0000000a;border:2px solid #0000;border-radius:8px;align-items:flex-start;gap:10px;padding:12px;display:flex}.answer-option:active{background:#00000014}.answer-option.selected{background:#f3e3b0;border-color:#8a6c2f}.answer-option-letter{font-family:var(--font-heading);font-weight:var(--weight-bold);color:#8a6c2f;flex-shrink:0}.answer-option-text{color:var(--color-card-ink);font-size:.9rem;line-height:1.4}.reveal-heading{text-align:center;text-transform:uppercase;letter-spacing:.06em;color:#8a6c2f;margin-bottom:8px;font-size:.8rem}.reveal-text{text-align:center;font-size:1rem;line-height:1.5}.discuss-banner{text-align:center;font-family:var(--font-heading);font-weight:var(--weight-bold);letter-spacing:.1em;text-transform:uppercase;color:var(--color-gold-bright);font-size:1.6rem}.die-roll-button{font-size:1.1rem}.die-face{border:2px solid var(--color-gold);background:radial-gradient(circle at 50% 30%, var(--color-bg-raised), var(--color-bg) 75%);width:96px;height:96px;font-family:var(--font-heading);font-weight:var(--weight-bold);color:var(--color-gold-bright);border-radius:16px;justify-content:center;align-items:center;margin:0 auto;font-size:2.4rem;display:flex;box-shadow:0 10px 24px #0006}.die-face--rolling{animation:1.2s cubic-bezier(.18,.7,.3,1) die-roll-spin}.die-face--settled{animation:.25s ease-out die-settle}@keyframes die-roll-spin{0%{transform:rotate(0)scale(1)}15%{transform:rotate(260deg)scale(1.1)}35%{transform:rotate(560deg)scale(1.1)}55%{transform:rotate(800deg)scale(1.05)}75%{transform:rotate(980deg)scale(1.02)}90%{transform:rotate(1060deg)scale(1.01)}to{transform:rotate(1080deg)scale(1)}}@keyframes die-settle{0%{transform:scale(1.25)}to{transform:scale(1)}}.dice-result-summary{text-align:center}.dice-result-position{letter-spacing:.1em;text-transform:uppercase;color:var(--color-ink-dim);margin-bottom:4px;font-size:.8rem}.dice-result-points{font-family:var(--font-heading);font-weight:var(--weight-bold);color:var(--color-gold-bright);font-size:2rem}.dice-result-total{color:var(--color-ink-dim);margin-top:6px;font-size:.85rem}.rating-picker{border-top:1px solid #2a20151f;flex-direction:column;gap:8px;margin:0;padding:12px 14px 16px;list-style:none;display:flex}.rating-option{width:100%;font-family:var(--font-body);font-size:.95rem;font-weight:var(--weight-semibold);color:var(--color-card-ink);text-align:left;background:#ffffff80;border:2px solid #2a201526;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.rating-option:active{background:#ffffffb3}.rating-option.selected{background:#f3e3b0;border-color:#8a6c2f}.rating-option.unavailable{opacity:.4}.rating-option-points{font-family:var(--font-heading);color:#8a6c2f;flex-shrink:0;font-style:italic}.rating-option-clear{color:var(--color-danger);border-style:dashed;justify-content:center}.rating-card{background:var(--color-card);width:100%;max-width:320px;color:var(--color-card-ink);border-radius:var(--radius-card);text-align:center;margin:0 auto;padding:28px 20px;animation:.4s ease-out rating-card-reveal;box-shadow:0 12px 30px #00000059}@keyframes rating-card-reveal{0%{opacity:0;transform:rotateY(90deg)}to{opacity:1;transform:rotateY(0)}}.rating-card-name{font-family:var(--font-heading);font-weight:var(--weight-bold);letter-spacing:.02em;border-bottom:1px solid #2a20154d;margin-bottom:14px;padding-bottom:14px;font-size:1.4rem}.rating-card-points{font-family:var(--font-heading);color:#8a6c2f;font-size:1.1rem;font-style:italic}.rating-score-math{text-align:center;color:var(--color-ink-dim);font-size:.9rem;line-height:1.7}.rating-score-math-new{color:var(--color-gold-bright);font-weight:var(--weight-bold);font-size:1.1rem}.standings-list{counter-reset:standings;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.standings-row{counter-increment:standings;background:var(--color-card);color:var(--color-card-ink);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.standings-row:before{content:counter(standings) ".";font-family:var(--font-heading);font-weight:var(--weight-bold);color:#8a6c2f;margin-right:8px}.standings-name{overflow-wrap:anywhere;flex:1;font-size:.9rem}.standings-score{font-family:var(--font-heading);font-weight:var(--weight-bold);font-size:1.1rem}.press-target-option.selected{background:#f3e3b0}.press-modifier-picker{justify-content:center;gap:14px;display:flex}.press-modifier-option{border-radius:var(--radius-card);text-align:center;max-width:140px;font-family:var(--font-heading);font-weight:var(--weight-bold);background:var(--color-card);border:2px solid #0000;flex:1;padding:18px 0;font-size:1.4rem}.press-modifier-positive{color:#2f6b3d}.press-modifier-negative{color:#8a2f24}.press-modifier-option.selected.press-modifier-positive{border-color:var(--color-ok);background:#e4f2e6}.press-modifier-option.selected.press-modifier-negative{border-color:var(--color-danger);background:#f6e4e1}.big-news-card{border:2px solid var(--color-gold);border-radius:var(--radius-card);background:radial-gradient(circle at 50% 20%, var(--color-bg-raised), var(--color-bg) 80%);text-align:center;width:100%;padding:28px 22px;animation:.4s ease-out big-news-reveal;box-shadow:0 16px 34px #00000073}@keyframes big-news-reveal{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.big-news-eyebrow{font-family:var(--font-body);font-size:.75rem;font-weight:var(--weight-semibold);letter-spacing:.18em;text-transform:uppercase;color:var(--color-gold-bright);margin-bottom:14px}.big-news-body{font-family:var(--font-heading);color:var(--color-ink);font-size:1.15rem;line-height:1.5}.big-news-body strong{color:var(--color-gold-bright)}.big-news-modifier{font-family:var(--font-heading);font-weight:var(--weight-bold);margin-top:14px;font-size:2.2rem}.big-news-modifier.positive{color:var(--color-ok)}.big-news-modifier.negative{color:var(--color-danger)}.big-news-card--resignation{border-color:#8a6c2f}.press-pass-card{border-radius:var(--radius-card);border:2px solid var(--color-gold);background:#10222d;width:100%;max-width:320px;margin:0 auto;animation:.5s ease-out rating-card-reveal;overflow:hidden;box-shadow:0 16px 34px #00000073}.press-pass-header{text-align:center;font-family:var(--font-body);font-size:.7rem;font-weight:var(--weight-semibold);letter-spacing:.16em;text-transform:uppercase;color:var(--color-ink);border-bottom:2px solid var(--color-gold);margin:0;padding:16px 16px 12px}.press-pass-title{text-align:center;background:var(--color-card);color:var(--color-card-ink);font-family:var(--font-heading);font-weight:var(--weight-bold);letter-spacing:.01em;border-bottom:2px solid var(--color-gold);margin:0;padding:14px 16px;font-size:1.65rem}.press-pass-seal{width:76%;max-width:230px;margin:22px auto 0;display:block}.press-pass-name{font-family:var(--font-heading);font-weight:var(--weight-bold);color:var(--color-gold-bright);text-align:center;overflow-wrap:anywhere;margin:20px 18px 0;font-size:1.4rem}.press-pass-role{font-family:var(--font-heading);color:var(--color-ink);text-align:center;margin:6px 18px 0;font-size:1rem;font-style:italic}.press-pass-note{color:var(--color-ink-dim);text-align:center;margin:4px 18px 24px;font-size:.82rem}.support-president-option{border-radius:var(--radius-card);border:2px solid var(--color-gold);background:radial-gradient(circle at 50% 20%, var(--color-bg-raised), var(--color-bg) 80%);text-align:center;flex-direction:column;align-items:center;gap:4px;width:100%;padding:18px 16px;display:flex}.support-president-option.selected{border-color:var(--color-gold-bright);background:radial-gradient(circle at 50% 20%, #234764, var(--color-bg-raised) 80%)}.support-president-title{font-family:var(--font-heading);font-weight:var(--weight-bold);color:var(--color-gold-bright);text-transform:uppercase;letter-spacing:.03em;font-size:1.1rem}.support-president-detail{color:var(--color-ink-dim);font-size:.8rem}.big-news-card--second-term .big-news-modifier{letter-spacing:.04em;font-size:1.3rem}.victory-screen{text-align:center;gap:20px}.victory-eyebrow{font-family:var(--font-body);font-size:.8rem;font-weight:var(--weight-semibold);letter-spacing:.16em;text-transform:uppercase;color:var(--color-ink-dim)}.victory-headline{font-family:var(--font-heading);font-weight:var(--weight-bold);color:var(--color-gold-bright);overflow-wrap:anywhere;font-size:2.4rem;line-height:1.15}.victory-subheadline{font-family:var(--font-heading);color:var(--color-ink);text-transform:uppercase;letter-spacing:.03em;font-size:1.1rem}.victory-final-score{font-family:var(--font-body);color:var(--color-ink-dim);font-size:.95rem}.victory-detail-card{border:2px solid var(--color-gold);border-radius:var(--radius-card);flex-direction:column;gap:10px;width:100%;padding:16px 20px;display:flex}.victory-detail-row{justify-content:space-between;align-items:baseline;margin:0;display:flex}.victory-detail-label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-dim);font-size:.8rem}.victory-detail-value{font-family:var(--font-heading);font-weight:var(--weight-bold);color:var(--color-gold-bright);font-size:1.3rem}.victory-role-line{color:var(--color-ink);font-size:.9rem;line-height:1.5}
