[data-theme=forest]{--surface:#101d18;--card:#20352a;--alternate:#2c4435;--chrome:#14251c;--edge:#526957;--text:#f0eadb;--quiet:#c0ccbd;--accent:#e7c779;--button:#e7c779;--button-ink:#22291c}
[data-theme=midnight]{--surface:#101829;--card:#1c2940;--alternate:#293951;--chrome:#141e32;--edge:#586a85;--text:#eaf0f8;--quiet:#bdcadc;--accent:#cddff5;--button:#cddff5;--button-ink:#142039}
[data-theme=burgundy]{--surface:#211318;--card:#3b232e;--alternate:#4b303a;--chrome:#291820;--edge:#815762;--text:#f7eadd;--quiet:#d7bbc1;--accent:#e6c081;--button:#e6c081;--button-ink:#322024}
[data-theme=grove]{--surface:#1d2b20;--card:#2b4130;--alternate:#3b5140;--chrome:#203426;--edge:#71836a;--text:#f3f0dd;--quiet:#cad5ba;--accent:#dfd2a2;--button:#dfd2a2;--button-ink:#263423}
[data-theme=iron]{--surface:#1b1e21;--card:#2c3238;--alternate:#3b434b;--chrome:#20252a;--edge:#697683;--text:#edf0ec;--quiet:#c2c9cc;--accent:#e2b98e;--button:#e2b98e;--button-ink:#28241f}
[data-theme=amethyst]{--surface:#20182b;--card:#342641;--alternate:#473551;--chrome:#261d33;--edge:#80658c;--text:#f5eddd;--quiet:#d3bfdb;--accent:#edcd8d;--button:#edcd8d;--button-ink:#302237}
[data-theme=copper]{--surface:#281e17;--card:#3e2f24;--alternate:#514032;--chrome:#30231a;--edge:#8c7159;--text:#f3e6d0;--quiet:#d8c4ab;--accent:#efb889;--button:#efb889;--button-ink:#34241a}
[data-theme=ivory]{--surface:#e4dfcc;--card:#f6f0df;--alternate:#dcd5be;--chrome:#e9e5d4;--edge:#8b9177;--text:#20372b;--quiet:#4d5f49;--accent:#385635;--button:#335b3e;--button-ink:#fff7e5}
[data-theme=ember]{--surface:#271b1a;--card:#402a26;--alternate:#543831;--chrome:#301f1d;--edge:#946e59;--text:#f4e5d6;--quiet:#d6beb0;--accent:#efbb87;--button:#efbb87;--button-ink:#36241c}
[data-theme=moonlit]{--surface:#1c252d;--card:#2a3945;--alternate:#384b59;--chrome:#202d38;--edge:#6b8395;--text:#edf1f2;--quiet:#c1d0d8;--accent:#d9e5ec;--button:#d9e5ec;--button-ink:#1f3341}
[data-theme=parchment]{--surface:#d8c5a0;--card:#f1e3c7;--alternate:#e0cfac;--chrome:#e5d3af;--edge:#94805c;--text:#352b1d;--quiet:#605035;--accent:#65441e;--button:#634924;--button-ink:#fff2d8}
[data-theme=obsidian]{--surface:#121211;--card:#242320;--alternate:#34332c;--chrome:#1a1916;--edge:#756a50;--text:#f4eddd;--quiet:#c8c2b1;--accent:#e4c989;--button:#e4c989;--button-ink:#272317}
[data-theme=rose]{--surface:#281d23;--card:#44313d;--alternate:#57404d;--chrome:#32242c;--edge:#9e7e8b;--text:#faeddf;--quiet:#e0c8ce;--accent:#f1cea9;--button:#f1cea9;--button-ink:#392b2b}
[data-theme=azure]{--surface:#15292c;--card:#233d41;--alternate:#315157;--chrome:#1a3034;--edge:#6b9297;--text:#edf4e9;--quiet:#bfd7cf;--accent:#edd6a2;--button:#edd6a2;--button-ink:#263d3d}
[data-theme=ivory],[data-theme=parchment]{color-scheme:light}
body.is-playing[data-theme]{--bg:var(--surface);--panel:var(--card);--panel2:var(--alternate);--line:var(--edge);--light:var(--text);--muted:var(--quiet);--gold:var(--accent);--bright:var(--accent);background:var(--surface);color:var(--text)}
body.is-playing .masthead,body.is-playing .main-nav,body.is-playing .sidebar-person{background:var(--chrome);border-color:var(--edge)}
body.is-playing .panel,body.is-playing .panel.dark,body.is-playing .resource-strip,body.is-playing .candidate-card,body.is-playing .settlement-card,body.is-playing .stat,body.is-playing .mobile-activities{background:var(--card);border-color:var(--edge);color:var(--text)}
body.is-playing h1,body.is-playing h2,body.is-playing h3,body.is-playing .page-heading h1,body.is-playing .command-heading h1,body.is-playing .world-clock strong,body.is-playing strong{color:var(--text)}
body.is-playing a,body.is-playing .main-nav a[aria-current],body.is-playing .eyebrow{color:var(--accent)}
body.is-playing .muted,body.is-playing .page-heading p,body.is-playing .command-heading p,body.is-playing .sidebar-label,body.is-playing .sidebar-note,body.is-playing small,body.is-playing .world-state,body.is-playing .side-links a,body.is-playing .world-clock .eyebrow{color:var(--quiet)}
body.is-playing .panel p,body.is-playing .panel p.muted,body.is-playing .notice p{color:var(--quiet)}
body.is-playing .main-nav a,body.is-playing label,body.is-playing .mini-resource b,body.is-playing .sidebar-person .purse small,body.is-playing .resource-strip>div>span,body.is-playing .resource-strip strong small,body.is-playing .resource-strip small,body.is-playing .settlement-card p,body.is-playing .skill-row span,body.is-playing .people-list small,body.is-playing .goal-steps small,body.is-playing .progress-fraction span,body.is-playing .step-mark{color:var(--quiet)}
body.is-playing td,body.is-playing th{color:var(--text)}
body.is-playing .site-footer>span,body.is-playing .stat b{color:var(--accent)}
body.is-playing .tabs a[aria-current],body.is-playing .side-links a[aria-current]{background:var(--alternate);color:var(--text);border-color:var(--accent)}
body.is-playing .resource-strip strong,body.is-playing .purse,body.is-playing .progress-fraction,body.is-playing .event-list strong,body.is-playing .notice h3{color:var(--accent)}
body.is-playing .event-list .eyebrow,body.is-playing .task-facts,body.is-playing .task-facts span,body.is-playing .task-note,body.is-playing .move-links span,body.is-playing .move-links b,body.is-playing .change-ambition summary,body.is-playing .mobile-activities summary{color:var(--quiet)}
body.is-playing .mobile-activities summary:hover{color:var(--text)}
body.is-playing .eyebrow{font-size:10px;letter-spacing:.1em}body.is-playing .status-pill{font-size:10px}body.is-playing .task-facts{font-size:11px}
body.is-playing .brand,body.is-playing .brand small{color:var(--accent)}
body.is-playing .notice,body.is-playing .ambition-choice,body.is-playing .move-links a,body.is-playing .portrait{background:var(--alternate);border-color:var(--edge)}
body.is-playing .notice,body.is-playing .ambition-choice,body.is-playing .badge,body.is-playing .person-token{color:var(--text);background:var(--alternate);border-color:var(--edge)}
body.is-playing .people-list .badge{color:var(--text);background:var(--alternate);border-color:var(--edge)}
body.is-playing .order-timer{background:var(--alternate);color:var(--quiet);border-color:var(--edge)}body.is-playing .order-timer strong{color:var(--accent)}
body.is-playing .family-record summary,body.is-playing .family-record summary>span,body.is-playing .kin-record small{color:var(--quiet)}
body.is-playing[data-theme] .game-shell main{background:var(--surface)}
body.is-playing .panel a:hover,body.is-playing .side-links a:hover,body.is-playing .side-links a[aria-current]{background:var(--alternate);color:var(--text)}
body.is-playing button,body.is-playing .button{background:var(--button);color:var(--button-ink);border-color:var(--edge)}
body.is-playing button.secondary,body.is-playing .button.secondary,body.is-playing .button.outline{background:var(--alternate);color:var(--text);border-color:var(--edge)}
body.is-playing button:hover,body.is-playing .button:hover{background:var(--button);color:var(--button-ink)}body.is-playing button.secondary:hover,body.is-playing .button.secondary:hover{background:var(--alternate);color:var(--text);border-color:var(--accent)}
body.is-playing button.danger{background:#71243c;color:#fff1e8;border-color:#b57286}
body.is-playing .text-button{background:transparent;color:var(--accent);border:0}
body.is-playing input,body.is-playing select,body.is-playing textarea{background:var(--surface);color:var(--text);border-color:var(--edge)}
body.is-playing th{background:var(--alternate);color:var(--text)}
body.is-playing td,body.is-playing th{border-color:var(--edge)}
body.is-playing .flash{background:var(--card);color:var(--text);border-color:var(--accent)}
body.is-playing .flash.error{border-color:#c97585}
body.is-playing :focus-visible{outline-color:var(--accent)}
body.is-playing .skip{background:var(--card);color:var(--text);border:1px solid var(--accent)}
body.is-playing .breadcrumb{color:var(--quiet)}
body.is-playing .breadcrumb span,body.is-playing .stat>span{color:var(--quiet)}
body.is-playing .action-grid>a{background:var(--alternate);border-color:var(--edge)}
body.is-playing .action-grid b,body.is-playing .action-grid>a>span{color:var(--text)}
body.is-playing .scenic-banner>div{background:var(--card);color:var(--text);padding:16px;border:1px solid var(--edge)}
body.is-playing .scenic-banner p{color:var(--quiet)}
body.is-playing .spell{background:var(--alternate);border-color:var(--edge);color:var(--text)}
body.is-playing .quest-reward b,body.is-playing .quest-seal,body.is-playing .details dd,body.is-playing .dark .details dd{color:var(--accent)}
body.is-playing .details dt,body.is-playing .dark .details dt,body.is-playing legend{color:var(--quiet)}
body.is-playing button:disabled,body.is-playing input:disabled,body.is-playing select:disabled{opacity:1;background:var(--surface);color:var(--quiet);border-style:dashed;cursor:not-allowed;box-shadow:none}
body.is-playing fieldset:disabled{opacity:1;border-style:dashed}
body.is-playing input::placeholder,body.is-playing textarea::placeholder{color:var(--quiet);opacity:1}
body.is-playing [aria-pressed=true]{outline:2px solid var(--accent);outline-offset:-3px}
.heraldry-palette,.position-control{min-width:0;border:1px solid var(--edge);padding:12px;margin:12px 0}
.color-swatches{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:6px;margin-bottom:10px}
.color-choice{display:grid;justify-items:center;gap:3px;padding:6px;font-size:11px}
.emblem-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px;max-height:340px;overflow-y:auto;padding:4px;margin:12px 0;overscroll-behavior:contain}
.emblem-choice{display:grid;justify-items:center;gap:5px;padding:7px;font-size:11px;min-width:0}
.emblem-choice svg{fill:currentColor;stroke:currentColor}
.emblem-choice[hidden],[data-layer][hidden],[data-emblem-empty][hidden]{display:none}
.position-grid{display:grid;grid-template-columns:repeat(3,48px);gap:5px}
.position-grid button{padding:4px;font-size:21px}
.layer-toolbar{flex-wrap:wrap;margin-bottom:12px}
[data-layer]{scroll-margin-top:160px;border-block-start:1px solid var(--edge);padding-top:8px}
body.is-playing input[type=range]{width:100%;accent-color:var(--accent)}
body.is-playing .secondary-information>.panel{border:0;box-shadow:none;padding:0;margin:0}
@media(min-width:769px){[data-mobile-fold]>summary{display:none}}
@media(max-width:768px){body.is-playing .heraldry-preview{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:90px 1fr;align-items:center;gap:8px}body.is-playing .heraldry-preview svg{width:90px}.heraldry-preview .heraldry-note{display:none}.heraldry-preview p{margin:0}.heraldry-workbench{gap:12px}.emblem-grid{max-height:260px}.color-swatches{grid-template-columns:repeat(auto-fit,minmax(56px,1fr))}.layer-toolbar button{flex:1 1 100px}}
body.is-playing .tabs a,body.is-playing .site-footer{color:var(--quiet)}
body.is-playing .theme-choice strong{color:var(--text)}
body.is-playing .admin-nav{background:var(--chrome);border-color:var(--edge)}
body.is-playing .admin-nav a{color:var(--quiet)}body.is-playing .admin-nav a:hover,body.is-playing .admin-nav a[aria-current=page]{background:var(--alternate);color:var(--text)}
body.is-playing .admin-mark,body.is-playing .admin-resource>span:last-child{color:var(--accent)}
body.is-playing .admin-mark b,body.is-playing .admin-heading p,body.is-playing .admin-world-state,body.is-playing .admin-metrics span,body.is-playing .admin-resource p,body.is-playing .admin-facts dt,body.is-playing .admin-population>span,body.is-playing .admin-id,body.is-playing .admin-note{color:var(--quiet)}
body.is-playing .admin-metrics>a,body.is-playing .admin-resource{background:var(--card);border-color:var(--edge)}body.is-playing .admin-metrics>a:hover,body.is-playing .admin-resource:hover{background:var(--alternate);border-color:var(--accent)}
body.is-playing .admin-facts dd,body.is-playing .admin-population b,body.is-playing .chart-day>strong{color:var(--text)}body.is-playing .admin-facts>div,body.is-playing .admin-recent li,body.is-playing .admin-related>a,body.is-playing .admin-authorization{border-color:var(--edge)}
.theme-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px}
.theme-choice{border:1px solid var(--edge);border-radius:4px;overflow:hidden;padding:10px;min-width:0;background:var(--card);color:var(--text)}
.theme-choice>span:last-child{display:flex;align-items:center;gap:8px}
.theme-swatch{display:grid;gap:8px;padding:18px;background:var(--surface);color:var(--text);border:6px solid var(--card)}
.theme-swatch strong{font:22px Georgia,serif}.theme-swatch span{color:var(--quiet);font-size:12px}.theme-swatch i{background:var(--button);color:var(--button-ink);padding:6px;font-style:normal}
.heraldry-workbench{display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr);gap:24px}.heraldry-preview{align-self:start;position:sticky;top:16px;text-align:center}.heraldry-preview svg{width:210px;max-width:100%;height:auto}
.family-arms{display:block;width:72px;height:78px;margin:auto}.family-arms svg{width:100%;height:100%}
body.is-playing .portrait{width:80px;height:86px;border:0;border-radius:0;background:transparent}.cosmetic-preview svg{fill:currentColor;stroke:currentColor}
.table-wrap{position:relative;max-width:100%;overflow-x:auto}td small{display:block}details{margin-block:12px}summary{cursor:pointer;min-height:44px;padding-block:8px}button,input,select,textarea{min-height:44px}input[type=checkbox],input[type=radio]{min-height:20px}
.filter-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}.filter-grid>label{min-width:0}.filter-grid input,.filter-grid select{width:100%;min-width:0;max-width:100%}
body.is-playing button,body.is-playing .button,body.is-playing .mobile-activities a{min-height:44px}body.is-playing label{font-size:13px}h1,h2,h3,p,td,.notice,.sidebar-person{overflow-wrap:anywhere}
.mobile-bottom{display:none}main,section,article,aside,form{min-width:0}.tabs{flex-wrap:wrap}.stack textarea{width:100%}.store-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px}
body[data-decoration=herald] .sidebar-person{border:3px double var(--accent)}body[data-decoration=royal] .sidebar-person{border:4px ridge var(--accent)}body[data-decoration=chronicle] .event-list{border-inline:3px double var(--accent);padding-inline:12px}body[data-decoration=founder] .sidebar-person,body[data-decoration=benefactor] .sidebar-person{border:5px double var(--accent);border-radius:12px 12px 0 0}body[data-decoration=friend] .portrait,body[data-decoration=patron] .portrait{outline:3px double var(--accent)}
.cosmetic-preview{color:var(--accent);padding:12px}.cosmetic-preview .sidebar-person{display:grid;justify-items:center;gap:10px}.cosmetic-preview[data-decoration=herald] .sidebar-person{border:3px double var(--accent)}.cosmetic-preview[data-decoration=royal] .sidebar-person{border:4px ridge var(--accent)}.cosmetic-preview[data-decoration=founder] .sidebar-person,.cosmetic-preview[data-decoration=benefactor] .sidebar-person{border:5px double var(--accent);border-radius:12px 12px 0 0}.cosmetic-preview[data-decoration=chronicle] .sidebar-person{border-inline:3px double var(--accent)}.cosmetic-preview[data-decoration=friend] svg,.cosmetic-preview[data-decoration=patron] svg{outline:3px double var(--accent);border-radius:50%}
@media(max-width:768px){.heraldry-workbench{grid-template-columns:1fr}.heraldry-preview{position:static;padding:12px}.heraldry-preview svg{width:150px}.mobile-bottom{position:fixed;inset:auto 0 0;display:flex;justify-content:space-around;background:var(--chrome);border-top:1px solid var(--edge);z-index:30;padding-bottom:env(safe-area-inset-bottom)}.mobile-bottom a{padding:13px 6px;font-size:12px;min-height:48px;text-align:center}.is-playing{padding-bottom:60px}.is-playing .main-nav{display:none}.is-playing .mobile-activities{margin:10px 12px}.mobile-activities nav{display:grid;grid-template-columns:1fr 1fr;gap:6px}.mobile-activities a{padding:8px}.is-playing .game-shell{padding:14px 12px}.table-wrap table{min-width:540px}.theme-gallery{grid-template-columns:1fr 1fr}.theme-choice{padding:6px}.theme-swatch{padding:8px}.theme-choice>span:last-child{font-size:12px}}
@media(max-width:360px){.theme-gallery{grid-template-columns:1fr}.two-column{grid-template-columns:1fr}.is-playing .account-nav{gap:8px}.is-playing .brand{font-size:20px}.is-playing .header-inner{padding:12px;gap:10px}.building-list{grid-template-columns:1fr}}
