:root{--ink:#0d1b4c;--deep:#08123a;--red:#e03a3e;--paper:#f4f6fb;--mute:#aab4d6;--up:#12804a;--dn:#c4262b}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:var(--deep);color:var(--ink);font:17px/1.5 'Source Serif 4',Georgia,serif}
header{background:var(--ink);padding:16px 14px 12px;text-align:center;border-bottom:10px solid transparent;border-image:repeating-linear-gradient(90deg,var(--red) 0 36px,var(--paper) 36px 72px) 1}
h1{font:900 clamp(34px,8vw,64px)/.9 'Big Shoulders Display',Impact,sans-serif;color:var(--paper);margin:0;text-transform:uppercase}
#hud{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:10px}
#hud span{border:2px solid var(--mute);color:var(--mute);padding:1px 10px;font-size:13px}
#hud b{font:800 18px 'Big Shoulders Display',sans-serif;color:var(--paper);margin-left:4px}
main{max-width:760px;margin:18px auto 60px;padding:0 14px}
.card{background:var(--paper);border-top:6px solid var(--red);padding:20px 22px;box-shadow:6px 6px 0 #000a}
h2{font:900 clamp(26px,5.5vw,38px)/1.05 'Big Shoulders Display',Impact,sans-serif;margin:.1em 0 .3em;text-transform:uppercase}
.tag{color:var(--red);font-weight:600;font-size:15px;margin:0}
.you{opacity:.7}
button{font:inherit;color:var(--ink);background:transparent;border:2px solid var(--ink);padding:12px 16px;text-align:left;cursor:pointer}
button:hover,button:focus-visible{background:var(--ink);color:var(--paper);outline:none}
.opts{display:grid;gap:10px;margin:20px 0}
.own{display:grid;gap:8px;border-top:2px dashed #0d1b4c40;padding-top:16px}
textarea,input{width:100%;font:inherit;color:var(--ink);background:#fff;border:2px solid var(--ink);padding:12px;border-radius:0}
textarea:focus,input:focus{outline:3px solid var(--red)}
.pri{background:var(--red);border-color:var(--red);color:#fff;font-weight:600;margin-top:12px;width:100%;text-align:center}
.pri:hover,.pri:focus-visible{background:var(--ink);border-color:var(--ink)}
.ghost{width:100%;margin-top:8px;text-align:center}
.party{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}
.party button{text-align:center;font:800 24px 'Big Shoulders Display',sans-serif;text-transform:uppercase}
.party button:first-child{border-color:#2a4fd0;color:#2a4fd0}.party button:last-child{border-color:var(--red);color:var(--red)}
.party button:first-child:hover{background:#2a4fd0;color:#fff}.party button:last-child:hover{background:var(--red);color:#fff}
.big{display:flex;justify-content:space-between;align-items:baseline;margin:16px 0 10px}
.big b{font:900 44px 'Big Shoulders Display',sans-serif}
.bar{display:grid;grid-template-columns:150px 1fr 48px;gap:10px;align-items:center;margin:5px 0;font-size:15px}
.bar div{height:12px;background:#0d1b4c1f}.bar i{display:block;height:100%;background:var(--ink);transition:width .7s}
.bar em{font-style:normal;font-weight:600;text-align:right}
.up{color:var(--up)}.dn{color:var(--dn)}
.news{list-style:none;margin:14px 0 0;padding:10px 14px;border-left:6px solid var(--red);background:#0d1b4c0d;font-size:16px}
.news li{margin:4px 0}.news .h{font-weight:600;color:var(--red)}
.warn{color:var(--dn);font-weight:600}
@media(max-width:520px){.bar{grid-template-columns:105px 1fr 42px;font-size:14px}.card{padding:16px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.row button{text-align:center}
.seat{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:2px dashed #0d1b4c40;font-size:16px}
.seat>div:last-child{display:grid;gap:6px}.seat button{padding:6px 12px;font-size:14px}
@media(max-width:520px){.seat{flex-direction:column;align-items:stretch}}
.party button{display:grid;gap:10px;align-content:start;text-align:left;text-transform:none}
.party .pn{font:900 38px/1 'Big Shoulders Display',Impact,sans-serif;text-transform:uppercase}
.party .pt{font:400 15px/1.45 'Source Serif 4',Georgia,serif;color:var(--ink)}
@media(max-width:620px){.party{grid-template-columns:1fr}}

.map{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0}.map span{font-size:12px;font-weight:600;padding:3px 5px;min-width:34px;text-align:center;color:#0d1b4c}
.fg{margin-top:16px}.fg summary{cursor:pointer;font-weight:600}.fg .news{margin-top:10px}
select{width:100%;font:inherit;color:var(--ink);background:#fff;border:2px solid var(--ink);padding:10px;margin-bottom:8px;border-radius:0}
.ask{border-top:2px dashed #0d1b4c40;margin-top:24px;padding-top:12px}.ask input{margin-bottom:8px}.ask .news{margin-top:12px}#ans>button{margin:6px 6px 0 0}
#txt{margin-top:6px}
.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:4px}.row3 button{text-align:center}
@media(max-width:620px){.row3{grid-template-columns:1fr}}
#spin{margin-top:10px}

.reply p{margin:.55rem 0;line-height:1.5}.reply .who{font-weight:700;margin-bottom:.2rem}

/* HUD trend arrows: arrow on top, percent change underneath */
#hud .tr{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;margin-left:6px;font-style:normal;line-height:1.1}
#hud .tr i{font-style:normal;font-size:12px}
#hud .tr small{font-size:12px;font-weight:600;color:#c3c9e0}
#hud .tr.good i{color:#5fe39a}
#hud .tr.bad i{color:#ff6b6f}
.news .dek{display:block;font-size:14px;color:#0d1b4cb3;margin-top:2px}
.reply .say{border-left:4px solid var(--red);padding:2px 0 2px 12px;font-style:italic;margin:.4rem 0}.reply b{color:var(--ink)}

/* ---------- Tidier screens ---------- */
.lead{margin:.3rem 0 .6rem}.fine{font-size:14px;opacity:.75;margin:6px 0 0}small{font-size:13px;opacity:.75;font-weight:400}
h4{font:700 13px/1.2 'Source Serif 4',Georgia,serif;margin:14px 0 6px;text-transform:uppercase;letter-spacing:.06em;color:var(--red)}
.notes{margin:8px 0}.note{margin:5px 0;padding:6px 12px;border-left:5px solid var(--ink);background:#0d1b4c0d;font-size:15px;opacity:1}.note.bad{border-color:var(--dn);color:var(--dn);font-weight:600}
.decide{margin-top:10px}.decide .tag{margin:0 0 4px}.decide textarea{margin:0}
.stmt{margin-top:8px}.stmt summary{cursor:pointer;font-size:15px;font-weight:600}.stmt input{margin-top:8px}
.tools{display:grid;gap:8px;margin-top:14px}
.tool{border:2px solid #0d1b4c26;background:#fff;padding:8px 12px;margin:0}.tool>summary{cursor:pointer;font-weight:600}.tool[open]>summary{margin-bottom:8px}
.tool .news{margin-top:8px;font-size:15px}.tool .you{margin:6px 0}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0;align-items:center}.chips button{padding:5px 10px;font-size:14px;width:auto}
.opts.chips{display:flex;margin:6px 0 0}
.askrow{display:flex;flex-wrap:wrap;gap:8px}.askrow select{flex:1 1 170px;margin:0}.askrow input{flex:2 1 230px;margin:0}
.ask .row,.tool .row{grid-template-columns:1fr 1fr;margin-top:8px}.tool .row button{padding:8px}
.foot{margin-top:14px;padding-top:10px;border-top:2px dashed #0d1b4c40}
button.sm,.sm{padding:5px 12px;font-size:14px;width:auto;margin-top:8px}

/* adviser answers */
.reply{background:#fff;border:2px solid #0d1b4c26;padding:8px 14px 12px;margin-top:10px}
.reply .who{font-size:14px;font-weight:700;color:var(--red);margin:0 0 2px}
.reply p{margin:.35rem 0;line-height:1.45}.reply .lead{font-size:16px}
.reply h4{margin:10px 0 4px}
.reply ol.acts{margin:0;padding-left:22px}.reply ol.acts li{margin:5px 0}.reply ol.acts summary{cursor:pointer;font-weight:600}.reply ol.acts details p{margin:.25rem 0 .1rem;font-size:15.5px}
.reply .sec{margin-top:6px}.reply .sec summary{cursor:pointer;font-weight:600;font-size:15px}.reply .sec p{margin:.3rem 0 0;font-size:15.5px}
.reply .say{border-left:4px solid var(--red);padding:2px 0 2px 12px;font-style:italic;margin:.35rem 0}
.reply .pressbox{margin:0}.reply .pressbox .sm{margin-top:4px}
.reply .chips{margin-top:10px}

/* break screen */
.restgrid,.mgrid{display:flex;flex-wrap:wrap;gap:8px}
.restgrid button,.mgrid button{flex:1 1 200px;display:block;padding:10px 12px;text-align:left;margin:0}
.restgrid small,.mgrid small{display:block;margin-top:3px;opacity:.8}.restgrid button:hover small,.mgrid button:hover small{opacity:1}

/* management office */
.orows{margin:6px 0 10px}.orow{padding:9px 0;border-bottom:2px dashed #0d1b4c33}
.oinfo{font-size:15.5px}.chip{display:inline-block;font-size:12px;font-weight:600;border:1px solid #0d1b4c55;padding:0 6px;margin-left:6px}.chip.bad{border-color:var(--dn);color:var(--dn)}
.odir{margin:4px 0;font-size:14.5px}.dirtag{font-weight:600;color:var(--red)}.odir .x{padding:1px 8px;font-size:12px;width:auto;margin-left:6px}
.oin{display:flex;gap:8px;margin-top:6px;align-items:center}.oin input{flex:1;margin:0;padding:8px 10px}.oin button{padding:7px 12px;font-size:15px}
.mgrid{margin-top:12px}.mgrid button{text-align:center}
#dupmsg{margin:0 0 8px}#dupmsg .ghost{width:auto;margin:4px 6px 0 0;padding:5px 10px;font-size:14px}

/* turn cycle: Decision -> Results -> Break */
.phase{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:13px;font-weight:600;color:#0d1b4c80}
.phase span{padding:2px 10px;border:2px solid #0d1b4c33}.phase span.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}.phase span.done{color:var(--up);border-color:var(--up)}
.phase i{flex:0 0 18px;height:2px;background:#0d1b4c33}
#go2{margin-top:16px}
