/* Council V23: all styles scoped to the modal. World and route are untouched. */
#board .council-v23{--council-line:#bca67a35;--council-gold:#d2bc8c}
#board[data-view="council"] .board-top{min-height:70px;margin-bottom:12px}
#board .council-v23>.lead{font-size:13px;line-height:1.6;margin-bottom:12px;max-width:720px}
#board .council-v23>h2{font-size:32px;margin-bottom:10px}
#board .council-v23>.portal-tabs{margin-top:6px;margin-bottom:14px;padding-bottom:10px}
#board .council-cycle{border-block:1px solid var(--council-line);margin:15px 0 0;padding:10px 0}
#board .cycle-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:11px;color:#a99f88}
#board .cycle-caption strong{font-size:13px;color:#d3c29e;font-weight:500}
#board .council-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#board .council-stages button{position:relative;display:flex;align-items:center;gap:10px;min-width:0;padding:12px 8px;text-align:left;color:#a5a594;background:#11171055;border:1px solid transparent;border-radius:2px;font-family:SectorText,sans-serif;cursor:pointer}
#board .council-stages button[aria-current]{border-color:#bba47766;background:#bba4770c;color:#e1d2b1}
#board .council-stages button:hover{background:#bba4771c}
#board .council-stages b{font:500 23px SectorCondensed,sans-serif;color:#958262}
#board .council-stages strong{font-size:13px;font-weight:550;display:block}
#board .council-stages small{display:block;font-size:10px;color:#a9a797;margin-top:4px}
#board .council-stages i{position:absolute;right:6px;top:6px;background:#cfbd92;width:4px;height:4px;border-radius:50%}
#board .council-personal{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:11px;color:#b9b29e;padding:13px 0}
#board .council-personal strong{font-size:11px;font-weight:500;color:#c9bd9f}
#board .council-demo{font-size:10px;letter-spacing:.03em;color:#aaa28e;margin-top:-8px;margin-bottom:20px}
#board .ballot-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;color:#b7ae98;margin:22px 0 14px}
#board .ballot-toolbar label{display:flex;gap:8px;align-items:center}
#board .ballot-toolbar select{min-height:40px;padding:8px;border:1px solid #a7916c55;background:#1c251c;color:#d3c7aa;font:12px SectorText,sans-serif;max-width:160px}
#board .council-cases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
#board .case-card{padding:0;background:#10170f38;border:1px solid var(--council-line);min-width:0;overflow:hidden;transition:border-color .18s}
#board .case-card:hover{border-color:#bfa57480}
#board .case-card.my-choice{border-color:#c7b27e99}
#board .case-visual{height:160px;position:relative;background-color:#20251b;overflow:hidden}
#board .case-photo{background-image:url('assets/council-atlas-v23.png');background-size:300% auto;background-position:calc(var(--tile)*50%) 50%;background-repeat:no-repeat}
#board .case-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 55%,#11190dd9);pointer-events:none}
#board .case-visual>span{position:absolute;z-index:1;bottom:12px;left:17px;font:500 9px SectorText,sans-serif;letter-spacing:.15em;color:#dbceb4}
#board .case-original{display:grid;place-items:center;background:radial-gradient(ellipse at top,#8b7a4c33,transparent 75%),#1b251a}
#board .case-original .editorial-emblem{width:72px;height:72px;opacity:.65}
#board .case-body{padding:20px}
#board .case-body .idea-meta{font:500 9px/1.6 SectorText,sans-serif;color:#bbaa86;letter-spacing:.08em;margin-bottom:9px;display:flex;flex-wrap:wrap;gap:5px 10px}
#board .case-body h3{font-size:18px!important;line-height:1.4;min-height:2.8em}
#board .case-body .case-summary{font-size:13px;line-height:1.65;margin:12px 0}
#board .choice-stamp{color:#ded5b1;font-size:9px}
#board .case-dossier{border-block:1px solid #a4916833;padding:3px 0}
#board .case-dossier summary{display:flex;align-items:center;justify-content:space-between;font-size:12px!important;cursor:pointer;list-style:none}
#board .case-dossier[open] summary>span{transform:rotate(45deg)}
#board .council-v23 dl{margin:8px 0 15px}
#board .council-v23 dt{font:600 10px/1.5 SectorText,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:#c8b690;margin-top:16px}
#board .council-v23 dd{font:400 13px/1.7 SectorText,sans-serif;color:#c9c3b2;margin:5px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
#board .case-body .vote-result{border:0;padding:16px 0 0;margin:0}
#board .result-numbers{display:flex;align-items:baseline;justify-content:space-between;font-size:12px}
#board .result-numbers strong{font-size:13px;font-weight:500}
#board .result-numbers>span{color:#b8aa8b}
#board .case-body .meter{height:3px;margin:9px 0;background:#afa17c22}
#board .case-body .meter i{display:block;height:100%;background:#bca577}
#board .vote-result summary{font:400 11px SectorText,sans-serif;min-height:38px;padding:10px 0;cursor:pointer}
#board .voters{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px}
#board .voters li{font-size:11px;background:#bfa97a10;border:1px solid #bfa97a30;padding:5px 9px;border-radius:2px;overflow-wrap:anywhere}
#board .voters li>span{color:#cdb783}
#board .case-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;border-top:1px solid #a4916826;padding-top:13px}
#board .case-actions>.small{font-size:10px;flex:1;min-width:100px}
#board .case-actions .portal-button{font-size:12px;padding:10px 16px;min-height:44px}
#board .compare-toggle{font:500 12px SectorText,sans-serif;border:0;background:none;color:#c9b78d;padding:10px 0;cursor:pointer;min-height:44px}
#board .compare-toggle[aria-pressed=true]{color:#e1d6b7}
#board .compare-toggle:hover{color:#fff0cb}
#board .compare-workbench{padding:20px;border:1px solid #bca47666;background:#bca47607;scroll-margin-top:80px}
#board .compare-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 15px;align-items:center}
#board .compare-heading>div{min-width:155px;flex:1}
#board .compare-chips{display:flex;gap:8px;flex-wrap:wrap}
#board .compare-chips button{font:400 11px/1.5 SectorText,sans-serif;color:#e0d1b1;background:#bda57312;border:1px solid #bda57344;padding:10px 12px;text-align:left;cursor:pointer}
#board .comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px}
#board .comparison-grid article+article{border-left:1px solid #bba47644;padding-left:20px}
#board .comparison-grid h4,#board .rules-grid h4{font:600 15px/1.5 SectorText,sans-serif;color:#dfd6bf;margin:0}
#board .comparison-grid .portal-button{font-size:12px;padding:12px 14px}
#board .proposal-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:30px;align-items:start}
#board .proposal-guide{border-left:1px solid var(--council-line);padding-left:22px}
#board .proposal-guide h3{margin-top:10px}
#board .proposal-guide p{font-size:12px}
#board .draft-checklist{list-style:none;padding:0;margin:20px 0}
#board .draft-checklist li{font-size:12px;padding:7px 0;color:#a6a28f;display:flex;gap:9px}
#board .draft-checklist .ready{color:#d7cfaf}
#board .draft-progress{font-size:10px!important;color:#c9b687}
#board .proposal-preview,#board .proposal-status{padding:25px;border:1px solid var(--council-line);background:#12190f44}
#board .proposal-preview h3,#board .proposal-status h3{margin-top:12px}
#board .status-emblem{float:right;margin:0 0 16px 15px}
#board .status-emblem svg{width:46px;height:46px}
#board .vote-confirmation{border:1px solid #b9a37966;background:#10170f44}
#board .vote-confirmation>.case-visual{height:180px;background-size:300% auto}
#board .vote-confirmation>div:not(.case-visual){padding:24px}
#board .vote-confirmation h3{font-size:22px!important;margin-top:10px}
#board .vote-identity{display:flex;gap:15px;align-items:center;border-block:1px solid #b9a37933;padding:16px 0;margin:20px 0}
#board .vote-identity svg{width:36px;height:36px}
#board .vote-identity small,#board .vote-identity strong{display:block;font-size:12px}
#board .vote-identity strong{font-size:17px;overflow-wrap:anywhere}
#board .vote-warning{font-size:13px;border-left:2px solid #b5a17a;padding-left:14px}
#board .council-outcome{display:flex;gap:18px;border-block:1px solid #b7a07244;padding:22px 0;margin:15px 0 25px}
#board .council-outcome>.editorial-emblem{width:48px;height:48px;flex-shrink:0}
#board .council-outcome h3{margin:9px 0}
#board .council-outcome p{font-size:13px}
#board .council-rules{margin-top:25px;border-top:1px solid var(--council-line);padding:10px 0}
#board .rules-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:15px 0}
#board .rules-grid svg{width:36px;height:36px;margin-bottom:12px}
#board .rules-grid p{font-size:12px;line-height:1.7}
#board .council-v23 .moderator-box{margin-top:12px;opacity:.85;padding:12px 0;border:0;border-top:1px solid var(--council-line)}
#board .council-v23 .moderator-box>summary{font-size:12px}
#board .council-v23 h3,#board .council-v23 h4,#board .council-personal strong{overflow-wrap:anywhere}
@media(max-width:700px){
 #board .council-stages{gap:5px}
 #board .council-stages button{padding:12px 5px;display:block}
 #board .council-stages b{font-size:18px;display:block;margin-bottom:6px}
 #board .council-stages strong{font-size:10px}
 #board .council-stages small{font-size:9px}
 #board .cycle-caption{align-items:flex-start;font-size:9px}
 #board .cycle-caption strong{font-size:11px}
 #board .council-cases,#board .proposal-layout,#board .comparison-grid,#board .rules-grid{grid-template-columns:1fr}
 #board .case-visual{height:165px}
 #board .case-body{padding:18px}
 #board .case-body h3{min-height:0}
 #board .comparison-grid article+article{border-left:0;border-top:1px solid #bba47644;padding:20px 0 0}
 #board .proposal-guide{border-left:0;border-top:1px solid var(--council-line);padding:20px 0 0}
 #board .ballot-toolbar{flex-wrap:wrap;gap:8px}
 #board .compare-workbench,#board .proposal-preview,#board .proposal-status{padding:16px}
 #board .council-outcome{gap:12px}
 #board .council-outcome>.editorial-emblem{width:32px;height:32px}
 #board .vote-confirmation>div:not(.case-visual){padding:18px}
}
@media(prefers-reduced-motion:reduce){#board .case-card{transition:none}}
