:root,[data-theme="eldritch"]{--ink:#eee4cf;--muted:#aaa08c;--paper:#131512;--panel:#1b1e19;--line:#514938;--acid:#c7d95a;--gold:#b99b5a;--red:#a9493f;--purple:#72518f;--theme-glow:#30243a;--theme-deep:#080907;--theme-side:#10120f}
[data-theme="royal"]{--ink:#f5ead0;--muted:#b9a98e;--paper:#141020;--panel:#21182f;--line:#68547d;--acid:#d6ae58;--gold:#e0bd68;--red:#a94b65;--purple:#9468ba;--theme-glow:#512c6b;--theme-deep:#0c0913;--theme-side:#171020}
[data-theme="dragonfire"]{--ink:#f4dfca;--muted:#b9a08b;--paper:#170d09;--panel:#27140e;--line:#71402c;--acid:#e88432;--gold:#d9a346;--red:#c4482e;--purple:#8c493d;--theme-glow:#6b2515;--theme-deep:#0c0705;--theme-side:#1b0d08}
[data-theme="frost"]{--ink:#e9f3f5;--muted:#9db0b7;--paper:#0c151a;--panel:#14232a;--line:#3f6270;--acid:#76d5df;--gold:#a6cbd1;--red:#b55a67;--purple:#6988a8;--theme-glow:#244f68;--theme-deep:#060c10;--theme-side:#0b171d}
[data-theme="wilds"]{--ink:#e8ead5;--muted:#a4aa86;--paper:#0d150d;--panel:#172319;--line:#425f3e;--acid:#8fc760;--gold:#c0a45b;--red:#a94f3c;--purple:#647d54;--theme-glow:#234d2d;--theme-deep:#070c07;--theme-side:#0d1a0f}
body{background:radial-gradient(circle at 70% 0,var(--theme-glow) 0,transparent 40%),linear-gradient(var(--paper),var(--theme-deep)) fixed!important}
body>aside{background:var(--theme-side)!important}
.panel,.card,.stat,.roller,.name-forge,.initiative-roster,.initiative-board,.display-control-page{border-color:var(--line)!important}
.appearance-link{align-self:center;padding:5px 8px;border:0;border-bottom:1px solid transparent;background:transparent;color:var(--muted);font:11px Arial,sans-serif;letter-spacing:.7px;cursor:pointer}.appearance-link:hover{border-bottom-color:var(--acid);color:var(--acid)}.theme-page{max-width:1050px}.theme-intro{max-width:700px;color:var(--muted)}.theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-top:24px}.theme-card{display:block;padding:0;overflow:hidden;border:2px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink);text-align:left;cursor:pointer}.theme-card:hover,.theme-card.selected{border-color:var(--acid);box-shadow:0 0 24px color-mix(in srgb,var(--acid) 24%,transparent)}.theme-swatches{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;height:72px}.theme-swatches i{display:block}.theme-copy{display:block;padding:17px}.theme-copy b,.theme-copy small{display:block}.theme-copy b{margin-bottom:5px;font-size:18px}.theme-copy small{color:var(--muted);line-height:1.45}.theme-card.selected .theme-copy:after{content:"✓ ACTIVE";display:block;margin-top:13px;color:var(--acid);font:10px Arial,sans-serif;letter-spacing:1.5px}.theme-status{min-height:24px;margin-top:18px;color:var(--acid)}
@media(max-width:600px){.theme-grid{grid-template-columns:1fr}}
.letter.rumor{background:linear-gradient(145deg,#b7b39a,#777b68);border-color:#c9c6ac}.letter.rumor .wax-seal{background:#315e5d;border-color:#568c86;color:#e0eee4}.letter.rumor em{color:#3e514b}
.session-card{align-items:start}.session-checklist{margin-top:16px;padding:14px;border:1px solid var(--line);background:color-mix(in srgb,var(--theme-deep) 75%,transparent);cursor:default}.agenda-heading{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}.agenda-heading b{font-weight:normal;color:var(--gold)}.agenda-heading span{color:var(--muted);font:10px Arial,sans-serif;letter-spacing:1px;text-transform:uppercase}.agenda-items{display:grid;gap:6px}.agenda-item{display:grid;grid-template-columns:30px minmax(0,1fr) 26px;gap:9px;align-items:center;min-height:34px}.agenda-item.done span{text-decoration:line-through;color:var(--muted)}.agenda-check,.agenda-remove{height:26px;border:1px solid var(--line);background:transparent;color:var(--acid);cursor:pointer}.agenda-remove{border:0;color:var(--muted);font-size:18px}.agenda-remove:hover{color:var(--red)}.agenda-empty{margin:5px 0 12px;color:var(--muted);font-style:italic}.agenda-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:10px}.agenda-add input{margin:0;padding:8px}.agenda-add button{padding:7px 13px;border:1px solid var(--acid);background:transparent;color:var(--acid);cursor:pointer}
.dm-screen-controls{display:flex;gap:12px;align-items:end}.dm-screen-controls label{min-width:190px}.dm-screen-controls select,.dm-screen-controls input{display:block;margin-top:5px}.dm-screen-controls .dm-screen-search{min-width:260px}@media(max-width:850px){.dm-screen-controls{align-items:stretch;flex-direction:column}.dm-screen-controls label,.dm-screen-controls .dm-screen-search{min-width:0;width:100%}}
