:root{--pink:#ff5fae;--pink-soft:#ffd6ea;--ink:#5b2a4a;--gold:#ffd23f;--font:ui-rounded, "SF Pro Rounded", "Nunito", "Baloo 2", "Trebuchet MS", system-ui, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}html,body{height:100%;font-family:var(--font);color:var(--ink);overscroll-behavior:none;background:#bfe6ff;margin:0;overflow:hidden}#c{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}button{font:inherit;cursor:pointer;color:inherit;border:0}#hud{pointer-events:none;padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));position:fixed;inset:0}#hud>*{pointer-events:auto}.pill{top:max(12px, env(safe-area-inset-top));background:#ffffffeb;border-radius:999px;align-items:center;gap:12px;padding:8px 18px 8px 12px;display:flex;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 6px #ff5fae59,0 10px 24px #5b2a4a2e}.badge{background:var(--pink);color:#fff;border-radius:999px;padding:6px 12px;font-size:14px;font-weight:800}#steps{gap:8px;display:flex}.chip{background:#fff3f9;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;transition:transform .3s,opacity .3s,background .3s;display:flex}.chip .ic{font-size:30px;line-height:1}.chip.future{opacity:.4;filter:grayscale(.6)}.chip.current{background:#ffe9a8;animation:1.6s ease-in-out infinite glow;transform:scale(1.12)}.chip.done{background:#d8f7d8}.chip.done:after{content:"✔";color:#2fa84f;font-weight:900}.pips{gap:4px;display:flex}.pips i{border:2px solid var(--pink);background:#fff;border-radius:50%;width:12px;height:12px}.pips i.on{background:var(--pink)}@keyframes glow{50%{box-shadow:0 0 0 6px #ffd23f73}}.round,.bag{background:#ffffffeb;position:absolute;box-shadow:0 5px #ff5fae59,0 8px 18px #5b2a4a2e}.round{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));border-radius:50%;width:56px;height:56px;font-size:26px}.bag{right:max(14px, env(safe-area-inset-right));bottom:max(14px, env(safe-area-inset-bottom));border-radius:50%;width:76px;height:76px;font-size:38px}.bag.bump{animation:.5s bump}@keyframes bump{30%{transform:scale(1.3)rotate(-8deg)}60%{transform:scale(.95)rotate(5deg)}}#bagCount{background:var(--pink);color:#fff;border-radius:14px;min-width:28px;height:28px;padding:0 7px;font-size:16px;font-weight:800;line-height:28px;position:absolute;top:-4px;right:-4px}#bagPanel{right:max(14px, env(safe-area-inset-right));bottom:calc(max(14px, env(safe-area-inset-bottom)) + 88px);background:#fffffff5;border-radius:24px;max-width:min(360px,100vw - 28px);padding:14px;position:absolute;box-shadow:0 8px 28px #5b2a4a40}#bagItems{flex-wrap:wrap;gap:10px;display:flex}.bagItem{background:#fff3f9;border-radius:18px;place-items:center;width:72px;height:72px;font-size:44px;display:grid;position:relative}.bagItem b{color:var(--pink);font-size:16px;position:absolute;bottom:2px;right:4px}.empty{opacity:.6;padding:8px 14px}#subtitle{left:50%;bottom:max(18px, env(safe-area-inset-bottom));text-align:center;opacity:0;pointer-events:none;background:#ffffffeb;border-radius:22px;width:min(560px,100vw - 130px);padding:10px 18px;font-size:19px;font-weight:700;transition:opacity .3s,transform .3s;position:fixed;transform:translate(-50%,20px);box-shadow:0 6px 20px #5b2a4a33}#subtitle.show{opacity:1;transform:translate(-50%)}.screen{place-items:center;padding:16px;display:grid;position:fixed;inset:0}#title{pointer-events:none;place-items:start center;padding-top:5vh}#title .card{pointer-events:auto}#cornerBtn{top:max(12px, env(safe-area-inset-top));left:max(12px, env(safe-area-inset-left));pointer-events:auto;width:56px;height:56px;box-shadow:0 5px 0 color-mix(in srgb, var(--pink) 35%, transparent), 0 8px 18px #00000026;background:#ffffffeb;border-radius:50%;place-items:center;font-size:26px;text-decoration:none;display:grid;position:fixed}#cornerBtn[hidden]{display:none}#cornerBtn:active{transform:translateY(3px)}#end{background:#ffe6f24d}.card{text-align:center;background:#ffffffe6;border-radius:36px;padding:22px 36px 28px;animation:.6s cubic-bezier(.2,1.4,.4,1) pop;box-shadow:0 10px #ff5fae59,0 18px 40px #5b2a4a40}@keyframes pop{0%{opacity:0;transform:scale(.6)}}.crown{font-size:64px;animation:2.4s ease-in-out infinite float}@keyframes float{50%{transform:translateY(-8px)rotate(6deg)}}h1,h2{color:var(--pink);text-shadow:0 3px #fff,0 6px #ff5fae40;margin:0;font-size:clamp(38px,9vw,60px);line-height:1.05}h2{font-size:clamp(30px,7vw,44px)}.sub{opacity:.75;margin:8px 0 18px;font-weight:700}.big{background:var(--pink);color:#fff;border-radius:999px;min-height:72px;padding:16px 40px;font-size:30px;font-weight:800;transition:transform .1s,box-shadow .1s;box-shadow:0 8px #d63d8b}.big:active{transform:translateY(6px);box-shadow:0 2px #d63d8b}#stickerShelf,#endStars{min-height:34px;margin-top:14px;font-size:28px}.sticker{font-size:110px;line-height:1.1;animation:2s ease-in-out infinite float}.badge{white-space:nowrap}@media (width<=560px){.badge{display:none}.pill{gap:6px;padding:6px 10px}#steps{gap:4px}.chip{padding:4px 8px}.chip .ic{font-size:26px}.round{top:auto;right:auto;bottom:max(14px, env(safe-area-inset-bottom));left:max(14px, env(safe-area-inset-left))}#subtitle{width:calc(100vw - 190px);font-size:16px}}#dayRow,.dayRow{flex-wrap:wrap;justify-content:center;gap:10px;max-width:330px;margin:18px auto 0;display:flex}.dayBtn{width:58px;height:66px;color:var(--pink);background:#fff3f9;border-radius:18px;align-content:center;place-items:center;font-size:18px;font-weight:800;line-height:1.1;display:grid;box-shadow:0 5px #ff5fae4d}.dayBtn span{font-size:22px}.dayBtn.done{background:#ffe9a8}.dayBtn.locked{opacity:.45;box-shadow:none;cursor:default}.dayBtn:not(.locked):active{transform:translateY(3px)}.btns{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:16px;display:flex}.big.alt{background:#b48cff;padding-inline:28px;box-shadow:0 8px #8a5fe0}.big.done{background:#4cc76e;padding-inline:34px;box-shadow:0 8px #2fa04e}#loading{z-index:50;background:#ffd6ea}#loading[hidden]{display:none}.bar{background:#ffe3f1;border-radius:9px;width:min(280px,70vw);height:18px;margin-top:8px;overflow:hidden}.bar i{background:var(--pink);width:0;height:100%;transition:width .2s;display:block}#fade{opacity:0;pointer-events:none;z-index:40;background:#ffd6ea;transition:opacity .45s;position:fixed;inset:0}#fade.on{opacity:1;pointer-events:auto}#bubbles{pointer-events:none;position:fixed;inset:0;overflow:hidden}.bubble{will-change:transform;position:absolute;top:0;left:0}.bubble span{text-align:center;background:#fff;border-radius:26px;min-width:52px;height:52px;font-size:32px;line-height:52px;animation:1.6s ease-in-out infinite bobble;display:block;box-shadow:0 4px 12px #5b2a4a40}@keyframes bobble{50%{transform:translateY(-6px)}}#hud.dim{opacity:.4;pointer-events:none}#wardrobe{left:50%;bottom:max(14px, env(safe-area-inset-bottom));background:#fffffff0;border-radius:30px;justify-items:center;gap:12px;width:min(560px,100vw - 24px);padding:14px 14px 16px;animation:.4s cubic-bezier(.2,1.4,.4,1) pop;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 8px #ff5fae4d,0 16px 36px #5b2a4a40}#wardrobe[hidden]{display:none}.wrow{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.swatch{background:#fff3f9;border:4px solid #fff;border-radius:50%;width:64px;height:64px;font-size:30px;transition:transform .15s;box-shadow:0 3px 8px #5b2a4a40}.swatch.on{border-color:var(--gold);transform:scale(1.15);box-shadow:0 0 0 4px #ffd23f80,0 3px 8px #5b2a4a40}#tray{left:50%;bottom:max(86px, calc(env(safe-area-inset-bottom) + 76px));background:#fffffff0;border-radius:999px;gap:12px;padding:10px 14px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 6px #ff5fae4d,0 12px 28px #5b2a4a33}#tray[hidden]{display:none}#tray.pulse{animation:.5s shake}@keyframes shake{25%{transform:translate(-50%)rotate(-3deg)}75%{transform:translate(-50%)rotate(3deg)}}.treat{background:#fff3f9;border:4px solid #0000;border-radius:50%;width:76px;height:76px;font-size:42px;transition:transform .15s}.treat.on{border-color:var(--gold);background:#ffe9a8;transform:scale(1.18)}@media (width<=560px){#tray{bottom:max(80px, calc(env(safe-area-inset-bottom) + 70px))}.treat{width:66px;height:66px;font-size:36px}.dayBtn{width:50px;height:60px}}.okBtn{color:#fff;background:#4cc76e;margin-left:10px;font-weight:900;box-shadow:0 5px #2fa04e}body.wardrobe-open #subtitle{bottom:auto;top:max(84px, calc(env(safe-area-inset-top) + 76px))}@media (height<=560px){.swatch{width:52px;height:52px;font-size:24px}#wardrobe{gap:8px;padding:10px}}#parentBtn{top:calc(max(12px, env(safe-area-inset-top)) + 68px);right:max(12px, env(safe-area-inset-right));z-index:15;background:#ffffffb3;border-radius:50%;width:44px;height:44px;font-size:20px;position:fixed;box-shadow:0 3px #ff5fae40}#parentBtn.holding{background:#ffe9a8;animation:.9s linear holdfill}@keyframes holdfill{0%{box-shadow:0 0 #ffd23fe6}to{box-shadow:0 0 0 12px #ffd23f00}}@media (width<=560px){#parentBtn{top:max(12px, env(safe-area-inset-top))}}.screen[hidden]{display:none}#map,#petPick,#book,#photoView,#parent{z-index:30;background:#ffe6f28c}#map .card,#petPick .card,#book .card,#photoView .card,#parent .card{max-height:92vh;overflow:auto}.pill2{background:#fff3f9;border-radius:999px;min-height:48px;padding:10px 18px;font-size:18px;font-weight:800;box-shadow:0 4px #ff5fae4d}.pill2.on{background:var(--gold)}.pill2.danger.armed{color:#fff;background:#ff8a8a}.prow{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin:14px 0;font-weight:800;display:flex}#stick{pointer-events:none;z-index:14;background:#fff3;border:4px solid #ffffffd9;border-radius:50%;width:132px;height:132px;margin:-66px 0 0 -66px;position:fixed;box-shadow:0 0 0 3px #ff5fae59}#stick[hidden]{display:none}#stickKnob{background:#fffffff2;border-radius:50%;width:60px;height:60px;margin:-30px 0 0 -30px;position:absolute;top:50%;left:50%;box-shadow:0 4px 10px #78285a4d,inset 0 -4px #ff5fae59}#volRange{width:min(240px,60vw);height:32px;accent-color:var(--pink)}#wardrobe{max-height:62vh;overflow:auto}.swatch.locked{filter:grayscale();opacity:.55;background:#eee!important}.swatch.big{width:84px;height:84px;font-size:44px}.swatch.mini{border-width:3px;width:44px;height:44px;font-size:22px}#endRewards{justify-content:center;gap:14px;margin-top:10px;display:flex}.rewardCard{color:var(--pink);justify-items:center;gap:4px;font-weight:800;animation:.6s cubic-bezier(.2,1.4,.4,1) .3s both pop;display:grid}.petGrid{flex-wrap:wrap;justify-content:center;gap:12px;max-width:460px;margin:10px 0;display:flex}.petBtn{background:#fff3f9;border-radius:26px;width:84px;height:84px;font-size:52px;box-shadow:0 5px #ff5fae4d}.petBtn.on{background:var(--gold);transform:scale(1.1)}.petNames{flex-wrap:wrap;justify-content:center;gap:10px;max-width:460px;margin-top:14px;display:flex}.nameBtn{background:var(--pink);color:#fff;border-radius:999px;min-height:56px;padding:12px 20px;font-size:22px;font-weight:800;box-shadow:0 5px #d63d8b}.bookCard{width:min(560px,94vw)}.bookSec h3{color:var(--pink);margin:12px 0 6px}.bookGrid{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.sticker-slot{opacity:.6;background:#f3e6ee;border-radius:16px;place-items:center;width:52px;height:52px;font-size:30px;display:grid}.sticker-slot.got{opacity:1;background:#ffe9a8}.stat{background:#fff3f9;border-radius:999px;padding:6px 14px;font-size:22px;font-weight:800}.thumb{object-fit:cover;cursor:pointer;border:3px solid #fff;border-radius:12px;width:110px;height:70px;box-shadow:0 3px 8px #5b2a4a40}#photoImg{border-radius:18px;width:min(520px,86vw);display:block}#photoUi{pointer-events:none;z-index:20;position:fixed;inset:0}#photoUi>*{pointer-events:auto}#photoUi #backdropRow{left:50%;top:max(14px, env(safe-area-inset-top));background:#ffffffe6;border-radius:999px;padding:8px 14px;position:absolute;transform:translate(-50%)}#shutter{left:50%;bottom:max(22px, env(safe-area-inset-bottom));background:#fff;border-radius:50%;width:92px;height:92px;font-size:46px;position:absolute;transform:translate(-50%);box-shadow:0 6px #ff5fae66,0 10px 24px #5b2a4a40}#shutter:active{transform:translate(-50%)translateY(4px)}#photoExit{top:max(14px, env(safe-area-inset-top));right:max(14px, env(safe-area-inset-right));position:absolute}#flash{opacity:0;pointer-events:none;z-index:45;background:#fff;position:fixed;inset:0}#flash.go{animation:.5s ease-out flash}@keyframes flash{0%{opacity:.95}to{opacity:0}}#toast{opacity:0;pointer-events:none;z-index:46;background:#fff;border-radius:22px;padding:14px 24px;font-size:20px;font-weight:800;transition:all .3s;position:fixed;top:22%;left:50%;transform:translate(-50%,-10px);box-shadow:0 8px 24px #5b2a4a4d}#toast.show{opacity:1;transform:translate(-50%)}#hand{pointer-events:none;z-index:12;margin:-12px 0 0 -26px;font-size:64px;animation:1.1s ease-in-out infinite tapHint;position:fixed;top:0;left:0}@keyframes tapHint{50%{margin-top:14px}}#score{top:max(12px, env(safe-area-inset-top));left:max(14px, env(safe-area-inset-left));color:var(--pink);background:#fffffff2;border-radius:999px;padding:8px 18px;font-size:28px;font-weight:800;position:absolute;box-shadow:0 5px #ff5fae59}[hidden]{display:none!important}.card>.big.alt,.bookCard>#bookClose{position:sticky;bottom:2px}
