/* v1.0.3 — Quiet fantasy polish: subtle environmental depth, never continuous UI motion. */
:root { --v103-gold:#f4d69f; --v103-mint:#b6ebd9; }
/* Shallow translucent framing provides text contrast without covering the artwork. */
.story-panel{border-color:#716487;box-shadow:inset 0 0 0 1px #ffffff0a,0 12px 28px #040b1e44}
.scene-topline{background:linear-gradient(90deg,#141a30,#202d46);border-bottom-color:#9d8b665c}
.bottom-panel{border-color:#575674;box-shadow:inset 0 1px 0 #ffffff08}
.world .world-caption{background:#132440e6;border-color:#e0bd796a;color:#fff1cf;box-shadow:0 3px 10px #070c1899}
/* Selection state is clear. No color-only indicator: border + lift + inset outline. */
.rune-bank .rune-card:hover:not(:disabled){border-color:#e6cc9c;outline:2px solid #a6ecd6;outline-offset:1px;transform:translateY(-2px)}
.rune-bank .rune-card:focus-visible,.spell-slots .rune-card:focus-visible{outline:3px solid #b6ffe6;outline-offset:2px;box-shadow:0 0 0 5px #0e2134}
.spell-slots .rune-card{box-shadow:0 2px 7px #0008,inset 0 1px 0 #fff9}
.spell-slots.solved{border-color:#b3ecd7;box-shadow:inset 0 0 15px #78d5ac15}
.btn-cast:not(:disabled){background:linear-gradient(120deg,#f9dba1,#eabf80);border-color:#ffe4b5;box-shadow:0 2px 8px #d3a4523a}
.hint:focus-visible,.btn:focus-visible,.mode-chip:focus-visible{outline:3px solid #affbe5;outline-offset:3px}
/* Move glow to meaningful moments only, rather than animated chrome. */
.world[data-flower-glowing="true"] .world-flower-glow{filter:drop-shadow(0 0 12px #f4b5ff)}
.world[data-lantern-lit="true"] .hand-lantern{filter:brightness(1.32) drop-shadow(0 0 9px #ffe09c)}
/* Character images are contained and never stretched. Updated pose files share native ratios. */
.world-abby-rig .actor-abby-art,.world-luma-rig .actor-luma-art{object-fit:contain!important;image-rendering:auto}
/* Safe on slower devices and for motion-sensitive learners. */
body.reduce-motion .rune-card,body.reduce-motion .btn,body.reduce-motion .world-caption{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.rune-card,.btn,.world-caption{animation:none!important;transition:none!important}}
