:root{--pink: #ff8fc0;--pink-deep: #f268a4;--pink-soft: #ffd9ea;--purple: #b58cf7;--purple-deep: #8a5cf0;--sky: #86d3f5;--sky-deep: #4bb6e8;--mint: #93e6c4;--amber: #ffc861;--cream: #fff8fc;--ink: #4b2b5c;--ink-soft: #8b6fa0;--ink-faint: #b39bc4;--white: #ffffff;--clay-shadow: 0 10px 20px rgba(167, 108, 186, .18), inset 0 -5px 10px rgba(255, 255, 255, .5), inset 0 5px 12px rgba(255, 255, 255, .9);--clay-press: 0 4px 10px rgba(167, 108, 186, .2), inset 0 -2px 6px rgba(255, 255, 255, .5), inset 0 3px 8px rgba(255, 255, 255, .85);--radius-lg: 26px;--radius-md: 18px;--radius-sm: 14px;--font-head: "Baloo Bhaijaan 2", "Tajawal", system-ui, sans-serif;--font-body: "Tajawal", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;height:100%;overscroll-behavior:none}body{font-family:var(--font-body);color:var(--ink);background:radial-gradient(circle at 12% 8%,#ffe3f1 0%,transparent 42%),radial-gradient(circle at 88% 12%,#e9dcff 0%,transparent 44%),radial-gradient(circle at 50% 100%,#d9f3ff 0%,transparent 55%),#fdf3fa;display:flex;align-items:center;justify-content:center;min-height:100dvh}button{font-family:inherit;color:inherit;border:none;background:none;cursor:pointer}h1,h2,h3,h4{font-family:var(--font-head);margin:0;font-weight:700}p{margin:0}ul{margin:0;padding:0;list-style:none}.app-shell{position:relative;width:100%;max-width:460px;height:100dvh;max-height:980px;overflow:hidden;background:linear-gradient(180deg,#fff9fd,#fdf1fa 55%,#f0e9ff);display:flex;flex-direction:column;isolation:isolate}@media (min-width: 520px){.app-shell{height:min(92dvh,900px);border-radius:40px;box-shadow:0 40px 80px #78469640,0 0 0 10px #fff,0 0 0 12px #b48cc840}}.screen{display:flex;flex-direction:column;height:100%;min-height:0}.scroll{overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.scroll::-webkit-scrollbar{display:none}.topbar{display:flex;align-items:center;gap:8px;padding:calc(env(safe-area-inset-top,0px) + 10px) 14px 8px;flex:0 0 auto;z-index:6}.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px 6px 10px;border-radius:999px;background:#fff;box-shadow:var(--clay-shadow);font-family:var(--font-head);font-weight:700;font-size:14px;color:var(--ink);border:2px solid #fff}.pill--coins{color:#a96a00}.pill--coins svg{color:#f7b731}.pill--level{color:var(--purple-deep)}.pill--level small{font-size:10px;color:var(--ink-soft);font-family:var(--font-body);font-weight:700}.level-track{width:54px;height:6px;border-radius:99px;background:#efe2fb;overflow:hidden}.level-track i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#c9a6ff,#8a5cf0);transition:width .5s ease}.topbar__spacer{flex:1}.icon-btn{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#fff;box-shadow:var(--clay-shadow);border:2px solid #fff;color:var(--ink-soft);transition:transform .18s ease,box-shadow .18s ease}.icon-btn:active{transform:scale(.92);box-shadow:var(--clay-press)}.icon-btn--dot:after{content:"";position:absolute;width:8px;height:8px;margin:-22px 0 0 22px;border-radius:50%;background:var(--pink-deep);box-shadow:0 0 0 2px #fff}.needs{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:8px 12px}.need{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px 5px;border-radius:14px;background:#ffffffb8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 4px 10px #a06eb417;border:1.5px solid rgba(255,255,255,.9);transition:transform .2s ease}.need--low{animation:needPulse 1.4s ease-in-out infinite}@keyframes needPulse{0%,to{transform:translateY(0)}50%{transform:translateY(-2px) scale(1.03)}}.need__icon{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;color:#fff}.need__label{font-size:9.5px;font-weight:700;color:var(--ink-soft)}.need__bar{width:100%;height:5px;border-radius:99px;background:#f0e6f7;overflow:hidden}.need__fill{height:100%;border-radius:99px;transition:width .6s ease,background .4s ease}.nav{flex:0 0 auto;display:flex;align-items:center;justify-content:space-around;gap:2px;padding:8px 8px calc(env(safe-area-inset-bottom,0px) + 8px);background:#ffffffc7;-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);border-top:1.5px solid rgba(255,255,255,.9);box-shadow:0 -8px 24px #a06eb41a;z-index:8}.nav__item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;border-radius:14px;color:var(--ink-faint);font-size:10px;font-weight:700;transition:color .2s ease,background .2s ease,transform .2s ease}.nav__item:active{transform:scale(.94)}.nav__item--active{color:var(--purple-deep);background:linear-gradient(180deg,#f5ecff,#fff)}.stage{position:relative;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.room{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(178deg,var(--room-top) 0%,var(--room-bottom) 100%);overflow:hidden;transition:background .6s ease}.room__wall{position:absolute;top:0;right:0;bottom:26%;left:0;background:radial-gradient(circle at 50% 52%,#ffffffd9,#fff0 62%)}.room__floor{position:absolute;inset:auto 0 0 0;height:27%;background:linear-gradient(180deg,#ffffff8c,#ffffff1f);box-shadow:inset 0 8px 18px #fff9;border-radius:50% 50% 0 0/22px 22px 0 0}.room__floor:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.5) 0 2px,transparent 2px 46px);opacity:.55}.deco{position:absolute}.window{width:86px;height:96px;border-radius:16px;background:linear-gradient(180deg,#bfe9ff,#eafaff 70%);border:6px solid #fff;box-shadow:0 8px 18px #8296be33,inset 0 0 0 2px #a0c8e666;overflow:hidden}.window:before,.window:after{content:"";position:absolute;background:#ffffffe6}.window:before{left:50%;top:0;bottom:0;width:4px;margin-left:-2px}.window:after{top:50%;left:0;right:0;height:4px;margin-top:-2px}.window__sun{position:absolute;top:10px;right:10px;width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff3b0,#ffd05c);box-shadow:0 0 14px #ffd05ccc}.window__cloud{position:absolute;bottom:16px;left:8px;width:38px;height:14px;border-radius:99px;background:#fff;opacity:.95}.window__cloud:before{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;top:-8px;left:8px}.curtain{position:absolute;top:-6px;width:26px;height:108px;background:linear-gradient(180deg,#ffb8d8,#ffd2e6);border-radius:14px 8px 40px 30px/12px 8px 60px 40px;box-shadow:inset -4px 0 8px #fff9}.bed{width:128px;height:74px;border-radius:18px 18px 10px 10px;background:linear-gradient(180deg,#fff 0,#fff 38%,#ffc2dd 38%,#ffc2dd);box-shadow:0 12px 20px #a06eb438,inset 0 -8px #ffffff80;border:4px solid #fff}.bed:before{content:"";position:absolute;top:-26px;left:-4px;right:-4px;height:34px;border-radius:16px 16px 6px 6px;background:linear-gradient(180deg,#fff,#ffe6f2);border:4px solid #fff}.bed__pillow{position:absolute;top:8px;right:10px;width:38px;height:24px;border-radius:10px;background:#fff;box-shadow:inset 0 -3px 6px #dcbee666}.shelf{width:104px;height:10px;border-radius:6px;background:linear-gradient(180deg,#ffd8b0,#f7bd8a);box-shadow:0 6px 10px #b4825a40}.jar{position:absolute;bottom:8px;width:18px;height:24px;border-radius:5px 5px 7px 7px;background:linear-gradient(180deg,#fff,#ffe0f0);box-shadow:inset 0 -8px #ffa0c880}.jar:before{content:"";position:absolute;top:-5px;left:2px;right:2px;height:6px;border-radius:3px;background:#ffd0e4}.counter{width:150px;height:58px;border-radius:12px 12px 6px 6px;background:linear-gradient(180deg,#fff5e8,#ffe4c9);border-top:8px solid #fff;box-shadow:0 10px 18px #be8c642e}.counter:after{content:"";position:absolute;inset:18px 12px auto 12px;height:3px;border-radius:3px;background:#c8966e40}.tub{width:150px;height:62px;border-radius:12px 12px 44px 44px/12px 12px 34px 34px;background:linear-gradient(180deg,#fff,#dff3ff);box-shadow:0 10px 20px #78a0c838,inset 0 -6px 12px #bedcf099;border:4px solid #fff}.tub__water{position:absolute;inset:8px 8px auto 8px;height:22px;border-radius:8px 8px 16px 16px;background:linear-gradient(180deg,#b9e6ff,#8fd4f7);overflow:hidden}.tub__water:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.6) 0 6px,transparent 6px 16px);animation:waterMove 3s linear infinite}@keyframes waterMove{to{transform:translate(16px)}}.bunting{display:flex;gap:6px;align-items:flex-start}.bunting i{width:0;height:0;border-left:9px solid transparent;border-right:9px solid transparent;border-top:15px solid #ffa8cd;filter:drop-shadow(0 3px 3px rgba(160,110,180,.2))}.bunting i:nth-child(2n){border-top-color:#b6a0f8}.bunting i:nth-child(3n){border-top-color:#8ed9f7}.bunting i:nth-child(4n){border-top-color:#ffd166}.toybox{width:96px;height:54px;border-radius:10px;background:linear-gradient(180deg,#b9a5f7,#9b83ee);border:4px solid #fff;box-shadow:0 10px 18px #8264be38}.toybox:before{content:"";position:absolute;top:-14px;left:-4px;right:-4px;height:18px;border-radius:8px 8px 4px 4px;background:linear-gradient(180deg,#cdbdfa,#b09af3);border:4px solid #fff}.toybox:after{content:"";position:absolute;left:50%;top:-4px;width:14px;height:8px;margin-left:-7px;border-radius:4px;background:#ffd166}.wardrobe{width:86px;height:128px;border-radius:14px 14px 8px 8px;background:linear-gradient(180deg,#fff,#f3e6ff);border:4px solid #fff;box-shadow:0 10px 20px #966ebe33}.wardrobe:before{content:"";position:absolute;left:50%;top:6px;bottom:6px;width:3px;margin-left:-1.5px;background:#bea0dc80}.wardrobe:after{content:"";position:absolute;left:50%;top:46%;width:8px;height:8px;border-radius:50%;background:#ffc861;margin-left:-14px}.mirror{width:62px;height:88px;border-radius:50% 50% 44% 44%/40% 40% 60% 60%;background:linear-gradient(160deg,#e8f8ff,#fff);border:5px solid #fff;box-shadow:0 8px 18px #8caac838,inset -6px -6px 14px #c8e1f5cc}.mirror:after{content:"";position:absolute;top:12px;left:14px;width:16px;height:34px;border-radius:99px;background:#ffffffd9;transform:rotate(-18deg)}.fence{display:flex;gap:8px;height:46px;align-items:flex-end}.fence i{width:12px;height:40px;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#fff,#ffe6cf);box-shadow:0 4px 8px #b48c642e}.fence i:after{content:"";position:absolute}.fence-rail{position:absolute;bottom:22px;left:0;right:0;height:7px;border-radius:4px;background:#fff5e8;box-shadow:0 3px 6px #b48c6426}.tree{width:16px;height:54px;border-radius:8px;background:linear-gradient(180deg,#d8b18c,#c19a74)}.tree__crown{position:absolute;bottom:42px;left:50%;width:76px;height:66px;margin-left:-38px;border-radius:50% 50% 46% 54%;background:radial-gradient(circle at 34% 28%,#b6f0c8,#7fd9a4 60%,#5fc48c);box-shadow:inset -6px -8px 14px #3c966e4d}.flower{position:absolute;bottom:0;width:6px;height:24px;background:#7fd9a4;border-radius:3px}.flower:before{content:"";position:absolute;top:-10px;left:-7px;width:20px;height:20px;border-radius:50%;background:radial-gradient(circle at 50% 50%,#fff3a8 0,#fff3a8 22%,#ffa6cf 24%,#ffa6cf);box-shadow:0 0 0 1px #fff9}.flower--purple:before{background:radial-gradient(circle at 50% 50%,#fff3a8 0,#fff3a8 22%,#b79cf7 24%,#b79cf7)}.flower--sky:before{background:radial-gradient(circle at 50% 50%,#fff3a8 0,#fff3a8 22%,#8fd4f7 24%,#8fd4f7)}.stage__center{position:relative;flex:1 1 auto;display:flex;align-items:flex-end;justify-content:center;padding-bottom:6px;z-index:4;min-height:0}.character-wrap{position:relative;width:clamp(178px,42vh,248px);transform:translate(var(--dx, 0px),var(--dy, 0px));transition:transform .45s cubic-bezier(.34,1.56,.64,1);touch-action:none;cursor:grab;filter:drop-shadow(0 18px 22px rgba(120,70,140,.22));will-change:transform}.character-wrap.is-drag{transition:none;cursor:grabbing}.character-wrap.is-drag .flala-bob{animation-play-state:paused}.flala-bob{animation:idleBob 3.4s ease-in-out infinite;transform-origin:50% 92%}.flala-bob.is-fast{animation-duration:.7s}@keyframes idleBob{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-6px) scale(1.01,.99)}}.flala-shadow{position:absolute;left:50%;bottom:-4px;width:62%;height:16px;margin-left:-31%;border-radius:50%;background:radial-gradient(ellipse at center,#78468c3d,#78468c00 70%)}.speech{position:absolute;left:50%;bottom:calc(100% + 6px);transform:translate(-50%);width:max-content;max-width:250px;padding:10px 14px;border-radius:18px;background:#fff;border:2.5px solid #fff;box-shadow:0 10px 22px #9664aa33;font-family:var(--font-head);font-weight:600;font-size:13.5px;line-height:1.5;color:var(--ink);text-align:center;animation:speechPop .32s cubic-bezier(.34,1.56,.64,1);z-index:6}.speech:after{content:"";position:absolute;left:50%;bottom:-9px;width:14px;height:14px;margin-left:-7px;background:#fff;border-radius:3px;transform:rotate(45deg);box-shadow:2px 2px 6px #9664aa1f}@keyframes speechPop{0%{opacity:0;transform:translate(-50%) translateY(8px) scale(.9)}}.fx-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:7;overflow:hidden}.fx-heart{position:absolute;animation:floatUp 1.5s ease-out forwards;font-size:18px;color:var(--pink-deep)}@keyframes floatUp{0%{opacity:0;transform:translateY(0) scale(.6)}25%{opacity:1;transform:translateY(-14px) scale(1.1)}to{opacity:0;transform:translateY(-86px) scale(.9)}}.actionbar{flex:0 0 auto;display:flex;gap:8px;padding:6px 12px 10px;overflow-x:auto;scrollbar-width:none;z-index:5}.actionbar::-webkit-scrollbar{display:none}.achip{flex:0 0 auto;min-width:76px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 10px;border-radius:18px;background:linear-gradient(180deg,#fff,#fdf4ff);border:2px solid #fff;box-shadow:0 8px 16px #a06eb429,inset 0 2px #fff;color:var(--ink);font-size:10.5px;font-weight:700;transition:transform .16s ease,box-shadow .16s ease}.achip:active{transform:translateY(2px) scale(.96);box-shadow:var(--clay-press)}.achip__icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:inset 0 -2px 4px #00000014}.achip__count{font-size:9px;color:var(--ink-faint);font-weight:700}.room-chip{position:absolute;top:8px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:4px;padding:3px;border-radius:999px;background:#ffffffc7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 6px 14px #9664aa24;z-index:6;border:1.5px solid rgba(255,255,255,.9)}.room-chip button{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;color:var(--ink-soft);transition:background .2s ease}.room-chip button:active{background:#f4e9ff}.room-chip__name{display:inline-flex!important;width:auto!important;gap:5px;padding:0 6px;font-family:var(--font-head);font-weight:700;font-size:12.5px;color:var(--ink)!important;border-radius:999px!important}.sleep-screen .character-wrap{width:200px;filter:drop-shadow(0 14px 24px rgba(0,0,0,.35))}.sleep-screen .flala-shadow{opacity:.35}.flala-eyes{transform-box:fill-box;transform-origin:center;animation:blink 5.5s infinite}@keyframes blink{0%,93%,to{transform:scaleY(1)}95%{transform:scaleY(.12)}97%{transform:scaleY(1)}}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;background:#4020524d;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}}.sheet{width:100%;height:min(88%,720px);display:flex;flex-direction:column;background:linear-gradient(180deg,#fff,#fdf6ff);border-radius:30px 30px 0 0;box-shadow:0 -20px 40px #5a287833;animation:sheetUp .34s cubic-bezier(.34,1.4,.64,1);overflow:hidden;border-top:3px solid #fff}.sheet--full{height:100%;border-radius:30px 30px 0 0}@keyframes sheetUp{0%{transform:translateY(40px);opacity:.4}}.sheet__head{display:flex;align-items:center;gap:10px;padding:14px 16px 8px;flex:0 0 auto}.sheet__title{font-size:19px;font-weight:800}.sheet__sub{font-size:11.5px;color:var(--ink-soft);font-weight:500}.sheet__body{flex:1 1 auto;overflow-y:auto;padding:4px 16px calc(env(safe-area-inset-bottom,0px) + 20px);scrollbar-width:none}.sheet__body::-webkit-scrollbar{display:none}.tabs{display:flex;gap:6px;overflow-x:auto;padding:6px 16px 10px;scrollbar-width:none;flex:0 0 auto}.tabs::-webkit-scrollbar{display:none}.tab{flex:0 0 auto;padding:7px 14px;border-radius:999px;background:#f5ecfb;color:var(--ink-soft);font-size:12.5px;font-weight:700;transition:all .2s ease;border:2px solid transparent}.tab--on{background:linear-gradient(180deg,#fff,#f7ecff);color:var(--purple-deep);border-color:#e6d4ff;box-shadow:0 6px 14px #966ec829}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.card{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px 10px;border-radius:20px;background:#fff;border:2px solid #fff;box-shadow:0 8px 18px #a06eb421,inset 0 2px #fff;transition:transform .16s ease,box-shadow .16s ease;text-align:center}.card:active{transform:scale(.97)}.card--owned{border-color:#d8f5e6}.card--locked{opacity:.96}.item-icon{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;color:#fff;box-shadow:inset 0 -4px 8px #00000014,0 4px 10px #966eb42e;margin-bottom:2px}.card__name{font-size:12.5px;font-weight:700;line-height:1.2}.card__meta{font-size:10px;color:var(--ink-soft);font-weight:600}.price{display:inline-flex;align-items:center;gap:3px;padding:3px 9px;border-radius:999px;background:#fff8e6;color:#a96a00;font-size:11.5px;font-weight:800}.price svg{color:#f7b731}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;border-radius:999px;font-family:var(--font-head);font-weight:700;font-size:13.5px;border:2px solid #fff;transition:transform .16s ease,box-shadow .16s ease,opacity .2s}.btn:active{transform:translateY(2px) scale(.98)}.btn--primary{background:linear-gradient(180deg,#ffb1d4,#f77bb2);color:#fff;box-shadow:0 8px 16px #f06ea557,inset 0 2px #ffffff8c}.btn--purple{background:linear-gradient(180deg,#c7a9ff,#9b74f0);color:#fff;box-shadow:0 8px 16px #8c64dc52,inset 0 2px #ffffff80}.btn--soft{background:#f7effc;color:var(--purple-deep);box-shadow:0 6px 12px #a078c824}.btn--ghost{background:transparent;color:var(--ink-soft);box-shadow:none}.btn--block{width:100%}.btn:disabled{opacity:.55}.badge{position:absolute;top:8px;left:8px;padding:2px 7px;border-radius:999px;font-size:9.5px;font-weight:800;background:#e6fbf1;color:#1e9e6e}.badge--gold{background:#fff3d1;color:#a96a00}.games-grid{display:grid;grid-template-columns:1fr;gap:10px}.game-card{display:flex;align-items:center;gap:12px;padding:12px;border-radius:22px;background:#fff;border:2px solid #fff;box-shadow:0 10px 20px #a06eb424;text-align:right;transition:transform .18s ease}.game-card:active{transform:scale(.98)}.game-card__art{width:58px;height:58px;border-radius:20px;display:grid;place-items:center;color:#fff;flex:0 0 auto;box-shadow:inset 0 -4px 8px #0000001a}.game-card__name{font-family:var(--font-head);font-size:15px;font-weight:700}.game-card__desc{font-size:11.5px;color:var(--ink-soft);margin-top:2px;line-height:1.4}.game-card__time{font-size:10px;color:var(--ink-faint);font-weight:700;margin-top:4px}.mg{display:flex;flex-direction:column;height:100%;background:linear-gradient(180deg,#fff9fd,#f4ecff)}.mg__head{display:flex;align-items:center;gap:8px;padding:calc(env(safe-area-inset-top,0px) + 12px) 14px 10px;flex:0 0 auto}.mg__hud{display:flex;gap:6px;margin-inline-start:auto;align-items:center}.mg__score{padding:5px 12px;border-radius:999px;background:#fff;font-family:var(--font-head);font-weight:800;font-size:13px;box-shadow:0 6px 12px #a06eb424;color:var(--purple-deep)}.mg__timer{padding:5px 12px;border-radius:999px;background:#fff;font-family:var(--font-head);font-weight:800;font-size:13px;box-shadow:0 6px 12px #a06eb424}.mg__timebar{height:6px;margin:0 16px;border-radius:99px;background:#eee2f8;overflow:hidden;flex:0 0 auto}.mg__timebar i{display:block;height:100%;background:linear-gradient(90deg,#ffd166,#ff8fc0,#9b74f0);transition:width .2s linear}.mg__board{position:relative;flex:1 1 auto;margin:12px;border-radius:26px;overflow:hidden;background:#fff;box-shadow:inset 0 0 0 2px #fff,0 12px 26px #966ebe29}.mg__foot{flex:0 0 auto;padding:0 16px calc(env(safe-area-inset-bottom,0px) + 14px)}.runner{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#dff2ff 0,#dff2ff 58%,#ffe9f3 58%,#ffe9f3);overflow:hidden}.runner__ground{position:absolute;left:0;right:0;bottom:0;height:42%;background:linear-gradient(180deg,#ffd9e8,#ffc4dd);border-top:4px solid #fff}.runner__stripes{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.55) 0 3px,transparent 3px 44px);animation:stripes .9s linear infinite}@keyframes stripes{to{transform:translate(-44px)}}.runner__hero{position:absolute;bottom:26%;width:54px;left:18%;transition:transform .06s linear}.runner__obstacle{position:absolute;bottom:26%;width:30px;height:42px;border-radius:8px;background:linear-gradient(180deg,#b18cf5,#8a5cf0);box-shadow:inset 0 -4px #ffffff59;border:2px solid #fff}.runner__coin{position:absolute;width:22px;height:22px;color:#f7b731;filter:drop-shadow(0 2px 3px rgba(200,140,0,.3))}.runner__cloud{position:absolute;width:60px;height:18px;border-radius:99px;background:#fff;opacity:.9}.runner__cloud:before{content:"";position:absolute;top:-10px;left:14px;width:26px;height:26px;border-radius:50%;background:#fff}.mg__hint{position:absolute;inset:auto 0 0 0;padding:10px;text-align:center;font-size:12px;font-weight:700;color:var(--ink-soft);background:linear-gradient(0deg,rgba(255,255,255,.9),transparent)}.mem-grid{position:absolute;top:10px;right:10px;bottom:10px;left:10px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.mem-card{position:relative;border-radius:16px;perspective:600px}.mem-card__inner{position:absolute;top:0;right:0;bottom:0;left:0;transform-style:preserve-3d;transition:transform .4s cubic-bezier(.3,1.4,.6,1)}.mem-card--open .mem-card__inner{transform:rotateY(180deg)}.mem-face{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:16px;display:grid;place-items:center;backface-visibility:hidden;box-shadow:inset 0 -4px 8px #0000000f}.mem-face--back{background:linear-gradient(150deg,#c9a9ff,#9b74f0);color:#fff}.mem-face--front{background:#fff8fd;border:2px solid #f0ddfb;transform:rotateY(180deg)}.mem-card--done .mem-face--front{background:#e9fff5;border-color:#b6f0d4}.match-grid{position:absolute;top:12px;right:12px;bottom:12px;left:12px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.match-tile{border-radius:16px;background:#fbf3ff;display:grid;place-items:center;border:2px solid #fff;box-shadow:0 4px 10px #a06eb41f;transition:transform .15s,opacity .2s}.match-tile:active{transform:scale(.92)}.match-tile--target{background:#fff8e6;box-shadow:0 0 0 3px #ffd166 inset}.match-tile--used{opacity:.25;transform:scale(.85)}.catch{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#e9e2ff,#ffe6f4);overflow:hidden}.catch__star{position:absolute;color:#ffc233;filter:drop-shadow(0 2px 3px rgba(200,140,0,.25))}.catch__basket{position:absolute;bottom:10px;width:74px;height:44px;margin-left:-37px;border-radius:6px 6px 22px 22px;background:linear-gradient(180deg,#ffd3a6,#f0a86b);border:3px solid #fff;box-shadow:0 8px 16px #c88c5a4d;transition:left .05s linear}.catch__basket:before{content:"";position:absolute;top:-8px;left:-6px;right:-6px;height:10px;border-radius:99px;background:#fff2e2}.sort-board{position:absolute;top:12px;right:12px;bottom:12px;left:12px;display:flex;flex-direction:column;gap:12px;padding:12px;align-items:center;justify-content:center}.sort-tray{width:100%;min-height:92px;border-radius:20px;background:#f8f1ff;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:10px;border:2px dashed #ddc8f5}.sort-item{border-radius:50%;display:grid;place-items:center;color:#fff;font-family:var(--font-head);font-weight:800;box-shadow:inset 0 -4px 8px #0000001a;transition:transform .18s}.sort-item:active{transform:scale(.9)}.sort-item--done{opacity:.3}.toast-wrap{position:absolute;left:0;right:0;bottom:calc(env(safe-area-inset-bottom,0px) + 148px);display:flex;flex-direction:column;align-items:center;gap:6px;z-index:40;pointer-events:none;padding:0 14px}.toast{max-width:100%;display:flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:#422254eb;color:#fff;font-size:12.5px;font-weight:700;box-shadow:0 10px 24px #3c145047;animation:toastIn .3s cubic-bezier(.34,1.56,.64,1)}.toast--good{background:linear-gradient(180deg,#4ecfa0,#2fae82)}.toast--coin{background:linear-gradient(180deg,#ffcb5c,#f0a800);color:#4a3000}@keyframes toastIn{0%{opacity:0;transform:translateY(12px) scale(.9)}}.row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:18px;background:#fff;box-shadow:0 6px 14px #a06eb41a;margin-bottom:8px;border:2px solid #fff}.row--done{background:#f2fff9;border-color:#cdf3e3}.row__icon{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;color:#fff;flex:0 0 auto}.row__body{flex:1;min-width:0}.row__title{font-size:13px;font-weight:700}.row__sub{font-size:10.5px;color:var(--ink-soft);margin-top:2px}.row__end{flex:0 0 auto}.progress{height:6px;border-radius:99px;background:#f0e5f8;overflow:hidden;margin-top:5px}.progress i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#ffb1d4,#c7a9ff);transition:width .4s ease}.section-title{display:flex;align-items:center;gap:8px;margin:16px 2px 8px;font-family:var(--font-head);font-weight:800;font-size:14.5px;color:var(--ink)}.section-title span{font-family:var(--font-body);font-size:10.5px;color:var(--ink-faint);font-weight:700}.sleep-screen{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;background:radial-gradient(circle at 50% 25%,#4a3568,#2b1e42 60%,#1c1330);display:flex;flex-direction:column;align-items:center;justify-content:center;animation:fadeIn .5s ease;color:#efe4ff;overflow:hidden}.sleep-screen__stars{position:absolute;top:0;right:0;bottom:0;left:0}.sleep-screen__star{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff;animation:twinkle 2.4s ease-in-out infinite}@keyframes twinkle{0%,to{opacity:.2;transform:scale(.8)}50%{opacity:1;transform:scale(1.3)}}.sleep-screen__moon{position:absolute;top:8%;right:12%;width:70px;height:70px;border-radius:50%;background:radial-gradient(circle at 38% 34%,#fff9d6,#ffe9a3);box-shadow:0 0 60px #ffe9a380}.sleep-screen__moon:after{content:"";position:absolute;top:4px;right:-10px;width:62px;height:62px;border-radius:50%;background:#33264c}.sleep-screen__zzz{font-family:var(--font-head);font-weight:800;font-size:22px;color:#cbb6ff;animation:zzz 2.4s ease-in-out infinite}@keyframes zzz{0%{opacity:.2;transform:translateY(6px)}50%{opacity:1;transform:translateY(-8px)}to{opacity:.2;transform:translateY(-18px)}}.sleep-bar{width:62%;max-width:260px;height:12px;border-radius:99px;background:#ffffff24;overflow:hidden;margin-top:18px}.sleep-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#b6a0f8,#8ed9f7);transition:width .4s ease}.result-card{width:86%;max-width:320px;margin:auto;background:#fff;border-radius:28px;padding:22px 20px;text-align:center;box-shadow:0 20px 50px #3c19504d;animation:popIn .4s cubic-bezier(.34,1.56,.64,1)}@keyframes popIn{0%{opacity:0;transform:scale(.85)}}.stat-detail{display:flex;flex-direction:column;gap:10px}.stat-row{display:flex;align-items:center;gap:10px}.stat-row__label{width:62px;font-size:12px;font-weight:700;color:var(--ink-soft)}.stat-row__track{flex:1;height:12px;border-radius:99px;background:#f2e8fa;overflow:hidden}.stat-row__fill{height:100%;border-radius:99px;transition:width .6s ease}.stat-row__val{width:34px;text-align:left;font-size:11.5px;font-weight:800;color:var(--ink)}.empty-note{text-align:center;font-size:12.5px;color:var(--ink-faint);padding:22px 10px;line-height:1.7}@media (max-height: 720px){.character-wrap{width:clamp(150px,36vh,210px)}.need__label{font-size:8.5px}.actionbar{padding-bottom:6px}}@media (max-height: 600px){.character-wrap{width:clamp(130px,30vh,180px)}.nav__item{font-size:9px}.needs{padding:5px 10px}}@media (min-width: 820px){.app-shell{max-width:430px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
