@font-face{font-family:Vazirmatn Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/vazirmatn-arabic-wght-normal-Cafbb7Zc.woff2)format("woff2-variations");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Vazirmatn Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/vazirmatn-latin-ext-wght-normal-tDTa1Fj6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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}@font-face{font-family:Vazirmatn Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/vazirmatn-latin-wght-normal-BFexNX-K.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#2f2b45;--muted:#5e5776;--line:#3d3a5c;--lilac:#b99dee;--mint:#6fb8a2;color:var(--ink);font-family:Vazirmatn Variable,Vazirmatn,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:#c3bceb;overflow:hidden}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}a{color:#5b45a8}:focus-visible{outline-offset:2px;outline:3px solid #8e73d9}.stage-wrap{background:#c3bceb;position:fixed;inset:0;overflow:clip}.stage{transform-origin:0 0;width:1280px;height:760px;position:absolute;top:0;left:0;overflow:clip}.hud{pointer-events:none;position:absolute;inset:0}.hud>*{pointer-events:auto}.aside-scroll{scrollbar-width:none;flex-direction:column;flex:1;gap:12px;min-height:0;margin:-2px -4px 0;padding:2px 4px 18px;display:flex;overflow-y:auto;-webkit-mask-image:linear-gradient(#000 calc(100% - 22px),#0000);mask-image:linear-gradient(#000 calc(100% - 22px),#0000)}.aside-scroll::-webkit-scrollbar{display:none}.clay{background:#f8f4fe;border:2px solid #fff;box-shadow:0 16px 30px -10px #4c3a7861,0 4px #b0a0d659,inset 0 6px 10px #fffffff2,inset 0 -8px 14px #7c68aa29}.tag{background:#fff;box-shadow:0 6px 14px -4px #4c3a7859,0 3px #b0a0d673,inset 0 -3px 6px #7c68aa24}.pill{white-space:nowrap;background:#efe8fb;border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:14px;font-weight:600;display:flex;box-shadow:inset 0 3px 6px #7c68aa33,inset 0 -2px 4px #ffffffe6}.dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;box-shadow:inset 0 -2px 3px #0000002e,inset 0 2px 2px #fff9}.card{border-radius:26px;flex-direction:column;gap:12px;padding:16px 18px;display:flex}.card h2{margin:0;font-size:17px;font-weight:800}.muted{color:var(--muted)}.btn{white-space:nowrap;border:none;border-radius:16px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:0 14px;font-size:15px;font-weight:800;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s,background .2s;display:inline-flex}.btn:not(:disabled):hover{transform:translateY(-2px)}.btn:not(:disabled):active{transition-duration:80ms;transform:translateY(3px)}.btn-dark{color:#fff;background:#3b3458;box-shadow:0 5px #231e36,0 12px 18px -6px #231e368c,inset 0 3px 5px #fff3,inset 0 -4px 8px #00000047}.btn-dark:not(:disabled):active{box-shadow:0 2px #231e36,0 4px 8px -4px #231e3680,inset 0 3px 5px #ffffff26,inset 0 -2px 6px #0000004d}.btn-soft{color:var(--ink);background:#fff;font-weight:600;box-shadow:0 4px #dcd2ef,0 8px 14px -6px #4c3a784d,inset 0 -3px 6px #7c68aa1f}.btn-soft:not(:disabled):active{box-shadow:0 1px #dcd2ef,inset 0 -2px 4px #7c68aa1f}.btn-big{color:#2f2b45;background:#f49bb8;border-radius:24px;width:100%;min-height:66px;font-size:18px;box-shadow:0 6px #d1708f,0 18px 26px -10px #d1708fb3,inset 0 5px 8px #ffffff8c,inset 0 -6px 10px #b4466e40}.btn-big:not(:disabled):active{box-shadow:0 2px #d1708f,0 6px 10px -6px #d1708f99,inset 0 4px 6px #ffffff73,inset 0 -4px 8px #b4466e40}.field{background:#efe8fb;border:2px solid #0000;border-radius:16px;width:100%;padding:10px 12px;font-size:14px;transition:border-color .2s;box-shadow:inset 0 4px 8px #7c68aa38,inset 0 -2px 4px #ffffffe6}.field:focus{border-color:#a88be0;outline:none}.file-chip{color:inherit;background:#fff;border-radius:18px;align-items:center;gap:12px;padding:10px 12px;text-decoration:none;transition:transform .2s cubic-bezier(.34,1.56,.64,1);display:flex;box-shadow:0 4px #e6def5,inset 0 -3px 6px #7c68aa1a}a.file-chip:hover,button.file-chip:hover{transform:translateY(-2px)}.file-chip .icon{color:#6b4fb0;background:#e9dffb;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:inset 0 3px 4px #ffffffe6,inset 0 -3px 5px #7c68aa40}.file-chip .name{text-overflow:ellipsis;white-space:nowrap;text-align:right;direction:ltr;font-size:14px;font-weight:800;overflow:hidden}.bar{background:#e9e2f6;border-radius:999px;height:10px;overflow:hidden;box-shadow:inset 0 2px 4px #7c68aa47}.bar>div{border-radius:999px;height:100%;transition:width .8s cubic-bezier(.34,1.56,.64,1);box-shadow:inset 0 2px 2px #ffffff73,inset 0 -2px 3px #00000026}.toast{z-index:2000;white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:10px 20px;font-size:15px;font-weight:800;animation:3.2s forwards toast;display:flex;position:absolute;top:100px;left:50%;transform:translate(-50%)}.modal-backdrop{z-index:3000;-webkit-backdrop-filter:blur(4px);background:#2f2b4561;justify-content:center;align-items:center;animation:.3s fade-in;display:flex;position:fixed;inset:0}.modal{text-align:center;border-radius:32px;flex-direction:column;align-items:center;gap:12px;width:min(440px,100vw - 32px);padding:28px;animation:.5s cubic-bezier(.34,1.56,.64,1) modal-pop;display:flex;position:relative}.pop-in{animation:.5s cubic-bezier(.34,1.56,.64,1) .35s both modal-pop}@keyframes fade-in{0%{opacity:0}}@keyframes modal-pop{0%{opacity:0;transform:scale(.8)translateY(20px)}}.chest{justify-content:center;align-items:center;animation:1.6s ease-in-out infinite wobble;display:flex;position:relative}.chest.open{animation:none}.chest .lid{transform-box:fill-box;transform-origin:0 100%;transition:transform .6s cubic-bezier(.34,1.56,.64,1)}.chest.open .lid{transform:translate(-30px,-96px)rotate(-30deg)}.chest-glow{opacity:0;background:radial-gradient(circle,#ffe9a0f2 0%,#ffe9a000 70%);border-radius:50%;width:260px;height:260px;transition:opacity .4s,transform .6s cubic-bezier(.34,1.56,.64,1);position:absolute;transform:scale(.3)}.chest.open .chest-glow{opacity:1;animation:6s linear infinite spin-glow;transform:scale(1)}@keyframes wobble{0%,60%,to{transform:rotate(0)}70%{transform:rotate(-4deg)}80%{transform:rotate(4deg)}90%{transform:rotate(-2deg)}}@keyframes spin-glow{to{transform:scale(1)rotate(360deg)}}.coin{opacity:0;background:#ffd66b;border:2.5px solid #3d3a5c;border-radius:50%;width:22px;height:22px;animation:1s cubic-bezier(.2,.9,.3,1) forwards burst;position:absolute;top:-11px;left:-11px;box-shadow:inset 0 3px 3px #ffffffb3,inset 0 -3px 3px #be821473}@keyframes burst{0%{opacity:0;transform:translate(0)scale(.4)}15%{opacity:1}70%{opacity:1;transform:translate(var(--dx), var(--dy)) scale(1)}to{opacity:0;transform:translate(var(--dx), calc(var(--dy) + 40px)) scale(.9)}}.flip{perspective:900px;background:0 0;border:none;width:220px;height:300px;padding:0;animation:2.4s ease-in-out infinite float}.flip.flipped{cursor:default;animation:none}.flip:disabled{opacity:1}.flip-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.34,1.3,.64,1);position:relative}.flipped .flip-inner{transform:rotateY(180deg)}.face{backface-visibility:hidden;border:3px solid #fff;border-radius:26px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:22px;display:flex;position:absolute;inset:0;box-shadow:0 8px #967dd273,0 20px 30px -12px #4c3a7880,inset 0 8px 12px #ffffffb3,inset 0 -10px 16px #7c68aa38}.face.back{background:#cfc2f5}.face.front{background:#fffbf4;transform:rotateY(180deg)}.qmark{color:#fff;text-shadow:0 5px #6b4fb073;font-size:130px;font-weight:900;line-height:1}.back-stars{color:#fff;letter-spacing:10px;opacity:.8}.shop-item{background:#fff;border:2.5px solid #fff;border-radius:22px;flex-direction:column;align-items:center;gap:6px;padding:12px 8px 10px;transition:transform .2s cubic-bezier(.34,1.56,.64,1),border-color .2s;display:flex;box-shadow:0 5px #e1d8f2,0 12px 18px -10px #4c3a7866,inset 0 -4px 8px #7c68aa1a}.shop-item:hover{transform:translateY(-3px)}.shop-item[aria-pressed=true]{transform:translateY(2px);box-shadow:0 2px #e1d8f2,inset 0 4px 8px #7c68aa2e}.shop-badge{border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:13px;font-weight:800;display:inline-flex}.journal-stat{background:#fff;border-radius:20px;flex-direction:column;gap:2px;padding:12px 14px;display:flex;box-shadow:0 4px #e1d8f2,inset 0 -3px 6px #7c68aa1a}.journal-scroll{scrollbar-width:thin;flex-direction:column;flex:1;gap:18px;min-height:0;margin:0 -6px;padding:4px 6px 24px;display:flex;overflow-y:auto}.journal-day{z-index:1;color:#fff;background:#3b3458;border-radius:999px;align-self:flex-start;margin:0;padding:5px 14px;font-size:14px;font-weight:800;position:sticky;top:0;box-shadow:0 3px #231e36,0 8px 14px -6px #231e3666}.journal-card{background:#fff;border-radius:22px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex;box-shadow:0 4px #e6def5,0 10px 16px -10px #4c3a7859,inset 0 -3px 6px #7c68aa14}.journal-line{align-items:center;gap:10px;padding:4px 6px;display:flex}.journal-dot{border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex;box-shadow:0 3px #e6def5,inset 0 -2px 4px #7c68aa1f}.journal-reply{color:#5b45a8;background:#f1ebfd;border-radius:14px 14px 4px;align-self:flex-start;padding:6px 10px;font-size:13px;font-weight:600}.journal-gate{color:#1f5f8f;background:#ddeefb;border:2px solid #fff;border-radius:22px;justify-content:center;align-items:center;gap:8px;padding:14px;font-size:16px;font-weight:900;display:flex;box-shadow:0 5px #a9cdea,inset 0 5px 8px #fffc}.confetti{animation:linear infinite confetti-fall;position:absolute;top:-20px}@keyframes confetti-fall{0%{transform:translateY(0)rotate(0)}to{transform:translateY(110vh)rotate(540deg)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes hop{0%,to{transform:translateY(0)}40%{transform:translateY(-16px)}}@keyframes breathe{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}@keyframes blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes wave{0%,to{transform:rotate(-12deg)}50%{transform:rotate(12deg)}}@keyframes floatz{0%{opacity:0;transform:translateY(6px)}30%{opacity:1}to{opacity:0;transform:translate(12px,-20px)}}@keyframes twinkle{0%,to{opacity:.35;transform:scale(.5)}50%{opacity:1;transform:scale(1.1)}}@keyframes tap{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.ch .bob{animation:2.6s ease-in-out infinite bob}.ch.m-work .bob{animation:3.4s ease-in-out infinite bob}.ch.m-party .bob{animation:.7s ease-in-out infinite hop}.ch.m-sleep .bob{animation:3.6s ease-in-out infinite breathe}.ch .blink{transform-box:fill-box;transform-origin:50%;animation:4.2s infinite blink}.ch .arms-up{transform-box:fill-box;transform-origin:50% 100%;animation:.7s ease-in-out infinite wave}.ch .arms-up-r{animation-direction:reverse}.ch .zz{animation:2.4s ease-in infinite floatz}.ch .zz2{animation-delay:1.2s}.ch .spark{transform-box:fill-box;transform-origin:50%;animation:1.1s ease-in-out infinite twinkle}.ch .spark2{animation-delay:.35s}.ch .spark3{animation-delay:.7s}.ch .type{animation:.32s ease-in-out infinite tap}.ch .type2{animation-delay:.16s}.ch .pet{animation:2.2s ease-in-out .4s infinite float}@keyframes drift{0%,to{transform:translate(0)}50%{transform:translate(26px)}}@keyframes glow{0%,to{opacity:.25;transform:scale(.85)}50%{opacity:.6;transform:scale(1.15)}}@keyframes ring{0%{opacity:.9;transform:scale(.8)}to{opacity:0;transform:scale(1.8)}}@keyframes fly{0%,to{opacity:.25;transform:translate(0)}50%{opacity:1;transform:translate(10px,-14px)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes smoke{0%{opacity:.75;transform:translate(0)scale(.6)}to{opacity:0;transform:translate(10px,-30px)scale(1.5)}}@keyframes fall{0%{opacity:0;transform:translate(0)rotate(0)}10%{opacity:1}85%{opacity:1}to{opacity:0;transform:translate(-170px,430px)rotate(320deg)}}@keyframes birds{0%{transform:translate(0)}to{transform:translate(90px)}}@keyframes flap{0%,to{transform:scaleY(1)}50%{transform:scaleY(.4)}}@keyframes shimmer{0%,to{opacity:.25}50%{opacity:.95}}@keyframes rise{0%{opacity:0;transform:translateY(8px)scale(.6)}20%{opacity:1;transform:translateY(0)scale(1.15)}to{opacity:0;transform:translateY(-46px)scale(1)}}@keyframes toast{0%{opacity:0;transform:translate(-50%,-12px)}10%,85%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-8px)}}.star{transform-box:fill-box;transform-origin:50%;animation:3s ease-in-out infinite twinkle}.d1{animation-delay:.6s}.d2{animation-delay:1.2s}.d3{animation-delay:1.8s}.d4{animation-delay:2.4s}.d5{animation-delay:3.6s}.d6{animation-delay:5.2s}.cloud{animation:14s ease-in-out infinite drift}.cloud2{animation-duration:19s;animation-direction:reverse}.glow{transform-box:fill-box;transform-origin:50%;animation:2.8s ease-in-out infinite glow}.ring{transform-box:fill-box;transform-origin:50%;animation:1.8s ease-out infinite ring}.fly{animation:4s ease-in-out infinite fly}.float{animation:2.4s ease-in-out infinite float}.smoke{transform-box:fill-box;transform-origin:50%;animation:3s ease-out infinite smoke}.petal{transform-box:fill-box;transform-origin:50%;animation:9s linear infinite fall}.petal2{animation-duration:12s}.petal3{animation-duration:10.5s}.birds{animation:16s ease-in-out infinite alternate birds}.wing{transform-box:fill-box;transform-origin:50%;animation:.5s ease-in-out infinite flap}.shimmer{animation:2.6s ease-in-out infinite shimmer}.rise{animation:2.6s ease-out forwards rise}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}.wish-form{background:#efe8fb;border-radius:22px;align-items:center;gap:10px;padding:12px 14px;display:flex;box-shadow:inset 0 4px 10px #7c68aa33,inset 0 -2px 4px #ffffffe6}.wish-form .field{background:#fff}.badge{color:#fff;background:#f27fa3;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:12px;font-weight:900;animation:1.6s ease-in-out infinite badge-pulse;display:inline-flex;box-shadow:0 2px #c9557a}@keyframes badge-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.pi{flex-shrink:0;line-height:0;display:inline-flex}.pi svg{overflow:visible}.pi path[opacity="0.2"],.pi circle[opacity="0.2"],.pi rect[opacity="0.2"],.pi polygon[opacity="0.2"]{opacity:1;fill:var(--pi-fill)}@keyframes steam{0%{opacity:0;transform:translateY(6px)}40%{opacity:.9}to{opacity:0;transform:translateY(-10px)}}.ch .steam{animation:1.8s ease-out infinite steam}.ch .steam2{animation-delay:.9s}.ch.m-love .bob{animation:1.4s ease-in-out infinite bob}.dragon-btn{cursor:pointer;transform-origin:50% 92%;-webkit-tap-highlight-color:transparent;background:0 0;border:none;width:100%;padding:0;display:block}.dragon-btn:focus-visible{outline-offset:4px;border-radius:24px;outline:3px dashed #8e73d9}.music-pill{border-radius:22px;align-items:center;gap:10px;padding:8px 14px 8px 8px;display:flex}.music-toggle{border-radius:16px;width:44px;height:44px;padding:0}.music-notes{color:#6b4fb0;display:inline-flex}.music-notes.playing{animation:1.6s ease-in-out infinite float}.music-volume{accent-color:#a88be0;cursor:pointer;direction:ltr;width:100%;height:8px}.music-volume:disabled{opacity:.4;cursor:default}@keyframes ogre-shake{0%,to{transform:rotate(0)translateY(0)}25%{transform:rotate(-2.5deg)translateY(-3px)}75%{transform:rotate(2.5deg)translateY(-3px)}}@keyframes ogre-sway{0%,to{transform:rotate(-1.5deg)}50%{transform:rotate(1.5deg)}}@keyframes ogre-dizzy{0%,to{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}@keyframes ogre-ha{0%{opacity:0;transform:translateY(8px)scale(.6)}30%{opacity:1;transform:translateY(0)scale(1.15)}to{opacity:0;transform:translateY(-16px)scale(1)}}@keyframes ogre-tear{0%{opacity:0;transform:translateY(-6px)}30%{opacity:1}to{opacity:0;transform:translateY(26px)}}@keyframes spin{to{transform:rotate(360deg)}}.ogre .ogre-body{transform-box:fill-box;transform-origin:50% 100%;animation:3s ease-in-out infinite ogre-sway}.ogre.m-laugh .ogre-body{animation:.35s ease-in-out infinite ogre-shake}.ogre.m-angry .ogre-body{animation:.6s ease-in-out infinite ogre-shake}.ogre.m-dizzy .ogre-body{animation:1.6s ease-in-out infinite ogre-dizzy}.ogre .ogre-ha{transform-box:fill-box;transform-origin:50%;animation:1.2s ease-out infinite ogre-ha}.ogre .ogre-ha2{animation-delay:.4s}.ogre .ogre-ha3{animation-delay:.8s}.ogre .ogre-tear{animation:1.2s ease-in infinite ogre-tear}.ogre .ogre-tear2{animation-delay:.6s}.ogre .ogre-stars{transform-box:fill-box;transform-origin:50%;animation:2.4s linear infinite spin}.ogre .ogre-steam{animation:1.2s ease-out infinite steam}.comic-backdrop{z-index:4000;background-color:#2b2540;background-image:radial-gradient(#ffffff12 2px,#0000 2.5px);background-size:18px 18px;justify-content:center;align-items:center;animation:.4s fade-in;display:flex;position:fixed;inset:0}.comic-book{flex-direction:column;gap:14px;width:min(1100px,94vw,177.778vh - 302.222px);display:flex}.comic-head{justify-content:space-between;align-items:flex-end;display:flex}.comic-frame{aspect-ratio:16/9;cursor:pointer;perspective:1600px;background:#fff;border:5px solid #fff;border-radius:22px;width:100%;position:relative;overflow:hidden;box-shadow:0 0 0 4px #3d3a5c,0 24px 60px #00000073}.comic-page{transform-origin:100%;position:absolute;inset:0}.comic-board{transform-origin:0 0;color:#2f2b45;font-family:Vazirmatn Variable,Vazirmatn,sans-serif;position:absolute;top:0;left:0;overflow:hidden}.comic-turn-next{animation:.55s cubic-bezier(.2,.8,.2,1) page-in-next}.comic-turn-prev{animation:.45s ease-out page-in-prev}@keyframes page-in-next{0%{opacity:0;transform:rotateY(-35deg)translate(-8%)}to{opacity:1;transform:none}}@keyframes page-in-prev{0%{opacity:0;transform:translate(8%)}to{opacity:1;transform:none}}.comic-shake{animation:.55s cubic-bezier(.2,.8,.2,1) page-in-next,.5s ease-in-out .6s 3 comic-shake}@keyframes comic-shake{0%,to{translate:0}20%{translate:-8px 4px}40%{translate:7px -5px}60%{translate:-6px -3px}80%{translate:5px 4px}}.comic-nav{justify-content:space-between;align-items:center;display:flex}.comic-dot{background:#ffffff4d;border-radius:50%;width:10px;height:10px;transition:all .3s}.comic-dot.on{background:#ffd9a8;border-radius:999px;width:28px}.cm-actor{animation-duration:.6s;animation-timing-function:cubic-bezier(.34,1.56,.64,1);animation-fill-mode:both}.cm-pop{animation-name:cm-pop}.cm-slide-in-right{animation-name:cm-slide-right;animation-timing-function:cubic-bezier(.2,.8,.2,1)}.cm-slide-in-left{animation-name:cm-slide-left;animation-timing-function:cubic-bezier(.2,.8,.2,1)}.cm-drop{animation-name:cm-drop;animation-duration:.5s;animation-timing-function:cubic-bezier(.5,0,.75,0)}.cm-rise{animation-name:cm-rise;animation-duration:1.1s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}@keyframes cm-pop{0%{opacity:0;transform:scale(.6)translateY(30px)}}@keyframes cm-slide-right{0%{opacity:0;transform:translate(160px)}}@keyframes cm-slide-left{0%{opacity:0;transform:translate(-160px)}}@keyframes cm-drop{0%{opacity:0;transform:translateY(-200px)rotate(-30deg)}}@keyframes cm-rise{0%{transform:translateY(220px)}}.cm-run{animation:2.8s cubic-bezier(.5,0,.9,.6) .4s both cm-run}@keyframes cm-run{0%{transform:translate(0)}15%{transform:translate(-20px)}to{transform:translate(760px)}}.cm-hop>div{animation:.36s ease-in-out infinite cm-hop}@keyframes cm-hop{0%,to{translate:0}50%{translate:0 -18px}}.cm-kite{transform-box:fill-box;transform-origin:50% 100%;animation:2.4s ease-in-out infinite ogre-sway}.cm-flash{animation:2.2s step-end infinite cm-flash}@keyframes cm-flash{0%,to{opacity:0}10%,16%{opacity:1}12%{opacity:0}}.cm-wiggle>div{animation:.6s ease-in-out infinite ogre-dizzy}.cm-caption{z-index:20;background:#ffe9a8;border:3px solid #3d3a5c;border-radius:12px;max-width:420px;padding:10px 16px;font-size:22px;font-weight:800;animation:.5s cubic-bezier(.34,1.56,.64,1) both cm-pop;position:absolute;top:18px;right:18px;box-shadow:4px 4px #3d3a5c}.cm-bubble{z-index:20;text-align:center;background:#fff;border:3px solid #3d3a5c;border-radius:26px;padding:12px 18px;font-weight:800;line-height:1.5;animation:.45s cubic-bezier(.34,1.56,.64,1) both cm-pop;position:absolute;box-shadow:0 5px #3d3a5c40}.cm-bubble:after{content:"";background:#fff;border-bottom:3px solid #3d3a5c;border-right:3px solid #3d3a5c;width:22px;height:22px;position:absolute}.cm-tail-down:after{bottom:-13px;left:calc(50% - 11px);transform:rotate(45deg)}.cm-tail-down-left:after{bottom:-13px;left:28px;transform:rotate(45deg)skew(10deg,10deg)}.cm-tail-down-right:after{bottom:-13px;right:28px;transform:rotate(45deg)skew(-10deg,-10deg)}.cm-tail-left:after{top:calc(50% - 11px);left:-13px;transform:rotate(135deg)}.cm-tail-right:after{top:calc(50% - 11px);right:-13px;transform:rotate(-45deg)}.cm-shout{background:#fff6d6;border-radius:14px;transform:rotate(-3deg)}.cm-shout:after{background:#fff6d6}.cm-sfx{z-index:18;white-space:nowrap;transform:rotate(var(--rot));-webkit-text-stroke:3px #3d3a5c;paint-order:stroke fill;text-shadow:5px 5px #3d3a5c;font-weight:900;line-height:1;animation:.6s cubic-bezier(.34,1.56,.64,1) both cm-sfx,.25s ease-in-out .7s infinite alternate cm-sfx-wobble;position:absolute}@keyframes cm-sfx{0%{opacity:0;transform:rotate(var(--rot)) scale(.2)}}@keyframes cm-sfx-wobble{0%{transform:rotate(var(--rot)) scale(1)}to{transform:rotate(calc(var(--rot) * -.5)) scale(1.06)}}.cm-dark{opacity:.35;z-index:1;pointer-events:none;background:#2b2540;animation:1s both fade-in;position:absolute;inset:0}@keyframes flag{0%,to{transform:scaleX(1)}50%{transform:scaleX(.75)}}.flag{transform-box:fill-box;transform-origin:0;animation:1.2s ease-in-out infinite flag}.cm-note{text-align:center;color:#3d3a5c;background:#fff6de repeating-linear-gradient(#0000 0 38px,#c9a07859 38px 40px);border:3px solid #3d3a5c;border-radius:6px;padding:16px 20px;font-size:24px;font-weight:800;line-height:1.7;transform:rotate(-4deg);box-shadow:6px 6px #3d3a5c4d}.cm-fly-up{animation:3s cubic-bezier(.4,0,.6,1) .6s both cm-fly-up}@keyframes cm-fly-up{0%{transform:translate(0)}to{transform:translate(160px,-420px)scale(.6)}}.cm-roll{animation:2.6s cubic-bezier(.5,0,.9,.6) .5s both cm-roll}@keyframes cm-roll{0%{transform:translate(0)rotate(0)}to{transform:translate(760px)rotate(720deg)}}.cm-dash{animation:.9s cubic-bezier(.3,0,.3,1) .3s both cm-dash}@keyframes cm-dash{0%{opacity:0;transform:translate(-260px,120px)rotate(-12deg)}to{opacity:1;transform:none}}.cm-fall{animation:1.4s cubic-bezier(.5,0,.75,0) .5s both cm-fall}@keyframes cm-fall{0%{transform:rotate(0)translateY(0)}40%{transform:rotate(-25deg)translateY(-20px)}to{transform:rotate(-80deg)translate(-40px,140px)}}.cm-float-away{animation:4s ease-in-out .4s both cm-float-away}@keyframes cm-float-away{0%{transform:translate(0)}to{transform:translate(260px,-80px)scale(.75)}}.cm-bob>div{animation:2s ease-in-out infinite bob}.reaction-trigger{color:#2f2b45;background:#f49bb8;box-shadow:0 4px #d1708f,0 10px 16px -8px #d1708fb3,inset 0 3px 5px #ffffff80,inset 0 -4px 7px #b4466e38}.reaction-trigger:not(:disabled):active{box-shadow:0 1px #d1708f,inset 0 3px 5px #fff6}.reaction-trigger[aria-expanded=true]{transform:translateY(2px);box-shadow:0 2px #d1708f,inset 0 3px 5px #fff6}.chevron{font-size:12px;transition:transform .2s;display:inline-block}.chevron.up{transform:rotate(180deg)}.reaction-menu{z-index:50;transform-origin:50% 0;border-radius:24px;flex-direction:column;gap:10px;width:280px;padding:14px;animation:.35s cubic-bezier(.34,1.56,.64,1) menu-pop;display:flex;position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%)}.reaction-menu:before{content:"";background:#f8f4fe;border-top:2px solid #fff;border-left:2px solid #fff;border-radius:3px 0 0;width:16px;height:16px;position:absolute;top:-9px;left:calc(50% - 9px);transform:rotate(45deg)}@keyframes menu-pop{0%{opacity:0;transform:translate(-50%)scale(.85)translateY(-6px)}}.reaction-option{border:2px solid #fff;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:78px;transition:transform .2s cubic-bezier(.34,1.56,.64,1);display:flex;box-shadow:0 4px #b0a0d673,inset 0 -3px 6px #7c68aa1f}.reaction-option:hover{transform:translateY(-3px)scale(1.03)}.reaction-option:active{transform:translateY(2px);box-shadow:0 1px #b0a0d673}.game-trigger{color:#2f2b45;background:#9cc8ff;box-shadow:0 4px #6e9bd6,0 10px 16px -8px #6e9bd6b3,inset 0 3px 5px #ffffff80,inset 0 -4px 7px #3c64aa33}.game-trigger:active,.game-trigger[aria-expanded=true]{transform:translateY(2px);box-shadow:0 2px #6e9bd6,inset 0 3px 5px #fff6}.game-count{background:#fff9;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:800}.game-menu{transform-origin:85% 0;width:300px;animation-name:game-menu-pop;left:auto;right:0;transform:none}.game-menu:before{left:auto;right:40px}@keyframes game-menu-pop{0%{opacity:0;transform:scale(.85)translateY(-6px)}}.game-option{text-align:right;color:#2f2b45;cursor:pointer;border:2px solid #fff;border-radius:18px;flex-direction:column;align-items:flex-start;gap:3px;padding:10px 14px;transition:transform .2s cubic-bezier(.34,1.56,.64,1);display:flex;box-shadow:0 4px #b0a0d673,inset 0 -3px 6px #7c68aa1f}.game-option:not(:disabled):hover{transform:translateY(-2px)}.game-option:disabled{cursor:default;color:#8e86a8;box-shadow:0 2px #b0a0d64d}.game-option-sub{color:#6e6488;align-items:center;gap:5px;font-size:12.5px;font-weight:600;display:flex}.game-modal{gap:12px;width:auto;max-width:calc(100vw - 32px);max-height:calc(100vh - 24px);padding:18px 20px 20px}.game-head{justify-content:space-between;align-items:center;gap:12px;width:100%;min-width:360px;display:flex}.game-hud{gap:8px;margin-inline-start:auto;display:flex}.game-intro{flex-direction:column;align-items:center;gap:14px;width:min(440px,100vw - 72px);padding:6px 0 4px;display:flex}.record-board{grid-template-columns:1fr 1fr;gap:10px;width:100%;display:grid}.record-cell{color:#6e6488;text-align:right;background:#f4f0fc;border:2px solid #fff;border-radius:16px;flex-direction:column;gap:4px;padding:10px 12px;font-size:13px;display:flex}.record-cell strong{color:#2f2b45;font-size:17px}.record-cell.best{color:#7a5410;background:#fff4d2;grid-column:1/-1}.record-banner{color:#5e4208;background:#ffe38a;border-radius:999px;align-items:center;gap:10px;padding:10px 18px;font-size:16px;font-weight:900;animation:.5s cubic-bezier(.34,1.56,.64,1) modal-pop;display:flex;box-shadow:0 4px #e0b648}.record-banner.soft{color:#2c7a62;background:#e2f5ee;font-size:15px;box-shadow:0 4px #a8dcc6}.game-stage{touch-action:none;border:3px solid #fff;border-radius:22px;overflow:hidden;box-shadow:inset 0 0 0 1px #7c68aa26}.game-canvas{aspect-ratio:3/4;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;width:min(480px,100vw - 56px,75vh - 105px);height:auto;display:block}.memory-grid{box-sizing:border-box;background:#f4f0fc;grid-template-columns:repeat(4,1fr);gap:10px;width:min(440px,100vh - 160px,100vw - 72px);padding:14px;display:grid}.memory-card{aspect-ratio:1;perspective:600px;cursor:pointer;background:0 0;border:none;padding:0}.memory-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .4s cubic-bezier(.34,1.3,.64,1);display:block;position:relative}.memory-card.open .memory-inner{transform:rotateY(180deg)}.memory-back,.memory-front{backface-visibility:hidden;border:2px solid #fff;border-radius:16px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.memory-back{background:linear-gradient(135deg,#c9b8e8,#9cc8ff);box-shadow:0 4px #7c68aa59,inset 0 3px 5px #ffffff73}.memory-back:after{content:"";border:2px solid #ffffffb3;border-radius:50%;width:30%;height:30%}.memory-front{color:#3d3a5c;background:#fff;transform:rotateY(180deg);box-shadow:0 4px #b0a0d673}.memory-card.done .memory-front{background:#f2fbf7;animation:.5s memory-match}@keyframes memory-match{50%{transform:rotateY(180deg)scale(1.1)}}.login-page{background:linear-gradient(#3f3a7a 0%,#6e5fa8 30%,#b490c8 58%,#f2b9b5 82%,#ffd9c7 100%);position:fixed;inset:0;overflow:auto}.login-sky{pointer-events:none;position:fixed;inset:0;overflow:hidden}.login-star{opacity:.2;background:#fff;border-radius:50%;animation:3.6s ease-in-out infinite login-twinkle;position:absolute}@keyframes login-twinkle{50%{opacity:.9}}.login-moon{background:radial-gradient(circle at 38% 36%,#fffbef 0%,#fff1cf 60%,#f6dfae 100%);border-radius:50%;width:86px;height:86px;position:absolute;top:6%;left:46%;box-shadow:0 0 60px 18px #fff0c859}.login-clouds{width:110%;position:absolute;bottom:0;left:-5%}.login-clouds.back{fill:#ffece88c;height:30vh;animation:18s ease-in-out infinite alternate login-drift}.login-clouds.front{fill:#fff8f4e6;height:20vh;animation:13s ease-in-out infinite alternate-reverse login-drift}@keyframes login-drift{0%{transform:translate(-2%)}to{transform:translate(2%)}}.login-layout{box-sizing:border-box;grid-template-columns:minmax(0,1fr) minmax(0,460px);align-items:center;gap:6vw;max-width:1280px;min-height:100%;margin:0 auto;padding:40px 6vw;display:grid;position:relative}.login-hero{color:#fff;text-shadow:0 2px 18px #2f2b4540;flex-direction:column;gap:14px;display:flex}.login-hero h1{letter-spacing:-1px;margin:0;font-size:clamp(44px,6vw,76px);font-weight:900;line-height:1}.login-kicker{opacity:.8;font-size:14px;font-weight:700}.login-tagline{opacity:.95;margin:0;font-size:21px;font-weight:700}.login-steps{flex-direction:column;gap:10px;margin:10px 0 0;padding:0;list-style:none;display:flex}.login-steps li{-webkit-backdrop-filter:blur(6px);width:fit-content;text-shadow:none;background:#ffffff29;border:1px solid #ffffff47;border-radius:18px;align-items:center;gap:12px;padding:10px 16px 10px 18px;font-size:16px;font-weight:700;display:flex}.login-card{border-radius:32px;flex-direction:column;gap:16px;padding:30px;animation:.6s cubic-bezier(.34,1.56,.64,1) modal-pop;display:flex}.login-card.shake{animation:.45s login-shake}.login-card.shake-b{animation:.45s login-shake-b}@keyframes login-shake-b{20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}@keyframes login-shake{20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.login-picks{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.login-pick{cursor:pointer;color:#2f2b45;border:2.5px solid #fff;border-radius:24px;flex-direction:column;align-items:center;gap:2px;padding:12px 12px 10px;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .2s,border-color .2s;display:flex;box-shadow:0 6px #b0a0d673,0 14px 22px -10px #4c3a7873,inset 0 5px 8px #ffffffe6,inset 0 -6px 10px #7c68aa24}.login-pick:hover{transform:translateY(-3px)}.login-pick.selected{border-color:#2f2b45;transform:translateY(2px);box-shadow:inset 0 6px 12px #4c3a7838,inset 0 -4px 8px #fffc}.login-pick:focus-visible,.login-eye:focus-visible{outline-offset:2px;outline:3px solid #a88be0}.login-label{flex-direction:column;gap:6px;font-size:14px;font-weight:700;display:flex}.login-field{display:block;position:relative}.login-field .field{box-sizing:border-box;width:100%;padding:13px 48px 13px 14px;font-size:17px}.login-eye{color:#6e6488;cursor:pointer;background:0 0;border:none;border-radius:12px;justify-content:center;align-items:center;width:36px;height:36px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.login-eye:hover{background:#f1edf7}.login-hint{color:#a9781c;margin:-8px 0 0;font-size:13px;font-weight:700}.login-error{color:#b03a5b;min-height:20px;margin:-6px 0 0;font-size:14px;font-weight:700}@media (width<=860px){.login-layout{grid-template-columns:1fr;gap:24px;padding:28px 16px 40px}.login-hero{text-align:center;align-items:center}.login-steps{display:none}.login-moon{width:56px;height:56px}}.medal{box-sizing:border-box;border-radius:50%;flex:none;padding:5px;display:flex;position:relative;box-shadow:0 4px #7c68aa47,inset 0 3px 4px #ffffffb3,inset 0 -3px 5px #0000001f}.medal-bronze{background:linear-gradient(145deg,#f2c29a,#c98552)}.medal-silver{background:linear-gradient(145deg,#f1f1f8,#a9abc4)}.medal-gold{background:linear-gradient(145deg,#ffe59a,#e0a92e)}.medal-face{color:#3d3a5c;background:radial-gradient(circle at 35% 30%,#fff 0%,#f4eefc 70%);border-radius:50%;flex:1;justify-content:center;align-items:center;display:flex;box-shadow:inset 0 2px 5px #7c68aa40}.medal-gold .medal-face{color:#8a5e10}.medal-bronze .medal-face{color:#7a4a28}.medal.locked{filter:grayscale();opacity:.45}.medal-lock{color:#fff;background:#3d3a5c;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:40%;height:40%;display:flex;position:absolute;bottom:-2px;left:-2px}.ach-modal{text-align:right;align-items:stretch;gap:12px;width:min(940px,100vw - 32px);height:min(86vh,780px);padding:24px 24px 0}.ach-head{align-items:center;gap:16px;display:flex}.ach-tiers{gap:6px;margin-inline-start:auto;display:flex}.ach-tier{border-radius:999px;padding:4px 10px;font-size:12.5px;font-weight:800}.ach-tier-gold{color:#7a5410;background:#fff0c7}.ach-tier-silver{color:#5c5e78;background:#eeeff6}.ach-tier-bronze{color:#7a4a28;background:#fbe5d4}.ach-filters{gap:6px;display:flex}.ach-filter{color:#6e6488;cursor:pointer;background:#f1edf7;border:none;border-radius:999px;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:800}.ach-filter.on{color:#fff;background:#2f2b45}.ach-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-content:start;gap:12px;padding:4px 2px 24px;display:grid;overflow-y:auto}.ach-card{background:#f8f5fd;border:2px solid #fff;border-radius:20px;align-items:flex-start;gap:12px;padding:14px;display:flex;box-shadow:inset 0 -3px 6px #7c68aa14}.ach-card.earned{background:#fff;box-shadow:0 4px #b0a0d659,inset 0 -3px 6px #7c68aa14}.ach-meta{color:#8e80c4;font-size:12px;font-weight:700}.ach-partner{color:#2c7a62;background:#e2f5ee;border-radius:999px;width:fit-content;padding:1px 8px;font-size:11.5px;font-weight:800}.castle-modal{text-align:right;align-items:stretch;gap:14px;width:min(1120px,100vw - 32px);max-height:calc(100vh - 32px);padding:20px}.castle-head{align-items:center;gap:12px;display:flex}.castle-owner{background:#f1edf7;border-radius:999px;gap:4px;padding:4px;display:flex}.castle-owner button{color:#6e6488;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:7px 16px;font-family:inherit;font-size:14px;font-weight:800}.castle-owner button.on{color:#2f2b45;background:#fff;box-shadow:0 2px #b0a0d680}.castle-body{grid-template-columns:minmax(0,1fr) 300px;gap:16px;min-height:0;display:grid}.castle-body.solo{grid-template-columns:1fr}.castle-stage{aspect-ratio:800/480;border:3px solid #fff;border-radius:24px;align-self:start;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #7c68aa26}.castle-preview-tag{color:#fff;background:#2f2b45bf;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:800;position:absolute;top:12px;right:12px}.castle-caption{background:#ffffffd9;border-radius:999px;padding:5px 12px;font-size:13px;font-weight:800;position:absolute;bottom:12px;left:12px}.castle-panel{flex-direction:column;gap:10px;min-height:0;display:flex}.castle-tabs{flex-wrap:wrap;gap:6px;display:flex}.castle-tabs button{color:#6e6488;cursor:pointer;background:#f1edf7;border:none;border-radius:999px;padding:6px 12px;font-family:inherit;font-size:13px;font-weight:800}.castle-tabs button.on{color:#fff;background:#2f2b45}.castle-items{flex-direction:column;gap:8px;padding-inline-end:2px;display:flex;overflow:hidden auto}.castle-item{background:#f8f5fd;border:2px solid #fff;border-radius:16px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:14px;transition:background .2s;display:flex}.castle-item:hover{background:#f1ecfa}.castle-item>span:first-child{min-width:0}.castle-item.placed{background:#e2f5ee}.castle-btn{white-space:nowrap;border-radius:999px;min-height:34px;padding:0 12px;font-size:12.5px}.castle-state{color:#2c7a62;align-items:center;gap:4px;font-size:12.5px;font-weight:800;display:flex}.side-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.side-btn{border-radius:18px;min-height:44px;font-size:14px;font-weight:800}.login-quote{flex-direction:column;align-items:flex-start;gap:14px;max-width:520px;margin:8px 0 0;display:flex}.login-quote blockquote{color:#fff;margin:0;font-size:clamp(22px,2.4vw,30px);font-weight:800;line-height:1.75;animation:.6s cubic-bezier(.34,1.3,.64,1) quote-in}@keyframes quote-in{0%{opacity:0;transform:translateY(10px)}}.login-shuffle{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(6px);background:#ffffff29;border:1px solid #ffffff59;border-radius:999px;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;font-size:14px;font-weight:800;transition:background .2s,transform .2s;display:flex}.login-shuffle:hover{background:#ffffff47}.login-shuffle:active{transform:scale(.96)}.login-shuffle:focus-visible{outline-offset:2px;outline:3px solid #fff}.login-mascot{justify-content:center;gap:4px;margin:-6px 0 -10px;display:flex}.login-input{box-sizing:border-box;width:100%;padding:13px 14px;font-size:17px}@media (width<=860px){.login-quote{text-align:center;align-items:center}}.world-bar{z-index:1000;border-radius:20px;align-items:center;gap:16px;max-width:420px;padding:8px 16px;display:flex;position:absolute;top:100px;left:20px}.side-rail{z-index:1000;box-sizing:border-box;border-radius:22px;flex-direction:column;align-items:center;gap:6px;width:56px;padding:6px;display:flex;position:absolute;top:172px;left:20px}.rail-btn{cursor:pointer;color:#2f2b45;background:0 0;border:none;border-radius:15px;justify-content:center;align-items:center;width:44px;height:44px;transition:background .2s,transform .2s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative}.rail-btn:hover{background:#f1edf7;transform:scale(1.06)}.rail-btn:active{transform:scale(.94)}.rail-btn:focus-visible{outline-offset:1px;outline:3px solid #a88be0}.rail-btn.on{color:#fff;background:#2f2b45}.rail-btn[data-label]:after{content:attr(data-label);color:#fff;white-space:nowrap;opacity:0;pointer-events:none;background:#2f2b45;border-radius:10px;padding:6px 12px;font-size:13px;font-weight:800;transition:opacity .15s,transform .15s;position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%)translate(-4px)}.rail-btn[data-label]:hover:after,.rail-btn[data-label]:focus-visible:after{opacity:1;transform:translateY(-50%)}.rail-count{box-sizing:border-box;color:#5e4208;background:#ffd66b;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:10.5px;font-weight:900;display:flex;position:absolute;bottom:1px;right:0}.rail-sep{background:#7c68aa2e;border-radius:2px;width:28px;height:2px;margin:2px 0}.rail-live{background:#8edcc4;border-radius:50%;width:7px;height:7px;position:absolute;top:6px;right:6px;box-shadow:0 0 0 2px #2f2b45}.music-rail{position:relative}.music-pop{box-sizing:border-box;opacity:0;pointer-events:none;border-radius:18px;flex-direction:column;gap:4px;width:230px;padding:10px 14px;transition:opacity .18s,transform .18s;display:flex;position:absolute;bottom:-6px;left:calc(100% + 14px);transform:translate(-6px)}.music-pop:before{content:"";width:16px;position:absolute;top:0;bottom:0;right:100%}.music-rail:hover .music-pop,.music-rail:focus-within .music-pop{opacity:1;pointer-events:auto;transform:none}.goal-line{text-align:right;background:#ffffffd9;border-radius:12px;align-items:center;gap:8px;padding:8px 10px;font-size:14px;font-weight:700;line-height:1.6;display:flex}.goal-tag{color:#7a5410;white-space:nowrap;background:#fff0c7;border-radius:999px;padding:2px 8px;font-size:11.5px;font-weight:800}.goal-tag.ok{color:#1f6b50;background:#d9f3e8}.goal-check{flex-direction:column;gap:6px;display:flex}.chip-btn{color:#2f2b45;font:inherit;cursor:pointer;background:#fff;border:1.5px solid #2f2b451f;border-radius:12px;flex:1;padding:8px 6px;font-size:13px;font-weight:800;transition:background .15s}.chip-btn.on{color:#fff;background:#2f2b45;border-color:#2f2b45}.ambient-mixer{flex-direction:column;gap:6px;display:flex}.ambient-row{grid-template-columns:34px 64px 1fr;align-items:center;gap:6px;display:grid}.ambient-toggle{color:#2f2b45;cursor:pointer;opacity:.6;background:#f1edf7;border:none;border-radius:11px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.ambient-row.on .ambient-toggle{opacity:1;background:#e6ddf8}.ambient-name{font-size:12.5px;font-weight:800}.ambient-mixer.dark .ambient-toggle{color:#fff;background:#ffffff1f}.ambient-mixer.dark .ambient-row.on .ambient-toggle{background:#ffffff42}.ambient-mixer.dark .ambient-name{color:#ede7fa}.deep{z-index:4000;color:#fff;background:radial-gradient(at 50% 30%,#4a3c78 0%,#2a2348 55%,#1a1630 100%);flex-direction:column;justify-content:center;align-items:center;animation:.5s fade-in;display:flex;position:fixed;inset:0;overflow:hidden}.deep-stars{opacity:.5;background-image:radial-gradient(1.5px 1.5px at 20% 30%,#fff 50%,#0000 51%),radial-gradient(1.5px 1.5px at 70% 18%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 40% 70%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 85% 60%,#fff 50%,#0000 51%),radial-gradient(1.5px 1.5px at 10% 85%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 55% 45%,#fff 50%,#0000 51%);position:absolute;inset:0}.deep-exit{cursor:pointer;color:#fff;font:inherit;background:#ffffff24;border:none;border-radius:999px;padding:10px 18px;font-size:14px;font-weight:800;position:absolute;top:24px;left:24px}.deep-exit:hover{background:#ffffff3d}.deep-center{text-align:center;flex-direction:column;align-items:center;gap:10px;margin-bottom:120px;padding:0 16px;display:flex;position:relative}.deep-ring{aspect-ratio:1;width:min(280px,60vh,70vw);position:relative}.deep-ring>svg{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.deep-track{fill:none;stroke:#ffffff1f;stroke-width:10px}.deep-progress{fill:none;stroke:#b7a3e6;stroke-width:10px;stroke-linecap:round;transition:stroke-dashoffset .6s linear}.deep-dragon{position:absolute;inset:16% 20% 14%}.deep-time{letter-spacing:.04em;font-variant-numeric:tabular-nums;font-size:clamp(56px,10vw,96px);font-weight:900;line-height:1}.deep-goal{color:#ede7fa;align-items:center;gap:8px;max-width:560px;font-size:18px;font-weight:800;display:flex}.deep-look{color:#ffd66b;opacity:0;min-height:24px;font-size:16px;font-weight:800;transition:opacity .3s,transform .3s;transform:translateY(6px)}.deep-look.show{opacity:1;transform:none}.deep-meta{color:#ede7fab3;font-size:13.5px;font-weight:700}.deep-sounds{width:min(560px,100vw - 32px);position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.deep-sounds .ambient-mixer{background:#ffffff12;border-radius:18px;grid-template-columns:1fr 1fr;gap:8px 20px;padding:12px 16px;display:grid}@media (height<=640px){.deep-sounds{display:none}.deep-center{margin-bottom:0}}.week-modal{text-align:right;align-items:stretch;gap:16px;width:min(820px,100vw - 32px);max-height:90vh;padding:24px;overflow-y:auto}.week-modal .ach-head>div:first-child{flex:1}.week-modal .ach-filter:disabled{opacity:.4;cursor:default}.week-users{grid-template-columns:1fr 1fr;gap:12px;display:grid}.week-user{background:#f7f4fc;border-radius:20px;flex-direction:column;gap:10px;padding:16px;display:flex}.week-swatch{border-radius:4px;width:12px;height:12px}.week-facts{grid-template-columns:auto 1fr;gap:4px 12px;margin:0;font-size:13.5px;display:grid}.week-facts dt{color:#6e6488;font-weight:700}.week-facts dd{margin:0;font-weight:800}.week-verdict{color:#4a4366;background:#fff;border-radius:12px;margin:0;padding:8px 10px;font-size:13.5px;font-weight:700;line-height:1.7}.week-bars{flex-direction:column;gap:8px;margin:0;display:flex}.week-legend{gap:16px;font-size:13px;font-weight:800;display:flex}.week-legend span{align-items:center;gap:6px;display:flex}.week-legend i{border-radius:4px;width:12px;height:12px;display:block}.week-plot{border-bottom:1.5px solid #e2daf0;grid-template-columns:repeat(7,1fr);gap:6px;height:150px;margin-bottom:26px;display:grid}.week-day{flex-direction:column;align-items:center;display:flex;position:relative}.week-day.future{opacity:.35}.week-pair{flex:1;align-items:flex-end;gap:2px;display:flex}.week-col{cursor:default;flex-direction:column;justify-content:flex-end;align-items:center;width:14px;height:100%;display:flex}.week-bar{border-radius:4px 4px 0 0;width:100%;transition:height .6s cubic-bezier(.34,1.56,.64,1)}.week-val{color:#4a4366;font-size:11px;font-weight:800}.week-dayname{color:#6e6488;white-space:nowrap;font-size:12px;font-weight:700;position:absolute;bottom:-24px}.heat{flex-direction:column;gap:12px;display:flex}.heat-row{flex-direction:column;gap:6px;display:flex}.heat-grid{grid-template-rows:repeat(7,12px);grid-auto-columns:12px;grid-auto-flow:column;gap:3px;display:grid}.heat-cell{border-radius:3px;width:12px;height:12px;display:inline-block}.heat-legend{color:#6e6488;align-self:flex-start;align-items:center;gap:4px;font-size:12px;font-weight:700;display:flex}@media (width<=640px){.week-users{grid-template-columns:1fr}}.season-fx{pointer-events:none;z-index:900;position:fixed;inset:0;overflow:hidden}.season-bit{border-radius:50%;animation-name:season-fall;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;top:-20px}.season-bit.snow{opacity:.85;background:#fff;box-shadow:0 0 6px #fffc}.season-bit.petal{opacity:.9;border-radius:70% 0}.season-bit.confetti{opacity:.9;border-radius:2px}.season-bit.spark{background:#ffc36b;animation-name:season-rise;top:auto;bottom:-10px;box-shadow:0 0 8px #ff9a3c}@keyframes season-fall{0%{transform:translate(0)rotate(0)}to{transform:translate(var(--drift), 105vh) rotate(320deg)}}@keyframes season-rise{0%{opacity:0;transform:translate(0)}15%{opacity:1}to{transform:translate(var(--drift), -70vh);opacity:0}}.season-yalda:after{content:"";background:radial-gradient(at 50% 120%,#d9485f29,#0000 60%);position:absolute;inset:0}.season-banner{z-index:1000;white-space:nowrap;border-radius:999px;align-items:center;gap:10px;padding:8px 16px;font-size:13.5px;display:flex;position:absolute;top:100px;left:50%;transform:translate(-50%)}.season-chip{color:#7a5410;background:#fff0c7;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:800}@media (width<=1500px){.season-banner .muted{display:none}}.castle-season{color:#b0475c;font-size:11.5px;font-weight:800}@media (prefers-reduced-motion:reduce){.season-fx{display:none}}.stage-pan{direction:ltr;position:absolute;inset:0;overflow:clip}.home-header{z-index:1100;border-radius:22px;justify-content:space-between;align-items:center;gap:24px;height:64px;padding:0 16px 0 12px;display:flex;position:absolute;top:20px;left:20px;right:20px}.home-aside{z-index:1000;flex-direction:column;gap:12px;width:340px;display:flex;position:absolute;top:104px;bottom:20px;right:20px}.aside-focus{flex-shrink:0}.sheet-handle{display:none}.music-rail.open .music-pop{opacity:1;pointer-events:auto;transform:none}@media (width<=760px){.hide-phone{display:none!important}.stage-pan{scrollbar-width:none;touch-action:pan-x;overscroll-behavior-x:contain;overflow:auto hidden}.stage-pan::-webkit-scrollbar{display:none}.home-header{border-radius:18px;gap:6px;height:52px;padding:0 8px;top:8px;left:8px;right:8px}.home-header>div{gap:6px!important}.home-header .btn,.home-header .pill{min-height:36px!important}.home-header .reaction-trigger,.home-header .game-trigger,.home-header .hdr-btn{min-width:38px;padding:0 10px!important}.home-header .game-count,.home-header .pill[title=روزهای\ پشت‌سرهم]{display:none}.reaction-menu,.game-menu{width:auto;max-height:calc(100vh - 90px);animation-name:game-menu-pop;position:fixed;top:66px;left:8px;right:8px;overflow-y:auto;transform:none}.reaction-menu:before{display:none}.world-bar{border-radius:16px;gap:10px;max-width:none;padding:6px 12px;top:66px;left:8px;right:8px}.side-rail{border-radius:16px;flex-direction:row;justify-content:space-between;width:auto;padding:4px 6px;top:130px;left:8px;right:8px}.rail-btn{border-radius:12px;width:38px;height:38px}.rail-btn[data-label]:after{display:none}.rail-sep{width:2px;height:24px;margin:0}.rail-count{bottom:-2px;right:-4px}.music-pop{width:min(260px,100vw - 32px);inset:calc(100% + 10px) auto auto 0;transform:translateY(-6px)}.music-pop:before{display:none}.season-banner{padding:5px 12px;font-size:12.5px;top:186px}.season-banner .muted,.season-chip{display:none}.toast{white-space:normal;text-align:center;width:max-content;max-width:calc(100vw - 32px);font-size:14px;top:186px}.home-aside{gap:8px;width:auto;max-height:calc(100dvh - 70px);inset:auto 8px 8px}.home-aside .aside-scroll{display:none}.home-aside.open .aside-scroll{display:flex}.home-aside .card{border-radius:22px;gap:10px;padding:12px 14px}.sheet-handle{cursor:pointer;font:inherit;color:#2f2b45;background:#ffffffeb;border:none;border-radius:999px;flex-direction:column;align-self:center;align-items:center;gap:5px;padding:6px 18px 8px;font-size:13px;font-weight:800;display:flex;box-shadow:0 4px 12px -4px #4c3c8259}.sheet-grip{background:#cfc4e6;border-radius:4px;width:34px;height:4px}.modal{border-radius:26px;padding:20px 16px}.modal-backdrop{align-items:flex-end}.modal-backdrop>.modal{max-height:calc(100dvh - 16px);margin-bottom:8px;overflow-y:auto}.castle-body{grid-template-columns:1fr}.castle-head{flex-wrap:wrap}.castle-owner button{padding:6px 12px;font-size:13px}.castle-modal{gap:10px}.castle-items{overflow:visible}.ach-modal{height:auto;padding:18px 14px 0}.ach-head{flex-wrap:wrap;gap:10px}.ach-head>div:first-child{flex:60%}.week-modal{padding:18px 14px}.week-plot{gap:2px}.week-dayname{font-size:10.5px}.heat-grid{grid-template-rows:repeat(7,9px);grid-auto-columns:9px;gap:2px}.heat-grid .heat-cell{border-radius:2px;width:9px;height:9px}.game-modal{padding:14px 12px 16px}.deep-exit{padding:8px 14px;font-size:13px;top:14px;left:14px}.deep-goal{font-size:15px}.deep-sounds .ambient-mixer{grid-template-columns:1fr;gap:6px}.deep-center{margin-bottom:190px}}@media (width<=760px) and (height<=700px){.deep-sounds{display:none}.deep-center{margin-bottom:0}}@media (width<=760px){.shop-modal{flex-direction:column!important;gap:12px!important}.shop-side{width:auto!important}.shop-stage{min-height:0!important;padding:12px!important}.shop-dragon{width:120px!important}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow:visible!important}.modal-title{font-size:21px!important}.journal-modal{height:calc(100dvh - 16px)!important;padding:18px 14px 0!important}.journal-head{flex-wrap:wrap}.journal-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}}.ambient-name{flex-direction:column;line-height:1.3;display:flex}.ambient-status{color:#8e80c4;font-size:10.5px;font-weight:700}.ambient-status.error{color:#b03a5b}.ambient-mixer.dark .ambient-status{color:#cfc4e6}.ambient-mixer.dark .ambient-status.error{color:#ffb4c4}.week-modal .week-users{grid-template-columns:repeat(3,minmax(0,1fr))}.week-col{width:12px}@media (width<=760px){.week-modal .week-users{grid-template-columns:1fr}.week-col{width:9px}}.ogre-fly{animation:1.3s ease-in-out infinite ogre-fly}.ogre-fly.f1{animation-duration:1.1s;animation-delay:-.4s}.ogre-fly.f2{animation-duration:1.5s;animation-delay:-.8s}.ogre-fly.f3{animation-delay:-.2s}@keyframes ogre-fly{0%,to{transform:translate(0)}25%{transform:translate(9px,-7px)}50%{transform:translate(-6px,-11px)}75%{transform:translate(-10px,4px)}}.cm-bubble-mud{transform-box:fill-box;transform-origin:50%;animation:2.2s ease-in infinite cm-mud}.cm-bubble-mud.b2{animation-delay:.7s}.cm-bubble-mud.b3{animation-delay:1.4s}@keyframes cm-mud{0%{opacity:0;transform:scale(.3)}70%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.25)}}.cm-sink{animation:3.4s cubic-bezier(.4,0,.7,1) .6s both cm-sink}@keyframes cm-sink{0%{transform:translateY(0)rotate(0)}30%{transform:translateY(40px)rotate(-3deg)}60%{transform:translateY(150px)rotate(3deg)}to{transform:translateY(380px)rotate(-2deg)}}@media (width<=1420px){.brand-name{display:none}.home-header{gap:10px}.home-header>div{gap:6px!important}.home-header .pill{padding-inline:10px;font-size:13px}}@media (width<=760px){.wish-form{flex-wrap:wrap}.wish-form .field{min-width:0;flex:100%!important}.wish-form .btn{width:100%}.wish-columns{flex-direction:column!important;align-items:stretch!important}}
