/* Inter ligger lokalt: ingen blockerande förfrågan till Google och inga IP-adresser till tredje part. */
@font-face{font-family:'Inter';font-style:normal;font-weight:300 900;font-display:swap;src:url('/fonts/inter-var-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:300 900;font-display:swap;src:url('/fonts/inter-var-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
/* Den som bett systemet om mindre rörelse får inga pulser/svävningar. Animationerna
   körs ändå klart (animationend m.m. triggas), bara omedelbart. */
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
:root{--accent:#5c9eff;--bg:#0f1117;--card-bg:rgba(20,22,28,0.92);--border:rgba(255,255,255,0.11)}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;user-select:none}
html,body{width:100%;min-height:100%;background:var(--bg);font-family:'Inter','Helvetica Neue',sans-serif;color:#fff;overflow-x:hidden}
.gone{display:none!important}

.screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;position:relative;z-index:1}

#ambient{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}

body.t-day #ambient{background:linear-gradient(180deg,#132743 0%,#0f1117 70%)}
body.t-dawn #ambient{background:linear-gradient(180deg,#231d47 0%,#0f1117 70%)}
body.t-evening #ambient{background:linear-gradient(180deg,#2b2452 0%,#0f1117 70%)}
body.t-night #ambient{background:linear-gradient(180deg,#050714 0%,#0a0f26 70%)}
.amb-star{position:absolute;border-radius:50%;background:#fff;animation:amb-twinkle 4s ease-in-out infinite}
@keyframes amb-twinkle{0%,100%{opacity:.1}50%{opacity:.7}}
.amb-orb{position:absolute;width:300px;height:300px;border-radius:50%;filter:blur(90px);opacity:.12;animation:amb-drift 26s ease-in-out infinite alternate}
@keyframes amb-drift{0%{transform:translate(0,0)}100%{transform:translate(60px,-40px)}}
.card{background:var(--card-bg);border:1px solid var(--border);border-radius:24px;padding:40px 36px;display:flex;flex-direction:column;align-items:center;gap:14px;box-shadow:0 30px 80px rgba(0,0,0,.55);width:100%;max-width:380px;backdrop-filter:blur(20px)}

.welcome-label{font-size:10px;letter-spacing:.65em;color:rgba(255,255,255,0.55);text-transform:uppercase;font-weight:600}
.welcome-title{font-size:clamp(24px,7vw,34px);font-weight:900;letter-spacing:.12em;color:#fff;text-align:center;line-height:1.15}
.welcome-sub{font-size:12px;color:rgba(255,255,255,0.6);letter-spacing:.08em;text-align:center;line-height:1.75}
.egg-preview{width:74px;height:92px;background:rgba(240,240,235,.88);border-radius:50% 50% 44% 44%/60% 60% 40% 40%;animation:egg-pulse 2.2s ease-in-out infinite;margin:4px 0}
#pet-name-input{width:100%;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:12px;padding:14px 18px;color:#fff;font-family:'Inter',sans-serif;font-size:16px;font-weight:600;letter-spacing:.1em;text-align:center;outline:none;transition:border-color .2s,box-shadow .2s}
#pet-name-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(92,158,255,.13)}
#pet-name-input::placeholder{color:rgba(255,255,255,0.45)}
.past-pets-hint{font-size:10px;letter-spacing:.2em;color:rgba(255,255,255,0.5);text-align:center}

.btn-primary{width:100%;padding:15px;background:rgba(92,158,255,.12);border:1px solid rgba(92,158,255,.35);border-radius:50px;color:#fff;font-family:'Inter',sans-serif;font-size:10px;font-weight:700;letter-spacing:.45em;text-transform:uppercase;cursor:pointer;transition:all .25s}
.btn-primary:hover{background:rgba(92,158,255,.25);border-color:var(--accent);box-shadow:0 0 22px rgba(92,158,255,.2)}
.btn-primary:disabled{opacity:.3;cursor:not-allowed}

#game-screen{padding-top:max(20px,env(safe-area-inset-top));padding-bottom:max(20px,env(safe-area-inset-bottom));gap:0;justify-content:flex-start}

.top-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;max-width:400px;padding:0 2px;margin-top:6px}
.hdr-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:11px;border:1px solid var(--border);background:var(--card-bg);color:rgba(255,255,255,.6);font-size:15px;line-height:1;text-decoration:none;transition:color .2s,border-color .2s,background .2s}
.hdr-btn:hover{color:#fff;border-color:var(--accent);background:rgba(92,158,255,.08)}
.hdr-right{display:flex;align-items:center;gap:8px;flex-shrink:0}
#pet-name-display{flex:1;min-width:0;font-size:19px;font-weight:800;letter-spacing:.01em;color:rgba(255,255,255,.94);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#pet-name-display .prem-badge{color:#ffd060;margin-left:5px;font-size:16px;letter-spacing:normal}
.top-label{font-size:11px;color:rgba(255,255,255,.5)}

.meta-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;width:100%;max-width:400px;margin:9px 0 3px}
.meta-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border-radius:20px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);font-size:11.5px;font-weight:600;color:rgba(255,255,255,.62);line-height:1.3}
.meta-chip.meta-streak{background:rgba(255,156,64,.1);border-color:rgba(255,156,64,.24);color:rgba(255,190,130,.92);padding-right:6px}
#creature-wrap{position:relative}
#prem-aura{display:none;position:absolute;left:50%;top:50%;width:230px;height:230px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,210,90,.28) 0%,rgba(255,210,90,0) 65%);pointer-events:none;animation:prem-pulse 3.6s ease-in-out infinite alternate}
#creature-wrap.premium #prem-aura{display:block}
@keyframes prem-pulse{from{opacity:.5;transform:translate(-50%,-50%) scale(.95)}to{opacity:.9;transform:translate(-50%,-50%) scale(1.08)}}

#room-svg{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(360px,97%);height:196px;z-index:0;pointer-events:none;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.05)}
#prem-aura{z-index:1}
#creature-float{position:relative;z-index:2}

#room-wall{fill:#1b2238}
#room-floor{fill:#252e49}
#room-floor-hi{fill:rgba(255,255,255,.045)}
#room-baseboard{stroke:rgba(255,255,255,.08);stroke-width:1.2}
.room-mullion{stroke:#46557f;fill:none}
#room-sill{fill:#3c4a78}
.room-shadow{fill:rgba(0,0,0,.30)}

body.light-theme #room-wall{fill:#e4ebf7}
body.light-theme #room-floor{fill:#d3ddef}
body.light-theme #room-floor-hi{fill:rgba(255,255,255,.5)}
body.light-theme #room-baseboard{stroke:rgba(30,40,70,.14)}
body.light-theme .room-mullion{stroke:#a9b7d6}
body.light-theme #room-sill{fill:#cdd8ec}
body.light-theme .room-shadow{fill:rgba(40,55,90,.16)}

body.has-accent:not(.light-theme) #room-wall{fill:color-mix(in srgb,var(--accent) 14%,#1b2238)}
body.has-accent:not(.light-theme) #room-floor{fill:color-mix(in srgb,var(--accent) 12%,#252e49)}
body.has-accent:not(.light-theme) .room-mullion{stroke:color-mix(in srgb,var(--accent) 24%,#46557f)}
body.has-accent.light-theme #room-wall{fill:color-mix(in srgb,var(--accent) 12%,#e4ebf7)}

#room-s1{stop-color:#8fbdf0}#room-s2{stop-color:#d6ecfd}
body.t-dawn #room-s1{stop-color:#f0b48a}body.t-dawn #room-s2{stop-color:#ffe4cc}
body.t-evening #room-s1{stop-color:#8f74c4}body.t-evening #room-s2{stop-color:#f2bd93}
body.t-night #room-s1{stop-color:#0d1533}body.t-night #room-s2{stop-color:#243a60}
#room-sun{fill:#ffdf8a}
body.t-dawn #room-sun{fill:#ffd08a}body.t-evening #room-sun{fill:#ff9e6a}
body.t-night #room-sun{display:none}
#room-moon{display:none}body.t-night #room-moon{display:block}
#room-stars{opacity:0;transition:opacity .6s}body.t-night #room-stars{opacity:1}
#room-sky-tint{opacity:0}body.t-dawn #room-sky-tint{opacity:.06}body.t-evening #room-sky-tint{opacity:.14}body.t-night #room-sky-tint{opacity:.30}

.room-season{display:none}
#room-svg.rs-var .rw-var{display:block}
#room-svg.rs-sommar .rw-sommar{display:block}
#room-svg.rs-host .rw-host{display:block}
#room-svg.rs-vinter .rw-vinter{display:block}
@keyframes room-snowfall{0%{transform:translateY(-6px);opacity:0}20%{opacity:.85}100%{transform:translateY(30px);opacity:0}}

.room-rare{animation:room-glow-pulse 3.8s ease-in-out infinite}
.room-legendary{animation:room-glow-pulse-lg 2.8s ease-in-out infinite}
@keyframes room-glow-pulse{0%,100%{filter:drop-shadow(0 0 1.6px var(--gc))}50%{filter:drop-shadow(0 0 4px var(--gc))}}
@keyframes room-glow-pulse-lg{0%,100%{filter:drop-shadow(0 0 2.4px var(--gc))}50%{filter:drop-shadow(0 0 6px var(--gc))}}
.room-motes circle{animation:room-mote 3.4s ease-in-out infinite}
.room-motes circle:nth-child(2){animation-delay:-1.1s}
.room-motes circle:nth-child(3){animation-delay:-2.3s}
@keyframes room-mote{0%,100%{opacity:.15;transform:translateY(1px)}50%{opacity:.85;transform:translateY(-4px)}}
.room-living{transform-box:fill-box;transform-origin:bottom center;animation:room-sway 4.4s ease-in-out infinite}
@keyframes room-sway{0%,100%{transform:rotate(-3.5deg)}50%{transform:rotate(3.5deg)}}
.room-shimmer{animation:room-shimmer 2.6s ease-in-out infinite}
@keyframes room-shimmer{0%,100%{opacity:.32}50%{opacity:.9}}
.room-lamp-glow{animation:room-lamp 4s ease-in-out infinite}
@keyframes room-lamp{0%,100%{opacity:.35}50%{opacity:.75}}

#overlay .room-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px;margin:4px 0 6px}
.room-grid-item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 4px;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:background .18s,border-color .18s}
.room-grid-item:hover{background:rgba(255,255,255,.08)}
.room-grid-item.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent)}
.room-thumb-wrap{width:54px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:10px}
.room-thumb{width:54px;height:46px}
.room-nm{font-size:9.5px;letter-spacing:.02em;color:rgba(255,255,255,.62);text-align:center;line-height:1.12}
body.light-theme .room-nm{color:rgba(20,28,48,.66)}
.room-slot-label{font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:rgba(255,255,255,0.55);font-weight:700;margin:11px 0 5px}
body.light-theme .room-slot-label{color:rgba(20,28,48,.42)}
.room-slot-locked{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px dashed var(--border);border-radius:12px;color:rgba(255,255,255,.42);font-size:12px;font-style:italic}
.room-lock-ic{opacity:.55}
.room-slot-empty{font-size:12px;font-style:italic;color:rgba(255,255,255,0.55);margin:2px 0 6px}
body.light-theme .room-slot-empty,body.light-theme .room-slot-locked{color:rgba(20,28,48,.46)}

.room-grid-item.rare .room-thumb-wrap{box-shadow:0 0 0 1px rgba(255,255,255,.14) inset,0 0 10px -2px var(--gc)}
.room-grid-item.legendary .room-thumb-wrap{box-shadow:0 0 0 1px rgba(255,255,255,.22) inset,0 0 15px -1px var(--gc)}

#streak-count{font-size:14px;font-weight:800;color:#ff9c40;line-height:1;transition:color .5s}
#streak-count.streak-fire{color:#ff7a1a}
.streak-label{font-size:11px;font-weight:600;color:inherit;opacity:.82}
.streak-share-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;margin-left:2px;background:transparent;border:1px solid rgba(255,156,64,.3);border-radius:50%;color:rgba(255,190,130,.8);cursor:pointer;transition:all .2s}
.streak-share-btn:hover{color:#fff;border-color:var(--accent)}
.streak-share-btn:active{transform:scale(.92)}
.streak-share-btn svg{width:11px;height:11px}
.streak-share-btn.busy{opacity:.5;pointer-events:none}
body.light-theme .streak-share-btn{color:rgba(0,0,0,.35)}
#personality-badge{text-transform:capitalize}

#creature-wrap{height:200px;display:flex;align-items:center;justify-content:center;width:100%;max-width:400px;position:relative;cursor:pointer}
#creature-float{display:flex;align-items:center;justify-content:center}
#creature-float.anim-float{animation:float 3.6s ease-in-out infinite}
#creature-float.anim-shake{animation:shake .42s ease-in-out infinite}
#creature-float.birthday{animation:float 3.6s ease-in-out infinite,birthday-glow 2s ease-in-out infinite}
#creature-svg{width:185px;height:185px;overflow:visible}
#creature-svg.bounce{animation:bounce-react .5s ease-out both}
#creature-svg.anim-tilt-l{animation:c-tilt-l .7s ease-in-out}
#creature-svg.anim-tilt-r{animation:c-tilt-r .7s ease-in-out}
#creature-svg.anim-bob{animation:c-bob .8s ease-in-out}
.eye-wrap{transform-box:fill-box;transform-origin:center;animation:blink 5s ease-in-out infinite}
.eye-wrap.slow{animation-duration:7.5s;animation-delay:-3s}

@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-11px)}}
@keyframes shake{0%,100%{transform:translateX(0) rotate(0)}25%{transform:translateX(-5px) rotate(-1.2deg)}75%{transform:translateX(5px) rotate(1.2deg)}}
@keyframes bounce-react{0%{transform:scale(1)}35%{transform:scale(1.11)}65%{transform:scale(.97)}100%{transform:scale(1)}}
@keyframes blink{0%,80%,100%{transform:scaleY(1)}88%{transform:scaleY(.05)}}
@keyframes egg-pulse{0%,100%{transform:scale(1);box-shadow:0 0 28px rgba(92,158,255,.14)}50%{transform:scale(1.05);box-shadow:0 0 50px rgba(92,158,255,.32)}}
@keyframes c-tilt-l{0%,100%{transform:rotate(0)}40%{transform:rotate(-6deg)}70%{transform:rotate(-3deg)}}
@keyframes c-tilt-r{0%,100%{transform:rotate(0)}40%{transform:rotate(6deg)}70%{transform:rotate(3deg)}}
@keyframes c-bob{0%,100%{transform:scale(1) translateY(0)}45%{transform:scale(1.05) translateY(-5px)}}
@keyframes birthday-glow{0%,100%{filter:drop-shadow(0 0 6px rgba(255,210,40,0))}50%{filter:drop-shadow(0 0 22px rgba(255,210,40,.65))}}

#creature-mover{display:flex;align-items:center;justify-content:center;will-change:transform;transition:transform 2.4s cubic-bezier(.45,.05,.55,.95)}
#creature-float.anim-walkbob{animation:walk-bob .55s ease-in-out infinite}
@keyframes walk-bob{0%,100%{transform:translateY(0) rotate(-1.4deg)}50%{transform:translateY(-7px) rotate(1.4deg)}}
#creature-float.anim-sleep{animation:sleep-breathe 3.4s ease-in-out infinite}
@keyframes sleep-breathe{0%,100%{transform:translateY(5px) scale(1,.955)}50%{transform:translateY(4px) scale(1.025,1)}}
#pet-bubble{position:absolute;top:2px;left:50%;transform:translateX(-50%) scale(.7);padding:5px 9px;border-radius:14px;border-bottom-left-radius:4px;background:rgba(255,255,255,.92);font-size:17px;line-height:1;opacity:0;pointer-events:none;transition:opacity .35s,transform .35s;box-shadow:0 3px 12px rgba(0,0,0,.25);z-index:3}
#pet-bubble.show{opacity:1;transform:translateX(-50%) scale(1)}
#pet-bubble::after{content:'';position:absolute;left:7px;bottom:-6px;width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.85)}

#creature-svg.anim-trick-sit{animation:c-trick-sit 1.6s ease-in-out}
@keyframes c-trick-sit{0%,100%{transform:scale(1,1) translateY(0)}25%,75%{transform:scale(1.1,.82) translateY(9px)}}
#creature-svg.anim-trick-wave{animation:c-trick-wave 1.4s ease-in-out}
@keyframes c-trick-wave{0%,100%{transform:rotate(0)}20%{transform:rotate(9deg)}35%{transform:rotate(4deg)}50%{transform:rotate(10deg)}65%{transform:rotate(4deg)}80%{transform:rotate(8deg)}}
#creature-svg.anim-trick-spin{animation:c-trick-spin 1.15s cubic-bezier(.45,.05,.4,1)}
@keyframes c-trick-spin{0%{transform:rotate(0) scale(1)}55%{transform:rotate(330deg) scale(.94)}100%{transform:rotate(360deg) scale(1)}}
#creature-svg.anim-trick-dance{animation:c-trick-dance 1.8s ease-in-out}
@keyframes c-trick-dance{0%,100%{transform:translateX(0) rotate(0)}12%{transform:translateX(-9px) rotate(-7deg)}30%{transform:translateX(9px) rotate(7deg)}48%{transform:translateX(-8px) rotate(-6deg) translateY(-6px)}66%{transform:translateX(8px) rotate(6deg)}84%{transform:translateX(-4px) rotate(-3deg) translateY(-4px)}}
#creature-svg.anim-trick-jump{animation:c-trick-jump 1.25s cubic-bezier(.4,0,.55,1)}
@keyframes c-trick-jump{0%,100%{transform:translateY(0) scale(1,1)}18%{transform:translateY(4px) scale(1.08,.88)}45%{transform:translateY(-34px) scale(.96,1.07)}72%{transform:translateY(3px) scale(1.06,.92)}}

#away-card{width:100%;max-width:360px;margin:14px auto 0;padding:12px 14px;border-radius:18px;background:rgba(167,139,250,.09);border:1px solid rgba(167,139,250,.26);box-shadow:0 6px 22px rgba(0,0,0,.18);animation:vcIn .45s ease both;text-align:left}
#away-card .aw-title{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#d5c8ff;margin-bottom:6px}
#away-card .aw-line{font-size:12px;color:rgba(255,255,255,.72);line-height:1.55}
#away-card .aw-btn{margin-top:9px;border:none;border-radius:11px;padding:7px 14px;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;background:rgba(167,139,250,.25);color:#e6ddff;transition:background .2s}
#away-card .aw-btn:hover{background:rgba(167,139,250,.4)}
body.light-theme #away-card{background:rgba(120,90,220,.09);border-color:rgba(120,90,220,.25)}
body.light-theme #away-card .aw-title{color:#5a3fa8}
body.light-theme #away-card .aw-line{color:#4a4a5e}
body.light-theme #away-card .aw-btn{background:rgba(120,90,220,.14);color:#3f2f80}

#wish-line{display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px;font-weight:600;color:rgba(255,206,120,.95);text-align:center;line-height:1.4;transition:color .4s}
body.light-theme #wish-line{color:#a4762a}

.train-row{display:flex;align-items:center;gap:11px;padding:10px 4px;border-bottom:1px solid rgba(255,255,255,.06)}
.train-icon{font-size:21px;flex-shrink:0;width:30px;text-align:center}
.train-text{flex:1;min-width:0;text-align:left}
.train-name{display:block;font-size:13px;font-weight:700;color:rgba(255,255,255,.85)}
.train-dots{display:block;font-size:10px;letter-spacing:.28em;color:rgba(255,255,255,.4);margin-top:2px}
.train-dots .td-on{color:#ffd54f}
.train-learned{font-size:10px;font-weight:800;letter-spacing:.1em;color:#4ade80;text-transform:uppercase}
.train-btn{flex-shrink:0;border:none;border-radius:11px;padding:8px 14px;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;background:linear-gradient(135deg,#ffd54f,#ffb64f);color:#3a2604;transition:transform .12s,box-shadow .2s}
.train-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(255,190,60,.35)}
.train-btn:disabled{opacity:.4;cursor:default;transform:none;box-shadow:none}
.train-btn.show-btn{background:linear-gradient(135deg,#7cc4ff,#a6d8ff);color:#08203a}
body.light-theme .train-name{color:#2a3145}
body.light-theme .train-dots{color:rgba(0,0,0,.35)}

#creature-svg.anim-chomp{animation:c-chomp .95s ease-in-out}
@keyframes c-chomp{0%,100%{transform:scale(1,1)}20%{transform:scale(1.05,.93)}40%{transform:scale(.98,1.03)}60%{transform:scale(1.05,.93)}80%{transform:scale(.99,1.02)}}
#creature-svg.anim-wiggle{animation:c-wiggle .9s ease-in-out}
@keyframes c-wiggle{0%,100%{transform:rotate(0) translateY(0)}15%{transform:rotate(-7deg) translateY(-6px)}35%{transform:rotate(6deg) translateY(-10px)}55%{transform:rotate(-5deg) translateY(-4px)}75%{transform:rotate(4deg) translateY(-8px)}}
#creature-svg.anim-doze{animation:c-doze 1.9s ease-in-out}
@keyframes c-doze{0%,100%{transform:rotate(0) translateY(0)}30%{transform:rotate(-4deg) translateY(4px)}70%{transform:rotate(-4.5deg) translateY(5px)}}
#creature-svg.anim-snuggle{animation:c-snuggle 1.3s ease-in-out}
@keyframes c-snuggle{0%,100%{transform:rotate(0) scale(1)}30%{transform:rotate(3deg) scale(1.04)}60%{transform:rotate(-2.5deg) scale(1.05)}}
#creature-svg.anim-scout{animation:c-scout 1.1s ease-in-out}
@keyframes c-scout{0%,100%{transform:translateX(0) scale(1)}22%{transform:translateX(-7px)}50%{transform:translateX(7px)}78%{transform:translateX(0) scale(1.06)}}
#creature-svg.anim-breathe-deep{animation:c-breathe-deep 2.4s ease-in-out}
.prop-spin { animation: prop-spin 1.1s linear infinite; transform-box: fill-box; transform-origin: center; }
@keyframes prop-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes c-breathe-deep{0%,100%{transform:scale(1)}45%{transform:scale(1.045,1.06)}}

#cr-body{transform-box:fill-box;transform-origin:50% 85%;animation:cr-breathe var(--breath,3.8s) ease-in-out infinite}
#creature-svg.egg #cr-body{animation:none}
@keyframes cr-breathe{0%,100%{transform:scale(1,1)}50%{transform:scale(1.012,1.028)}}
.particle-idle{color:rgba(200,215,240,.85);text-shadow:0 0 8px rgba(160,190,255,.4);font-size:13px}

#pet-say{width:100%;max-width:380px;margin-top:10px;padding:13px 16px;background:var(--card-bg);border:1px solid var(--border);border-radius:16px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
#pet-say > p:empty{display:none}
#pet-event{font-size:12.5px;color:rgba(255,255,255,.55);text-align:center;font-style:italic;line-height:1.45}
#status-msg{font-size:14.5px;font-weight:600;color:rgba(255,255,255,.9);text-align:center;line-height:1.4;transition:color .5s}
#status-msg.urgent{color:#f87171}
#status-msg.good{color:#4ade80}
#status-msg.birthday{color:#ffd54f}

#stats-wrap{width:100%;max-width:380px;display:flex;flex-direction:column;gap:9px;margin-top:12px}
.stat-row{display:flex;align-items:center;gap:10px}
.stat-label{font-size:10.5px;letter-spacing:.12em;color:rgba(255,255,255,.45);text-transform:uppercase;font-weight:700;width:56px;flex-shrink:0;text-align:left}
.stat-bar{flex:1;height:7px;min-width:60px;background:rgba(255,255,255,.07);border-radius:4px;overflow:hidden}
.stat-fill{display:block;height:100%;width:0;border-radius:4px;background:rgba(255,255,255,.4);transition:width .6s ease,background .6s ease}
.stat-word{font-size:12.5px;font-weight:600;color:rgba(255,255,255,.72);width:118px;flex-shrink:0;text-align:right;transition:color .6s}
.stat-word.lv0{color:rgba(74,222,128,.9)}
.stat-word.lv2{color:rgba(250,204,21,.9)}
.stat-word.lv3{color:rgba(248,113,113,.95)}
.stat-fill.lv0{background:rgba(74,222,128,.75)}
.stat-fill.lv1{background:rgba(160,190,235,.6)}
.stat-fill.lv2{background:rgba(250,204,21,.8)}
.stat-fill.lv3{background:rgba(248,113,113,.85)}

#actions-wrap{display:flex;gap:9px;width:100%;max-width:380px;margin-top:12px}
.action-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:7px;padding:15px 4px;background:var(--card-bg);border:1px solid var(--border);border-radius:16px;color:rgba(255,255,255,.82);font-family:'Inter',sans-serif;font-size:11.5px;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:all .22s}
.action-btn:hover:not(:disabled){color:#fff;border-color:var(--accent);background:rgba(92,158,255,.09);box-shadow:0 0 18px rgba(92,158,255,.14)}
.action-btn:disabled{opacity:.2;cursor:not-allowed}
.action-icon{font-size:20px;line-height:1;color:rgba(255,255,255,.62)}
.action-btn:hover:not(:disabled) .action-icon{color:#fff}

.back-link{margin-top:14px}
.back-link a{font-size:10px;letter-spacing:.45em;color:rgba(255,255,255,0.5);text-decoration:none;text-transform:uppercase;transition:color .2s}
.back-link a:hover{color:rgba(255,255,255,.45)}

#level-row{display:flex;align-items:center;gap:10px;width:100%;max-width:380px;margin:4px 0 2px}
#level-label{font-size:11.5px;letter-spacing:.02em;color:rgba(255,255,255,.55);font-weight:700;flex-shrink:0}
.xp-bar{flex:1;height:5px;background:rgba(255,255,255,.07);border-radius:3px;overflow:hidden}
.xp-fill{height:100%;width:0;background:linear-gradient(90deg,#5c9eff,#a98bff);border-radius:2px;transition:width .6s ease}
#bond-badge{font-size:11.5px;color:rgba(255,140,170,.7);display:flex;align-items:center;gap:4px;flex-shrink:0;font-weight:700}
#dust-badge{font-size:12px;color:rgba(255,228,150,.98);display:flex;align-items:center;gap:4px;flex-shrink:0;font-weight:800;cursor:pointer;background:rgba(254,204,2,.14);border:1px solid rgba(254,204,2,.36);padding:6px 11px;border-radius:20px;transition:box-shadow .2s,background .2s}
#dust-badge:hover{background:rgba(254,204,2,.2);box-shadow:0 0 14px rgba(254,204,2,.35)}

#daily-gift{position:absolute;right:4px;bottom:2px;font-size:27px;cursor:pointer;animation:gift-bob 1.8s ease-in-out infinite;filter:drop-shadow(0 0 10px rgba(255,215,110,.4));z-index:6;transition:transform .15s;line-height:1}
#daily-gift:hover{transform:scale(1.15)}
@keyframes gift-bob{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-7px) rotate(4deg)}}

.mg-star{position:absolute;font-size:25px;color:#ffd54f;text-shadow:0 0 12px rgba(255,200,60,.8);cursor:pointer;z-index:7;animation:mg-pop-in .22s ease-out both;user-select:none;line-height:1;padding:6px;transform:translate(-50%,-50%)}
@keyframes mg-pop-in{0%{transform:translate(-50%,-50%) scale(0)}70%{transform:translate(-50%,-50%) scale(1.3)}100%{transform:translate(-50%,-50%) scale(1)}}
#mg-timer{position:absolute;top:0;left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:.3em;color:rgba(255,213,79,.85);font-weight:700;z-index:7;white-space:nowrap}

.mg-hub-intro{font-size:13px;opacity:.72;text-align:center;margin:0 0 14px;line-height:1.4}
.mg-card{display:flex;align-items:center;gap:13px;width:100%;text-align:left;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:13px 15px;margin-bottom:10px;cursor:pointer;color:inherit;transition:background .15s,transform .12s}
.mg-card:hover{background:rgba(255,255,255,.1)}
.mg-card:active{transform:scale(.985)}
.mg-card-ic{font-size:27px;flex-shrink:0;line-height:1;filter:drop-shadow(0 0 8px rgba(255,213,79,.35))}
.mg-card-txt{display:flex;flex-direction:column;flex:1;min-width:0}
.mg-card-name{font-weight:700;font-size:15px}
.mg-card-desc{font-size:12px;opacity:.68;margin-top:2px;line-height:1.35}
.mg-card-badge{font-size:12.5px;font-weight:700;color:#ffd54f;flex-shrink:0;white-space:nowrap}
.mg-card-badge.done{color:rgba(255,255,255,.42);font-weight:600}

.mm-status{text-align:center;font-size:13.5px;margin:0 0 13px;min-height:19px;font-weight:600}
.mm-board{--mm:clamp(48px,15.5vw,64px);display:grid;grid-template-columns:repeat(4,var(--mm));grid-auto-rows:var(--mm);gap:clamp(5px,1.8vw,9px);justify-content:center;margin:2px auto 0;max-width:100%}
.mm-card{position:relative;width:var(--mm);height:var(--mm);border:none;background:none;padding:0;cursor:pointer;perspective:640px}
.mm-face{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:12px;font-size:calc(var(--mm)*0.4);line-height:1;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:transform .34s ease}
.mm-back{background:linear-gradient(150deg,#3c4c80,#2a3560);color:#ffd54f;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 2px 6px rgba(0,0,0,.25)}
.mm-front{background:rgba(255,255,255,.12);transform:rotateY(180deg)}
.mm-card.flip .mm-back{transform:rotateY(180deg)}
.mm-card.flip .mm-front{transform:rotateY(360deg)}
.mm-card.done{opacity:.5}
.mm-card.done .mm-front{background:rgba(130,224,160,.22);box-shadow:inset 0 0 0 2px rgba(130,224,160,.4)}
.mm-again-row{text-align:center;margin-top:15px}

.alm-intro{font-size:13px;opacity:.72;text-align:center;margin:0 0 8px;line-height:1.4}
.alm-season{font-size:10px;letter-spacing:.25em;text-transform:uppercase;font-weight:700;opacity:.55;margin:13px 0 8px}
.alm-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.alm-cell{display:flex;flex-direction:column;align-items:center;gap:4px;padding:9px 3px;border-radius:12px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08)}
.alm-cell.got{background:rgba(255,213,79,.09);border-color:rgba(255,213,79,.28)}
.alm-ic{font-size:23px;line-height:1}
.alm-cell:not(.got) .alm-ic{filter:grayscale(1);opacity:.45}
.alm-nm{font-size:9.5px;text-align:center;line-height:1.2;opacity:.85}

.shop-row{display:flex;align-items:center;gap:11px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.shop-icon{font-size:17px;width:24px;text-align:center;flex-shrink:0}
.shop-text{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}
.shop-label{font-size:11px;font-weight:700;letter-spacing:.07em;color:rgba(255,255,255,.88)}
.shop-desc{font-size:9.5px;letter-spacing:.03em;color:rgba(255,255,255,.55);line-height:1.5}
.shop-buy{flex-shrink:0;padding:7px 13px;background:rgba(255,215,110,.08);border:1px solid rgba(255,215,110,.3);border-radius:20px;color:rgba(255,225,140,.9);font-family:'Inter',sans-serif;font-size:9px;font-weight:700;letter-spacing:.12em;cursor:pointer;transition:all .2s;white-space:nowrap}
.shop-buy:hover:not(:disabled){background:rgba(255,215,110,.18)}
.shop-buy:disabled{opacity:.25;cursor:not-allowed}
.shop-balance{font-size:11px;letter-spacing:.18em;color:rgba(255,228,150,.95);text-align:center;font-weight:800}
.shop-balance b{color:#FECC02}
.shop-intro{background:rgba(254,204,2,.07);border:1px solid rgba(254,204,2,.18);border-radius:12px;padding:11px 13px;margin-bottom:12px}
.shop-explain{font-size:9.5px;letter-spacing:.03em;line-height:1.55;color:rgba(255,255,255,.6);text-align:center;margin-top:7px}
.shop-explain b{color:rgba(255,228,150,.95)}
.wardrobe-hint{font-size:9.5px;letter-spacing:.04em;line-height:1.55;color:rgba(255,255,255,.6);text-align:center;margin-bottom:8px}
.wardrobe-slot-label{font-size:8px;letter-spacing:.32em;font-weight:800;color:rgba(255,255,255,.5);text-transform:uppercase;margin:12px 0 7px}
.wardrobe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.wardrobe-item{display:flex;flex-direction:column;align-items:center;gap:5px;padding:11px 4px;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:13px;cursor:pointer;transition:all .18s;font-family:inherit}
.wardrobe-item:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.25)}
.wardrobe-item.on{background:rgba(92,158,255,.16);border-color:var(--accent);box-shadow:0 0 14px rgba(92,158,255,.25)}
.wardrobe-ic{font-size:23px;line-height:1}
.wardrobe-nm{font-size:8px;letter-spacing:.05em;text-align:center;line-height:1.25;color:rgba(255,255,255,.7)}
.wardrobe-item.on .wardrobe-nm{color:#fff}
.shop-owned{font-size:9px;letter-spacing:.12em;color:rgba(74,222,128,.55);flex-shrink:0;font-weight:700}

#tomorrow-hint{font-size:11.5px;color:rgba(255,215,110,.6);text-align:center;margin-top:11px;line-height:1.55;max-width:340px}

#visitor-card{display:flex;align-items:center;gap:12px;width:100%;max-width:360px;margin:14px auto 0;padding:12px 14px;border-radius:18px;background:rgba(124,196,255,.08);border:1px solid rgba(124,196,255,.22);box-shadow:0 6px 22px rgba(0,0,0,.18);animation:vcIn .45s ease both}
#visitor-card.gone{display:none}
#visitor-card.greeted{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1);opacity:.85}
#visitor-card .vc-face{flex-shrink:0;line-height:0;animation:vcBob 2.6s ease-in-out infinite}
#visitor-card .vc-text{flex:1;min-width:0;text-align:left}
#visitor-card .vc-title{font-size:13px;font-weight:700;color:#cfe6ff;line-height:1.3}
#visitor-card .vc-sub{font-size:11px;color:rgba(255,255,255,.6);line-height:1.4;margin-top:2px}
#visitor-card .vc-btn{flex-shrink:0;border:none;border-radius:11px;padding:9px 13px;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;background:linear-gradient(135deg,#7cc4ff,#a6d8ff);color:#08203a;transition:transform .12s,box-shadow .2s}
#visitor-card .vc-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(124,196,255,.4)}
#visitor-card .vc-btn:active{transform:translateY(0)}
@keyframes vcIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes vcBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
body.light-theme #visitor-card{background:rgba(60,140,220,.1);border-color:rgba(60,140,220,.28)}
body.light-theme #visitor-card .vc-title{color:#1f4f7a}
body.light-theme #visitor-card .vc-sub{color:#5a6577}
body.light-theme #visitor-card.greeted{background:rgba(0,0,0,.03);border-color:rgba(0,0,0,.1)}

#quest-line{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:11.5px;font-weight:600;color:rgba(255,255,255,.6);text-align:center;line-height:1.3;margin-top:3px;padding:5px 12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:20px;transition:color .4s,background .4s,border-color .4s}
#quest-line.done{color:rgba(74,222,128,.85);background:rgba(74,222,128,.09);border-color:rgba(74,222,128,.22)}
.quest-check{font-size:11px;line-height:1}

.particle{position:absolute;font-size:15px;pointer-events:none;opacity:0;transform:translate(-50%,-50%);animation:particle-fly 1.2s ease-out forwards;z-index:5}
.particle-sparkle{color:rgba(255,225,120,.92);text-shadow:0 0 8px rgba(255,205,80,.6)}
.particle-heart{color:rgba(255,120,150,.92);text-shadow:0 0 8px rgba(255,90,130,.55)}
.particle-star{color:rgba(150,190,255,.92);text-shadow:0 0 8px rgba(110,160,255,.55)}
@keyframes particle-fly{0%{opacity:0;transform:translate(-50%,-50%) scale(.4) rotate(0)}14%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1) rotate(var(--rot))}}

.tile-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;width:100%;max-width:380px;margin-top:16px}
.tile{flex:0 0 calc(25% - 6px);box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px 4px;background:var(--card-bg);border:1px solid var(--border);border-radius:15px;text-decoration:none;color:rgba(255,255,255,.78);cursor:pointer;transition:transform .15s,border-color .2s,background .2s,color .2s}
.tile:hover{color:#fff;border-color:var(--accent);background:rgba(92,158,255,.08);transform:translateY(-2px)}
.tile:active{transform:scale(.96)}

.tile-ic{font-size:22px;line-height:1;text-shadow:0 0 7px rgba(190,215,255,.5)}
.tile-lbl{font-size:10.5px;font-weight:600;letter-spacing:.01em;text-align:center;line-height:1.2}
#link-shop{background:linear-gradient(150deg,rgba(254,204,2,.22),rgba(254,204,2,.09));border-color:rgba(254,204,2,.38);color:#ffe9a3}
#link-shop:hover{border-color:#FECC02;background:linear-gradient(150deg,rgba(254,204,2,.32),rgba(254,204,2,.14));color:#fff6d5}

.tile.just-unlocked{animation:tile-pop .55s cubic-bezier(.22,1.5,.36,1) both}
@keyframes tile-pop{0%{opacity:0;transform:scale(.4) rotate(-8deg)}60%{opacity:1;transform:scale(1.14) rotate(3deg)}100%{opacity:1;transform:scale(1)}}
.tile-next{font-size:11px;color:rgba(255,255,255,0.55);text-align:center;margin-top:10px;letter-spacing:.02em}
#link-shop{color:#1a1208;background:linear-gradient(135deg,#FECC02,#ffe27a);padding:7px 18px;border-radius:20px;font-weight:800;box-shadow:0 0 16px rgba(254,204,2,.4)}
#link-shop:hover{color:#1a1208;box-shadow:0 0 24px rgba(254,204,2,.7)}

#overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px}
.overlay-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(6px)}
.overlay-card{position:relative;background:var(--card-bg);border:1px solid var(--border);border-radius:24px;padding:28px 24px;display:flex;flex-direction:column;gap:14px;width:100%;max-width:380px;max-height:78vh;box-shadow:0 30px 80px rgba(0,0,0,.55);backdrop-filter:blur(20px)}
.overlay-title{font-size:10px;letter-spacing:.5em;color:rgba(255,255,255,0.55);text-transform:uppercase;font-weight:700;text-align:center}
.overlay-body{overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:2px}
.overlay-close{margin-top:2px}
@media (max-width:400px){#overlay{padding:14px}.overlay-card{padding:24px 16px}}
.journal-entry{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.04)}
.journal-date{font-size:10px;letter-spacing:.18em;color:rgba(255,255,255,0.5)}
.journal-text{font-size:11px;letter-spacing:.03em;color:rgba(255,255,255,.72);line-height:1.5}
.ach-row{display:flex;align-items:center;gap:11px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.04)}
.ach-icon{font-size:15px;width:20px;text-align:center;flex-shrink:0;color:rgba(255,210,80,.85)}
.ach-locked .ach-icon{color:rgba(255,255,255,0.35)}
.ach-locked .ach-label{color:rgba(255,255,255,0.45)}
.ach-locked .ach-desc{color:rgba(255,255,255,0.4)}
.ach-text{display:flex;flex-direction:column;gap:1px;min-width:0}
.ach-label{font-size:11px;font-weight:700;letter-spacing:.07em;color:rgba(255,255,255,.88)}
.ach-desc{font-size:9.5px;letter-spacing:.03em;color:rgba(255,255,255,.55)}
.empty-hint{font-size:10px;letter-spacing:.08em;color:rgba(255,255,255,.48);text-align:center;padding:24px 4px;line-height:1.6}

#toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.85);background:rgba(15,17,23,.96);border:1px solid var(--border);border-radius:14px;padding:13px 26px;font-size:11px;letter-spacing:.22em;color:rgba(255,255,255,.75);pointer-events:none;opacity:0;transition:opacity .2s,transform .2s;z-index:100;backdrop-filter:blur(20px)}
#toast.show{opacity:1;transform:translate(-50%,-50%) scale(1)}

#death-screen .card{gap:10px;max-height:90vh;overflow-y:auto}
.gravestone{width:58px;height:76px;background:rgba(255,255,255,.09);border-radius:50% 50% 4px 4px/42% 42% 4px 4px;display:flex;align-items:center;justify-content:center}
.rip-text{font-size:10px;letter-spacing:.12em;color:rgba(255,255,255,0.5);font-weight:700;margin-top:8px}
.death-name{font-size:clamp(20px,6vw,28px);font-weight:900;letter-spacing:.2em;color:#fff}
.death-info{font-size:11px;letter-spacing:.18em;color:rgba(255,255,255,0.6);text-align:center}
.death-cause{font-size:11px;letter-spacing:.1em;color:rgba(248,113,113,.65);text-align:center;line-height:1.6;max-width:260px}

#graveyard-section{width:100%;border-top:1px solid rgba(255,255,255,.07);padding-top:14px;margin-top:4px}
.graveyard-title{font-size:10px;letter-spacing:.5em;color:rgba(255,255,255,0.5);text-transform:uppercase;font-weight:600;text-align:center;margin-bottom:10px}
.graveyard-entry{display:flex;justify-content:space-between;align-items:center;width:100%;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:10px;letter-spacing:.1em;gap:8px}
.ge-name{font-weight:700;color:rgba(255,255,255,.45);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ge-age{color:rgba(255,255,255,0.5);flex-shrink:0}
.ge-cause{color:rgba(248,113,113,.4);flex-shrink:0;text-align:right}

.stage-rare{color:#ffd060!important}

.action-btn.od-full .action-icon{opacity:.35}
.action-btn.risk-warn{border-color:rgba(250,204,21,.5)}
.action-btn.risk-danger{border-color:rgba(248,113,113,.7);animation:od-pulse 1.1s ease-in-out infinite}
.action-btn.risk-armed{background:rgba(248,113,113,.16);border-color:#f87171;color:#fff}
@keyframes od-pulse{0%,100%{box-shadow:0 0 0 rgba(248,113,113,0)}50%{box-shadow:0 0 14px rgba(248,113,113,.45)}}

.shop-tabs{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:11px}
.shop-tab{padding:7px 11px;border-radius:20px;border:1px solid var(--border);background:transparent;color:rgba(255,255,255,.55);font-family:'Inter',sans-serif;font-size:9px;font-weight:700;letter-spacing:.09em;cursor:pointer;transition:all .18s;white-space:nowrap}
.shop-tab.on{background:rgba(254,204,2,.14);border-color:rgba(254,204,2,.4);color:#ffe27a}
.shop-row.prestige{border-left:2px solid rgba(255,215,110,.45);padding-left:9px;background:linear-gradient(90deg,rgba(255,215,110,.05),transparent)}
body.light-theme .shop-tab{color:#5a6580}
body.light-theme .shop-tab.on{color:#9a7700}

#acc-propeller-blades{transform-box:fill-box;transform-origin:center;animation:prop-spin 1.1s linear infinite}
@keyframes prop-spin{to{transform:rotate(360deg)}}
.lucia-flame{animation:lucia-flick 1.6s ease-in-out infinite}
@keyframes lucia-flick{0%,100%{opacity:.95}50%{opacity:.45}}
.aura-spin{transform-box:fill-box;transform-origin:center;animation:aura-spin 26s linear infinite}
@keyframes aura-spin{to{transform:rotate(360deg)}}
.aurora-anim{animation:aurora-drift 8s ease-in-out infinite alternate}
@keyframes aurora-drift{from{filter:hue-rotate(0deg);opacity:.6}to{filter:hue-rotate(45deg);opacity:1}}
.fall-star{animation:star-fall 3.2s linear infinite}
@keyframes star-fall{0%{transform:translate(6px,-36px);opacity:0}12%{opacity:.95}75%{opacity:.7}100%{transform:translate(-16px,140px);opacity:0}}
.dwing{transform-box:fill-box;animation:wing-flap 2.4s ease-in-out infinite}
.dwing-l{transform-origin:right center}
.dwing-r{transform-origin:left center}
@keyframes wing-flap{0%,100%{transform:scaleX(1)}50%{transform:scaleX(.8)}}
.kosmos-star{transform-box:fill-box;transform-origin:center;animation:kosmos-tw 1.8s ease-in-out infinite}
@keyframes kosmos-tw{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.35);opacity:.7}}

button.graveyard-entry{background:none;border:0;border-bottom:1px solid rgba(255,255,255,.04);font-family:inherit;color:inherit;cursor:pointer;text-align:left}
button.graveyard-entry:hover .ge-name{color:rgba(255,255,255,.85)}
.memorial-link{display:flex;justify-content:space-between;align-items:baseline;gap:8px;width:100%;padding:8px 2px;border:0;border-bottom:1px solid rgba(255,255,255,.04);background:none;font-family:inherit;font-size:11px;letter-spacing:.08em;color:rgba(255,255,255,.55);cursor:pointer;transition:color .15s;text-align:left}
.memorial-link:hover{color:#fff}
.memorial-link .ml-name{font-weight:700}
.memorial-facts{font-size:10px;letter-spacing:.14em;color:rgba(255,255,255,.5);text-align:center;line-height:1.7}
.memorial-cause{font-size:10px;font-style:italic;letter-spacing:.06em;color:rgba(248,113,113,.5);text-align:center;margin-bottom:4px}
body.light-theme button.graveyard-entry:hover .ge-name{color:#1e2640}
body.light-theme .memorial-link{color:#5a6580;border-bottom-color:rgba(0,0,0,.07)}
body.light-theme .memorial-link:hover{color:#1e2640}
body.light-theme .memorial-facts{color:#5a6580}

#walk-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;max-width:380px;margin-top:9px;padding:14px 6px;background:var(--card-bg);border:1px solid rgba(140,200,140,.3);border-radius:16px;color:rgba(255,255,255,.85);font-family:'Inter',sans-serif;font-size:12.5px;font-weight:700;letter-spacing:.01em;cursor:pointer;transition:all .22s}
#walk-btn:hover:not(:disabled){color:#fff;border-color:rgba(150,220,150,.6);background:rgba(110,190,110,.09);box-shadow:0 0 18px rgba(110,190,110,.16)}
#walk-btn:disabled{opacity:.3;cursor:not-allowed}
#exp-mount{width:100%;max-width:380px;margin:0 auto}
#news-card{width:100%;max-width:380px;margin:0 auto 12px;padding:16px 17px;border-radius:16px;text-align:left;
  background:linear-gradient(180deg,rgba(92,158,255,.14),rgba(92,158,255,.06));border:1px solid rgba(92,158,255,.42)}
.news-h{font-size:13px;font-weight:800;letter-spacing:.06em;margin:0 0 9px;color:var(--accent)}
.news-list{margin:0 0 13px;padding-left:18px}
.news-list li{font-size:12.5px;line-height:1.6;margin:5px 0;color:rgba(255,255,255,.78)}
body.light-theme .news-list li{color:rgba(20,30,45,.78)}
.news-ok{width:100%;background:var(--accent);border:0;border-radius:12px;color:#0f1117;
  font-family:'Inter',sans-serif;font-size:13px;font-weight:800;padding:11px;cursor:pointer}
.news-ok:hover{filter:brightness(1.08)}
body.pet-away #creature-mover{opacity:0;transform:translateY(8px) scale(.96);pointer-events:none}
#creature-mover{transition:opacity .5s ease,transform .5s ease}
body.pet-away #pet-bubble,body.pet-away #prem-aura,body.pet-away #daily-gift{opacity:0;pointer-events:none}
body.pet-away #room-svg .room-shadow{opacity:0;transition:opacity .5s ease}
body.pet-away #pet-say{display:none}
body.pet-away #actions-wrap{opacity:.42;pointer-events:none;filter:grayscale(.5)}
body.pet-away #room-svg{filter:saturate(.72) brightness(.88)}
#walk-btn.exp-open{border-color:rgba(150,220,150,.55);background:rgba(110,190,110,.1)}
.health-warn{width:100%;max-width:380px;margin:9px auto 0;padding:11px 13px;border-radius:13px;font-size:12.5px;line-height:1.5;text-align:center;font-weight:650}
.hw-hangig{color:#f0cf7a;background:rgba(230,190,80,.1);border:1px solid rgba(230,190,80,.34)}
.hw-sjuk{color:#f0908a;background:rgba(230,110,100,.12);border:1px solid rgba(230,110,100,.45);animation:hwPulse 2.4s ease-in-out infinite}
@keyframes hwPulse{0%,100%{opacity:1}50%{opacity:.62}}
.exp-panel{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;padding:14px;margin-top:9px;text-align:left}
.exp-h{font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:10px}
body.light-theme .exp-h{color:rgba(20,30,45,.5)}
.exp-dest{border-top:1px solid var(--border)}
.exp-dest:first-of-type{border-top:0}
.exp-dest-head{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;background:none;border:0;color:inherit;font-family:'Inter',sans-serif;padding:12px 2px;cursor:pointer;text-align:left}
.exp-dest-head:hover .exp-dest-name{color:var(--accent)}
.exp-head-right{display:flex;align-items:center;gap:7px;flex-shrink:0}
.exp-caret{font-size:10px;opacity:.45;transition:transform .22s ease}
.exp-expanded .exp-caret{transform:rotate(180deg)}
.exp-warn-dot{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;font-size:10px;font-weight:800;color:#7a5300;background:#f0cf7a}
.exp-dest-body{padding:0 2px 12px;animation:expIn .25s cubic-bezier(.22,1.4,.36,1)}
.exp-dest-name{font-size:14.5px;font-weight:750;transition:color .18s}
.exp-fc{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:999px;white-space:nowrap}
.exp-fc-god{color:#7ee0a0;background:rgba(90,200,130,.14);border:1px solid rgba(90,200,130,.4)}
.exp-fc-osaker{color:#f0cf7a;background:rgba(230,190,80,.13);border:1px solid rgba(230,190,80,.4)}
.exp-fc-dalig{color:#f0908a;background:rgba(230,110,100,.13);border:1px solid rgba(230,110,100,.42)}
.exp-dest-desc{font-size:12px;color:rgba(255,255,255,.5);margin:5px 0 0;line-height:1.5}
body.light-theme .exp-dest-desc{color:rgba(20,30,45,.55)}
.exp-missing{font-size:11.5px;color:#f0cf7a;margin:6px 0 0}
.exp-opinion{font-size:12px;font-style:italic;margin:6px 0 0}
.exp-op-plus{color:#7ee0a0}
.exp-op-minus{color:#f0a98a}
.exp-homehead{color:rgba(255,255,255,.5);font-size:11.5px;letter-spacing:.04em;margin-top:11px;padding-top:9px;border-top:1px solid var(--border)}
body.light-theme .exp-homehead{color:rgba(20,30,45,.5)}
.exp-home-gain{color:#9fe0c0;font-weight:650}
.alm-finds-head{margin-top:22px;padding-top:16px;border-top:1px solid var(--border)}
.alm-dest{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.42);margin:14px 0 7px;font-weight:700}
body.light-theme .alm-dest{color:rgba(20,30,45,.5)}
.alm-cell.alm-rar{border-color:rgba(255,215,110,.42)}
.alm-cell.alm-rar.got{box-shadow:0 0 16px -4px rgba(255,215,110,.7)}
.alm-cell.alm-ovanlig{border-color:rgba(150,200,255,.32)}
.exp-rar-1{color:#9fd0ff}
.exp-rar-2{color:#ffd76e;font-weight:800}
body.light-theme .exp-rar-1{color:#155b96}
body.light-theme .exp-rar-2{color:#8a5c00}
.exp-fam{font-size:11px;color:rgba(255,255,255,0.6);margin:4px 0 0;letter-spacing:.02em}
body.light-theme .exp-fam{color:rgba(20,30,45,.42)}
.exp-kinds{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.exp-go{flex:1 1 auto;background:rgba(255,255,255,.05);border:1px solid var(--border);border-radius:11px;color:inherit;font-family:'Inter',sans-serif;font-size:11.5px;font-weight:700;padding:9px 8px;cursor:pointer;transition:all .2s}
.exp-go:hover{background:rgba(92,158,255,.14);border-color:var(--accent)}
.exp-blocked{font-size:13.5px;line-height:1.6;margin:0;color:#f0cf7a}
.exp-out-panel{text-align:center}
.exp-where{font-size:13.5px;margin:0 0 6px;color:rgba(255,255,255,.72)}
body.light-theme .exp-where{color:rgba(20,30,45,.75)}
.exp-clock{font-size:26px;font-weight:800;letter-spacing:-.02em;margin:0;font-variant-numeric:tabular-nums}
.exp-soon .exp-clock{color:#7ee0a0}
.exp-chance{margin-top:12px;padding-top:11px;border-top:1px solid var(--border)}
.exp-chance-txt{font-size:13px;color:#ffd76e;margin:0 0 9px;font-weight:650}
.exp-chance-btn{background:linear-gradient(180deg,rgba(255,215,110,.22),rgba(255,215,110,.1));border:1px solid rgba(255,215,110,.55);border-radius:12px;color:#ffe9a8;font-family:'Inter',sans-serif;font-size:13.5px;font-weight:750;padding:11px 20px;cursor:pointer;transition:transform .2s cubic-bezier(.22,1.4,.36,1)}
.exp-chance-btn:hover{transform:translateY(-2px)}
.exp-chance-left{font-size:11px;color:rgba(255,255,255,.42);margin:7px 0 0}
body.light-theme .exp-chance-left{color:rgba(20,30,45,.45)}
.exp-chance-done{font-size:12px;color:#ffd76e;margin:9px 0 0}
.exp-chance-missed{font-size:12px;color:rgba(255,255,255,0.55);margin:9px 0 0;font-style:italic}
body.light-theme .exp-chance-missed{color:rgba(20,30,45,.4)}
.exp-has-chance{border-color:rgba(255,215,110,.4);box-shadow:0 0 26px -8px rgba(255,215,110,.45)}
.exp-home{text-align:center}
.exp-bag{font-size:52px;line-height:1;background:none;border:0;cursor:pointer;padding:6px 14px;transition:transform .18s cubic-bezier(.22,1.4,.36,1);filter:drop-shadow(0 6px 14px rgba(0,0,0,.3))}
.exp-bag:disabled{cursor:default;opacity:.55}
.exp-bag.exp-pop{transform:scale(1.18) rotate(-4deg)}
.exp-bag.exp-flash{filter:drop-shadow(0 0 22px rgba(255,225,120,.95)) brightness(1.5)}
.exp-hint{font-size:12px;color:rgba(255,255,255,.5);margin:4px 0 0}
body.light-theme .exp-hint{color:rgba(20,30,45,.55)}
.exp-out{margin-top:8px}
.exp-line{font-size:13px;margin:5px 0;animation:expIn .32s cubic-bezier(.22,1.4,.36,1)}
.exp-dust{color:#ffd76e;font-weight:750}
.exp-item{color:#9fd0ff;font-weight:750}
.exp-near{color:rgba(255,255,255,.42);font-style:italic}
body.light-theme .exp-near{color:rgba(20,30,45,.45)}
.exp-hurt{color:#f0908a}
@keyframes expIn{from{opacity:0;transform:translateY(9px) scale(.94)}to{opacity:1;transform:none}}
body.light-theme .exp-fc-god{color:#126b3a;background:rgba(30,150,85,.15);border-color:rgba(30,150,85,.5)}
body.light-theme .exp-fc-osaker{color:#7a5300;background:rgba(200,150,20,.18);border-color:rgba(160,115,10,.55)}
body.light-theme .exp-fc-dalig{color:#a02a22;background:rgba(200,60,50,.13);border-color:rgba(180,55,45,.5)}
body.light-theme .exp-missing{color:#7a5300}
body.light-theme .exp-opinion.exp-op-plus{color:#126b3a}
body.light-theme .exp-opinion.exp-op-minus{color:#a04a22}
body.light-theme .exp-dust{color:#8a5c00}
body.light-theme .exp-item{color:#155b96}
body.light-theme .exp-home-gain{color:#0f6b4d}
body.light-theme .exp-hurt{color:#a02a22}
body.light-theme .exp-chance-txt{color:#7a5300}
body.light-theme .exp-chance-btn{color:#5f4200;background:linear-gradient(180deg,rgba(230,180,40,.24),rgba(230,180,40,.12));border-color:rgba(160,115,10,.6)}
body.light-theme .exp-go{background:rgba(20,30,45,.045)}
body.light-theme .exp-soon .exp-clock{color:#126b3a}
body.light-theme .hw-hangig{color:#7a5300;background:rgba(200,150,20,.13);border-color:rgba(160,115,10,.42)}
body.light-theme .hw-sjuk{color:#a02a22;background:rgba(200,60,50,.12);border-color:rgba(180,55,45,.48)}
#walk-btn .walk-ic{font-size:15px;letter-spacing:0;line-height:1}
body.light-theme #walk-btn{color:#3d5a3d;border-color:rgba(60,140,80,.35)}
body.light-theme #walk-btn:hover:not(:disabled){color:#1e3a24}

#walk-overlay{position:fixed;inset:0;z-index:250;background:#0f1117;overflow:hidden}
#walk-svg{position:absolute;inset:0;width:100%;height:100%}
#wk-far,#wk-mid,#wk-near{transition:transform .95s cubic-bezier(.33,.1,.25,1)}
#wk-pet-bob{transform-box:fill-box;transform-origin:center}
#wk-pet-bob.walking{animation:wk-hop .95s ease-in-out}
@keyframes wk-hop{0%,100%{transform:translateY(0)}20%{transform:translateY(-7px)}40%{transform:translateY(0)}60%{transform:translateY(-7px)}80%{transform:translateY(0)}}

#wk-s1{stop-color:#9fd0ee}#wk-s2{stop-color:#e8f2da}
body.t-dawn #wk-s1{stop-color:#e8a97e}body.t-dawn #wk-s2{stop-color:#fbe6c8}
body.t-evening #wk-s1{stop-color:#6e5fa8}body.t-evening #wk-s2{stop-color:#e8b48a}
body.t-night #wk-s1{stop-color:#0c1230}body.t-night #wk-s2{stop-color:#233458}
body.t-night #wk-sun{display:none}
#wk-moon{display:none}body.t-night #wk-moon{display:block}
#wk-stars{opacity:0;transition:opacity .5s}body.t-night #wk-stars{opacity:1}
#wk-tint{opacity:0}body.t-dawn #wk-tint{opacity:.08}body.t-evening #wk-tint{opacity:.18}body.t-night #wk-tint{opacity:.42}
.wk-fly{opacity:0}

body.t-night #walk-overlay.s-sommar .wk-fly,body.t-evening #walk-overlay.s-sommar .wk-fly{opacity:1;animation:wk-fly-drift 5s ease-in-out infinite alternate,wk-fly-glow 1.8s ease-in-out infinite}
@keyframes wk-fly-drift{from{transform:translate(0,0)}to{transform:translate(14px,-10px)}}
@keyframes wk-fly-glow{0%,100%{fill-opacity:.25}50%{fill-opacity:1}}
.walk-ui{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 22px calc(20px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(8,12,8,0) 0%,rgba(8,12,8,.5) 40%,rgba(6,10,6,.78) 100%)}
.walk-title{font-size:9px;letter-spacing:.65em;color:rgba(255,255,255,.55);text-transform:uppercase;font-weight:600;text-shadow:0 1px 4px rgba(0,0,0,.5)}
.walk-dots{display:flex;gap:7px}
.walk-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.25);transition:background .3s,box-shadow .3s}
.walk-dot.on{background:#ffe08a;box-shadow:0 0 8px rgba(255,220,120,.6)}
#walk-text{min-height:36px;max-width:340px;font-size:12.5px;letter-spacing:.04em;line-height:1.55;font-style:italic;text-align:center;color:rgba(255,255,255,.9);text-shadow:0 1px 6px rgba(0,0,0,.65)}
.walk-go{width:100%;max-width:300px;padding:14px;background:rgba(255,224,138,.14);border:1px solid rgba(255,224,138,.4);border-radius:50px;color:#fff;font-family:'Inter',sans-serif;font-size:10px;font-weight:700;letter-spacing:.4em;text-transform:uppercase;cursor:pointer;transition:all .25s;text-shadow:0 1px 4px rgba(0,0,0,.4)}
.walk-go:hover:not(:disabled){background:rgba(255,224,138,.26);box-shadow:0 0 22px rgba(255,224,138,.25)}
.walk-go:disabled{opacity:.35;cursor:default}
#walk-close{position:absolute;top:calc(env(safe-area-inset-top) + 12px);right:14px;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.3);color:rgba(255,255,255,.8);font-size:15px;line-height:1;cursor:pointer;backdrop-filter:blur(8px);transition:background .2s}
#walk-close:hover{background:rgba(0,0,0,.5)}
.walk-pop{position:absolute;left:46%;top:42%;transform:translate(-50%,-50%);font-size:40px;pointer-events:none;text-shadow:0 0 18px rgba(255,220,120,.7);animation:wk-pop 1.2s ease-out both;z-index:3}
@keyframes wk-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}30%{transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-110%) scale(1)}}

#wk-petals,#wk-leaves,#wk-snow{display:none}
#walk-overlay.s-var #wk-petals{display:block}
#walk-overlay.s-host #wk-leaves{display:block}
#walk-overlay.s-vinter #wk-snow{display:block}
.wk-drop{animation:wk-fall 7s linear infinite}
@keyframes wk-fall{0%{transform:translate(0,-20px);opacity:0}6%{opacity:.9}30%{transform:translate(12px,86px)}55%{transform:translate(-8px,168px)}80%{transform:translate(10px,250px)}100%{transform:translate(-4px,325px);opacity:.9}}

#walk-overlay.s-var .wk-pine1{fill:#4a7c52}#walk-overlay.s-var .wk-pine2{fill:#5a9260}
#walk-overlay.s-var .wk-crown{fill:#8fbf6f}#walk-overlay.s-var .wk-bush{fill:#7cab60}
#walk-overlay.s-var .wk-hill1{fill:#33584a}#walk-overlay.s-var .wk-hill2{fill:#3f6a52}
#walk-overlay.s-var #wk-g1{stop-color:#639153}#walk-overlay.s-var #wk-g2{stop-color:#4c7040}

#walk-overlay.s-host .wk-crown{fill:#d08a3e}#walk-overlay.s-host .wk-bush{fill:#b5713a}
#walk-overlay.s-host .wk-hill1{fill:#4a4632}#walk-overlay.s-host .wk-hill2{fill:#5a553c}
#walk-overlay.s-host #wk-g1{stop-color:#77713f}#walk-overlay.s-host #wk-g2{stop-color:#5c5732}
#walk-overlay.s-host .wk-tuft{stroke:#8a7a3e}

#walk-overlay.s-vinter .wk-pine1{fill:#3c5a4a}#walk-overlay.s-vinter .wk-pine2{fill:#48695a}
#walk-overlay.s-vinter .wk-crown{fill:#dfe8f2}#walk-overlay.s-vinter .wk-bush{fill:#d8e2ee}
#walk-overlay.s-vinter .wk-hill1{fill:#c3d2e4}#walk-overlay.s-vinter .wk-hill2{fill:#d4e0ee}
#walk-overlay.s-vinter #wk-g1{stop-color:#e9eff7}#walk-overlay.s-vinter #wk-g2{stop-color:#d3dde9}
#walk-overlay.s-vinter .wk-path{fill:#c6d1df}
#walk-overlay.s-vinter .wk-tuft{stroke:#9fb3c8}
#walk-overlay.s-vinter .wk-flower,#walk-overlay.s-vinter .wk-shroom{display:none}

body.light-theme{--bg:#edf2f8;--card-bg:rgba(255,255,255,0.94);--border:rgba(0,0,0,0.1);color:#1e2640}
body.light-theme.t-day #ambient{background:linear-gradient(180deg,#cfe4f8 0%,#eaf3fb 70%)}
body.light-theme.t-dawn #ambient{background:linear-gradient(180deg,#fbe2d4 0%,#edf2f8 70%)}
body.light-theme.t-evening #ambient{background:linear-gradient(180deg,#e4ddf6 0%,#edf2f8 70%)}
body.light-theme.t-night #ambient{background:linear-gradient(180deg,#d7def0 0%,#e8edf6 70%)}
body.light-theme .amb-star{background:#9bb0d8}
body.light-theme .amb-orb{opacity:.1}
body.light-theme .card,body.light-theme .overlay-card{box-shadow:0 20px 60px rgba(0,0,0,.12)}

body.light-theme .welcome-title,body.light-theme #pet-name-display,body.light-theme .death-name{color:#1e2640}
body.light-theme #streak-count{color:#c2650e}
body.light-theme .shop-label,body.light-theme .ach-label{color:#1e2640}
body.light-theme .wardrobe-nm,body.light-theme .journal-text{color:#3a4460}
body.light-theme .wardrobe-item.on .wardrobe-nm{color:#1a4a99}

body.light-theme #pet-event,body.light-theme #status-msg{color:#556}
body.light-theme .stat-label{color:#5a6580}
body.light-theme .stat-word{color:#3a4460}
body.light-theme .stat-word.lv0{color:#2e8a4f}
body.light-theme .stat-word.lv2{color:#9a7700}
body.light-theme .stat-word.lv3{color:#c0392b}
body.light-theme .shop-desc,body.light-theme .shop-explain,body.light-theme .wardrobe-hint,body.light-theme .ach-desc,body.light-theme #quest-line,body.light-theme .empty-hint,body.light-theme .action-icon{color:#5a6580}
body.light-theme .death-info{color:#667}

body.light-theme .welcome-label,body.light-theme .welcome-sub,body.light-theme .past-pets-hint,body.light-theme .top-label,body.light-theme #level-label,body.light-theme .streak-label,body.light-theme .overlay-title,body.light-theme .wardrobe-slot-label,body.light-theme .journal-date,body.light-theme .graveyard-title,body.light-theme #personality-badge{color:#8a93a6}
body.light-theme .back-link a{color:rgba(0,0,0,.32)}
body.light-theme .back-link a:hover{color:rgba(0,0,0,.6)}
body.light-theme .tile{color:#3a4460}
body.light-theme .tile:hover{color:#1e2640}
body.light-theme #link-shop{color:#7a5c00;border-color:rgba(200,155,0,.45);background:linear-gradient(150deg,rgba(254,204,2,.3),rgba(254,204,2,.14))}
body.light-theme #link-shop:hover{color:#4d3a00}
body.light-theme .tile-next{color:#8a93a6}
body.light-theme .meta-chip{color:#5a6580;background:rgba(0,0,0,.035);border-color:rgba(0,0,0,.1)}
body.light-theme .meta-chip.meta-streak{color:#9a5a12;background:rgba(255,156,64,.13);border-color:rgba(200,110,30,.28)}
body.light-theme .hdr-btn{color:#5a6580;border-color:rgba(0,0,0,.12)}
body.light-theme .hdr-btn:hover{color:#1e2640}
body.light-theme #pet-name-display{color:#1e2640}
body.light-theme #pet-say{border-color:rgba(0,0,0,.1)}
body.light-theme .stat-bar{background:rgba(0,0,0,.08)}

body.light-theme #personality-badge{color:#5a6580}
body.light-theme #level-label{color:#4a5470}
body.light-theme #quest-line{color:#4a5470;background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.1)}
body.light-theme #quest-line.done{color:#1f7a45;background:rgba(74,222,128,.14);border-color:rgba(40,150,80,.28)}
body.light-theme #status-msg{color:#232b42}
body.light-theme #bond-badge{color:#c2477a}
body.light-theme .streak-label{color:inherit}
body.light-theme .tile-ic{text-shadow:0 1px 2px rgba(0,0,0,.22)}

body.light-theme #pet-name-input{color:#1e2640}
body.light-theme #pet-name-input::placeholder{color:rgba(0,0,0,.3)}
body.light-theme .btn-primary{color:#23406e}
body.light-theme .action-btn{color:#445}
body.light-theme .action-btn:hover:not(:disabled){color:#1e2640}
body.light-theme .action-btn:hover:not(:disabled) .action-icon{color:#1e2640}

body.light-theme .xp-bar{background:rgba(0,0,0,.08)}
body.light-theme #personality-badge{border-color:rgba(0,0,0,.12)}
body.light-theme .shop-row,body.light-theme .journal-entry,body.light-theme .ach-row,body.light-theme .graveyard-entry{border-bottom-color:rgba(0,0,0,.07)}
body.light-theme #graveyard-section{border-top-color:rgba(0,0,0,.09)}
body.light-theme .wardrobe-item{background:rgba(0,0,0,.04)}
body.light-theme .wardrobe-item:hover{background:rgba(0,0,0,.07);border-color:rgba(0,0,0,.2)}
body.light-theme .gravestone{background:rgba(0,0,0,.08)}
body.light-theme .rip-text{color:rgba(0,0,0,.3)}

body.light-theme #dust-badge,body.light-theme .shop-balance,body.light-theme .shop-buy{color:#9a7700}
body.light-theme .shop-balance b{color:#9a7700}
body.light-theme .ach-icon{color:#b88600}

body.light-theme #pet-name-display .prem-badge{color:#b88600}
body.light-theme .ge-name{color:#4a5570}
body.light-theme .ge-age{color:#8a93a6}
body.light-theme #tomorrow-hint{color:#a9863a}

body.has-accent:not(.light-theme){--bg:color-mix(in srgb,var(--accent) 13%,#0b0c11)}
body.has-accent:not(.light-theme).t-day #ambient{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 24%,#132743) 0%,color-mix(in srgb,var(--accent) 9%,#0f1117) 70%)}
body.has-accent:not(.light-theme).t-dawn #ambient{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 24%,#231d47) 0%,color-mix(in srgb,var(--accent) 9%,#0f1117) 70%)}
body.has-accent:not(.light-theme).t-evening #ambient{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 24%,#2b2452) 0%,color-mix(in srgb,var(--accent) 9%,#0f1117) 70%)}
body.has-accent:not(.light-theme).t-night #ambient{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 20%,#050714) 0%,color-mix(in srgb,var(--accent) 8%,#0a0f26) 70%)}
