/* Shared v2.css owns CP structure, spacing and gold framing. Palette only. */
:root:has(.politics-cp-shell){color-scheme:light;--text:#38271f;--gold:#d5ad61;--line:#b89756;--green:#f4ecdc}
html:has(body.politics-cp-embedded){overflow:hidden}body.politics-cp-shell{display:flow-root;min-height:0;background:#f6f0e5;color:#38271f}.politics-cp-shell [hidden]{display:none!important}.politics-cp-shell a{color:#71342d}.politics-cp-shell button:focus-visible,.politics-cp-shell a:focus-visible{outline:3px solid #b88b37;outline-offset:3px}
.politics-cp-shell .command-banner{background:linear-gradient(100deg,#3c1b21,#672c32 60%,#3c1b21);border-color:#d5ad61}.politics-cp-shell .command-banner strong,.politics-cp-shell .command-banner div{color:#ffedc5}.politics-cp-shell .cp-v2-account-bar{background:#e7dcc7;color:#4b3229;border-color:#b89756}
.politics-cp-shell .portals{grid-template-columns:repeat(3,minmax(0,1fr));background:#eadfc9;border-color:#d5ad61}.politics-cp-shell .portal{background:linear-gradient(155deg,#fff6df,#e7d5b3);color:#632f2c;border-color:#c7a05a;box-shadow:inset 0 0 0 3px #f6ecd8,0 6px 12px #3c1b2126}.politics-cp-shell .portal[aria-selected=true]{background:linear-gradient(155deg,#783d43,#3c1b21);color:#ffedc5;border-color:#e5be70;box-shadow:inset 0 0 0 3px #52272b,0 6px 12px #3c1b2133}
.politics-cp-shell .side{background:linear-gradient(#eee4d2,#f6f0e5);border-color:#b89756}.politics-cp-shell .side-hero{background:linear-gradient(100deg,#6b343b,#3c1b21);color:#ffedc5;border-color:#d5ad61}.politics-cp-shell .category-block{background:#f7eddb;border-color:#b89756}.politics-cp-shell .category-heading{background:linear-gradient(100deg,#e7d5b3,#f6ecda);color:#632f2c;border-color:#b89756}.politics-cp-shell .category-count{background:#6b343b;color:#ffedc5}.politics-cp-shell .navitem{color:#4b3229;border-color:#cdbb98;text-decoration:none}.politics-cp-shell .navitem:hover,.politics-cp-shell .navitem[aria-current=page]{background:linear-gradient(90deg,#dfc99e,#f1e5cb);outline-color:#d5ad61;color:#632f2c}
.politics-cp-shell .content{background:radial-gradient(ellipse at top,#fff8e9,#f0e6d3 70%)}.politics-cp-shell .content .hero{background:linear-gradient(100deg,#672c32,#3c1b21);border:4px double #d5ad61;box-shadow:inset 0 0 0 4px #52272b,0 8px 18px #3c1b2126;color:#ffedc5}.politics-cp-shell .content .hero h1{color:#ffe0a1}.politics-cp-shell .content .hero p{color:#f4e6c6}.politics-cp-shell .card{background:linear-gradient(140deg,#fffcf6,#f4ead7);color:#38271f;border-color:#c7a05a;box-shadow:inset 0 0 0 4px #efe0c0,0 7px 16px #3c1b211a}.politics-cp-shell .card p,.politics-cp-shell .card small,.politics-cp-shell .cp-v2-native-workspace{color:#4b3b2d}.politics-cp-shell h2,.politics-cp-shell h3,.politics-cp-shell .alpha-stat strong{color:#632f2c}.politics-cp-shell .cp-v2-template-page,.politics-cp-shell .cp-v2-template-panel,.politics-cp-shell .cp-v2-template-panels{background:transparent;color:inherit;border:0;padding:0}.politics-cp-shell .cp-v2-template-tabs,.politics-cp-shell .cp-v2-template-heading{display:none}
.politics-cp-shell button,.politics-cp-shell input,.politics-cp-shell select{background:#f6ecda;color:#4b3229;border-color:#aa8755}.politics-cp-shell .cp-v2-auth{background:#fffcf6;color:#38271f;border-color:#c7a05a}.politics-cp-shell .alpha-stat{background:#f4ebdb;color:#4b3229;border-color:#c7a05a}.politics-cp-shell .cp-v2-native-frame iframe{width:100%;border:0}.politics-office-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.politics-office-card{border:3px double #c7a05a;border-radius:7px;box-shadow:inset 0 0 0 3px #efe0c0;background:linear-gradient(145deg,#fff7e5,#f0e2c7);padding:22px;display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-width:0}.politics-office-card h2,.politics-office-card p{margin:0}.politics-cp-shell .politics-office-card h2{font-size:23px}.politics-office-card img{object-fit:contain}.politics-office-card small{letter-spacing:.08em;text-transform:uppercase;font:11px Arial,sans-serif}
.politics-cp-shell .content .cards>.card.citizen-page-full{background:linear-gradient(140deg,#fffcf6,#f4ead7)!important;border:4px double #c7a05a!important;box-shadow:inset 0 0 0 4px #efe0c0,0 7px 16px #3c1b211a!important}
@media(max-width:1100px){.politics-office-grid{grid-template-columns:1fr}}@media(max-width:720px){.politics-cp-shell .portals{grid-template-columns:repeat(3,minmax(0,1fr))}.politics-cp-shell .mobile-tools{background:#eee4d2}.politics-cp-shell .side.open{max-height:none;overflow:visible}}
/* Political chambers share the CP geometry, with a quieter parchment and burgundy palette. */
body.politics-cp-shell{--political-art:url('https://www.dunerealms.com/assets/political-imperial-chamber-v1.png');background:#c9bba5;color:#f0e3ca}
body.politics-cp-shell #portals{display:none!important}
.politics-cp-shell .content{background:linear-gradient(#28171be8,#28171bf5),var(--political-art) center top/cover;color:#f0e3ca;border-color:#b7975b}
.politics-cp-shell .side{background:linear-gradient(#342126ed,#23171bf5),url('https://www.dunerealms.com/assets/political-small-council-v1.png') center/cover;color:#f0e3ca}
.politics-cp-shell .category-block{background:#38262be8;border-color:#9e814d}
.politics-cp-shell .category-heading{background:linear-gradient(90deg,#58333b,#3d272d);color:#eed4a0;border-color:#9e814d}
.politics-cp-shell .navitem{color:#ecdfc6;border-color:#9e814d55}
.politics-cp-shell .navitem:hover,.politics-cp-shell .navitem[aria-current=page]{background:#714550;color:#fff2cf}
.politics-cp-shell .content .hero{min-height:190px;background:linear-gradient(90deg,#35171fe8,#35171f80),var(--political-art) center 48%/cover;color:#f8e8c9;box-shadow:0 6px 20px #160c1055}
.politics-cp-shell .command-banner{background:linear-gradient(90deg,#35171fe8,#35171f9c),var(--political-art) center 22%/cover}
.politics-cp-shell .content .cards>.card.citizen-page-full{background:#33252a!important;border:3px double #b7975b!important;box-shadow:0 8px 22px #10090c33!important;color:#f0e3ca}
.politics-cp-shell .card p,.politics-cp-shell .card small,.politics-cp-shell .cp-v2-native-workspace{color:#e5d7bd}
.politics-cp-shell h2,.politics-cp-shell h3,.politics-cp-shell .alpha-stat strong{color:#efd295}
.politics-cp-shell a{color:#f0cf8f}
.politics-cp-shell .alpha-stat{background:#442d34;color:#f0e3ca;border-color:#a68a54}
.politics-office-card{background:linear-gradient(#3c2530e8,#312126fa),url('https://www.dunerealms.com/assets/political-small-council-v1.png') center/cover;box-shadow:none;border-color:#ad8b4d;color:#ecdfc6}
.politics-cp-shell .card .politics-office-card h2{color:#f0cf8f}
.campaign-filters{display:grid;grid-template-columns:minmax(170px,2fr) minmax(130px,1fr) minmax(120px,1fr);gap:12px;margin-bottom:18px}
.politics-cp-shell .campaign-filters input,.politics-cp-shell .campaign-filters select{width:100%;min-width:0;box-sizing:border-box;border-radius:6px;padding:12px;background:#dfd2bc;color:#38252a}
.campaign-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:22px;align-items:start}
.campaign-card{overflow:hidden;border:3px double #c4a164;border-radius:10px;background:#39242c;box-shadow:0 8px 20px #120a0e55;min-width:0}
.campaign-portrait{position:relative;min-height:180px;display:flex;align-items:center;padding:26px;background:linear-gradient(90deg,#2b152153,#2b1521b8),url('https://www.dunerealms.com/assets/political-imperial-chamber-v1.png') center/cover;border-bottom:1px solid #c4a164}
.campaign-card:nth-child(even) .campaign-portrait{background-image:linear-gradient(90deg,#2b152153,#2b1521b8),url('https://www.dunerealms.com/assets/political-small-council-v1.png')}
.campaign-portrait>img:first-child{width:112px;height:112px;image-rendering:pixelated;border:3px double #ddbb73;box-shadow:0 6px 18px #0007;border-radius:9px;background:#3b252b}
.campaign-seal{position:absolute;right:20px;top:22px;object-fit:contain;filter:drop-shadow(0 3px 5px #0008)}
.campaign-kicker{position:absolute;bottom:14px;right:18px;font:11px/1.4 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#ffe5aa}
.campaign-body{padding:22px}.politics-cp-shell .campaign-body h2{margin:10px 0;font-size:29px;line-height:1.1;overflow-wrap:anywhere}.campaign-body h2 a{text-decoration:none}
.campaign-office{display:block;color:#e6c176}.campaign-bio{font-style:italic;line-height:1.6;border-bottom:1px solid #b7975b55;padding-bottom:16px;white-space:pre-wrap;overflow-wrap:anywhere}
.campaign-message summary{cursor:pointer;color:#f2d494}.campaign-message p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;max-height:13em;overflow:auto;padding-right:6px}
.campaign-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px}.campaign-footer>span{font:10px Arial,sans-serif;color:#cdbb9e}
.politics-cp-shell .campaign-footer button,.politics-cp-shell .campaign-confirm button{background:linear-gradient(#d9b96e,#b59450);color:#2c1b20;border:1px solid #edcd83;border-radius:5px;padding:10px 18px;cursor:pointer;font-weight:bold}
.politics-cp-shell button:disabled{opacity:.6;cursor:default}.campaign-pagination{display:flex;align-items:center;gap:12px;margin-top:24px}.campaign-pagination button{padding:9px 14px}
.campaign-confirm{background:#35232b;color:#f4e3c3;border:3px double #c4a164;border-radius:10px;padding:28px;max-width:min(460px,calc(100vw - 48px));box-shadow:0 20px 80px #0008}.campaign-confirm::backdrop{background:#160c13b8;backdrop-filter:blur(4px)}.campaign-confirm label{display:flex;align-items:center;gap:16px}.campaign-confirm input{max-width:100px;padding:9px}.campaign-confirm button{margin:12px 12px 0 0}
@media(max-width:900px){.campaign-filters{grid-template-columns:1fr}.politics-cp-shell .content .hero{min-height:150px}.campaign-portrait{min-height:150px}.campaign-body{padding:18px}}
@media(prefers-reduced-motion:no-preference){.campaign-card{transition:box-shadow .2s,border-color .2s}.campaign-card:hover{border-color:#e1be78;box-shadow:0 10px 25px #10070c77}}
