:root { --gold:var(--accent); --border:var(--line); --inset:var(--paper); --game-action:#a64d1c; --game-movement:#176a82; }
:root[data-theme=dark] { --game-action:#f2a26b; --game-movement:#7bcedd; }
body { background:var(--paper); color:var(--ink); font-family:system-ui,sans-serif; }
.demo-header,.demo-side,.demo-panel { background:var(--panel); border-color:var(--line); }
.demo-header { font-family:var(--mono); }.demo-header img { width:24px; height:30px; object-fit:contain; }
[data-theme=dark] .demo-header img { filter:invert(1); }
.demo-objective { background:var(--soft); color:var(--ink); border-color:var(--line); font-family:var(--mono); }.demo-objective__light { background:var(--accent); box-shadow:none; }
.demo-map { background:var(--soft); }.demo-map::after { box-shadow:none; }.demo-reset { background:var(--paper); color:var(--ink); border-color:var(--line); }.demo-tile.is-current .demo-tile__terrain { filter:drop-shadow(0 0 3px var(--accent)) brightness(1); }
button:focus-visible { outline-color:var(--accent); }.demo-action { background:var(--accent-button); color:var(--on-accent); border-color:var(--accent-button); }
[data-demo-theme] { padding:8px; background:transparent; border:1px solid var(--line); color:var(--ink); font:9px var(--mono); }
.demo-panel,.demo-slots>span { background:var(--panel); }.demo-actions button { background:var(--accent-button); color:var(--on-accent); }.demo-actions button:hover:not(:disabled) { background:var(--ink); color:var(--paper); }.demo-slots b { background:var(--accent-button); color:var(--on-accent); }.demo-map-label { background:var(--panel); color:var(--ink); }.demo-map-label--objective { background:var(--accent-button); color:var(--on-accent); }.demo-map-caption { color:var(--muted); }.demo-player { background:var(--soft); }.demo-feedback[data-tone=error] { color:var(--accent); border-color:var(--accent); }
.demo-brand { color:var(--ink); text-decoration:none; }
