/* POLIS SANDBOX 10 — interfaccia originale da videogioco politico */
:root{
  --v10-bg:#050810;
  --v10-bg2:#0a1220;
  --v10-panel:#0e1a2b;
  --v10-panel2:#13243a;
  --v10-panel3:#192d47;
  --v10-line:rgba(140,184,219,.18);
  --v10-line-strong:rgba(224,190,104,.33);
  --v10-text:#eef6ff;
  --v10-muted:#8ea5ba;
  --v10-gold:#e2bd62;
  --v10-gold2:#f2dfa2;
  --v10-red:#d9494f;
  --v10-green:#52cf8b;
  --v10-blue:#4bb1e8;
  --v10-party:var(--game-party,#2d78b2);
  --v10-shadow:0 22px 60px rgba(0,0,0,.36);
  --sidebar-w:250px;
}
[hidden]{display:none!important}
html,body{background:var(--v10-bg);color:var(--v10-text);min-height:100%;}
body{overflow-x:hidden;background:
  radial-gradient(circle at 75% -15%,color-mix(in srgb,var(--v10-party) 26%,transparent),transparent 39%),
  radial-gradient(circle at 10% 92%,rgba(207,61,69,.15),transparent 30%),
  linear-gradient(135deg,#04070d,#07111e 42%,#0b1727 100%);}
body:after{box-shadow:inset 0 0 180px rgba(0,0,0,.48)}
button{border-radius:7px;text-transform:none;letter-spacing:.015em}
button:hover{transform:none}

/* MAIN MENU */
.game-menu{position:fixed;inset:0;z-index:10000;display:grid;grid-template-columns:minmax(320px,1.15fr) minmax(330px,.65fr);grid-template-rows:1fr auto;align-items:center;gap:38px;padding:clamp(32px,6vw,88px);overflow:hidden;background:
  linear-gradient(90deg,rgba(2,6,12,.96) 0 38%,rgba(3,9,17,.78) 62%,rgba(4,9,15,.92)),
  radial-gradient(circle at 78% 50%,rgba(47,111,157,.32),transparent 34%),
  linear-gradient(150deg,#050810,#0a1c30 60%,#050810);}
.game-menu:before{content:"";position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
  linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),
  repeating-radial-gradient(circle at 78% 50%,transparent 0 72px,rgba(130,186,224,.06) 73px 74px);background-size:42px 42px,42px 42px,auto;mask-image:linear-gradient(90deg,transparent 5%,#000 44%)}
.menu-world{position:absolute;right:-4vw;top:50%;width:min(64vw,880px);aspect-ratio:1;transform:translateY(-50%);border-radius:50%;opacity:.82;background:
  radial-gradient(circle at 50% 50%,rgba(41,114,163,.28) 0 31%,transparent 31.5%),
  conic-gradient(from 18deg,transparent 0 12%,rgba(214,179,91,.13) 12% 13%,transparent 13% 26%,rgba(76,171,218,.14) 26% 27%,transparent 27% 48%,rgba(214,179,91,.12) 48% 49%,transparent 49% 100%);box-shadow:0 0 0 1px rgba(134,189,225,.15),0 0 0 42px rgba(38,91,128,.05),0 0 0 110px rgba(38,91,128,.025);animation:worldTurn 42s linear infinite}
.menu-world:before,.menu-world:after{content:"";position:absolute;border:1px solid rgba(117,178,216,.17);border-radius:50%;inset:12% 5%;transform:rotate(27deg)}
.menu-world:after{inset:5% 24%;transform:rotate(90deg)}
.menu-emblem{grid-column:1;align-self:end;position:relative;z-index:2;width:86px;height:86px;border-radius:50%;display:grid;place-items:center;color:#0d2136;font:900 1.45rem Georgia,serif;background:radial-gradient(circle,#f7e3a2 0 34%,#c99e42 35% 44%,#102842 45% 62%,#e1bc5e 63% 71%,#06101c 72%);box-shadow:0 0 0 5px rgba(225,188,94,.1),0 18px 40px rgba(0,0,0,.4)}
.menu-emblem i{position:absolute;inset:-20px;border:1px solid rgba(225,188,94,.26);border-radius:50%;animation:menuPulse 3s ease-in-out infinite}
.menu-copy{grid-column:1;align-self:start;position:relative;z-index:2;max-width:720px}
.menu-kicker{display:block;color:#8dc6e5;font-size:.72rem;font-weight:900;letter-spacing:.27em;margin:24px 0 12px}
.menu-copy h1{margin:0;color:#f4f8fc;font:400 clamp(4rem,8vw,8.6rem)/.78 Georgia,"Times New Roman",serif;letter-spacing:-.055em;text-shadow:0 10px 50px rgba(0,0,0,.55)}
.menu-copy h1 strong{color:var(--v10-gold2);font-weight:400;margin-left:.13em}
.menu-copy p{max-width:660px;margin:30px 0 0;color:#a9bccd;font-size:clamp(1rem,1.45vw,1.28rem);line-height:1.7}
.menu-actions{grid-column:2;grid-row:1;position:relative;z-index:3;display:grid;gap:9px;width:min(100%,460px);justify-self:end;padding:18px;background:rgba(3,9,16,.62);border:1px solid rgba(143,192,223,.17);border-radius:3px;backdrop-filter:blur(16px);box-shadow:var(--v10-shadow)}
.menu-actions:before{content:"COMANDO CENTRALE";display:block;color:#718ba1;font-size:.62rem;font-weight:900;letter-spacing:.23em;padding:4px 8px 12px;border-bottom:1px solid rgba(255,255,255,.08)}
.menu-button{position:relative;text-align:left;padding:15px 17px 14px 21px;border:1px solid rgba(140,184,219,.14);background:linear-gradient(90deg,rgba(22,44,68,.9),rgba(10,24,40,.84));color:var(--v10-text);overflow:hidden}
.menu-button:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#426c8c;transition:.2s}
.menu-button span,.menu-button small{display:block}.menu-button span{font-weight:900;font-size:.91rem;letter-spacing:.08em}.menu-button small{margin-top:4px;color:#8098ad;font-size:.7rem}
.menu-button:hover{border-color:rgba(226,189,98,.45);background:linear-gradient(90deg,rgba(37,72,104,.96),rgba(14,31,50,.92));box-shadow:0 8px 24px rgba(0,0,0,.22)}
.menu-button:hover:before{background:var(--v10-gold);width:7px}.menu-button.primary-menu{background:linear-gradient(100deg,#bd913b,#e0be65);color:#0b1827;border-color:#f0d991;box-shadow:0 10px 28px rgba(190,145,59,.22)}.menu-button.primary-menu:before{background:#fff2bf}.menu-button.primary-menu small{color:#4d3c18}
.menu-footer{grid-column:1/-1;position:relative;z-index:2;display:flex;gap:9px;flex-wrap:wrap;align-self:end}.menu-footer span{padding:7px 11px;border:1px solid rgba(255,255,255,.12);background:rgba(8,18,31,.68);color:#8ca4b8;font-size:.64rem;font-weight:800;letter-spacing:.08em}

/* GAME SHELL */
.game-shell{width:100%;max-width:none;min-height:100vh;display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);padding:0;background:transparent}
.command-sidebar{position:sticky;top:0;height:100vh;z-index:50;display:flex;flex-direction:column;min-width:0;padding:19px 13px 15px;background:
  linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
  linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),
  linear-gradient(180deg,#07111e,#0a192a 60%,#07111e);background-size:28px 28px,28px 28px,auto;border-right:1px solid rgba(226,189,98,.21);box-shadow:18px 0 50px rgba(0,0,0,.25)}
.sidebar-brand{display:flex;align-items:center;gap:11px;padding:5px 8px 18px;border-bottom:1px solid rgba(255,255,255,.08)}
.sidebar-seal{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#f4dea0 0 36%,#b98c33 37% 45%,#0e2944 46% 65%,#d3ac4f 66%);color:#10233a;font:900 .95rem Georgia,serif;box-shadow:0 0 0 3px rgba(226,189,98,.08)}
.sidebar-brand strong,.sidebar-brand span{display:block}.sidebar-brand strong{font:700 1.15rem Georgia,serif;letter-spacing:.12em}.sidebar-brand span{color:var(--v10-gold);font-size:.6rem;font-weight:900;letter-spacing:.18em;margin-top:2px}
.sidebar-mode{margin:14px 3px 8px;padding:12px;background:linear-gradient(135deg,rgba(30,64,94,.72),rgba(11,28,47,.8));border:1px solid rgba(93,154,194,.18);border-radius:3px}.sidebar-mode span,.sidebar-mode strong,.sidebar-mode small{display:block}.sidebar-mode span,.sidebar-intel span{color:#7190a9;font-size:.56rem;font-weight:900;letter-spacing:.13em}.sidebar-mode strong{margin:5px 0 2px;color:#75dca0;font-size:.81rem}.sidebar-mode small{color:#8ba1b4;font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tabs.game-nav{position:static;display:grid;gap:4px;padding:7px 0;margin:0;overflow-y:auto;overflow-x:hidden;background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none}
.tabs.game-nav .tab{width:100%;display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;text-align:left;gap:7px;padding:9px 10px;border:1px solid transparent;border-radius:3px;color:#91a8ba;background:transparent;box-shadow:none;font-size:.78rem}
.tabs.game-nav .tab:after{display:none}.tabs.game-nav .tab:hover{background:rgba(73,132,170,.11);border-color:rgba(108,168,205,.12);color:#d7e8f3}.tabs.game-nav .tab.active{background:linear-gradient(90deg,color-mix(in srgb,var(--v10-party) 65%,#1b2330),rgba(16,34,53,.65));border-color:color-mix(in srgb,var(--v10-party) 60%,rgba(255,255,255,.18));color:#fff;box-shadow:inset 3px 0 var(--v10-gold),0 8px 22px rgba(0,0,0,.16)}
.tab-icon{width:27px;height:27px;display:grid;place-items:center;border-radius:3px;background:rgba(255,255,255,.06);font-size:.8rem}.tab.active .tab-icon{background:rgba(255,255,255,.14);color:var(--v10-gold2)}
.sidebar-intel{margin-top:auto;padding:12px 9px;border-top:1px solid rgba(255,255,255,.08);display:grid;gap:4px}.sidebar-intel strong{font-size:.72rem;color:#dce9f2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:7px}.back-menu-button{margin:4px 3px 0;background:rgba(255,255,255,.035);color:#8ea5b8;border:1px solid rgba(255,255,255,.09);font-size:.71rem}.back-menu-button:hover{color:#fff;border-color:rgba(226,189,98,.28)}
.game-stage{min-width:0;min-height:100vh;padding-bottom:92px;background:linear-gradient(180deg,rgba(10,20,34,.55),rgba(4,9,16,.35))}
.command-topbar{min-height:88px;border-radius:0;padding:17px 22px;background:linear-gradient(100deg,rgba(8,21,36,.98),rgba(15,38,61,.95));border:0;border-bottom:1px solid rgba(226,189,98,.21);box-shadow:0 14px 35px rgba(0,0,0,.24);position:sticky;top:0;z-index:40}
.command-topbar:after{content:"POLIS / NATIONAL COMMAND";top:8px;right:18px}.command-topbar:before{height:2px}
.command-title span{display:block;color:#79a6c2;font-size:.58rem;font-weight:900;letter-spacing:.18em}.command-title h1{margin:3px 0 2px;color:#f3f7fb;font:400 1.55rem Georgia,serif}.command-title p{margin:0;color:#839bae;font-size:.72rem}
.command-save-tools{padding:7px;background:rgba(2,9,16,.5);border-radius:4px}.command-save-tools button,.command-save-tools select{border-radius:3px}.command-save-tools button{padding:.57rem .7rem}.command-save-tools .primary{background:linear-gradient(135deg,#e5c36c,#b78a35);color:#0b1724;border-color:#f2da94}
.status-strip{margin:12px 15px 0;border-radius:3px;grid-template-columns:repeat(8,minmax(90px,1fr));border-color:rgba(126,174,207,.18);background:rgba(126,174,207,.1);box-shadow:0 10px 28px rgba(0,0,0,.2)}
.status-item{padding:10px 11px 9px 14px;background:linear-gradient(180deg,rgba(17,40,63,.95),rgba(10,26,43,.96))}.status-item span{font-size:.54rem}.status-item strong{font-size:.79rem}.status-item:before{top:7px;bottom:7px;width:2px}
.game-ribbon{margin:8px 15px 0;border-radius:3px;min-height:38px;background:linear-gradient(90deg,rgba(4,12,21,.95),rgba(18,43,67,.92),rgba(4,12,21,.95))}.political-ticker{font-size:.75rem}.game-ribbon-signal{font-size:.55rem}.resource-pills span{border-radius:3px}
.game-main{padding:0 15px 22px}.panel{animation:panelEnter .24s ease}.panel.active{display:block}

/* GAME PANELS */
.card,.metric-card,.setup-banner,.observer-notice,.empty-state{color:var(--v10-text);background:linear-gradient(145deg,rgba(18,37,58,.97),rgba(10,25,42,.98));border:1px solid var(--v10-line);border-radius:4px;box-shadow:0 14px 36px rgba(0,0,0,.22);backdrop-filter:blur(10px)}
.card{padding:17px;margin-top:12px}.card:before{border-radius:4px}.card h2,.section-intro h2,.setup-banner h2,.observer-notice h2{font-family:Georgia,"Times New Roman",serif;color:#f0f5f9;letter-spacing:.01em}.card p,.section-intro p,.setup-banner p,.observer-notice p{color:var(--v10-muted)}
.eyebrow{color:#76a9c7}.eyebrow.light{color:#9bd3ef}.badge,.infinity-pill{border-radius:3px;background:rgba(59,117,154,.18);color:#a8d6ee;border:1px solid rgba(93,157,197,.2)}.badge.success{background:rgba(61,167,111,.15);color:#82dda8}.infinity-pill{background:rgba(226,189,98,.12);color:#ebd08a;border-color:rgba(226,189,98,.21)}
.card button:not(.primary),.panel button:not(.primary){background:rgba(255,255,255,.045);color:#d9e6ef;border-color:rgba(146,184,211,.16)}.card button:hover,.panel button:hover{border-color:rgba(226,189,98,.36);background:rgba(80,134,171,.13)}.primary{background:linear-gradient(135deg,color-mix(in srgb,var(--v10-party) 78%,#1d3245),color-mix(in srgb,var(--v10-party) 55%,#0e2033));color:#fff;border-color:color-mix(in srgb,var(--v10-party) 65%,#aac7d9);box-shadow:0 8px 24px color-mix(in srgb,var(--v10-party) 20%,transparent)}
.danger-ghost{color:#ff9a9e!important;border-color:rgba(218,74,81,.28)!important;background:rgba(138,31,39,.12)!important}

.screen-hero{min-height:125px;margin-top:12px;padding:20px 23px;display:grid;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:17px;position:relative;overflow:hidden;border:1px solid rgba(226,189,98,.22);border-radius:4px;color:#fff;background:
  linear-gradient(100deg,rgba(10,31,49,.98),rgba(18,50,76,.9) 62%,rgba(53,28,31,.88));box-shadow:var(--v10-shadow)}
.screen-hero:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(118deg,transparent 0 44px,rgba(255,255,255,.018) 45px 46px);pointer-events:none}.screen-hero-icon{position:relative;z-index:1;width:62px;height:62px;display:grid;place-items:center;border:1px solid rgba(226,189,98,.42);background:rgba(2,12,21,.5);font:1.5rem Georgia,serif;color:var(--v10-gold2);box-shadow:inset 0 0 0 5px rgba(226,189,98,.04)}
.screen-hero>div{position:relative;z-index:1}.screen-hero h2{font:400 1.45rem Georgia,serif;margin:.12rem 0 .25rem}.screen-hero p{margin:0;color:#9fb4c4;font-size:.8rem}.screen-hero-stat{text-align:right;padding-left:22px;border-left:1px solid rgba(255,255,255,.12)}.screen-hero-stat span,.screen-hero-stat strong{display:block}.screen-hero-stat span{color:#829daf;font-size:.58rem;font-weight:900;letter-spacing:.13em}.screen-hero-stat strong{margin-top:4px;font:400 1.45rem Georgia,serif;color:var(--v10-gold2)}

.command-hero{min-height:230px;border-radius:4px;border:1px solid rgba(226,189,98,.23);background:
  radial-gradient(circle at 88% 50%,color-mix(in srgb,var(--v10-party) 34%,transparent),transparent 25%),
  linear-gradient(112deg,rgba(9,35,54,.98),rgba(13,24,39,.96) 54%,rgba(48,20,27,.93));box-shadow:0 24px 60px rgba(0,0,0,.35);margin-top:12px;padding:30px 34px}.command-hero:before{background:linear-gradient(90deg,var(--v10-party),var(--v10-gold),#b8363f)}.command-hero h2{font-size:clamp(1.9rem,3vw,3.15rem);line-height:1.03;max-width:820px}.command-hero p{font-size:.92rem;max-width:780px}.political-orb{border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--v10-party) 62%,#10263e),#091827 60%,#02070c 61%);box-shadow:0 0 0 1px color-mix(in srgb,var(--v10-party) 70%,#fff),0 0 55px color-mix(in srgb,var(--v10-party) 25%,transparent)}
.hero-chip{border-radius:3px;background:rgba(8,21,34,.72);border-color:rgba(147,188,214,.18)}
.setup-banner{border-left:5px solid var(--v10-gold);background:linear-gradient(110deg,rgba(48,39,21,.96),rgba(16,33,49,.97))}.setup-banner .primary{background:linear-gradient(135deg,#e2bd62,#b88631);color:#0d1723}
.dashboard-grid{grid-template-columns:minmax(0,1.7fr) minmax(280px,.62fr);gap:12px}.standings-card{min-height:410px}.news-card{background:linear-gradient(160deg,rgba(24,48,73,.98),rgba(8,24,40,.98));border-top:2px solid var(--v10-gold)}
.party-row{grid-template-columns:minmax(190px,1.15fr) minmax(160px,2.6fr) 66px;border-top:1px solid rgba(130,170,198,.13);padding:.74rem .1rem}.party-rank{background:#071521;color:#bad3e2;border:1px solid rgba(255,255,255,.1);border-radius:3px}.bar-track{height:11px;background:#071522;border:1px solid rgba(117,164,193,.1);border-radius:2px}.bar-fill{border-radius:1px;box-shadow:0 0 15px currentColor}.party-name{color:#e6f0f7}.party-value{color:#f5f8fb}.player-tag,.government-tag,.opposition-tag,.pole-tag{border-radius:2px}.player-tag{background:#20628c}.government-tag{background:rgba(75,190,120,.18);color:#8be0ae;border:1px solid rgba(75,190,120,.22)}.opposition-tag{background:rgba(141,163,180,.1);color:#aebfcc}.pole-tag{background:rgba(226,189,98,.16);color:#f0d27f;border:1px solid rgba(226,189,98,.2)}
.turn-controls{display:grid;grid-template-columns:1fr 1fr;min-width:250px}.turn-controls .primary{grid-row:1/3;padding:1rem}.news-list{max-height:520px}.news-item{position:relative;border-left:3px solid var(--v10-party);border-radius:0;background:rgba(255,255,255,.035);padding:.72rem .78rem}.news-item p{color:#8da4b6}.news-index{color:rgba(255,255,255,.15)}.news-date{color:#6e879b}
.metrics-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:9px}.metric-card{margin-top:10px;padding:13px;border-radius:3px;border-top:2px solid rgba(226,189,98,.35)}.metric-card span,.metric-card small{color:#7790a4}.metric-card strong{color:#eef5fb;font:400 1.23rem Georgia,serif}.metric-card small{font-size:.66rem}

/* factions */
.party-manager{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.party-manage-card{position:relative;overflow:hidden;grid-template-columns:minmax(0,1fr);padding:15px;border:1px solid color-mix(in srgb,var(--party-card-color) 42%,rgba(255,255,255,.12));border-radius:3px;color:#edf5fa;background:
  linear-gradient(145deg,color-mix(in srgb,var(--party-card-color) 18%,#13263b),#091827 64%);box-shadow:0 12px 28px rgba(0,0,0,.22)}
.party-manage-card:before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:var(--party-card-color)}.party-manage-card:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(0,0,0,.32)}.party-large-swatch{width:54px;height:54px;border-radius:50%;box-shadow:0 0 0 5px color-mix(in srgb,var(--party-card-color) 17%,transparent),0 8px 22px rgba(0,0,0,.28)}.party-manage-main h3{font:400 1.16rem Georgia,serif;color:#fff}.party-manage-main h3 small{color:#9fb4c4}.party-manage-main p{color:#8fa6b9}.leader-line strong{color:#e9f1f6}.party-badges{justify-content:flex-start}.leader-term{border-color:rgba(255,255,255,.08)}.leader-term-track{background:#06111d}.party-manage-actions{justify-content:stretch;border-top-color:rgba(255,255,255,.09)}.party-manage-actions button{flex:1;font-size:.7rem}

/* actions */
.action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.action-card{position:relative;min-height:200px;border-radius:3px;border-color:rgba(112,166,201,.18);background:linear-gradient(145deg,rgba(25,54,81,.92),rgba(8,23,39,.97));overflow:hidden;padding:18px}.action-card:before{content:"";position:absolute;right:-22px;top:-22px;width:90px;height:90px;border-radius:50%;border:1px solid rgba(226,189,98,.15);box-shadow:0 0 0 15px rgba(226,189,98,.025)}.action-card:nth-child(3n+1){border-top:3px solid #4aa3d0}.action-card:nth-child(3n+2){border-top:3px solid #d4ae51}.action-card:nth-child(3n){border-top:3px solid #bd4650}.action-card h3{font:400 1.08rem Georgia,serif;color:#fff}.action-card p{color:#91a8ba}.action-meta{color:#7892a7}.action-card button{margin-top:auto}
.timeline-item{border-radius:0;background:rgba(255,255,255,.035);border-left-color:var(--v10-party)}

/* forms, tables, charts */
.poll-layout{grid-template-columns:290px minmax(0,1fr)}.poll-control-card select,.settings-grid input,.settings-grid select,.modal-card input,.modal-card select,.archive-toolbar select{background:#071522;color:#e9f1f7;border-color:rgba(139,182,210,.19);border-radius:3px}.latest-poll{background:#071522;border-color:rgba(139,182,210,.15);border-radius:3px}.rule-row{border-bottom-color:rgba(139,182,210,.12)}
.chart-card,.election-chart-stage{background:linear-gradient(145deg,rgba(13,32,51,.98),rgba(5,17,29,.98));border:1px solid rgba(118,170,203,.16);border-radius:4px}.chart-wrap{background:#06111d;border-color:rgba(116,164,195,.14);border-radius:3px}.chart-wrap svg text{fill:#8fa9bc}.legend-item{color:#a9bdcc}.legend-line{box-shadow:0 0 8px currentColor}
.table-wrap{border-color:rgba(120,165,194,.14);border-radius:3px}table{color:#dce8f1}th{background:#071522;color:#8ba4b8}td,th{border-bottom-color:rgba(120,165,194,.11)}tbody tr:hover{background:rgba(67,124,160,.08)}
.election-control,.latest-election{border-radius:3px}.election-card,.government-card,.government-history-item{background:rgba(255,255,255,.035);border-color:rgba(126,173,203,.13);border-radius:3px}
.settings-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rules-explainer{border-top:2px solid var(--v10-gold)}.rule-explanation{background:#071522;border-color:rgba(122,170,201,.13);border-radius:3px}

/* leadership and PM timelines */
.party-leadership-timeline,.pm-timeline-card{color:#eaf2f8;border-radius:3px;border-color:rgba(120,168,199,.17);background:linear-gradient(145deg,rgba(20,43,66,.97),rgba(6,20,34,.98));box-shadow:0 16px 36px rgba(0,0,0,.24)}.party-leadership-header{background:linear-gradient(90deg,color-mix(in srgb,var(--party-color) 21%,#14263a),#0b1b2d 62%);border-bottom-color:rgba(255,255,255,.09)}.party-timeline-identity h3,.leader-tenure-body h4{color:#f3f7fa}.party-timeline-identity p,.leader-tenure-body small,.leader-tenure-body footer{color:#8299ac}.leader-timeline-scroll{scrollbar-color:#4c718a #071522}.leader-tenure{border-radius:3px;border-color:rgba(255,255,255,.12);background:#091827;color:#eaf2f8}.leader-tenure-body p{color:#85b9d4}.leader-tenure-body footer{border-top-color:rgba(255,255,255,.09)}.leader-timeline-dot{border-color:#091827}
.pm-section-hero{border-radius:4px;background:linear-gradient(112deg,#0a263b,#101c2c 60%,#39242a)}.pm-term{background:#091827!important;color:#eaf2f8!important;border-radius:3px!important}.pm-term h3,.pm-term h4{color:#fff!important}

/* modals */
.modal{background:rgba(0,4,8,.78);backdrop-filter:blur(12px)}.modal-card{color:#edf5fa;border-radius:4px;background:linear-gradient(145deg,#142a42,#071522);border:1px solid rgba(226,189,98,.25);box-shadow:0 30px 90px rgba(0,0,0,.55)}.modal-head{border-bottom-color:rgba(255,255,255,.1)}.modal-card p,.modal-card label small{color:#8da5b8}.modal-card button{background:rgba(255,255,255,.05);color:#e8f1f7;border-color:rgba(255,255,255,.12)}.modal-card .primary{background:linear-gradient(135deg,#e1bc60,#b48731);color:#0c1723}.toast{border-radius:3px;background:#091827;color:#eaf3f9;border:1px solid rgba(226,189,98,.25)}

/* bottom time deck */
.time-command-deck{position:fixed;z-index:70;left:calc(var(--sidebar-w) + 15px);right:15px;bottom:12px;height:66px;display:grid;grid-template-columns:minmax(180px,1fr) repeat(3,minmax(120px,180px));align-items:stretch;gap:6px;padding:6px;border:1px solid rgba(226,189,98,.27);border-radius:4px;background:rgba(4,12,21,.92);backdrop-filter:blur(18px);box-shadow:0 18px 55px rgba(0,0,0,.5)}
.time-command-deck>div{padding:7px 12px;display:flex;flex-direction:column;justify-content:center;border-left:3px solid var(--v10-party);background:rgba(20,44,68,.56)}.time-command-deck>div span{color:#718da2;font-size:.55rem;font-weight:900;letter-spacing:.13em}.time-command-deck>div strong{margin-top:2px;color:#edf4f9;font:400 1.05rem Georgia,serif}.time-command-deck button{display:flex;align-items:center;justify-content:center;gap:10px;color:#e5eef5;background:linear-gradient(180deg,rgba(31,65,94,.9),rgba(13,32,50,.94));border-color:rgba(118,170,203,.2);border-radius:2px}.time-command-deck button:hover{border-color:rgba(226,189,98,.44);background:linear-gradient(180deg,rgba(47,91,126,.96),rgba(17,41,62,.96))}.time-command-deck button b{color:var(--v10-gold);font-size:.65rem}.time-command-deck button span{font-size:.65rem;font-weight:900;letter-spacing:.075em}

/* responsive */
@media(max-width:1180px){:root{--sidebar-w:210px}.command-sidebar{padding-inline:9px}.sidebar-brand{gap:7px}.sidebar-seal{width:43px;height:43px}.tabs.game-nav .tab{grid-template-columns:28px 1fr;padding:8px 7px;font-size:.7rem}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.party-manager{grid-template-columns:repeat(2,minmax(0,1fr))}.status-strip{grid-template-columns:repeat(4,minmax(100px,1fr))}.command-topbar{align-items:flex-end}.command-save-tools{max-width:55%}.menu-copy h1{font-size:6.8rem}}
@media(max-width:850px){
  :root{--sidebar-w:0px}.game-shell{display:block}.command-sidebar{position:sticky;height:auto;top:0;z-index:80;padding:7px 8px;background:#07121f;border-right:0;border-bottom:1px solid rgba(226,189,98,.22)}.sidebar-brand,.sidebar-mode,.sidebar-intel,.back-menu-button{display:none}.tabs.game-nav{display:flex;overflow-x:auto;gap:4px;padding:2px}.tabs.game-nav .tab{flex:0 0 auto;width:auto;grid-template-columns:24px auto;padding:7px 9px}.game-stage{padding-bottom:83px}.command-topbar{top:50px;position:sticky;min-height:auto;display:block;padding:12px 14px}.command-title p{display:none}.command-title h1{font-size:1.2rem}.command-save-tools{margin-top:9px;max-width:none;width:100%;display:flex;overflow-x:auto}.command-save-tools .compact-label{min-width:180px}.status-strip{grid-template-columns:repeat(4,minmax(110px,1fr));overflow-x:auto}.game-ribbon{grid-template-columns:auto minmax(0,1fr)}.resource-pills{display:none}.game-main{padding-inline:10px}.time-command-deck{left:8px;right:8px;bottom:7px;height:62px;grid-template-columns:1fr repeat(3,1fr)}.time-command-deck>div{display:none}.time-command-deck button span{font-size:.58rem}.command-hero{padding:22px;min-height:210px}.political-orb{display:none}.dashboard-grid,.poll-layout,.government-grid,.settings-grid{grid-template-columns:1fr}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.party-manager{grid-template-columns:1fr}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.screen-hero{grid-template-columns:50px 1fr}.screen-hero-icon{width:48px;height:48px}.screen-hero-stat{display:none}.game-menu{grid-template-columns:1fr;padding:30px}.menu-world{right:-40%;width:90vw}.menu-emblem{grid-column:1}.menu-copy{grid-column:1}.menu-copy h1{font-size:clamp(4rem,15vw,7rem)}.menu-actions{grid-column:1;grid-row:auto;justify-self:stretch;width:100%}.menu-footer{display:none}}
@media(max-width:560px){.command-save-tools button:not(.primary){display:none}.status-strip{grid-template-columns:repeat(2,minmax(120px,1fr))}.game-ribbon-signal{display:none}.game-ribbon{grid-template-columns:1fr}.political-ticker{text-align:left}.action-grid{grid-template-columns:1fr}.metrics-grid{grid-template-columns:1fr 1fr}.turn-controls{min-width:0;grid-template-columns:1fr}.turn-controls .primary{grid-row:auto}.screen-hero{padding:16px;grid-template-columns:1fr}.screen-hero-icon{display:none}.command-hero h2{font-size:1.75rem}.time-command-deck button b{display:none}.time-command-deck button span{font-size:.52rem}.menu-copy p{font-size:.9rem}.menu-actions{padding:10px}.menu-button{padding:12px 14px}}

@keyframes worldTurn{to{transform:translateY(-50%) rotate(360deg)}}
@keyframes menuPulse{50%{transform:scale(1.08);opacity:.5}}
@keyframes panelEnter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* =========================================================
   POLIS SANDBOX XI — POLLING WAR ROOM & POLITICAL REPLAY
   ========================================================= */
.v11-hero{background:
  radial-gradient(circle at 82% 28%,rgba(73,157,206,.19),transparent 24%),
  linear-gradient(112deg,#09253c 0%,#0a1728 58%,#241c29 100%)}
.poll-command-grid{display:grid;grid-template-columns:270px minmax(0,1fr);gap:12px;align-items:start}
.poll-intel-panel,.poll-war-room,.replay-stage,.replay-events-panel{border:1px solid rgba(121,175,208,.17);border-radius:4px;background:linear-gradient(145deg,rgba(14,36,57,.98),rgba(5,17,29,.98));box-shadow:0 18px 42px rgba(0,0,0,.24)}
.poll-intel-panel{position:sticky;top:152px;padding:15px;overflow:hidden}
.poll-intel-panel:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--v10-party),var(--v10-gold))}
.poll-intel-heading{display:flex;align-items:center;gap:10px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.09)}
.poll-intel-heading small{display:block;color:#718da3;font-size:.58rem;font-weight:900;letter-spacing:.14em}.poll-intel-heading strong{display:block;margin-top:3px;color:#ecf5fa;font:400 1rem Georgia,serif}
.live-pulse{width:12px;height:12px;border-radius:50%;background:#5dd694;box-shadow:0 0 0 5px rgba(93,214,148,.12),0 0 18px rgba(93,214,148,.55);animation:v11Pulse 1.8s infinite}
.poll-intel-panel .latest-poll{margin:13px 0;padding:12px;min-height:130px}.latest-results{display:grid;gap:5px;margin-top:10px}.latest-result{display:flex;justify-content:space-between;gap:8px;padding:5px 0;border-top:1px solid rgba(255,255,255,.055)}.latest-result span{display:flex;align-items:center;gap:7px;color:#adc0ce;font-size:.72rem}.latest-result i{width:8px;height:8px;border-radius:50%;box-shadow:0 0 8px currentColor}.latest-result b{color:#fff;font-size:.75rem}
.poll-intel-rules{display:grid;gap:7px;margin:12px 0}.poll-intel-rules div{display:flex;justify-content:space-between;padding:8px 9px;background:rgba(255,255,255,.035);border-left:2px solid rgba(226,189,98,.45)}.poll-intel-rules span{color:#718da2;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em}.poll-intel-rules b{color:#dce9f1;font-size:.69rem}
.poll-intel-panel .large{width:100%;min-height:48px}
.poll-war-room{padding:14px;min-width:0}.poll-war-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:3px 3px 12px}.poll-war-head h2{margin:.2rem 0;color:#fff;font:400 1.42rem Georgia,serif}.poll-war-head p{margin:0;color:#87a1b5}.poll-war-head .chart-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.poll-filter-deck{display:flex;align-items:end;gap:7px;flex-wrap:wrap;padding:9px;border:1px solid rgba(118,170,203,.13);background:#071522}.poll-filter-deck>label:first-child{min-width:160px}.poll-filter-deck label{color:#7f9bae;font-size:.58rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.poll-filter-deck select{display:block;margin-top:4px;background:#0d2337;color:#edf5fa;border:1px solid rgba(137,184,212,.2);border-radius:2px;padding:7px 9px}
.toggle-chip{position:relative;display:flex!important;align-items:center;min-height:34px;padding:0 10px!important;border:1px solid rgba(132,177,205,.16);background:rgba(255,255,255,.035);cursor:pointer;user-select:none}.toggle-chip input{position:absolute;opacity:0;pointer-events:none}.toggle-chip span{color:#9db1c0}.toggle-chip:has(input:checked){border-color:color-mix(in srgb,var(--v10-party) 65%,#fff);background:color-mix(in srgb,var(--v10-party) 18%,#0a1a2b);box-shadow:inset 0 -2px color-mix(in srgb,var(--v10-party) 75%,#fff)}.toggle-chip:has(input:checked) span{color:#eef7fb}
.interactive-legend{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0}.interactive-legend .legend-item{padding:5px 8px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025);cursor:pointer}.interactive-legend .legend-item:hover{background:rgba(255,255,255,.06)}
.poll-cinematic-chart,.replay-chart-wrap{position:relative;min-height:430px;background:
  linear-gradient(rgba(83,137,170,.055) 1px,transparent 1px),
  linear-gradient(90deg,rgba(83,137,170,.04) 1px,transparent 1px),#040e18;background-size:100% 52px,64px 100%;border-color:rgba(115,172,207,.2);box-shadow:inset 0 0 55px rgba(0,0,0,.32)}
.poll-cinematic-chart:after,.replay-chart-wrap:after{content:"";pointer-events:none;position:absolute;inset:0;border:1px solid rgba(226,189,98,.08);box-shadow:inset 0 0 40px rgba(44,121,164,.05)}
.poll-cinematic-chart svg,.replay-chart-wrap svg{display:block;width:100%;height:auto;min-height:430px;filter:drop-shadow(0 0 3px rgba(80,174,220,.12))}
.poll-mini-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:9px}.poll-mini-stats>div{padding:10px 11px;border-left:3px solid var(--v10-party);background:#071522}.poll-mini-stats span{display:block;color:#718ca1;font-size:.57rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.poll-mini-stats strong{display:block;margin-top:4px;color:#f2f7fa;font:400 1rem Georgia,serif}.poll-data-card{margin-top:12px}.poll-data-card .table-wrap{background:#050f19}.poll-data-card tbody{background:#071522}.poll-data-card tbody tr:nth-child(even){background:rgba(255,255,255,.018)}

/* Replay politico */
.replay-screen-hero{background:
  radial-gradient(circle at 78% 30%,rgba(207,63,82,.19),transparent 23%),
  linear-gradient(112deg,#132b45,#0a1728 58%,#321922)}
.replay-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:12px;align-items:start}.replay-stage{padding:13px;min-width:0}.replay-topline{display:flex;justify-content:space-between;gap:16px;align-items:end;padding:1px 2px 11px}.replay-topline label{color:#7895aa;font-size:.58rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.replay-topline select{display:block;margin-top:5px;min-width:260px;padding:8px 10px;border:1px solid rgba(135,183,211,.2);border-radius:2px;background:#071522;color:#edf5fa}.replay-summary{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.replay-summary span{padding:7px 9px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);color:#7995a9;font-size:.62rem}.replay-summary b{color:#eef5f9;margin-right:3px}
.replay-screen{overflow:hidden;border:1px solid rgba(226,189,98,.15);background:#030b13}.replay-screen-header{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:9px 12px;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(90deg,#0d263c,#081521)}.replay-screen-header>div:first-child{display:flex;align-items:center;gap:12px}.replay-screen-header span{color:#68d9a0;font-size:.57rem;font-weight:900;letter-spacing:.14em}.replay-screen-header strong{color:#e9f2f7;font:400 .95rem Georgia,serif}.replay-live{color:#809aae;font-size:.57rem;font-weight:900;letter-spacing:.12em}.replay-live i{display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:#d45161;box-shadow:0 0 11px rgba(212,81,97,.75)}
.replay-chart-wrap{border:0;border-bottom:1px solid rgba(255,255,255,.08);min-height:455px}.replay-chart-wrap svg{min-height:455px}.replay-controls{position:sticky;bottom:78px;z-index:74;display:grid;grid-template-columns:52px 116px 52px minmax(190px,1fr) 88px;gap:6px;align-items:end;padding:9px;background:rgba(5,16,27,.96);backdrop-filter:blur(14px)}.replay-controls button{height:40px}.replay-play{font-weight:900;letter-spacing:.07em}.replay-controls label{color:#728da2;font-size:.55rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.replay-controls select{display:block;width:100%;margin-top:4px;height:26px;background:#0c2134;color:#eef5fa;border:1px solid rgba(137,182,210,.18)}.replay-scrubber{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:0 8px}.replay-scrubber input{width:100%;accent-color:var(--v10-party)}.replay-scrubber output{color:#dce9f1;font-size:.62rem;white-space:nowrap}
.replay-event-card{position:absolute;left:18px;bottom:18px;z-index:5;width:min(390px,calc(100% - 36px));padding:13px 15px;border-left:4px solid #d7b15a;background:rgba(5,16,27,.93);box-shadow:0 16px 40px rgba(0,0,0,.45);backdrop-filter:blur(12px)}.replay-event-card.positive{border-left-color:#5bd394}.replay-event-card.negative{border-left-color:#da5d68}.replay-event-card small{color:#7792a6;font-size:.55rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.replay-event-card strong{display:block;margin:4px 0;color:#fff;font:400 1rem Georgia,serif}.replay-event-card p{margin:0;color:#a4b7c5;font-size:.72rem}
.replay-events-panel{position:sticky;top:152px;overflow:hidden}.replay-events-head{padding:15px;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(145deg,rgba(31,65,93,.9),rgba(11,28,45,.95))}.replay-events-head h2{margin:.25rem 0;color:#fff;font:400 1.25rem Georgia,serif}.replay-events-head p{margin:0;color:#849caf}.replay-event-list{max-height:650px;overflow:auto;padding:6px;scrollbar-color:#466b83 #071522}.replay-event-item{width:100%;display:grid;grid-template-columns:22px 1fr;gap:7px;text-align:left;padding:10px 8px;border:0;border-bottom:1px solid rgba(255,255,255,.07);border-left:3px solid #a98d52;border-radius:0;background:transparent;color:#e5eef4}.replay-event-item:hover{background:rgba(255,255,255,.045)}.replay-event-item.positive{border-left-color:#4fc88a}.replay-event-item.negative{border-left-color:#d95665}.replay-event-item>span{font-size:.65rem;color:#d9b85e}.replay-event-item.positive>span{color:#63d89b}.replay-event-item.negative>span{color:#e36d78}.replay-event-item small{display:block;color:#67849a;font-size:.54rem;letter-spacing:.07em}.replay-event-item strong{display:block;margin:3px 0;color:#f2f7fa;font-size:.72rem}.replay-event-item p{margin:0;color:#879fb1;font-size:.65rem;line-height:1.35}

/* Government event intelligence */
.government-event-feed{display:grid;gap:7px}.government-event{display:grid;grid-template-columns:28px 1fr auto;gap:9px;align-items:start;padding:10px;border-left:3px solid #a58a52;background:rgba(255,255,255,.035)}.government-event.positive{border-left-color:#4ec789}.government-event.negative{border-left-color:#d85966}.government-event .event-symbol{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:rgba(255,255,255,.06);color:#d8b85f}.government-event.positive .event-symbol{color:#63d99b}.government-event.negative .event-symbol{color:#e06a77}.government-event small{display:block;color:#6f8ba0;font-size:.54rem;font-weight:900;letter-spacing:.07em}.government-event strong{display:block;margin:3px 0;color:#f0f6fa;font-size:.74rem}.government-event p{margin:0;color:#8ea5b7;font-size:.67rem;line-height:1.4}.government-event>b{color:#d9e5ed;font-size:.72rem}

/* Full-screen political event popup */
.event-flash{position:fixed;z-index:140;inset:0;display:grid;place-items:center;padding:18px;background:rgba(0,5,10,.78);backdrop-filter:blur(10px)}.event-flash[hidden]{display:none!important}.event-flash-card{position:relative;width:min(520px,100%);padding:25px;border:1px solid rgba(226,189,98,.3);border-top:4px solid #d7b15a;background:linear-gradient(145deg,#17324d,#071522 68%);box-shadow:0 34px 100px rgba(0,0,0,.62);color:#edf5fa}.event-flash-card.positive{border-top-color:#50ca8c}.event-flash-card.negative{border-top-color:#d95b68}.event-flash-card small{color:#809bae;font-size:.58rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.event-flash-card h2{margin:.45rem 0;color:#fff;font:400 1.8rem Georgia,serif}.event-flash-card p{color:#9eb2c1;line-height:1.55}.event-flash-card button{margin-top:12px;width:100%}

@media(max-width:1100px){.poll-command-grid{grid-template-columns:230px minmax(0,1fr)}.replay-layout{grid-template-columns:minmax(0,1fr) 260px}.poll-mini-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.replay-controls{grid-template-columns:44px 100px 44px minmax(150px,1fr) 72px}}
@media(max-width:850px){.poll-command-grid,.replay-layout{grid-template-columns:1fr}.poll-intel-panel,.replay-events-panel{position:static}.poll-war-head,.replay-topline{display:block}.poll-war-head .chart-actions,.replay-summary{margin-top:9px;justify-content:flex-start}.replay-events-panel{max-height:none}.replay-event-list{max-height:370px}.poll-cinematic-chart,.poll-cinematic-chart svg,.replay-chart-wrap,.replay-chart-wrap svg{min-height:360px}.replay-controls{bottom:72px;grid-template-columns:42px 96px 42px 1fr}.replay-controls>label:last-child{grid-column:1/-1;display:flex;align-items:center;gap:8px}.replay-controls>label:last-child select{width:90px;margin:0}.poll-intel-rules{grid-template-columns:repeat(3,1fr)}.poll-intel-rules div{display:block}.poll-intel-rules b{display:block;margin-top:3px}}
@media(max-width:560px){.poll-filter-deck{align-items:stretch}.poll-filter-deck>label:first-child{width:100%}.toggle-chip{flex:1;justify-content:center}.poll-mini-stats{grid-template-columns:1fr 1fr}.replay-topline select{min-width:0;width:100%}.replay-controls{grid-template-columns:38px 1fr 38px}.replay-scrubber{grid-column:1/-1}.replay-controls>label:last-child{grid-column:1/-1}.poll-intel-rules{grid-template-columns:1fr}.poll-cinematic-chart,.poll-cinematic-chart svg,.replay-chart-wrap,.replay-chart-wrap svg{min-height:300px}.replay-event-card{left:9px;bottom:9px;width:calc(100% - 18px)}}
@keyframes v11Pulse{50%{transform:scale(.72);opacity:.55;box-shadow:0 0 0 9px rgba(93,214,148,.04),0 0 20px rgba(93,214,148,.25)}}
.event-flash.positive .event-flash-card{border-top-color:#50ca8c}.event-flash.negative .event-flash-card{border-top-color:#d95b68}.event-flash-close{position:absolute;right:10px;top:10px;width:34px!important;height:34px;margin:0!important;padding:0!important;border-radius:50%!important}.event-flash-impact{margin-top:13px;padding:10px;border-left:3px solid var(--v10-gold);background:rgba(255,255,255,.045);color:#c8d7e1}.event-flash.positive .event-flash-impact{border-left-color:#50ca8c}.event-flash.negative .event-flash-impact{border-left-color:#d95b68}
