:root{--ink:#5b4a54;--ink-soft:#8a7882;--paper:#fffdf9;--line:#f0e3ea;--pink:#ff8fb1;--pink-deep:#e0648d;--danger:#e25563;--bg1:#e9f8e4;--bg2:#ffeaf2;--accent:#ff8fb1;--deep:#c2557a;--radius:22px;--shadow:0 6px 0 #5b4a5414, 0 10px 24px #5b4a5414;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0}html{-webkit-text-size-adjust:100%;background:#fff4f8}body{color:var(--ink);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:pan-x pan-y;background:#fff4f8;font-family:Hiragino Maru Gothic ProN,Hiragino Sans,"M PLUS Rounded 1c",Yu Gothic UI,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:17px;line-height:1.5;overflow-x:hidden}body.has-sheet{overflow:hidden}input,textarea{-webkit-user-select:text;user-select:text;font:inherit;color:inherit}html{touch-action:pan-x pan-y}button{font:inherit;color:inherit;cursor:pointer;touch-action:pan-x pan-y}button:focus-visible{outline-offset:2px;outline:3px solid #7cb7ff}input:focus-visible{outline-offset:2px;outline:3px solid #7cb7ff}#app{min-height:100dvh}.btn{min-height:48px;box-shadow:0 3px 0 var(--line), inset 0 0 0 2px var(--line);background:#fff;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:16px;font-weight:700;transition:transform 80ms;display:inline-flex}.btn:active{transform:translateY(2px)scale(.98)}.btn:disabled{opacity:.45;pointer-events:none}.btn.primary{background:var(--pink);color:#fff;box-shadow:0 4px 0 var(--pink-deep)}.btn.danger{background:var(--danger);color:#fff;box-shadow:0 4px #b43745}.btn.danger-soft{color:var(--danger);box-shadow:0 3px #f6d0d4,inset 0 0 0 2px #f6d0d4}.btn.ghost{box-shadow:none;background:#f6f0f3}.btn.big{min-height:64px;padding:14px 28px;font-size:20px}.btn.small{min-height:40px;padding:6px 14px;font-size:14px}.btn.wide{width:100%}.btn.link{box-shadow:none;color:var(--ink-soft);background:0 0;font-weight:400;text-decoration:underline}.btn.add{box-shadow:none;color:var(--ink-soft);background:0 0;border:2px dashed #e7cfdb}.btn.round{width:48px;padding:0}.btn.back{min-height:44px;font-size:16px}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.row input{flex:1;min-width:0}input[type=text]{border:2px solid var(--line);background:#fff;border-radius:14px;width:100%;min-height:48px;padding:8px 14px;font-size:17px}input[type=text]:focus{border-color:var(--pink);outline:none}.screen{min-height:100dvh;padding:calc(16px + var(--safe-t)) calc(16px + var(--safe-r)) calc(16px + var(--safe-b)) calc(16px + var(--safe-l))}.center{text-align:center;place-content:center;justify-items:center;display:grid}.loading-screen p{margin:8px 0 0;font-size:18px}.loader{gap:8px;font-size:34px;display:flex}.loader span{animation:1s ease-in-out infinite bob}.loader span:nth-child(2){animation-delay:.1s}.loader span:nth-child(3){animation-delay:.2s}.loader span:nth-child(4){animation-delay:.3s}.loader span:nth-child(5){animation-delay:.4s}.loader span:nth-child(6){animation-delay:.5s}.loader.small{font-size:24px}@keyframes bob{50%{transform:translateY(-12px)rotate(8deg)}}.login-screen{background:radial-gradient(circle at 20% 10%,#ffe9f2,#0000 50%),radial-gradient(circle at 80% 90%,#e5f5ff,#0000 50%),#fff8fb}.login-card{width:min(520px,100%);box-shadow:var(--shadow);background:#fff;border-radius:32px;padding:28px 22px}.login-chars{grid-template-columns:repeat(6,1fr);gap:6px;margin-bottom:8px;display:grid}.mini-char{background:var(--bg);aspect-ratio:1;border-radius:50%;place-items:center;padding:4px;display:grid}.mini-char svg{width:100%;height:100%}.mini-char{animation:2.4s ease-in-out infinite miniBob;animation-delay:calc(var(--i,0) * .2s)}@keyframes miniBob{0%,to{transform:none}50%{transform:translateY(-7px)rotate(-5deg)}}.login-card .logo{animation:.8s cubic-bezier(.3,1.6,.5,1) .15s backwards logoIn}@keyframes logoIn{0%{opacity:0;transform:scale(.4)rotate(-6deg)}}.logo{color:var(--pink-deep);letter-spacing:.04em;margin:12px 0 6px;font-size:clamp(30px,8vw,42px);line-height:1.2}.logo span{color:var(--ink)}.logo.small{text-align:center;font-size:26px}.lead{margin:0 0 20px}.google{background:#fff;width:100%;box-shadow:0 4px #e6dde2,inset 0 0 0 2px #e6dde2}.note{color:var(--ink-soft);font-size:14px}.test-login{background:#f7f3ff;border-radius:16px;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px;padding:12px;display:flex}.test-login p{width:100%;color:var(--ink-soft);margin:0;font-size:13px}.onboard-screen{background:#fff8fb;justify-items:center;display:grid}.onboard-card{gap:16px;width:min(720px,100%);display:grid}.panel{box-shadow:var(--shadow);background:#fff;border-radius:28px;padding:20px}.panel h2{margin:0 0 12px;font-size:20px}.field{gap:6px;margin-bottom:14px;font-size:15px;font-weight:700;display:grid}.field-label{margin:4px 0 8px;font-size:15px;font-weight:700}.hint{color:var(--ink-soft);margin:4px 0 12px;font-size:14px}.panel .btn.big{width:100%;margin-top:14px}.char-pick{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.char-card{background:linear-gradient(180deg, var(--bg1), var(--bg2));border:0;border-radius:22px;justify-items:center;gap:2px;padding:8px 6px 10px;transition:transform .12s,box-shadow .12s;display:grid;box-shadow:inset 0 0 0 3px #0000,0 3px #0000000d}.char-card[aria-pressed=true]{box-shadow:inset 0 0 0 4px var(--accent), 0 4px 0 var(--accent);transform:translateY(-2px)}.char-card-art{aspect-ratio:200/220;width:76%;display:block}.char-card-art svg{width:100%;height:100%}.char-card-name{font-size:15px;font-weight:700}.char-card-world{color:var(--ink-soft);font-size:12px}.main{--top-h:60px;background:linear-gradient(180deg, var(--bg2), #fffaf7 60%);min-height:100dvh;padding:0 calc(12px + var(--safe-r)) calc(12px + var(--safe-b)) calc(12px + var(--safe-l));flex-direction:column;transition:background .5s;display:flex}.topbar{min-height:var(--top-h);padding-top:var(--safe-t);align-items:center;gap:8px;display:flex}.brand{flex:1;align-items:center;gap:6px;min-width:0;font-weight:800;display:flex}.brand-mark{font-size:22px}.brand-name{white-space:nowrap;text-overflow:ellipsis;font-size:17px;overflow:hidden}.saving{color:var(--ink-soft);align-items:center;gap:4px;min-width:0;font-size:12px;display:flex}.saving .cloud{animation:1.2s ease-in-out infinite bob}.icon-btn{min-width:56px;min-height:52px;box-shadow:0 3px 0 var(--line);background:#fff;border:0;border-radius:18px;align-content:center;justify-items:center;padding:4px 8px;display:grid}.ib-icon{font-size:22px;line-height:1;position:relative}.ib-label{color:var(--ink-soft);font-size:11px;font-weight:700}.hold-ring{pointer-events:none;width:40px;height:40px;position:absolute;top:-9px;bottom:-9px;left:-9px;right:-9px;transform:rotate(-90deg)}.hold-ring circle{fill:none;stroke:var(--accent);stroke-width:4px;stroke-dasharray:107;stroke-dashoffset:107px;stroke-linecap:round}.pressing .hold-ring circle{stroke-dashoffset:0;transition:stroke-dashoffset .9s linear}.stage-panel{height:clamp(380px,62dvh,540px);box-shadow:var(--shadow);background:var(--bg1);isolation:isolate;border-radius:30px;flex-direction:column;justify-content:flex-end;padding-top:46px;display:flex;position:relative;overflow:hidden}.scene{z-index:-1;position:absolute;top:0;bottom:0;left:0;right:0}.scene-svg{width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.scene-svg [class^=a-],.scene-svg [class*=\ a-]{animation-delay:var(--dl,0s)}.scene-svg .a-drift{animation:aDrift var(--t,20s) ease-in-out infinite alternate;animation-delay:var(--dl,0s)}@keyframes aDrift{0%{transform:translateX(calc(var(--dx,30px) * -1))}to{transform:translateX(var(--dx,30px))}}.scene-svg .a-sway{transform-box:fill-box;transform-origin:50% 100%;animation:aSway var(--t,3s) ease-in-out infinite alternate;animation-delay:var(--dl,0s)}@keyframes aSway{0%{transform:rotate(calc(var(--r,6deg) * -1))}to{transform:rotate(var(--r,6deg))}}.scene-svg .a-spin{transform-box:fill-box;transform-origin:50%;animation:spin var(--t,20s) linear infinite}.scene-svg .a-bob{animation:aBob var(--t,2s) ease-in-out infinite alternate;animation-delay:var(--dl,0s)}@keyframes aBob{0%{transform:translateY(calc(var(--y,4px) * -1))}to{transform:translateY(var(--y,4px))}}.scene-svg .a-flap{transform-box:fill-box;transform-origin:50%;animation:.2s ease-in-out infinite alternate aFlap}@keyframes aFlap{to{transform:scaleX(.3)}}.scene-svg .a-flapY{transform-box:fill-box;transform-origin:50%;animation:.32s ease-in-out infinite alternate aFlapY}@keyframes aFlapY{to{transform:scaleY(-.6)}}.scene-svg .a-twinkle{animation:aTwinkle var(--t,1.6s) ease-in-out infinite;animation-delay:var(--dl,0s)}@keyframes aTwinkle{50%{opacity:.15}}.scene-svg .a-shimmer{opacity:.55;animation:3s ease-in-out infinite aShimmer}@keyframes aShimmer{50%{opacity:.3}}.scene-svg .a-pulse{transform-box:fill-box;transform-origin:50%;animation:aPulse var(--t,3s) ease-in-out infinite alternate;animation-delay:var(--dl,0s)}@keyframes aPulse{to{transform:scale(1.14)rotate(6deg)}}.scene-svg .a-float{opacity:0;animation:aFloat var(--t,5s) ease-in-out infinite;animation-delay:var(--dl,0s)}@keyframes aFloat{0%{opacity:0;transform:translate(0)}15%{opacity:1}50%{transform:translate(var(--dx,12px), -55px)}85%{opacity:1}to{opacity:0;transform:translateY(-110px)}}.scene-svg .a-fall{animation:aFall var(--t,8s) linear infinite;animation-delay:var(--dl,0s)}@keyframes aFall{0%{transform:translateY(-20px)rotate(0)}50%{transform:translate(var(--dx,30px), 150px) rotate(180deg)}to{transform:translateY(330px)rotate(360deg)}}.scene-svg .a-across{animation:aAcross var(--t,16s) linear infinite;animation-delay:var(--dl,0s)}@keyframes aAcross{0%{transform:translate(-60px)}to{transform:translate(460px)}}.scene-svg .a-rise{animation:aRise var(--t,12s) linear infinite;animation-delay:var(--dl,0s)}@keyframes aRise{0%{transform:translateY(70px)}50%{transform:translate(var(--dx,16px), -110px)}to{transform:translateY(-300px)}}.scene-svg .a-march{animation:1.1s linear infinite aMarch}@keyframes aMarch{to{stroke-dashoffset:-22px}}.scene-svg .a-wave{transform-box:fill-box;transform-origin:0;animation:.8s ease-in-out infinite alternate aWave;animation-delay:var(--dl,0s)}@keyframes aWave{0%{transform:skewY(-10deg)scaleX(.85)}to{transform:skewY(8deg)scaleX(1.05)}}.scene-svg .a-steam{opacity:0;transform-box:fill-box;transform-origin:50% 100%;animation:3s ease-out infinite aSteam;animation-delay:var(--dl,0s)}@keyframes aSteam{0%{opacity:0;transform:translateY(6px)scale(.6)}30%{opacity:.95}to{opacity:0;transform:translateY(-24px)scale(1.2,1.4)}}.scene-svg .a-draw{animation:5s ease-in-out infinite aDraw;animation-delay:var(--dl,0s)}@keyframes aDraw{0%{stroke-dashoffset:var(--len,200);opacity:1}55%,85%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}.scene-svg .a-spot{transform-box:view-box;transform-origin:200px 0;animation:6s ease-in-out infinite alternate aSpot}@keyframes aSpot{0%{transform:rotate(-8deg)}to{transform:rotate(8deg)}}.scene-svg .a-curtain{transform-box:fill-box;transform-origin:50% 0;animation:5s ease-in-out infinite alternate aCurtain;animation-delay:var(--dl,0s)}@keyframes aCurtain{0%{transform:skew(-1.5deg)}to{transform:skew(1.5deg)scaleX(1.04)}}.scene-svg .a-crawl{transform-box:fill-box;transform-origin:50%;animation:aCrawl var(--t,12s) ease-in-out infinite}@keyframes aCrawl{0%{transform:translate(0)scaleX(1)}45%{transform:translateX(var(--dx,50px)) scaleX(1)}50%{transform:translateX(var(--dx,50px)) scaleX(-1)}95%{transform:translate(0)scaleX(-1)}to{transform:translate(0)scaleX(1)}}.scene-svg .a-flyA{animation:aFlyA var(--t,14s) ease-in-out infinite;animation-delay:var(--dl,0s)}@keyframes aFlyA{0%,to{transform:translate(0)}20%{transform:translate(-40px,-35px)}40%{transform:translate(-70px,5px)}60%{transform:translate(-30px,40px)}80%{transform:translate(15px,10px)}}.scene-svg .a-flyB{animation:aFlyB var(--t,12s) ease-in-out infinite;animation-delay:var(--dl,0s)}@keyframes aFlyB{0%,to{transform:translate(0)}25%{transform:translate(45px,-25px)}50%{transform:translate(70px,20px)}75%{transform:translate(25px,35px)}}.scene-svg .a-buzz{animation:9s ease-in-out infinite aBuzz}@keyframes aBuzz{0%,to{transform:translate(0)}12%{transform:translate(10px,-8px)}25%{transform:translate(26px,4px)}38%{transform:translate(40px,-10px)}52%{transform:translate(56px,6px)}66%{transform:translate(38px,18px)}80%{transform:translate(16px,8px)}90%{transform:translate(4px,14px)}}body.has-sheet .scene-svg *,body.evolving .scene-svg *{animation-play-state:paused}html.reduce-motion .scene-svg .a-float,html.reduce-motion .scene-svg .a-fall,html.reduce-motion .scene-svg .a-steam,html.reduce-motion .scene-svg .a-rise{display:none}.world-tag{color:var(--deep);white-space:nowrap;text-overflow:ellipsis;background:#ffffffd9;border-radius:999px;max-width:calc(100% - 24px);padding:4px 12px;font-size:13px;font-weight:700;position:absolute;top:10px;left:12px;overflow:hidden}.bubble{text-align:center;z-index:2;background:#fff;border-radius:22px;width:max-content;max-width:min(92%,440px);margin:0 auto;padding:10px 16px;font-size:16px;font-weight:700;line-height:1.45;position:relative;box-shadow:0 4px #0000000f}.bubble:after{content:"";border:10px solid #0000;border-top-color:#fff;border-bottom:0;margin-left:-10px;position:absolute;bottom:-10px;left:50%}.bubble:empty{display:none}.bubble.pop{animation:.45s cubic-bezier(.3,1.6,.5,1) bubblePop}@keyframes bubblePop{0%{opacity:0;transform:scale(.6)}}.bubble.pop span{animation:.4s cubic-bezier(.3,1.7,.5,1) backwards letterIn;animation-delay:calc(var(--i) * 24ms + 80ms);display:inline-block}@keyframes letterIn{0%{opacity:0;transform:translateY(10px)scale(.3)}}.char-wrap{flex:1;justify-content:center;align-items:flex-end;min-height:0;padding-top:14px;display:flex}.char{aspect-ratio:200/220;cursor:pointer;height:100%;max-height:300px}.char svg{width:100%;height:100%;display:block;overflow:visible}.char-body{transition:transform .5s cubic-bezier(.3,1.5,.5,1)}.char-svg .face{display:none}.char-svg .face-normal{display:inline}.char[data-face]:not([data-face=normal]) .face-normal{display:none}.char[data-face=happy] .face-happy,.char[data-face=wow] .face-wow,.char[data-face=wink] .face-wink,.char[data-face=oops] .face-oops,.char[data-face=sleep] .face-sleep,.char[data-face=dizzy] .face-dizzy{display:inline}.char .eyes{transform-box:fill-box;transform-origin:50%;transition:transform 70ms}.char.blink .eyes{transform:scaleY(.12)}.char .look{transform:translate(var(--lx,0px), var(--ly,0px));transition:transform .28s cubic-bezier(.3,1.4,.5,1)}.char .sweat{animation:1.2s ease-in infinite sweat}@keyframes sweat{0%{opacity:0;transform:translateY(-3px)}30%{opacity:1}to{opacity:0;transform:translateY(8px)}}.char .zzz text{opacity:0;animation:2.4s ease-in-out infinite zfloat}.char .zzz text:nth-child(2){animation-delay:.5s}.char .zzz text:nth-child(3){animation-delay:1s}@keyframes zfloat{0%{opacity:0;transform:translateY(6px)}30%{opacity:1}to{opacity:0;transform:translate(8px,-10px)}}.char.sleeping svg{animation:4s ease-in-out infinite sleepy}@keyframes sleepy{50%{transform:scale(1.03,.97)rotate(-3deg)}}.char.squish svg{animation:.45s cubic-bezier(.3,1.6,.5,1) squish}@keyframes squish{30%{transform:scale(1.14,.84)}65%{transform:scale(.94,1.08)}}.char.dizzy svg{transform-origin:50% 70%;animation:1.3s ease-in-out dizzy}@keyframes dizzy{20%{transform:rotate(-12deg)}45%{transform:rotate(12deg)}70%{transform:rotate(-7deg)}90%{transform:rotate(4deg)}}.char-svg .ear{transform-box:view-box}.char.quirk.char-usagi .ear-r{animation:.35s ease-in-out 3 earFlick}.char.quirk.char-usagi svg{animation:.5s ease-out .9s hopSmall}@keyframes earFlick{50%{transform:rotate(-24deg)}}@keyframes hopSmall{40%{transform:translateY(-14px)scale(.97,1.04)}70%{transform:translateY(0)scale(1.05,.95)}}.char.quirk.char-neko svg{animation:1.4s ease-in-out tilt}.char.quirk.char-neko .tail{animation-duration:.35s}@keyframes tilt{25%,75%{transform:rotate(-9deg)}}.char.quirk.char-inu .tail{animation:.16s ease-in-out 8 tail}.char.quirk.char-inu .ear{animation:.3s ease-in-out 4 earBounce}@keyframes earBounce{50%{transform:rotate(6deg)translateY(-2px)}}.char.quirk.char-inu .ear-r{animation-name:earBounceR}@keyframes earBounceR{50%{transform:rotate(-6deg)translateY(-2px)}}.char.quirk.char-kuma svg{animation:1.4s ease-in-out rock}@keyframes rock{25%{transform:rotate(-7deg)}75%{transform:rotate(7deg)}}.char.quirk.char-panda svg{animation:1.4s cubic-bezier(.4,1.4,.6,1) lean}@keyframes lean{35%,65%{transform:rotate(16deg)translate(8px)}}.char.quirk.char-hiyoko svg{animation:.45s ease-out 2 hopSmall}.char.quirk.char-hiyoko .wing-l,.char.quirk.char-hiyoko .wing-r{transform-box:fill-box;animation:.15s ease-in-out 6 wing}.char.quirk.char-hiyoko .wing-l{transform-origin:100% 30%}.char.quirk.char-hiyoko .wing-r{transform-origin:0 30%}.char svg{transform-origin:50% 100%;animation:3s ease-in-out infinite breathe}@keyframes breathe{50%{transform:scale(1.015,.985)}}.char .tail{transform-box:fill-box;transform-origin:0 100%;animation:1.6s ease-in-out infinite tail}@keyframes tail{50%{transform:rotate(-8deg)}}.sparkle{transform-origin:50%;animation:1.4s ease-in-out infinite twinkle}@keyframes twinkle{50%{opacity:.35}}.cheer-hop svg{animation:.6s ease-out 2 hop}@keyframes hop{30%{transform:translateY(-34px)scale(.95,1.06)}60%{transform:translateY(0)scale(1.08,.92)}to{transform:none}}.cheer-dance svg{animation:.65s ease-in-out 2 dance}@keyframes dance{25%{transform:rotate(-12deg)translateY(-8px)}75%{transform:rotate(12deg)translateY(-8px)}}.cheer-wag svg{animation:.22s ease-in-out 5 wag}@keyframes wag{25%{transform:translate(-8px)rotate(-4deg)}75%{transform:translate(8px)rotate(4deg)}}.cheer-wag .tail{animation-duration:.2s}.cheer-wiggle svg{animation:.5s ease-in-out 2 wiggle}@keyframes wiggle{30%{transform:scale(1.14,.86)}60%{transform:scale(.9,1.12)translateY(-10px)}}.cheer-roll svg{transform-origin:50% 60%;animation:1.1s cubic-bezier(.4,1.4,.6,1) roll}@keyframes roll{0%{transform:none}70%{transform:rotate(360deg)translateY(-12px)}to{transform:rotate(360deg)}}.cheer-flap svg{animation:1.2s ease-in-out flap}@keyframes flap{40%{transform:translateY(-40px)}70%{transform:translateY(-30px)}}.cheer-flap .wing-l,.cheer-flap .wing-r{transform-box:fill-box;animation:.15s ease-in-out 8 wing}.cheer-flap .wing-l{transform-origin:100%}.cheer-flap .wing-r{transform-origin:0}@keyframes wing{50%{transform:rotate(-25deg)}}.char.enter svg{animation:.85s cubic-bezier(.3,1.5,.5,1) both charEnter}@keyframes charEnter{0%{opacity:0;transform:translateY(35%)scale(.2)}55%{opacity:1;transform:translateY(-8%)scale(1.12)}75%{transform:scale(.94,1.06)}to{transform:none}}.char.shrink svg{animation:.7s ease-out shrinkDown}.char.evolved svg{animation:.9s cubic-bezier(.3,1.6,.5,1) evolvedPop}@keyframes evolvedPop{0%{filter:brightness(2.2);transform:scale(.7)}50%{filter:brightness(1.3);transform:scale(1.15)}to{filter:none;transform:none}}@keyframes shrinkDown{30%{transform:scale(1.1,.8)}60%{transform:scale(.94,1.05)}}.stage-foot{z-index:3;gap:8px;padding:0 12px 12px;display:grid;position:relative}.growth{background:#ffffffe0;border-radius:18px;align-items:center;gap:12px;padding:8px 14px;display:flex}.growth-bar{background:#f1e6ec;border-radius:99px;flex:1;height:12px;margin:0 8px;position:relative}.growth-fill{background:linear-gradient(90deg, #ffe36e, var(--accent));border-radius:99px;height:100%;transition:width .6s cubic-bezier(.3,1.4,.5,1)}.growth-mark{color:#d7c5cf;font-size:20px;line-height:1;position:absolute;top:50%;transform:translate(-50%,-50%)}.growth-mark.on{color:#ffb400;text-shadow:0 0 6px #fff}.growth-mark.just{animation:.9s cubic-bezier(.3,1.8,.5,1) markPop}@keyframes markPop{0%{transform:translate(-50%,-50%)scale(.3)rotate(-120deg)}55%{text-shadow:0 0 14px #fff,0 0 24px #ffd84d;transform:translate(-50%,-50%)scale(2)rotate(20deg)}to{transform:translate(-50%,-50%)}}.growth-text{text-align:center;white-space:nowrap;font-size:13px;font-weight:700}.growth-text b{color:var(--deep);font-size:16px}.dekita-btn{letter-spacing:.1em;color:#fff;background:var(--accent);min-height:72px;box-shadow:0 6px 0 var(--deep);text-shadow:0 2px #00000026;white-space:nowrap;border:0;border-radius:999px;justify-content:center;align-items:center;gap:10px;font-size:28px;font-weight:800;animation:3s ease-in-out infinite nudge;display:flex}.dekita-btn:active{box-shadow:0 2px 0 var(--deep);animation:none;transform:translateY(4px)}.dekita-star{animation:4s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@keyframes nudge{0%,88%,to{transform:none}92%{transform:scale(1.04)}96%{transform:scale(.98)}}.book-panel{flex-direction:column;gap:10px;min-width:0;margin-top:14px;display:flex}.page-tabs{flex-wrap:wrap;gap:8px;display:flex}.tab{min-width:56px;min-height:52px;box-shadow:0 3px 0 var(--line);background:#fff;border:0;border-radius:16px;align-items:center;gap:4px;padding:4px 10px;font-weight:800;display:flex}.tab-face{font-size:22px;display:flex}.face-icon{--size:38px;width:var(--size);height:var(--size);background:radial-gradient(circle at 50% 35%,#fff,#fff4f8);border-radius:50%;flex:none;display:block;overflow:hidden;box-shadow:inset 0 0 0 2px #ffffffe6,0 1px 3px #5b4a542e}.face-icon svg{width:100%;height:100%;display:block}.chip .face-icon{--size:32px}.pl-face .face-icon{--size:44px}.tab-no{font-size:16px}.tab.on{background:var(--accent);color:#fff;box-shadow:0 3px 0 var(--deep);animation:.45s cubic-bezier(.3,1.7,.5,1) tabOn}@keyframes tabOn{0%{transform:scale(.85)}60%{transform:scale(1.1)translateY(-3px)}}.tab.pop-in{animation:.7s cubic-bezier(.3,1.7,.5,1) tabNew}@keyframes tabNew{0%{transform:scale(0)rotate(-30deg)}60%{transform:scale(1.25)rotate(8deg)}}.tab.add{color:var(--ink-soft);background:0 0;box-shadow:inset 0 0 0 2px #ead7e1}.tab.add .tab-no{font-size:13px}.book{background:var(--paper);box-shadow:var(--shadow);perspective:900px;background-image:radial-gradient(circle,#f3e6ec 1.2px,#0000 1.3px);background-size:18px 18px;border:3px solid #fff;border-radius:28px;padding:14px;position:relative;overflow:hidden}.grid-ghost{pointer-events:none;z-index:2}.book-count{display:inline-block}.book-count.bump{animation:.5s cubic-bezier(.3,1.8,.5,1) countBump}@keyframes countBump{40%{color:var(--deep);transform:scale(1.45)}}.book-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.book-title{font-size:16px}.book-title b{color:var(--deep);font-size:24px}.book-title span{color:var(--ink-soft);margin-left:6px;font-size:13px}.chip{min-height:44px;box-shadow:inset 0 0 0 2px var(--line);background:#fff;border:0;border-radius:999px;align-items:center;gap:4px;padding:4px 14px 4px 8px;font-size:14px;font-weight:700;display:inline-flex}.chip>span{font-size:22px}.grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%;margin:0 auto;display:grid}.slot{aspect-ratio:1;background:0 0;border:0;border-radius:50%;place-items:center;min-width:0;padding:0;display:grid;position:relative}.slot.empty{background:#ffffffb3;border:0;box-shadow:inset 0 0 0 3px #efdfe7}.slot.empty span{color:#dcc6d1;font-size:clamp(14px,3.5vw,22px);font-weight:800}.slot.filled{filter:drop-shadow(0 3px #5b4a541f)}.slot.filled .sticker-art{width:100%;height:100%}.slot.landing{visibility:hidden}.slot.pop,.detail-sticker.pop{animation:.5s cubic-bezier(.3,1.8,.5,1) slotPop}@keyframes slotPop{0%{transform:scale(.6)}60%{transform:scale(1.18)rotate(-6deg)}to{transform:none}}.slot.enter{animation:.5s cubic-bezier(.3,1.6,.5,1) backwards slotEnter;animation-delay:calc(var(--i,0) * 40ms + .12s)}@keyframes slotEnter{0%{opacity:0;transform:scale(0)rotate(-40deg)}70%{opacity:1;transform:scale(1.12)rotate(6deg)}}.slot.pop-in{animation:.8s cubic-bezier(.3,1.6,.5,1) slotRemote}@keyframes slotRemote{0%{opacity:0;transform:translateY(-60px)scale(.2)rotate(-180deg)}60%{opacity:1;transform:translateY(4px)scale(1.2)rotate(10deg)}80%{transform:scale(.94)}}.slot.flip{animation:.55s ease-out slotFlip}@keyframes slotFlip{0%{transform:rotateY(90deg)scale(1.1)}60%{transform:rotateY(-15deg)scale(1.12)}to{transform:none}}.slot.land{animation:.65s cubic-bezier(.3,1.6,.5,1) slotLand}@keyframes slotLand{0%{transform:scale(1.4)}20%{transform:scale(1.32,.7)}45%{transform:scale(.86,1.16)}70%{transform:scale(1.06,.95)}to{transform:none}}.slot.boing{animation:.6s cubic-bezier(.3,1.6,.5,1) boing}.slot.boing .sticker-emoji{animation:.6s ease-out emojiJump}@keyframes boing{0%{transform:none}22%{transform:scale(.78,1.18)}48%{transform:scale(1.22,.84)rotate(-8deg)}72%{transform:scale(.95,1.06)rotate(4deg)}to{transform:none}}@keyframes emojiJump{35%{transform:translateY(-28%)scale(1.3)rotate(-12deg)}65%{transform:translateY(4%)scale(.95)}}.slot.glint .sticker-art:before{content:"";z-index:2;pointer-events:none;background:linear-gradient(115deg,#0000 30%,#fffffff2 48%,#0000 62%) 0 0/260% 100% no-repeat;border-radius:50%;animation:.9s ease-out both glint;position:absolute;top:6%;bottom:6%;left:6%;right:6%}.slot.glint:before{content:"✦";z-index:3;color:#fff;pointer-events:none;text-shadow:0 0 6px #fff, 0 0 12px var(--accent);font-size:clamp(14px,3vw,22px);animation:.9s ease-out both twinklePop;position:absolute;top:-2%;right:6%}@keyframes glint{0%{background-position:130% 0}to{background-position:-60% 0}}@keyframes twinklePop{0%{opacity:0;transform:scale(0)rotate(0)}40%{opacity:1;transform:scale(1.4)rotate(90deg)}to{opacity:0;transform:scale(0)rotate(180deg)}}.slot.empty.next{box-shadow:inset 0 0 0 3px var(--accent);background:#fffffff2}.slot.empty.next span{color:var(--accent);animation:1.6s ease-in-out infinite nextHop}.slot.empty.next:after{content:"";border:3px dashed var(--accent);pointer-events:none;border-radius:50%;animation:9s linear infinite spin,1.6s ease-in-out infinite nextFade;position:absolute;top:-5px;bottom:-5px;left:-5px;right:-5px}@keyframes nextHop{0%,60%,to{transform:none}30%{transform:translateY(-5px)scale(1.15)}}@keyframes nextFade{50%{opacity:.35}}.sticker-art{aspect-ratio:1;display:block;position:relative;container-type:inline-size}.sticker-art svg{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.sticker-emoji{filter:drop-shadow(0 1px #fffc);place-items:center;font-size:46cqw;line-height:1;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.sticker-art:after{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffffbf,#0000);border-radius:50%;position:absolute;top:8%;bottom:55%;left:12%;right:40%}.fly-sticker{z-index:90;pointer-events:none;will-change:transform;position:fixed}.fly-sticker .sticker-art{filter:drop-shadow(0 8px 10px #0000002e);width:100%;height:100%}.trail{z-index:89;pointer-events:none;will-change:transform, opacity;font-size:16px;position:fixed}.fx-ring{z-index:92;pointer-events:none;will-change:transform, opacity;border:10px solid;border-radius:50%;position:fixed}.fx-flash{z-index:92;pointer-events:none;background:radial-gradient(circle,#fff 0%,#ffffffb3 35%,#fff0 70%);border-radius:50%;position:fixed}.stamp-text{z-index:94;pointer-events:none;white-space:nowrap;letter-spacing:.04em;color:#fff;-webkit-text-stroke:7px var(--c);paint-order:stroke fill;text-shadow:0 4px #0000001f;font-size:30px;font-weight:900;position:fixed}.plus-one{z-index:94;pointer-events:none;color:#fff;-webkit-text-stroke:5px var(--c);paint-order:stroke fill;font-size:22px;font-weight:900;position:fixed}.confetti{z-index:98;pointer-events:none;will-change:transform, opacity;position:fixed;top:0}.particle{z-index:98;pointer-events:none;will-change:transform, opacity;font-size:22px;position:fixed}.puff{z-index:98;pointer-events:none;will-change:transform, opacity;background:#fff;border-radius:50%;position:fixed;box-shadow:0 0 10px #ffffffe6}.beacon{z-index:88;pointer-events:none;border:4px dashed var(--c);border-radius:50%;animation:2.4s linear infinite spin,.5s ease-in-out infinite alternate beaconGlow;position:fixed}@keyframes beaconGlow{0%{box-shadow:0 0 0 0 #ffffffe6, inset 0 0 10px var(--c)}to{box-shadow:0 0 0 10px #fff0, inset 0 0 24px var(--c)}}.veil{z-index:40;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;pointer-events:none;background:#fff8fbb8;place-content:center;justify-items:center;gap:6px;font-weight:700;transition:opacity .2s;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.veil.show{opacity:1;pointer-events:auto}@media (min-width:700px) and (orientation:portrait){.main{padding-left:calc(24px + var(--safe-l));padding-right:calc(24px + var(--safe-r))}.topbar{--top-h:72px}.brand-name{font-size:20px}.stage-panel{height:clamp(420px,46dvh,560px)}.char{max-height:340px}.bubble{font-size:19px}.book-panel{width:100%;max-width:760px;margin:18px auto 0}.grid{gap:14px;max-width:min(100%,74.6667dvh - 373.333px,640px)}.dekita-btn{min-height:80px;font-size:32px}}@media (orientation:landscape) and (min-width:640px){.main{height:100dvh;min-height:0;padding-left:calc(18px + var(--safe-l));padding-right:calc(18px + var(--safe-r));grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:18px;display:grid;overflow:hidden}.topbar{grid-column:1/-1}.stage-panel{height:auto;min-height:0}.char{max-height:none}.book-panel{min-height:0;margin-top:0}.book{flex-direction:column;flex:1;min-height:0;display:flex;container-type:size}.book-head{flex:none}.grid{flex:1;align-content:center;width:min(100cqw - 28px,133.333cqh - 77.3333px);min-height:0}.slot.empty span{font-size:clamp(14px,2vw,22px)}@container (aspect-ratio<=1){.grid{grid-template-columns:repeat(3,minmax(0,1fr));width:min(100cqw - 28px,75cqh - 39px)}}}@media (orientation:landscape) and (min-width:640px) and (max-height:500px){.main{--top-h:48px;padding-bottom:calc(8px + var(--safe-b))}.icon-btn{min-height:42px}.ib-label{display:none}.stage-panel{padding-top:34px}.bubble{padding:6px 12px;font-size:14px}.world-tag{font-size:11px;top:8px}.char-wrap{padding-top:10px}.growth{flex-direction:column;align-items:stretch;gap:2px}.growth-bar{flex:none;margin:6px 8px 4px}.stage-foot{grid-template-columns:1fr auto;align-items:center;padding:0 8px 8px}.growth{padding:4px 10px 2px}.growth-text{font-size:11px}.dekita-btn{min-height:56px;padding:0 20px;font-size:22px}.book{padding:8px}.book-head{margin-bottom:4px}.book-title b{font-size:18px}.chip{min-height:36px;font-size:12px}.tab{min-height:42px}.page-tabs,.book-panel{gap:6px}.grid{gap:6px;width:min(100cqw - 16px,133.333cqh - 59.3333px)}}@media (orientation:landscape) and (min-width:1000px){.topbar{--top-h:76px}.brand-name{font-size:22px}.stage-panel{padding-top:60px}.bubble{font-size:20px}.char{max-height:380px}.dekita-btn{min-height:88px;font-size:34px}.stage-foot{padding:0 18px 18px}.grid{gap:14px}.tab{min-width:64px;min-height:58px}}.sheet-wrap{z-index:50;background:#5b4a5400;justify-content:center;align-items:flex-end;transition:background .25s;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.sheet-wrap.show{background:#5b4a5459}.sheet{width:100%;max-width:760px;max-height:calc(100dvh - 24px - var(--safe-t));background:#fffafc;border-radius:30px 30px 0 0;flex-direction:column;transition:transform .28s cubic-bezier(.3,1.1,.4,1);display:flex;position:relative;transform:translateY(100%);box-shadow:0 -8px 30px #0000001f}.sheet-wrap.show .sheet{transform:none}.sheet-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:18px calc(16px + var(--safe-r)) calc(20px + var(--safe-b)) calc(16px + var(--safe-l));overflow-y:auto}.sheet-close{z-index:2;background:#f4ebf0;border:0;border-radius:50%;width:48px;height:48px;font-size:26px;line-height:1;position:absolute;top:12px;right:12px}@media (min-width:700px) and (min-height:600px){.sheet-wrap{align-items:center;padding:24px}.sheet{opacity:0;border-radius:32px;max-height:calc(100dvh - 48px);transition:transform .25s,opacity .2s;transform:translateY(30px)scale(.96)}.sheet-wrap.show .sheet{opacity:1}}@media (orientation:landscape) and (max-height:500px){.sheet{border-radius:22px 22px 0 0;max-height:calc(100dvh - 8px)}}.sheet-title{align-items:center;gap:8px;margin:4px 56px 14px 4px;font-size:24px;display:flex}.title-icon{font-size:32px}.sheet-sub{color:var(--ink-soft);margin:-6px 0 14px 4px;font-size:17px;font-weight:700}.sheet-nav{margin:0 56px 8px 0}.empty-note{color:var(--ink-soft);text-align:center;grid-column:1/-1;padding:16px}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (min-width:600px){.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}.tile{background:var(--tile);border:0;border-radius:26px;align-content:center;justify-items:center;gap:6px;min-height:120px;padding:12px 8px;transition:transform .1s;display:grid;box-shadow:0 5px #5b4a541f}.tile:active{transform:translateY(3px)scale(.97);box-shadow:0 2px #5b4a541f}.tiles .tile,.sticker-pick .sticker-btn,.char-pick .char-card{animation:.45s cubic-bezier(.3,1.6,.5,1) backwards tileIn;animation-delay:calc(var(--i,0) * 45ms)}@keyframes tileIn{0%{opacity:0;transform:translateY(20px)scale(.6)}}.tile .tile-icon{display:inline-block}.tile:active .tile-icon{animation:.3s ease-in-out iconWiggle}@keyframes iconWiggle{30%{transform:rotate(-14deg)scale(1.2)}70%{transform:rotate(10deg)scale(1.1)}}.char-card.boing{animation:.6s cubic-bezier(.3,1.6,.5,1) boing}.dekita-btn.boing{animation:.5s cubic-bezier(.3,1.6,.5,1) btnBoing}@keyframes btnBoing{25%{transform:scale(.9,1.1)}55%{transform:scale(1.08,.92)}}.tile-icon{font-size:48px;line-height:1}.tile-name{text-align:center;font-size:18px;font-weight:800;line-height:1.3}.items .tile-name{font-size:17px}.sticker-pick{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:480px;margin:0 auto;display:grid}.sticker-pick.small{gap:8px;max-width:300px;margin:0 auto 10px}.sticker-btn{box-shadow:0 4px 0 var(--line);background:#fff;border:0;border-radius:24px;justify-items:center;gap:4px;padding:10px;font-size:14px;font-weight:700;display:grid}.sticker-btn .sticker-art{width:100%}.sticker-pick.small .sticker-btn{border-radius:16px;padding:4px}.sticker-btn.on{box-shadow:inset 0 0 0 4px var(--pink), 0 4px 0 var(--pink)}.sticker-btn:active{transform:scale(.94)}.detail{text-align:center;justify-items:center;gap:4px;display:grid}.detail-stage{perspective:600px;place-items:center;width:170px;height:160px;margin:0 auto 2px;display:grid;position:relative}.ds-rays{pointer-events:none;background:repeating-conic-gradient(#ffcd506b 0 10deg, transparent 10deg 24deg);border-radius:50%;animation:14s linear infinite spin;position:absolute;top:-34px;bottom:-34px;left:-34px;right:-34px;-webkit-mask:radial-gradient(circle,#000 22%,#0000 68%);mask:radial-gradient(circle,#000 22%,#0000 68%)}.ds-spark{pointer-events:none;font-size:20px;animation:1.8s ease-in-out infinite twinkleStar;position:absolute}.ds-spark.s1{top:2px;right:8px}.ds-spark.s2{animation-delay:.6s;bottom:12px;left:2px}.ds-spark.s3{font-size:14px;animation-delay:1.1s;top:20px;left:14px}@keyframes twinkleStar{0%,to{opacity:.4;transform:scale(.6)}50%{opacity:1;transform:scale(1.2)rotate(20deg)}}.detail-sticker{width:128px;position:relative}.detail-sticker .sticker-emoji{animation:2.6s ease-in-out infinite floaty}@keyframes floaty{50%{transform:translateY(-5%)rotate(6deg)scale(1.05)}}.detail-sticker.waiting{visibility:hidden}.detail-sticker.arrive{animation:.65s cubic-bezier(.3,1.6,.5,1) slotLand}.detail>:not(.detail-stage){animation:.45s cubic-bezier(.3,1.3,.5,1) backwards rise}.detail>:nth-child(2){animation-delay:.1s}.detail>:nth-child(3){animation-delay:.16s}.detail>:nth-child(4){animation-delay:.22s}.detail>:nth-child(n+5){animation-delay:.28s}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}.sticker-btn.boing{animation:.5s cubic-bezier(.3,1.6,.5,1) boing}.detail-what{align-items:center;gap:8px;font-size:24px;font-weight:800;display:flex}.detail-what span{font-size:32px}.detail-date{font-size:18px;font-weight:700}.detail-date small{color:var(--ink-soft);margin-left:4px}.detail-sub{color:var(--ink-soft);font-size:14px}.detail h3{margin:14px 0 6px;font-size:16px}.detail .sticker-pick{width:100%}.detail .btn.wide{margin-top:12px}.cal-head{justify-content:center;align-items:center;gap:12px;margin:0 52px 8px;display:flex}.cal-head h2{text-align:center;min-width:9em;margin:0;font-size:22px}.cal-week,.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.cal-week span{text-align:center;color:var(--ink-soft);font-size:13px;font-weight:700}.dow0{color:#e0648d!important}.dow6{color:#4a8fd9!important}.cal-cell{min-height:58px;box-shadow:inset 0 0 0 1.5px var(--line);background:#fff;border:0;border-radius:12px;grid-template-rows:auto 1fr;justify-items:center;padding:3px 2px;display:grid;position:relative}.cal-cell.blank{box-shadow:none;background:0 0}.cal-num{font-size:14px;font-weight:700}.cal-stk{flex-wrap:wrap;justify-content:center;font-size:14px;line-height:1.1;display:flex}.cal-stk i{font-style:normal}.cal-more{color:var(--pink-deep);font-size:10px;font-weight:800;position:absolute;bottom:1px;right:2px}.cal-cell.has{background:#fff5f9}.cal-cell.today{box-shadow:inset 0 0 0 2.5px #ffcf4d}.cal-cell.sel{box-shadow:inset 0 0 0 3px var(--pink);background:#ffe9f1}.cal.anim-grid .cal-cell.has{animation:.45s cubic-bezier(.3,1.7,.5,1) backwards calPop;animation-delay:calc(var(--i) * 16ms + .12s)}@keyframes calPop{0%{opacity:0;transform:scale(.3)}}.cal.anim-list .cal-cell.sel{animation:.45s cubic-bezier(.3,1.8,.5,1) selBounce}@keyframes selBounce{40%{transform:scale(1.18)}}.cal.anim-list .rec-list li{animation:.42s cubic-bezier(.3,1.3,.5,1) backwards recIn;animation-delay:calc(var(--i) * 60ms + 60ms)}@keyframes recIn{0%{opacity:0;transform:translate(34px)}}@media (min-width:600px){.cal-cell{min-height:72px}.cal-stk{font-size:18px}}.cal-day h3{margin:18px 0 8px;font-size:18px}.cal-day .count{background:var(--pink);color:#fff;border-radius:99px;margin-left:4px;padding:0 10px;font-size:14px}.rec-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.rec{text-align:left;width:100%;box-shadow:0 3px 0 var(--line);background:#fff;border:0;border-radius:18px;align-items:center;gap:12px;padding:8px 12px;display:flex}.rec-stk{flex:none;width:52px}.rec-main{flex:1;min-width:0;display:grid}.rec-main b{font-size:17px}.rec-main small{color:var(--ink-soft);font-size:13px}.rec-go{color:#d8c3ce;font-size:26px}.seg{background:#f4ebf0;border-radius:999px;gap:4px;margin-bottom:14px;padding:4px;display:flex}.seg button{white-space:nowrap;background:0 0;border:0;border-radius:999px;flex:1;min-height:44px;padding:0 2px;font-size:14px;font-weight:700}.seg button[aria-selected=true]{box-shadow:0 2px 0 var(--line);color:var(--pink-deep);background:#fff}.parent-body h3{margin:20px 0 8px;font-size:17px}.cat-edit-list{gap:12px;margin-bottom:12px;display:grid}.cat-edit{box-shadow:inset 0 0 0 3px var(--tile);background:#fff;border-radius:22px;padding:10px}.edit-row{align-items:center;gap:8px;display:flex}.edit-row input{flex:1;min-width:0}.cat-row input{font-size:18px;font-weight:800}.item-edit-list{gap:6px;margin:8px 0 0 18px;display:grid}.item-edit-list .btn.add{justify-self:start}.emoji-btn{background:var(--tile,#f3eefe);border:0;border-radius:16px;flex:none;width:56px;height:56px;font-size:30px}.emoji-btn.small{background:#f7f1f4;width:48px;height:48px;font-size:24px}.icon-del{width:44px;height:44px;color:var(--ink-soft);background:0 0;border:0;border-radius:12px;flex:none;font-size:20px}.sticky-foot{bottom:calc(-20px - var(--safe-b));background:linear-gradient(#0000,#fffafc 30%);margin-top:8px;padding:18px 0 4px;position:sticky}.page-list,.member-list{gap:8px;margin:0 0 12px;padding:0;list-style:none;display:grid}.page-list li,.member-list li{box-shadow:inset 0 0 0 2px var(--line);background:#fff;border-radius:16px;align-items:center;gap:10px;padding:8px 12px;display:flex}.pl-face{font-size:28px}.pl-main,.member-list li>span:last-child{flex:1;min-width:0;display:grid}.pl-main small,.member-list small{color:var(--ink-soft);text-overflow:ellipsis;font-size:13px;overflow:hidden}.member-list img,.avatar{background:#f4ebf0;border-radius:50%;place-items:center;width:40px;height:40px;font-size:22px;display:grid}.invite-box{background:#fff;border-radius:18px;gap:8px;margin-top:12px;padding:12px;display:grid;box-shadow:inset 0 0 0 2px #ffd0e0}.invite-box input{font-size:16px}.code{letter-spacing:.15em;color:var(--pink-deep);font-size:18px}.big-count small{color:var(--ink-soft);font-size:14px}.name-list{gap:8px;margin:0 0 12px;padding:0;list-style:none;display:grid}.name-list li{box-shadow:inset 0 0 0 2px var(--line);background:#fff;border-radius:16px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex}.name-field{flex:140px;gap:2px;min-width:0;display:grid}.name-field small{color:var(--ink-soft);font-size:12px}.name-field input{min-height:44px;font-weight:800}.reset-list{gap:10px;display:grid}.reset-item{text-align:left;background:#fff;border:0;border-radius:18px;align-items:center;gap:12px;width:100%;min-height:64px;padding:12px 14px;display:flex;box-shadow:inset 0 0 0 2px #f6d0d4}.reset-item.danger{box-shadow:inset 0 0 0 2.5px var(--danger);background:#fff0f1}.reset-item:active{transform:scale(.98)}.reset-item:disabled{opacity:.45;pointer-events:none}.ri-icon{flex:none;font-size:26px}.ri-main{gap:2px;min-width:0;display:grid}.ri-main b{color:var(--danger);font-size:16px}.ri-main small{color:var(--ink-soft);font-size:13px;line-height:1.45}.char-dialog{width:min(560px,100%)}.char-dialog .char-pick{margin:8px 0 12px}.big-count{font-size:18px}.big-count b{color:var(--pink-deep);font-size:28px}.dialog-wrap{z-index:70;background:#5b4a5400;place-items:center;padding:20px;transition:background .2s;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.dialog-wrap.show{background:#5b4a5473}.dialog{text-align:center;opacity:0;background:#fff;border-radius:28px;width:min(440px,100%);max-height:calc(100dvh - 40px);padding:24px 20px 18px;transition:transform .2s cubic-bezier(.3,1.5,.5,1),opacity .15s;overflow-y:auto;transform:scale(.9)}.dialog-wrap.show .dialog{opacity:1;transform:none}.dialog h2{margin:0 0 8px;font-size:20px;line-height:1.4}.dialog p{color:var(--ink-soft);margin:0 0 16px;font-size:15px}.dialog-btns{gap:10px;margin-top:8px;display:flex}.dialog-btns .btn{flex:1;min-height:56px}.emoji-grid{grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:6px;margin:8px 0 14px;display:grid}.emoji-grid button{background:#f7f1f4;border:0;border-radius:12px;height:48px;font-size:26px}.emoji-grid button.on{box-shadow:inset 0 0 0 3px var(--pink)}.emoji-dialog .field{text-align:left}#toasts{z-index:100;left:50%;top:calc(78px + var(--safe-t));pointer-events:none;gap:8px;width:min(520px,100% - 24px);display:grid;position:fixed;transform:translate(-50%)}.toast{pointer-events:auto;background:#fff;border-radius:18px;align-items:center;gap:10px;padding:12px 8px 12px 14px;font-size:15px;font-weight:700;animation:.3s cubic-bezier(.3,1.4,.5,1) toastIn;display:flex;box-shadow:0 8px 24px #00000024}.toast-error{background:#fff0f1;box-shadow:0 8px 24px #00000024,inset 0 0 0 2px #f6c2c8}.toast-warn{background:#fff9e8;box-shadow:0 8px 24px #00000024,inset 0 0 0 2px #f5dd9c}.toast>span:nth-child(2){flex:1}.toast-close{width:40px;height:40px;color:var(--ink-soft);background:0 0;border:0;flex:none;font-size:22px}.toast.out{opacity:0;transition:all .25s;transform:translateY(-10px)}@keyframes toastIn{0%{opacity:0;transform:translateY(-16px)scale(.96)}}.evo{z-index:96;cursor:pointer;background:radial-gradient(circle at 50% 42%, #ffffff47, transparent 55%), linear-gradient(160deg, var(--accent), var(--deep) 62%, #3a2a55);opacity:0;padding:calc(12px + var(--safe-t)) calc(12px + var(--safe-r)) calc(12px + var(--safe-b)) calc(12px + var(--safe-l));place-items:center;transition:opacity .35s;display:grid;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.evo.show{opacity:1}.evo.out{opacity:0}.evo-rays{pointer-events:none;background:repeating-conic-gradient(#ffffff21 0 9deg, transparent 9deg 22deg);opacity:.5;width:240vmax;height:240vmax;margin:-120vmax 0 0 -120vmax;transition:opacity .8s;animation:20s linear infinite spin;position:absolute;top:42%;left:50%}.evo.glow .evo-rays{opacity:.9}.evo.reveal .evo-rays{opacity:1}.evo-inner{text-align:center;color:#fff;place-items:center;gap:10px;display:grid;position:relative}.evo-lead{text-shadow:0 2px #0003;margin:0;font-size:clamp(18px,5vw,26px);font-weight:900;animation:.9s ease-in-out infinite alternate leadBob}@keyframes leadBob{to{transform:translateY(-5px)scale(1.04)}}.evo.reveal .evo-lead{visibility:hidden}.evo-stage{aspect-ratio:200/220;width:min(60vw,34vh,320px);position:relative}.evo-halo{pointer-events:none;opacity:0;background:radial-gradient(circle,#fffffff2 0%,#fff6 35%,#0000 70%);border-radius:50%;transition:opacity .6s;position:absolute;top:-22%;bottom:-22%;left:-22%;right:-22%}.evo.glow .evo-halo{opacity:1;animation:.45s ease-in-out infinite alternate haloPulse}.evo.reveal .evo-halo{opacity:.75;animation:1.2s ease-in-out infinite alternate haloPulse}@keyframes haloPulse{to{transform:scale(1.12)}}.evo-char{position:absolute;top:0;bottom:0;left:0;right:0}.evo-char svg{width:100%;height:100%;transition:filter .5s;display:block;overflow:visible}.evo-new{opacity:0}.evo.glow .evo-char svg{filter:saturate(0)brightness(20)drop-shadow(0 0 10px #fff)drop-shadow(0 0 26px #fff);transition-duration:.35s}.evo.alt .evo-old{opacity:0}.evo.alt .evo-new{opacity:1}.evo.reveal .evo-old{display:none}.evo.reveal .evo-new{opacity:1;animation:.9s cubic-bezier(.3,1.6,.5,1) evoPop}.evo.reveal .evo-new svg{animation:1.1s ease-in-out .9s infinite evoHop}.evo.reveal .evo-new .face-normal{display:none}.evo.reveal .evo-new .face-happy{display:inline}@keyframes evoPop{0%{transform:scale(.4)}55%{transform:scale(1.2)}75%{transform:scale(.94)}to{transform:none}}@keyframes evoHop{0%,to{transform:none}30%{transform:translateY(-7%)scale(.97,1.04)}55%{transform:scale(1.04,.96)}}.evo-result{opacity:0;justify-items:center;gap:8px;display:grid;transform:translateY(24px)scale(.9)}.evo.reveal .evo-result{opacity:1;transition:opacity .4s .25s,transform .6s cubic-bezier(.3,1.5,.5,1) .25s;transform:none}.evo-title{letter-spacing:.06em;color:#fff;-webkit-text-stroke:9px var(--deep);paint-order:stroke fill;text-shadow:0 5px #0000002e;margin:0;font-size:clamp(34px,10vw,56px);font-weight:900;line-height:1.1}.evo.reveal .evo-title{animation:.75s cubic-bezier(.3,1.7,.5,1) .2s backwards titlePop}@keyframes titlePop{0%{transform:scale(0)rotate(-12deg)}60%{transform:scale(1.25)rotate(4deg)}}.evo-line{color:var(--ink);background:#fff;border-radius:20px;max-width:90vw;margin:0;padding:8px 16px;font-size:17px;font-weight:800;box-shadow:0 4px #00000026}.evo-compare{align-items:center;gap:10px;display:flex}.evo-mini{color:var(--ink);background:#ffffffed;border-radius:18px;justify-items:center;padding:6px 8px 4px;font-size:12px;font-weight:800;display:grid}.evo-mini>div{aspect-ratio:200/220;width:62px}.evo-mini svg{width:100%;height:100%;display:block;overflow:visible}.evo-mini.now{box-shadow:0 0 0 3px #ffd84d,0 0 18px #ffd84d}.evo-arrow{font-size:28px;font-weight:900;animation:.6s ease-in-out infinite alternate arrowNudge}@keyframes arrowNudge{to{transform:translate(6px)}}.evo-stars span{color:#ffffff59;margin:0 4px;font-size:34px;display:inline-block}.evo-stars span.on{color:#ffd84d;text-shadow:0 0 10px #fff}.evo.reveal .evo-stars span.new{animation:.9s cubic-bezier(.3,1.8,.5,1) .6s backwards evoStar}@keyframes evoStar{0%{transform:scale(0)rotate(-180deg)}60%{transform:scale(1.8)rotate(20deg)}}.evo-tap{opacity:.85;margin:2px 0 0;font-size:13px}.evo-flash{opacity:0;pointer-events:none;background:#fff;position:absolute;top:0;bottom:0;left:0;right:0}@media (orientation:landscape) and (max-height:500px){.evo-inner{grid-template-columns:auto auto;column-gap:28px}.evo-lead{grid-column:1/-1}.evo-stage{width:min(34vw,62vh)}.evo-title{font-size:36px}.evo-mini>div{width:48px}}html.reduce-motion *,html.reduce-motion :before,html.reduce-motion :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.act-prop{z-index:93;pointer-events:none;filter:drop-shadow(0 4px 4px #00000026);will-change:transform;line-height:1;position:fixed;transform:translate(-50%,-50%)}.act-bang{z-index:94;pointer-events:none;color:#ff6f91;-webkit-text-stroke:6px #fff;paint-order:stroke fill;font-size:44px;font-weight:900;line-height:1;position:fixed}.act-dot{z-index:92;pointer-events:none;border-radius:50%;width:11px;height:11px;position:fixed}.vol-field input[type=range]{width:100%;accent-color:var(--pink);min-height:36px}
