/* World packs share operational controls, but have their own materials,
   silhouettes and card designs. Property and player colors are never remapped. */
.theme-lantern-hollow{--board-well:#202638;--board-base:#4a4353;--tile:#f4e6ca;--tile-text:#302b3c;--board-center-ink:#f3d7a0}
.theme-starfall-station{--board-well:#152b3b;--board-base:#314e5c;--tile:#f3e8cd;--tile-text:#243b49;--board-center-ink:#f5dfb5}
.theme-coral-city{--board-well:#103b45;--board-base:#275258;--tile:#edf0dc;--tile-text:#173f45;--board-center-ink:#f1d9a5}
:root body[data-board-style=lantern]{--bg:#1c2231;--paper:#2b3143;--ink:#faecd1;--muted:#c9c2bd;--line:#827783;--green:#b7d2a8;--gold:#f0c580;--style-panel:#363a4d;--style-hover:#484659;--style-accent:#efc17f;--style-button:#464451;--style-active:#484451;background:radial-gradient(ellipse at 30% 0,#474153,transparent 65%),#1c2231;color:var(--ink);color-scheme:dark}
:root body[data-board-style=starfall]{--bg:#122838;--paper:#203d4c;--ink:#f6ead1;--muted:#b8cecc;--line:#718e91;--green:#afd4bc;--gold:#f4c28d;--style-panel:#2c4c58;--style-hover:#3b606b;--style-accent:#efb27d;--style-button:#365766;--style-active:#365563;background:radial-gradient(ellipse at 70% 0,#385b66,transparent 65%),#122838;color:var(--ink);color-scheme:dark}
:root body[data-board-style=deco]{--bg:#0c303a;--paper:#194550;--ink:#f3ead2;--muted:#bdcfc3;--line:#738f83;--green:#b2d8be;--gold:#e9ca8c;--style-panel:#24545b;--style-hover:#32686c;--style-accent:#e5c286;--style-button:#2c5962;--style-active:#2b565c;background:radial-gradient(ellipse at 50% 0,#28656a,transparent 70%),#0c303a;color:var(--ink);color-scheme:dark}
:root :is(.theme-lantern-hollow,.theme-starfall-station,.theme-coral-city) :is(.tv-center,.center-property,.creator-board-center){background:var(--board-well);color:var(--board-center-ink);padding:16px;border:1px solid #b6a58b;box-shadow:0 8px 25px #091b2440}
.theme-lantern-hollow :is(.tv-center,.center-property,.creator-board-center){border-radius:26px 26px 8px 8px;border-color:#c6a479}
.theme-starfall-station :is(.tv-center,.center-property,.creator-board-center){border-radius:18px;border:2px solid #b7c5b4}
.theme-coral-city :is(.tv-center,.center-property,.creator-board-center){border-radius:3px;border:4px double #c7ae79}
:root body:is([data-board-style=lantern],[data-board-style=deco]) :is(.tv-title h1,.tv-announcement,.estate-deed h2,.event-card h3){font-family:Georgia,'Times New Roman',serif;font-weight:500;letter-spacing:-.015em}
:root body[data-board-style=starfall] :is(.tv-title h1,.tv-announcement,.estate-deed h2){font-family:ui-rounded,'Trebuchet MS',system-ui,sans-serif;font-weight:700;letter-spacing:-.025em}
:root body[data-board-style=lantern] :is(.desktop-sidebar,.tv-table){border-top:3px solid #d7af7a}
:root body[data-board-style=starfall] :is(.desktop-sidebar,.tv-table){border-top:5px solid #dd9e70;border-radius:24px}
:root body[data-board-style=deco] :is(.desktop-sidebar,.tv-table){border:4px double #b6a778;border-radius:3px}
/* Cards retain normal body type and comfortable line spacing. Decorative
   headers are short; the deck name remains visible in the actual content. */
:root body[data-board-style=lantern] :is(.tv-card,.event-card),:root .creator-card-preview[data-card-style=lantern]{background:repeating-linear-gradient(0deg,#f2e4c8 0 5px,#eee0c5 5px 6px);color:#352f40;border:4px double #a48163;border-radius:26px 26px 5px 5px;padding:20px;box-shadow:0 9px 25px #10142150}
:root body[data-board-style=starfall] :is(.tv-card,.event-card),:root .creator-card-preview[data-card-style=starfall]{background:#f2e7cb;color:#263e4a;border:2px solid #a5b2a5;border-top:10px solid #c77b50;border-radius:18px 18px 5px 5px;padding:20px;box-shadow:0 8px 25px #08202a45}
:root body[data-board-style=deco] :is(.tv-card,.event-card),:root .creator-card-preview[data-card-style=deco]{background:linear-gradient(145deg,#f3ecd5,#e1e7d1);color:#21494b;border:5px double #a78b56;border-radius:3px;padding:20px;box-shadow:0 8px 25px #06273050}
:root body:is([data-board-style=lantern],[data-board-style=starfall],[data-board-style=deco]) :is(.tv-card,.event-card)::before,:is(.creator-card-preview[data-card-style=lantern],.creator-card-preview[data-card-style=starfall],.creator-card-preview[data-card-style=deco])::before{display:block;font:800 11px/1.4 ui-sans-serif,system-ui,sans-serif;letter-spacing:.18em;text-align:center;padding-bottom:10px;margin-bottom:12px;border-bottom:1px solid currentColor;opacity:.9}
:root body[data-board-style=lantern] :is(.tv-card,.event-card)::before,.creator-card-preview[data-card-style=lantern]::before{content:'☾  MIDNIGHT POST  ☾';color:#6f4935}
:root body[data-board-style=starfall] :is(.tv-card,.event-card)::before,.creator-card-preview[data-card-style=starfall]::before{content:'✦  MISSION CONTROL  ✦';color:#875033;border-bottom-style:dashed}
:root body[data-board-style=deco] :is(.tv-card,.event-card)::before,.creator-card-preview[data-card-style=deco]::before{content:'◇  OCEANIC EXCHANGE  ◇';color:#62512d;border-bottom:3px double #9b8556}
:root body[data-board-style=lantern] :is(.tv-card>span,.event-card>span){color:#665247}
:root body[data-board-style=starfall] :is(.tv-card>span,.event-card>span){color:#485e62}
:root body[data-board-style=deco] :is(.tv-card>span,.event-card>span){color:#4d655b}
:root body[data-board-style=lantern] .event-card p{color:#352f40!important}
:root body[data-board-style=starfall] .event-card p{color:#263e4a!important}
:root body[data-board-style=deco] .event-card p{color:#21494b!important}
:root :is(.creator-card-preview[data-card-style=lantern],.creator-card-preview[data-card-style=deco]) h3{font:500 25px/1.25 Georgia,serif}
:root .creator-card-preview[data-card-style=starfall] h3{font:700 24px/1.25 'Trebuchet MS',sans-serif}
:root :is(.creator-card-preview[data-card-style=lantern],.creator-card-preview[data-card-style=starfall],.creator-card-preview[data-card-style=deco]) p{font-size:16px;line-height:1.55}
:root body[data-board-style=lantern] :is(.tv-card,.event-card)[data-card-deck="Village Tales"],:root .creator-card-preview[data-card-style=lantern][data-card-deck="Village Tales"]{border-color:#788664;background:#e8ecd5}
:root body[data-board-style=lantern] :is(.tv-card,.event-card)[data-card-deck="Village Tales"]::before,.creator-card-preview[data-card-style=lantern][data-card-deck="Village Tales"]::before{content:'❧  VILLAGE ALMANAC  ❧';color:#4b6243}
:root body[data-board-style=starfall] :is(.tv-card,.event-card)[data-card-deck="Crew Dispatches"],:root .creator-card-preview[data-card-style=starfall][data-card-deck="Crew Dispatches"]{border-top-color:#638c88;background:#e2ecda}
:root body[data-board-style=starfall] :is(.tv-card,.event-card)[data-card-deck="Crew Dispatches"]::before,.creator-card-preview[data-card-style=starfall][data-card-deck="Crew Dispatches"]::before{content:'✦  CREW BULLETIN  ✦';color:#3f6360}
:root body[data-board-style=deco] :is(.tv-card,.event-card)[data-card-deck="City Currents"],:root .creator-card-preview[data-card-style=deco][data-card-deck="City Currents"]{border-color:#729082;background:#e5eddd}
:root body[data-board-style=deco] :is(.tv-card,.event-card)[data-card-deck="City Currents"]::before,.creator-card-preview[data-card-style=deco][data-card-deck="City Currents"]::before{content:'◇  CITY CHRONICLE  ◇';color:#3f655c}
:root body[data-board-style=lantern] .die-face{background:#f4e6ca;border-color:#9b8375;box-shadow:inset 0 0 0 2px #dec39a}
:root body[data-board-style=lantern] .die-face i{background:#714d6c;box-shadow:none}
:root body[data-board-style=starfall] .die-face{background:#f3e8cd;border-color:#9caca7;border-radius:14px;box-shadow:inset 0 0 0 2px #dad6bc}
:root body[data-board-style=starfall] .die-face i{background:#a75935;box-shadow:none}
:root body[data-board-style=deco] .die-face{background:#edf0dc;border-color:#ac915d;border-radius:4px;box-shadow:inset 0 0 0 3px #ded6b4}
:root body[data-board-style=deco] .die-face i{background:#245b5c;border-radius:2px;box-shadow:none;transform:rotate(45deg)}
:root body:is([data-board-style=lantern],[data-board-style=starfall],[data-board-style=deco]) .table-moment{background:var(--paper);color:var(--ink);border:4px double var(--gold);box-shadow:0 12px 40px #06182470}
:root body[data-board-style=lantern] .table-moment{border-radius:32px 32px 8px 8px}
:root body[data-board-style=starfall] .table-moment{border-radius:24px}
:root body[data-board-style=deco] .table-moment{border-radius:3px}
:root body:is([data-board-style=lantern],[data-board-style=starfall],[data-board-style=deco]) .table-moment :is(h2,h3){color:var(--gold)}
:root body:is([data-board-style=lantern],[data-board-style=starfall],[data-board-style=deco]) .kept-card{border:1px solid var(--gold);border-radius:8px}
/* Ambient motion is decorative, slow and confined to the board well. Effects
   off and reduced-motion leave the full illustration intact without motion. */
.effects-on .world-fog{animation:world-drift 18s ease-in-out infinite alternate}
.effects-on .world-satellite{animation:world-bob 12s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}
.effects-on .world-bubbles{animation:world-rise 16s ease-in-out infinite alternate}
@keyframes world-drift{to{translate:20px 0}}
@keyframes world-bob{to{translate:0 -9px}}
@keyframes world-rise{to{translate:0 -15px}}
@media(prefers-reduced-motion:reduce){.world-fog,.world-satellite,.world-bubbles{animation:none!important}}
:root :is(.creator-card-preview[data-card-style=lantern],.creator-card-preview[data-card-style=starfall],.creator-card-preview[data-card-style=deco]) p{color:inherit}
