/* Wonderwoud: nachtblauw, schemerpaars en wijsfonkelgoud. */
:root{--ink:#10172e;--panel:#1d2540;--violet:#655199;--gold:#f6c96e;--ivory:#fff4da;--muted:#c5c4d8}
body{background:radial-gradient(ellipse at 20% 20%,#39315c,transparent 65%),var(--ink);color:var(--ivory)}
main>header{background:linear-gradient(110deg,#10172f,#29213f);border-bottom:1px solid #a781435e;box-shadow:0 3px 18px #080b2266}
.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand-thumb{width:64px;height:42px;object-fit:cover;border-radius:7px;border:1px solid #d9ac6260}header h1{font-family:Georgia,serif;color:var(--gold);font-size:24px;letter-spacing:.3px}
button{background:linear-gradient(#f7d58b,#e9b552);color:#211b32;border-color:#dcb66a;box-shadow:0 2px 8px #070b2329;font-weight:600}button:hover:not(:disabled){filter:brightness(1.08)}button.secondary{background:#ffffff08;color:var(--ivory);border-color:#b6a1d05e}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
input,select{background:#10182c;color:var(--ivory);border-color:#8580a0}input::placeholder{color:#c5bfd1}input[type=checkbox]{accent-color:#7b61aa}
.hint,.tag{color:var(--muted)}
#auth{top:calc(var(--topbar) + 22px);bottom:22px;width:min(1160px,calc(100% - 40px));padding:0;overflow:auto;background:#161e35;border:1px solid #9a79564d;border-radius:20px;box-shadow:0 20px 80px #070b2399}
#auth:not([hidden]){display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,1fr)}
.auth-art{min-width:0;background:#0e1729;display:flex;flex-direction:column}.auth-art img{width:100%;height:auto;display:block;object-fit:contain}.auth-story{padding:22px 30px}.auth-story .eyebrow{color:var(--gold);font-size:12px;letter-spacing:2px;text-transform:uppercase;margin:0 0 9px}.auth-story h2{font:26px Georgia,serif;margin:0 0 14px;color:var(--ivory)}.auth-story p{font-size:15px;line-height:1.7;color:var(--muted);margin:0}
.auth-entry{padding:34px;align-self:center}.auth-entry h2{font:30px Georgia,serif;color:var(--gold);margin:0 0 12px}.auth-entry>p{color:var(--muted);font-size:15px}.auth-entry form{max-width:none}.auth-entry .hint{font-size:12px}#error{color:#ffb7b5}
#character-hud{background:#ffffff08;color:var(--ivory);border:1px solid #cbb27626}#character-level,#xp-caption{color:#f4d38f}#xp-bar{background:#101527}#xp-fill{background:linear-gradient(90deg,#9870d2,#f6c96e)}#rpg-vitals{color:var(--ivory)}
#area{background:#141d33eb;color:var(--ivory);border-color:#a481515c}#area[data-zone=dark]{color:#ddc4ff}#lesson-open{background:linear-gradient(#f7d58b,#e9b552);color:#211b32}
dialog{background:linear-gradient(135deg,#232b45,#171e34);color:var(--ivory);border-color:#9a7c506b;box-shadow:0 20px 80px #05081788}dialog::backdrop{background:#070b24b8}dialog h2,dialog h3{color:#ffe1a0}dialog .hint,.lesson-counter{color:var(--muted)}#school-lesson select{background:#10182c;color:var(--ivory);border-color:#827394}#school-lesson fieldset{border-color:#82739470}#lesson-error,#adventure-error,#quest-error{color:#ffb7b5}.lesson-feedback{color:#ffe1a0}.fight-reward{color:#f6d58f}
#quest-tracker button{background:#161e35eb;color:var(--ivory);border-color:#b58e55}#quest-tracker strong{color:var(--gold)}#adventure-toast{background:#232b45;color:var(--ivory);border:1px solid #b58e55}
#battle.arena-mode .arena-question{background:#151a32ed;border-color:#a28ac16b}#battle.arena-mode .arena-question .combat-choices button{background:#342b50;color:var(--ivory);border-color:#a18ab9}#battle.arena-mode .arena-question .combat-choices button:hover{background:#51406c}#battle.arena-mode>h2{background:#15192f;border-color:#89719b}#battle.arena-mode #battle-close{background:#342b50;color:var(--ivory);border-color:#a18ab9}
@media(max-width:900px){.brand-thumb{display:none}header h1{font-size:21px}#auth:not([hidden]){grid-template-columns:1fr 1fr}.auth-entry{padding:24px}.auth-story{padding:20px}}
@media(max-width:650px){#auth{top:calc(var(--topbar) + 12px);bottom:12px;width:calc(100% - 24px)}#auth:not([hidden]){display:flex;flex-direction:column}.auth-art img{max-height:230px}.auth-story{padding:18px 22px}.auth-story h2{font-size:23px}.auth-entry{padding:22px;width:100%}.brand{flex:1}.brand-thumb{display:block;width:46px;height:30px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}}
#character-hud .hud-meter-label{color:#e5dff0}.hud-meter-track{background:#12162a;border-color:#746684}
#adventure,#quest-dialog{background:linear-gradient(135deg,#232b45,#171e34);color:var(--ivory);border-color:#9a7c506b}.rpg-summary{background:#30334f}.rpg-card{background:#242c45;border-color:#796b92}.rpg-card.unlocked{background:#38314f;border-color:#ddbd75}.rpg-muted{color:var(--muted)}
.quest-goal{background:#30334f;border-left-color:var(--gold)}.quest-steps .done{color:#e7cf90}
/* Floating game controls */
body{--topbar:64px}main>header{height:var(--topbar);padding:6px 22px;gap:18px!important;overflow:visible;flex-wrap:nowrap;align-items:center}.brand{margin-right:auto}.brand-thumb{height:36px;width:58px}header h1{font-size:24px}.game-nav{max-width:none;display:flex;flex-wrap:nowrap;gap:12px;align-self:flex-start;padding-top:12px;overflow:visible}
header .medallion{width:56px;height:56px;padding:4px!important;border-radius:50%;background:radial-gradient(circle at 35% 20%,#54416f,#201c36 75%);border:2px solid #c19a5c;color:#ffe8b4;box-shadow:0 0 0 3px #171a30,0 5px 14px #090b2580,inset 0 0 12px #9c73c22e;position:relative;flex:none}header .medallion svg{width:100%;height:100%;filter:drop-shadow(0 2px 3px #050718)}header .medallion:hover{border-color:#ffe6a0;box-shadow:0 0 16px #e6bc6960}.hud-tooltip{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);background:#151a30f5;border:1px solid #b99658;color:#fff0cb;padding:6px 10px;border-radius:6px;font-size:12px;white-space:nowrap;opacity:0;pointer-events:none}.medallion:hover .hud-tooltip,.medallion:focus-visible .hud-tooltip{opacity:1}.has-notice:after{content:'';position:absolute;right:0;top:0;width:10px;height:10px;border-radius:50%;background:#ffe3a0;box-shadow:0 0 9px #ffce63}
#character-hud{width:auto;min-height:0;height:auto;margin:0 0 0 8px;padding:0;border:0;background:none;align-self:flex-start;order:0;position:relative}.legacy-hud{display:none!important}.portrait{width:48px;height:48px;pointer-events:none}.portrait svg{border-radius:50%;background:#34334a}.avatar-button{--xp-angle:0deg;width:70px;height:70px;display:grid;place-items:center;position:relative;border:2px solid #e4c183;border-radius:50%;padding:7px;background:conic-gradient(#f9d37c var(--xp-angle),#40364e var(--xp-angle));box-shadow:0 0 0 4px #15172c,0 5px 18px #090c25a0}.avatar-button:before{content:'';position:absolute;inset:6px;border-radius:50%;background:#181e33}.avatar-button .portrait{position:relative;z-index:1}.avatar-level{position:absolute;right:-3px;bottom:-3px;z-index:2;display:grid;place-items:center;min-width:25px;height:25px;background:#302442;border:1px solid #ecc883;border-radius:8px;color:#ffe4a0;font-size:13px;font-weight:bold}
.profile-menu{position:absolute;right:0;top:85px;width:240px;padding:16px;background:#1b2138fa;border:1px solid #b59a64;border-radius:12px;box-shadow:0 8px 40px #05071fb0;z-index:20}.profile-menu .profile-name{color:#ffe2a0;font-size:15px}.profile-progress{color:#cec4df;font-size:12px;line-height:1.5}.profile-menu button{display:block;width:100%;margin-top:8px;text-align:left;background:#302a46;color:#fff1d2;border-color:#8a739c}.settings-check{display:flex;gap:12px;align-items:center;margin:24px 0}.settings-check input{width:20px;height:20px}.settings-utility{display:flex;gap:10px;margin:20px 0}
#world-dock{position:fixed;bottom:10px;left:50%;transform:translateX(-50%);z-index:5;pointer-events:none}#world-dock .battle-dock{padding:8px 18px;gap:22px;border:1px solid #b9955a66;border-radius:70px 70px 24px 24px;background:linear-gradient(#161d32dd,#17192eeb);box-shadow:0 6px 30px #06091e66;min-height:0}#world-dock button{pointer-events:auto}#world-dock .resource-orb{width:90px}#world-dock .orb-glass{width:80px;height:80px;border:3px solid #b29669}#world-dock .orb-value{font-size:13px;top:40px}#world-dock .orb-symbol{font-size:20px;top:10px}#world-dock .orb-name{font-size:11px;margin-top:6px}#world-dock .belt-title{color:#dfca9f;font-size:9px}#world-dock .belt-slots{gap:8px;margin:5px 0}#world-dock .belt-slot{width:56px;height:58px;background:linear-gradient(#3d3352,#211e35);border-color:#9b835f}#world-dock .belt-icon{font-size:24px}#world-dock .belt-count{background:#17192e;color:#f7dfab;font-size:11px}#world-dock .belt-label{font-size:8px}#world-dock .world-coins{color:#f4d491;font-size:11px}#quest-tracker{bottom:150px;max-width:245px}#lesson-open{bottom:150px}
body:has(#battle[open]) #world-dock,body:has(#adventure[open]) #world-dock,body:has(#school-lesson[open]) #world-dock{display:none}body:has(#battle[open]) main>header .game-nav,body:has(#battle[open]) #character-hud{visibility:hidden}.battle-dock{background:linear-gradient(#22213a,#141a2c);border-color:#a58b5f}.battle-dock .orb-glass{border-color:#b29669}.battle-dock .belt-slot{background:linear-gradient(#3d3352,#211e35);border-color:#9b835f}.battle-dock .belt-title,.battle-dock .belt-hint{color:#ddcba6}
body:not(.game-active) main>header{justify-content:space-between}body:not(.game-active) .brand{margin-right:0}#area{top:22px;max-width:calc(100% - 30px)}.reduce-effects *,.reduce-effects *::before,.reduce-effects *::after{animation:none!important;transition:none!important}
@media(max-width:650px){body{--topbar:58px}main>header{padding:5px 12px;gap:8px!important;align-content:normal}.brand-thumb{display:none}header h1{font-size:19px}.game-nav{gap:8px;padding-top:12px}.game-nav .medallion{width:42px;height:42px}#character-hud{width:auto;height:auto;min-height:0;margin-left:5px;order:0}.avatar-button{width:54px;height:54px;padding:6px}.portrait{width:36px;height:36px}.avatar-level{height:21px;min-width:21px;font-size:11px}.profile-menu{top:69px;width:225px}.hud-tooltip{font-size:10px;padding:5px}#world-dock{bottom:6px}#world-dock .battle-dock{gap:10px;padding:8px 12px;flex-wrap:nowrap}#world-dock .resource-orb{width:66px}#world-dock .orb-glass{width:58px;height:58px}#world-dock .orb-value{font-size:10px;top:28px}#world-dock .orb-symbol{font-size:15px;top:6px}#world-dock .orb-name{font-size:9px}#world-dock .belt-slot{width:42px;height:49px}#world-dock .belt-slots{gap:4px}#world-dock .belt-title{font-size:7px;letter-spacing:1px}#world-dock .belt-label{font-size:7px}#world-dock .world-coins{font-size:10px}#quest-tracker,#lesson-open{bottom:125px}#area{top:26px;font-size:11px!important;max-width:calc(100% - 20px)}}
@media(max-width:370px){header h1{font-size:16px}.game-nav{gap:5px}.game-nav .medallion{width:36px;height:36px}main>header{gap:5px!important;padding:5px 8px}.avatar-button{width:48px;height:48px}.avatar-button .portrait{width:32px;height:32px}}

.nav-coins{display:flex;align-items:center;gap:7px;padding:5px 11px;background:#ffffff08;border:1px solid #b3945955;border-radius:20px;color:#ffe2a0;font-size:15px;font-weight:700;white-space:nowrap}.nav-coins svg{width:24px;height:24px;filter:drop-shadow(0 0 5px #bc8ee455)}
@media(max-width:650px){.nav-coins{gap:3px;padding:4px 6px;font-size:12px}.nav-coins svg{width:18px;height:18px}.game-active .brand h1{font-size:16px}.game-active .game-nav{gap:5px}}
@media(max-width:370px){.game-active .brand h1{font-size:13px}.nav-coins{padding:3px 4px;font-size:11px}.nav-coins svg{width:15px;height:15px}}
/* Wijsfonkels share the floating medallion treatment. */
main>header .nav-coins{position:relative;align-self:flex-start;margin-top:12px;flex:none;width:56px;height:56px;padding:3px 0 5px;display:flex;flex-direction:column;justify-content:center;gap:0;border:2px solid #c19a5c;border-radius:50%;background:radial-gradient(circle at 35% 20%,#54416f,#201c36 75%);box-shadow:0 0 0 3px #171a30,0 5px 14px #090b2580,inset 0 0 12px #9c73c22e;color:#ffe8b4;font-size:13px;line-height:1.1}
main>header .nav-coins svg{width:27px;height:27px;flex:none;filter:drop-shadow(0 0 5px #bc8ee455)}
main>header .nav-coins span{font-variant-numeric:tabular-nums;font-size:clamp(9px,1vw,13px);max-width:50px;letter-spacing:-.3px}
@media(max-width:650px){main>header .nav-coins{width:42px;height:42px;padding:2px 0 3px;margin-top:12px}main>header .nav-coins svg{width:21px;height:21px}main>header .nav-coins span{font-size:10px;max-width:38px}}
@media(max-width:370px){main>header .nav-coins{width:36px;height:36px}main>header .nav-coins svg{width:17px;height:17px}main>header .nav-coins span{font-size:9px;max-width:32px}}

.parent-link{display:block;margin-top:18px;font-size:13px;color:#f3d08b;line-height:1.6}

.trophy-emblem{width:140px;margin:12px auto;filter:drop-shadow(0 0 18px #e7ba6266)}.trophy-emblem svg{display:block;width:100%}
body.sleeping:after{content:'Welterusten… ✦';position:fixed;inset:0;z-index:1000;display:grid;place-items:center;color:#ffe3a1;font:30px Georgia,serif;background:#10152ce8;pointer-events:none;animation:night-rest 1.5s ease-in-out both}@keyframes night-rest{0%,100%{opacity:0}25%,65%{opacity:1}}@media(prefers-reduced-motion:reduce){body.sleeping:after{display:none}}
