:root{--ink:#eadfc6;--ink-2:#c8b894;--ink-3:#9a8a6c;--bg:#1d1a15;--bg-2:#26221b;--bg-3:#322c22;--line:#4a4030;--gold:#c9a24a;--gold-2:#e8c878;--bad:#e07a5f;--good:#8fc28a;--serif:"Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--ui:"Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--ink);font-family:var(--ui);margin:0;font-size:13px;overflow:hidden}button{font:inherit;color:var(--ink);background:var(--bg-3);border:1px solid var(--line);cursor:pointer;border-radius:4px;padding:4px 9px}button:hover:not(:disabled){border-color:var(--gold);background:#3c3428}button:disabled{opacity:.45;cursor:default}button.on{border-color:var(--gold);color:#fff3d0;background:#5a4520}button.primary{border-color:var(--gold);color:#fff3d0;background:#6a4c18;font-weight:600}select,input[type=range]{accent-color:var(--gold)}select{background:var(--bg-3);color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:3px}a.plink{color:var(--gold-2);cursor:pointer;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3{font-family:var(--serif);margin:0 0 8px;font-weight:400}p{margin:6px 0;line-height:1.45}.muted{color:var(--ink-3)}.small{font-size:12px}.tiny{font-size:11px}.bad{color:var(--bad)}.good{color:var(--good)}.grow{flex:1;min-width:0}.row{align-items:center;gap:6px;display:flex}.row.gap{gap:8px;margin:6px 0}.row.wrap{flex-wrap:wrap}.clamp{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.game{position:fixed;inset:0}.map-wrap{position:absolute;inset:0}.map-canvas{cursor:grab;width:100%;height:100%;display:block}.map-canvas:active{cursor:grabbing}.label-layer{pointer-events:none;position:absolute;inset:0;overflow:hidden}.map-label{font-family:var(--serif);color:#2a2016;text-shadow:0 0 3px #f0e4c8e6,0 0 1px #f0e4c8;white-space:nowrap;font-size:11px;font-style:italic;position:absolute;top:0;left:0}.map-label.big{font-size:13px;font-style:normal;font-weight:700}.map-label.state{color:#3c1e14bf;letter-spacing:3px;text-transform:uppercase;text-shadow:0 0 4px #f0e4c8cc;font-style:normal}.geo-label{font-family:var(--serif);white-space:nowrap;pointer-events:none;font-style:italic;position:absolute;top:0;left:0}.geo-label.sea{color:#1e343e9e;letter-spacing:4px;text-shadow:0 0 3px #c8dcde80}.geo-label.mountain{color:#4a3420b8;letter-spacing:3px;text-transform:uppercase;text-shadow:0 0 3px #f0e4c8b3;font-style:normal}.geo-label.river{color:#284860d9;letter-spacing:1px;text-shadow:0 0 3px #f0e4c8d9}.geo-label.desert{color:#6e522e99;letter-spacing:5px;text-transform:uppercase;text-shadow:0 0 3px #f0e4c899;font-style:normal}.map-tip{z-index:50;border:1px solid var(--line);pointer-events:none;white-space:nowrap;background:#14110deb;border-radius:4px;padding:4px 8px;font-size:12px;position:fixed}.topbar{border-bottom:1px solid var(--line);z-index:20;background:linear-gradient(#2a241c,#1d1a15);justify-content:space-between;align-items:center;gap:12px;height:44px;padding:0 10px;display:flex;position:absolute;top:0;left:0;right:0}.tb-group{align-items:center;gap:8px;display:flex;position:relative}.tb-date{font-family:var(--serif);color:var(--gold-2);min-width:120px;font-size:18px}.tb-era{font-family:var(--serif);color:var(--ink-2);font-style:italic}.speed button{min-width:30px;padding:3px 7px}.res{gap:16px}.res-item{align-items:center;gap:5px;font-size:14px;display:flex}.res-icon{width:14px;height:14px;color:var(--gold-2);border-radius:50%;justify-content:center;align-items:center;font-size:11px;display:inline-flex}.alerts{background:var(--bg-3);border-radius:10px;padding:3px 8px}.alerts.hot{color:#ffd8c0;background:#6a3020}.tb-menu{background:var(--bg-2);border:1px solid var(--line);z-index:40;border-radius:6px;flex-direction:column;gap:4px;min-width:180px;padding:6px;display:flex;position:absolute;top:36px;right:0}.rail{z-index:15;flex-direction:column;gap:4px;display:flex;position:absolute;top:54px;left:8px}.rail button{text-align:left;background:#26221beb;width:104px;position:relative}.rail em{color:var(--bad);font-style:normal;font-weight:700;position:absolute;top:4px;right:6px}.panel{border:1px solid var(--line);z-index:14;background:#1d1a15f7;border-radius:6px;flex-direction:column;width:380px;display:flex;position:absolute;top:52px;bottom:150px;box-shadow:0 6px 24px #00000080}.panel.left{width:420px;left:120px}.panel.right{right:8px}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.panel-head h2{color:var(--gold-2);margin:0;font-size:20px}.panel-body{padding:8px 12px 16px;overflow-y:auto}button.x{background:0 0;border:none;padding:0 4px;font-size:20px}.hint{color:var(--ink-2);background:var(--bg-2);border-left:2px solid var(--gold);padding:6px 8px;font-size:12px}.section{margin:12px 0}.section-title{font-family:var(--serif);color:var(--gold);border-bottom:1px solid var(--line);justify-content:space-between;margin-bottom:6px;padding-bottom:2px;font-size:15px;display:flex}.kv{justify-content:space-between;align-items:center;gap:8px;padding:2px 0;display:flex}.kv>span:first-child{color:var(--ink-2);min-width:110px}.bd-row{justify-content:space-between;gap:12px;display:flex}.banner{border:1px solid var(--gold);background:#3a3020;border-radius:4px;margin:6px 0;padding:4px 8px;font-size:12px}.banner.bad{border-color:var(--bad);background:#4a2018}.info-age{color:#b8c8b0;margin:4px 0;font-size:12px}.info-age.stale{color:#d0a870}.meter{background:#2a251d;border-radius:4px;min-width:60px;height:7px;overflow:hidden}.meter-fill{border-radius:4px;height:100%}.swatch{border-radius:2px;width:10px;height:10px;display:inline-block}.udot{border:2px solid #1a1410;border-radius:50%;flex:none;width:11px;height:11px;display:inline-block}.unit-row{cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:5px 4px;display:flex}.unit-row:hover{background:var(--bg-3)}.exp{width:60px}.seg{flex-wrap:wrap;gap:4px;margin:6px 0 2px;display:flex}.seg button{padding:2px 8px;font-size:12px}.seg button.on{border-color:var(--gold);background:#3a3020}.saint-row,.relic-row{border-bottom:1px solid var(--bg-3)}.saint-row.suppressed .saint-head{opacity:.6}.saint-head{cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:5px 4px;display:flex}.saint-head:hover{background:var(--bg-3)}.saint-mark{color:var(--gold);text-align:center;flex:none;width:14px}.saint-row.recognized .saint-mark{color:var(--gold-2)}.see-row{border-bottom:1px solid var(--bg-3);padding:6px 2px}.see-row.asking{background:#2c2618}.see-head{align-items:center;gap:8px;display:flex}.see-rank{font-family:var(--serif);color:var(--gold);text-align:center;width:18px;font-size:16px}.see-arrows{flex-direction:column;gap:2px;display:flex}.see-arrows button{padding:0 6px;font-size:10px;line-height:14px}.see-row .term-tip{left:auto;right:0}.see-demand{border-left:2px solid var(--gold);margin-top:4px;padding:4px 6px}.bad-text{color:var(--bad)}.saint-facts{color:var(--ink-2);flex-wrap:wrap;gap:4px 12px;margin:4px 0;display:flex}.saint-body{padding:0 4px 6px 26px}.saint-body .relic-row{border:none}.action{align-items:flex-start;gap:8px;margin:5px 0;display:flex}.action button{text-align:left;flex:none;min-width:150px}.activity{cursor:pointer;border-radius:4px;align-items:flex-start;gap:6px;padding:3px;display:flex}.activity.on{background:#3a3020}.stack{background:var(--bg);border-radius:3px;gap:2px;height:12px;margin:6px 0 4px;display:flex;overflow:hidden}.stack-legend{flex-wrap:wrap;gap:4px 10px;display:flex}.stack-legend i,.legend i,.chart-legend i,.chart-tip i{border-radius:2px;width:9px;height:9px;margin-right:4px;display:inline-block}.window-row{align-items:center;gap:8px;margin:4px 0;display:flex}.stance{background:var(--bg-3);border-radius:8px;padding:1px 6px;font-size:11px}.stance.Persecuting{background:#6a2018}.stance.Hostile{background:#5a3020}.stance.Tolerated{background:#3a4a30}.stance.Favored{background:#2a4a5a}.stance.Official,.stance.Dependent{background:#5a4a20}.term{border-bottom:1px dotted var(--ink-3);cursor:help;position:relative}.term-tip{z-index:60;border:1px solid var(--gold);width:260px;color:var(--ink);text-transform:none;letter-spacing:0;background:#14110d;border-radius:5px;flex-direction:column;gap:3px;padding:7px 9px;font-size:12px;font-weight:400;display:flex;position:absolute;top:100%;left:0;box-shadow:0 4px 14px #0009}.breakdown{position:relative}.axis{border-radius:4px;margin:4px 0;padding:6px}.axis.focus{background:var(--bg-2)}.axis-head{justify-content:space-between;display:flex}.axis-poles{color:var(--ink-3);justify-content:space-between;font-size:11px;display:flex}.slider-wrap{height:22px;position:relative}.slider-wrap input{width:100%;margin:0;position:absolute;top:3px;left:0}.ghost,.cur{pointer-events:none;width:2px;height:22px;position:absolute;top:0;transform:translate(-1px)}.ghost{background:repeating-linear-gradient(#8a7a60 0 3px,#0000 3px 6px)}.cur{background:var(--gold-2);opacity:.6}.tenet{align-items:flex-start;gap:8px;margin:6px 0;display:flex}.mini-axis{grid-template-columns:110px 1fr;align-items:center;gap:6px;display:grid}.mini-track{background:var(--bg-3);border-radius:4px;height:8px;position:relative}.mini-track i{border-radius:2px;width:4px;height:12px;position:absolute;top:-2px;transform:translate(-2px)}.mini-track i.c{background:var(--gold-2)}.mini-track i.u{background:#6fc3d8}.shelf{flex-direction:column;gap:3px;margin:8px 0;display:flex}.book{cursor:pointer;border:1px solid #0000;border-radius:4px;align-items:center;gap:8px;padding:4px;display:flex}.book:hover,.book.sel{border-color:var(--line);background:var(--bg-2)}.book-spine{border-radius:2px;align-self:stretch;width:8px}.book.rejected{opacity:.55}.status{background:var(--bg-3);text-transform:capitalize;border-radius:8px;padding:1px 6px;font-size:11px}.status.endorsed,.status.done{background:#3a4a28}.status.rejected,.status.failed{background:#4a2820}.status.circulating,.status.open{background:#4a3a18}.lean{margin:6px 0}.state-row,.sect-row,.mission{border-bottom:1px solid var(--line);padding:7px 0}.sect-row.ended,.mission.failed,.mission.future{opacity:.55}.two-meters{grid-template-columns:60px 1fr 60px 1fr;align-items:center;gap:6px;margin-top:3px;display:grid}.chart{margin:10px 0;position:relative}.chart-title{color:var(--ink-2);margin-bottom:2px;font-size:12px}.chart-legend{color:var(--ink-2);flex-wrap:wrap;gap:3px 10px;font-size:11px;display:flex}.chart-svg{width:100%;height:auto;display:block}.chart-svg .grid,.tree-svg .grid{stroke:#3a3228;stroke-width:1px}.chart-svg .axis,.tree-svg .axis{fill:var(--ink-3);font-size:10px}.chart-svg .crosshair{stroke:#8a7a60;stroke-dasharray:3 3}.chart-tip{border:1px solid var(--line);pointer-events:none;background:#14110d;flex-direction:column;gap:1px;padding:4px 8px;font-size:11px;display:flex;position:absolute;top:0;right:0}.tree-svg{width:100%;height:auto;display:block}.tree-label{fill:var(--ink-2);font-size:11px}.tree-label.mine{fill:var(--gold-2);font-weight:700}.scores{text-align:center;grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.scores div{background:var(--bg-2);border-radius:5px;flex-direction:column;padding:6px;display:flex}.scores b{color:var(--gold-2);font-size:22px;font-family:var(--serif)}.scores span{color:var(--ink-2);font-size:11px}.scores em{color:var(--ink-3);font-size:10px;font-style:normal}.scores.big b{font-size:32px}.table{border-collapse:collapse;width:100%}.table td,.table th{border-bottom:1px solid var(--line);text-align:right;padding:2px 4px}.enc{flex-direction:column;gap:8px;display:flex}.enc-list{flex-wrap:wrap;gap:4px 10px;display:flex}.enc-list a{cursor:pointer;color:var(--ink-2);font-size:12px}.enc-list a.on{color:var(--gold-2);text-decoration:underline}.enc-body p{font-family:var(--serif);font-size:14px}.lensbar{z-index:12;align-items:flex-end;gap:8px;display:flex;position:absolute;bottom:8px;left:8px}.minimap{border:1px solid var(--line);cursor:pointer;width:192px;image-rendering:pixelated;border-radius:4px;display:block}.lens-buttons{grid-template-columns:repeat(3,auto);gap:3px;display:grid}.lens-buttons button{background:#26221beb;padding:3px 6px;font-size:12px}.legend{border:1px solid var(--line);background:#1d1a15e6;border-radius:4px;flex-wrap:wrap;gap:3px 10px;max-width:280px;padding:6px 8px;display:flex}.legend .muted{width:100%}.notes{border:1px solid var(--line);z-index:13;background:#1d1a15f2;border-radius:6px;width:340px;max-height:42vh;position:absolute;bottom:8px;right:8px;overflow-y:auto}.panel.right~.notes{right:396px}.notes.collapsed{max-height:none}.notes-head{cursor:pointer;border-bottom:1px solid var(--line);background:#1d1a15;justify-content:space-between;padding:6px 10px;display:flex;position:sticky;top:0}.notes-sub{color:var(--ink-3);text-transform:uppercase;letter-spacing:1px;padding:4px 10px 0;font-size:11px}.note{cursor:pointer;border-left:3px solid #0000;align-items:center;gap:8px;padding:5px 10px;font-size:12px;display:flex}.note:hover{background:var(--bg-3)}.note.danger{border-left-color:var(--bad)}.note.opportunity{border-left-color:var(--gold)}.note.good{border-left-color:var(--good)}.note.event{border-left-color:#9a6ab8}.modal-bg{z-index:30;background:#0a08058c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.card{color:#2a2016;width:92vw;max-width:620px;max-height:88vh;font-family:var(--serif);background:linear-gradient(#e9dcbc,#d8c79f);border:2px solid #6a5030;border-radius:8px;padding:18px 22px;overflow-y:auto;box-shadow:0 12px 40px #000000b3}.card h2{color:#3a2410;font-size:26px}.card p{font-size:15px}.card .muted{color:#6a5a40}.card a.plink{color:#7a3a10}.card-art{float:right;opacity:.85;margin:0 0 8px 12px}.card-type{text-transform:uppercase;letter-spacing:1px;color:#7a5a30;font-size:12px;font-family:var(--ui);margin-bottom:4px}.options{clear:both;flex-direction:column;gap:8px;margin-top:10px;display:flex}.option{text-align:left;color:#2a2016;font-family:var(--serif);background:#f4ead0;border:1px solid #8a6a40;padding:8px 12px;font-size:15px}.option:hover:not(:disabled){background:#fff6dc;border-color:#3a2410}.option ul{font-family:var(--ui);color:#5a4a30;margin:4px 0 0;padding-left:18px;font-size:12px}.card button{color:#2a2016;background:#f4ead0;border-color:#8a6a40}.card button.primary{color:#fff3d0;background:#6a4c18}.card.council{max-width:880px}.vote-bar{height:22px;font-family:var(--ui);border-radius:4px;gap:2px;margin:8px 0;font-size:12px;font-weight:700;display:flex;overflow:hidden}.vote-bar .yes{color:#f0f8e0;background:#4a6a38;align-items:center;padding-left:6px;display:flex}.vote-bar .no{color:#fff0e8;background:#8a3a28;justify-content:flex-end;align-items:center;padding-right:6px;display:flex}.hall{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.hall-group{background:#ffffff40;border-radius:6px;flex-direction:column;gap:4px;min-height:60px;padding:6px;display:flex}.bishop{font-family:var(--ui);background:#f4ead0;border-left:4px solid #8a3a28;border-radius:4px;align-items:center;gap:6px;padding:4px;display:flex}.bishop.yes{border-left-color:#4a6a38}.portrait{color:#f4ead0;width:26px;height:26px;font-family:var(--serif);background:#6a5030;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:15px;display:flex}.tiny-btn{padding:1px 6px;font-size:11px}.card.end{max-width:760px}.card.end .scores div{background:#ffffff59}.card.end .scores b{color:#6a3a10}.card.end .scores span,.card.end .scores em{color:#4a3a20}.card .tree-label{fill:#3a2a18}.card .tree-label.mine{fill:#7a3a10}.card .tree-svg .axis{fill:#6a5a40}.card .tree-svg .grid{stroke:#b8a47c}.legacy-total{margin:10px 0;font-size:20px}.toasts{z-index:70;flex-direction:column;gap:6px;display:flex;position:fixed;top:54px;left:50%;transform:translate(-50%)}.toast{border:1px solid var(--bad);background:#4a2018;border-radius:5px;padding:6px 14px}.toast.info{border-color:var(--good);background:#2a3a20}.menu{background:radial-gradient(#3a3022 0%,#14110d 75%);justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}.menu-card{color:#2a2016;width:92vw;max-width:640px;font-family:var(--serif);background:linear-gradient(#ebdfc0,#d6c49a);border:2px solid #6a5030;border-radius:10px;padding:28px 34px;box-shadow:0 16px 60px #000c}.menu-card h1{color:#3a2410;text-align:center;font-size:40px}.menu-card.prelude h1{text-align:left;font-size:28px}.menu-card p{font-size:15px}.menu-card .muted{color:#6a5a40}.menu-card button{color:#2a2016;font-family:var(--serif);background:#f4ead0;border-color:#8a6a40;padding:7px 14px;font-size:15px}.menu-card button.primary,.menu-card button.on{color:#fff3d0;background:#6a4c18}.title-mark{text-align:center;color:#7a4a18;font-size:48px}.title-mark.spin{animation:3s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.pitch{text-align:center;font-style:italic;font-size:18px!important}.menu-buttons{flex-direction:column;gap:8px;margin:16px 0;display:flex}.choice-row{gap:8px;margin:12px 0;display:flex}.choice-row button{flex:1}.save-row{border-bottom:1px solid #b8a47c;align-items:center;gap:8px;padding:6px 0;display:flex}.howto{background:#ffffff59;border-radius:6px;margin:10px 0;padding:10px 14px}.howto li{margin:4px 0;font-size:14px}.start-opts{align-items:center;gap:10px;display:flex}.start-opts select{color:#2a2016;background:#f4ead0;border-color:#8a6a40;margin-left:6px}.badge{border:1px solid;border-radius:8px;padding:0 6px;font-size:11px}.card.court{max-width:960px}.card.court h3{margin:12px 0 6px}.card.court .good{color:#3a6a28}.card.court .bad{color:#8a3a28}.ftree{flex-direction:column;align-items:center;gap:18px;display:flex}.ft-row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex;position:relative}.ft-row+.ft-row:before{content:"";border-left:2px solid #8a6a40;height:18px;position:absolute;top:-18px;left:50%}.officials{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;display:grid}.person{width:210px;font-family:var(--ui);background:#f4ead0;border:1px solid #b8a47c;border-radius:6px;flex-direction:column;gap:3px;padding:6px;display:flex}.officials .person{width:auto}.person.ruler{background:#fbf3dc;border:2px solid #6a4c18}.person.dead{opacity:.65}.person .kv>span:first-child{color:#6a5a40;min-width:52px}.person .badge{margin-left:4px}.badge.heir{color:#6a4c18;border-color:#6a4c18}.badge.hook{color:#7a3a80;cursor:help;border-color:#7a3a80}.rumor-row{border-bottom:1px solid #ffffff14;flex-direction:column;gap:3px;padding:4px 0;display:flex}.rumor-row:last-child{border-bottom:none}.rumor-row .tiny-btn{align-self:flex-start}.factions{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;display:grid}.faction{font-family:var(--ui);background:#f4ead0;border:1px solid #b8a47c;border-radius:6px;padding:6px}.faction.dominant{background:#fbf3dc;border:2px solid #6a4c18}.plot{font-family:var(--ui);background:#f4ead0;border:1px solid #b8a47c;border-radius:6px;flex-direction:column;gap:3px;margin-bottom:6px;padding:6px;display:flex}.war-row{border-bottom:1px solid #78643c4d;flex-direction:column;gap:2px;padding:4px 0 6px;display:flex}.badge.pact-alliance{color:#3a6a28}.badge.pact-marriage{color:#9a6ab8}.badge.pact-truce{color:#8a7440}
