*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%;touch-action:manipulation}body{touch-action:manipulation;overscroll-behavior:none}button{touch-action:manipulation;-webkit-user-select:none;user-select:none}:root{--bg1: #ffd6ec;--bg2: #e8d5ff;--ink: #3a2e57;--ink-soft: #cc5de8;--card: #ffffff;--radius: 22px;--fs-xs: 14px;--fs-sm: 16px;--fs-md: 18px;--fs-lg: 22px;--fs-xl: 28px;--fs-2xl: 36px;--fs-3xl: 48px;--brand: #e64980;--brand-warm: #ff922b;--brand-good: #51cf66;--brand-bad: #ff8787;--brand-celebrate: #f783ac;--touch-min: 70px}html,body,#root{height:100%}body{font-family:Comic Sans MS,PingFang SC,Microsoft YaHei,Segoe UI,sans-serif;color:var(--ink);background:linear-gradient(160deg,#ffd6ecd9,#e8d5ffd9 40%,#fff0f5d9),url(/assets/bg-home-0nt0DkUp.jpg) center/cover fixed;min-height:100vh;overflow-x:hidden}.app{min-height:100vh;position:relative}.app:before,.app:after{position:fixed;opacity:.5;z-index:0;pointer-events:none;animation:floatCloud 14s ease-in-out infinite}.app:before{content:"✨";top:8%;left:4%;font-size:40px}.app:after{content:"🐾";top:22%;right:6%;font-size:36px;animation-delay:-6s}@keyframes floatCloud{0%,to{transform:translate(0)}50%{transform:translate(24px)}}.home{max-width:780px;margin:0 auto;padding:28px 18px 60px;position:relative;z-index:1}.home-header{text-align:center;margin-bottom:30px;animation:dropIn .6s ease}.logo-emoji{font-size:64px;animation:bounce 2s ease-in-out infinite}.logo-title{font-size:44px;letter-spacing:4px;background:linear-gradient(90deg,#e64980,#cc5de8,#f783ac,#faa2c1);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 3px 0 rgba(255,255,255,.7)}.logo-sub{font-size:var(--fs-md);color:#7a6aa5;margin-top:6px}.total-stars{display:inline-block;margin-top:14px;background:#fff7db;border:3px solid #ffd43b;border-radius:999px;padding:10px 22px;font-size:var(--fs-lg);font-weight:700;color:#b8860b}.subject-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px}.subject-card{position:relative;background:var(--card);border:4px solid var(--card-color);border-radius:var(--radius);padding:24px 18px 20px;cursor:pointer;text-align:center;box-shadow:0 8px #00000014;transition:transform .12s ease,box-shadow .12s ease;animation:popIn .5s ease backwards;font-family:inherit;color:var(--ink);min-height:var(--touch-min)}.subject-card:nth-child(2){animation-delay:.08s}.subject-card:nth-child(3){animation-delay:.16s}.subject-card:hover{transform:translateY(-6px) rotate(-1deg);box-shadow:0 14px #0000001a}.subject-card:active{transform:translateY(2px) scale(.98);box-shadow:0 3px #00000014}.subject-emoji{font-size:56px}.subject-name{font-size:var(--fs-xl);font-weight:700;margin-top:8px;color:var(--card-color)}.subject-desc{font-size:var(--fs-sm);color:#8b7fb0;margin-top:4px}.subject-progress{margin-top:12px;display:flex;gap:8px;justify-content:center}.chip{background:#fce7f4;border-radius:999px;padding:5px 14px;font-size:var(--fs-xs);color:#c2256b}.subject-go{position:absolute;top:-14px;right:-10px;background:var(--card-color);color:#fff;border-radius:999px;padding:8px 16px;font-size:var(--fs-sm);font-weight:700;transform:rotate(8deg);box-shadow:0 3px 6px #00000026}.home-footer{text-align:center;margin-top:36px;font-size:var(--fs-xs);color:#a598c7}.battle{max-width:780px;margin:0 auto;padding:16px 16px 50px;position:relative;z-index:1}.battle-single{min-height:100vh;max-width:780px;margin:0 auto;padding:12px 14px 16px;display:flex;flex-direction:column;position:relative;z-index:1;overflow:hidden}.battle-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.btn-back{background:#fff;border:3px solid #d9cfff;border-radius:999px;padding:8px 16px;font-size:15px;cursor:pointer;font-family:inherit;color:var(--ink);font-weight:700}.btn-back:active{transform:scale(.95)}.battle-title{font-size:18px;font-weight:700;display:flex;gap:10px;align-items:center}.streak{background:#fff0f6;color:#c2256b;border-radius:999px;padding:3px 10px;font-size:13px}.battle-count{background:#fff;border:3px solid var(--subject-color, #ffd43b);border-radius:999px;padding:6px 14px;font-weight:700;font-size:16px}.progress-bar{height:12px;background:#fff9;border-radius:999px;overflow:hidden;margin-bottom:10px;box-shadow:inset 0 2px 4px #0000001a}.progress-fill{height:100%;background:linear-gradient(90deg,#51cf66,#40c057);border-radius:999px;transition:width .4s ease}.level-desc-bar{text-align:center;font-size:14px;color:#7a6aa5;background:#fff9;border-radius:12px;padding:6px 12px;margin-bottom:6px;font-weight:600}.wrong-indicator{display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px;color:#868e96;margin-bottom:8px}.wrong-dot{color:#dee2e6;font-size:16px}.wrong-dot.used{color:#ff6b6b}.wrong-hint{margin-left:6px;font-weight:600}.result-coins-muted{color:#adb5bd;font-size:16px;font-weight:600}.arena{position:relative;display:flex;align-items:flex-end;justify-content:space-between;background:linear-gradient(180deg,#ffd6ec,#e8d5ff,#d0ebff);border:4px solid #ffffff;border-radius:var(--radius);padding:26px 22px 20px;box-shadow:inset 0 -18px #0000000d,0 8px #00000014;min-height:240px}.arena-side{display:flex;flex-direction:column;align-items:center;gap:10px;width:44%}.vs-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:26px;font-weight:900;color:#fff;background:#ff922b;border:3px solid #fff;border-radius:50%;width:62px;height:62px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px #0003}.monster.idle{animation:idleBob 2.4s ease-in-out infinite}.player.idle{animation:idleBob 2.4s ease-in-out infinite .4s}@keyframes idleBob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.monster.hurt,.player.hurt{animation:hurtShake .5s ease}@keyframes hurtShake{0%,to{transform:translate(0);filter:none}20%{transform:translate(-10px);filter:brightness(1.6) saturate(2)}40%{transform:translate(10px)}60%{transform:translate(-8px)}80%{transform:translate(6px)}}.player.attacking{animation:lungeRight .45s ease}@keyframes lungeRight{0%,to{transform:translate(0)}50%{transform:translate(50px) rotate(6deg)}}.monster.attacking{animation:lungeLeft .45s ease}@keyframes lungeLeft{0%,to{transform:translate(0)}50%{transform:translate(-50px) rotate(-6deg)}}.monster.fainted{animation:faint .8s ease forwards}@keyframes faint{to{transform:rotate(90deg) translateY(20px);opacity:.35}}.player.cheering{animation:cheerJump .7s ease infinite}@keyframes cheerJump{0%,to{transform:translateY(0)}50%{transform:translateY(-18px)}}.hpbar{width:100%;max-width:190px}.hpbar-label{font-size:13px;font-weight:700;margin-bottom:4px;text-align:center}.hpbar-track{background:#00000026;border-radius:999px;height:14px;overflow:hidden;border:2px solid #fff}.hpbar-fill{height:100%;border-radius:999px}.hpbar-num{font-size:12px;text-align:center;margin-top:3px;color:#5a4a8a}.feedback{margin:14px auto 0;max-width:560px;text-align:center;font-size:var(--fs-lg);font-weight:700;padding:12px 18px;border-radius:16px;animation:popIn .3s ease}.feedback.good{background:#d3f9d8;color:#2b8a3e;border:3px solid #69db7c}.feedback.bad{background:#fff4e6;color:#d9480f;border:3px solid #ffa94d}.battle-single .feedback{margin:8px auto 0}.question-card{margin-top:16px;background:var(--card);border-radius:var(--radius);padding:22px 18px;border:4px solid #f3d9ff;box-shadow:0 8px #0000000f;animation:popIn .35s ease}.battle-single .question-card{flex:1;display:flex;flex-direction:column;justify-content:center;margin-top:8px;padding:16px 18px;overflow-y:auto}.battle-single .options{margin-top:auto}.question-prompt{font-size:var(--fs-lg);font-weight:700;text-align:center;color:#5a4a8a}.question-big-emoji{font-size:76px;text-align:center;margin:12px 0 4px}.question-big-char{font-size:68px;text-align:center;margin:12px 0 4px;font-weight:900}.question-big-math{font-size:46px;text-align:center;margin:12px 0 4px;font-weight:900;color:#4dabf7;letter-spacing:3px}.question-hint{font-size:var(--fs-sm);text-align:center;margin:6px auto 4px;padding:8px 14px;max-width:420px;background:#fff9db;border:2px solid #ffe08a;border-radius:12px;color:#866406;line-height:1.5}.question-poem{text-align:center;margin:12px 0 4px;padding:10px 14px;background:#fbf7ff;border:2px dashed #d9cfff;border-radius:16px}.question-poem .poem-title{font-size:var(--fs-lg);font-weight:900;color:#cc5de8;margin-bottom:6px}.question-poem .poem-line{font-size:var(--fs-xl);font-weight:700;color:#5a4a8a;line-height:1.7;letter-spacing:2px}.question-poem.poem-stage{position:relative;padding:28px 20px 32px;background:radial-gradient(circle at 20% 10%,rgba(255,221,240,.6),transparent 55%),radial-gradient(circle at 80% 90%,rgba(221,236,255,.6),transparent 55%),repeating-linear-gradient(45deg,#fff9 0,#fff9 6px,#fff0fa4d 6px,#fff0fa4d 12px),linear-gradient(180deg,#fffaf0,#fdf4ff 60%,#f5edff);border:3px solid #e9d5ff;border-radius:20px;box-shadow:0 10px #9775fa26,inset 0 0 0 3px #ffffffe6;overflow:visible;z-index:0}.poem-scroll-top,.poem-scroll-bottom{position:absolute;left:-6px;right:-6px;height:18px;background:linear-gradient(180deg,#c49a6c,#8b5a2b 50%,#c49a6c);border-radius:10px;box-shadow:0 3px 6px #6e461e4d,inset 0 1px #fff6}.poem-scroll-top{top:-2px}.poem-scroll-bottom{bottom:-2px}.poem-scroll-top:before,.poem-scroll-bottom:before,.poem-scroll-top:after,.poem-scroll-bottom:after{content:"";position:absolute;top:-4px;width:20px;height:26px;border-radius:8px;background:linear-gradient(180deg,#d4af37,#8b6914);box-shadow:0 2px 4px #0003}.poem-scroll-top:before,.poem-scroll-bottom:before{left:-4px}.poem-scroll-top:after,.poem-scroll-bottom:after{right:-4px}.poem-decor{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.petal{position:absolute;font-size:24px;opacity:.85;animation:petalFall linear infinite;filter:drop-shadow(0 2px 2px rgba(0,0,0,.1))}.petal.p1{left:6%;top:-24px;animation-duration:8s;animation-delay:-1s;font-size:22px}.petal.p2{left:22%;top:-30px;animation-duration:10s;animation-delay:-3s;font-size:20px}.petal.p3{left:44%;top:-18px;animation-duration:9s;animation-delay:-5s;font-size:18px}.petal.p4{left:62%;top:-26px;animation-duration:11s;animation-delay:-2s;font-size:24px}.petal.p5{left:78%;top:-22px;animation-duration:8.5s;animation-delay:-6s;font-size:20px}.petal.p6{left:92%;top:-28px;animation-duration:9.5s;animation-delay:-4s;font-size:22px}@keyframes petalFall{0%{transform:translateY(-10%) rotate(0);opacity:0}10%{opacity:.9}50%{transform:translate(-16px,55%) rotate(120deg)}to{transform:translate(10px,115%) rotate(260deg);opacity:.2}}.poem-anim{animation:poemFadeUp .7s ease both}.poem-char{display:inline-block;opacity:0;animation:charPop .55s cubic-bezier(.2,.9,.3,1.2) both;will-change:transform,opacity}@keyframes poemFadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes charPop{0%{opacity:0;transform:translateY(14px) scale(.7) rotate(-6deg);filter:blur(4px)}60%{opacity:1;transform:translateY(-3px) scale(1.08) rotate(2deg);filter:blur(0)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}.poem-char:hover{color:#cc5de8;transform:translateY(-2px) scale(1.15)}.poem-seal{position:absolute;right:16px;bottom:22px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e03131,#c92a2a);color:#fff8e1;font-weight:900;font-size:22px;border-radius:6px;border:2px solid #a31717;transform:rotate(-8deg);box-shadow:0 2px #00000026,inset 0 0 0 2px #ffffff40,0 0 0 4px #c92a2a1a;font-family:STKaiti,KaiTi,楷体,serif;animation:sealStamp .8s cubic-bezier(.2,.9,.3,1.5) both;animation-delay:1.3s;opacity:0}@keyframes sealStamp{0%{opacity:0;transform:rotate(-24deg) scale(2.2)}60%{opacity:1;transform:rotate(-4deg) scale(.95)}to{opacity:1;transform:rotate(-8deg) scale(1)}}.poem-seal:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border:1px dashed rgba(255,240,200,.6);border-radius:4px}@media (min-width: 768px){.question-poem.poem-stage{padding:36px 28px 44px}.poem-seal{width:56px;height:56px;font-size:28px;right:22px;bottom:28px}.petal{font-size:28px}}.question-tag{display:inline-block;font-size:var(--fs-xs);font-weight:700;color:#fff;background:#ff922b;padding:4px 14px;border-radius:20px;margin-bottom:8px}.record-section{text-align:center;margin-top:18px}.record-result{border-radius:16px;padding:12px 16px;margin-bottom:14px}.record-result.good{background:#d3f9d8;border:3px solid #51cf66}.record-result.bad{background:#ffe3e3;border:3px solid #ff6b6b}.record-score{font-size:36px;font-weight:900;color:#5a4a8a}.record-detail{font-size:18px;font-weight:700;margin-top:4px}.record-recognized{font-size:14px;color:#868e96;margin-top:6px}.record-controls{display:flex;justify-content:center}.btn-record{min-height:72px;min-width:200px;border:none;border-radius:36px;font-size:20px;font-weight:900;color:#fff;cursor:pointer;background:linear-gradient(135deg,#ff6b6b,#ff922b);display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 28px;box-shadow:0 6px #0000001f;transition:transform .15s;touch-action:manipulation}.btn-record:active{transform:translateY(3px);box-shadow:0 3px #0000001f}.btn-record-stop{background:linear-gradient(135deg,#fa5252,#e64980)}.record-icon{font-size:32px}.record-icon.pulse{animation:recordPulse 1s ease-in-out infinite}.record-recognizing{min-height:72px;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:18px;font-weight:700;color:#5a4a8a}.record-spinner{font-size:32px;animation:recordSpin 1s linear infinite}.record-hint{font-size:var(--fs-xs);color:#868e96;margin-top:10px}@keyframes recordPulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@keyframes recordSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.options{display:grid;gap:14px;margin-top:18px}.options.cols-2{grid-template-columns:repeat(2,1fr)}.options.cols-3{grid-template-columns:repeat(3,1fr)}.options.cols-4{grid-template-columns:repeat(2,1fr)}.option{background:#fef5fb;border:4px solid #f3d9ff;border-radius:18px;padding:18px 10px;font-size:var(--fs-2xl);font-weight:700;cursor:pointer;font-family:inherit;color:var(--ink);transition:transform .12s ease,background .2s;box-shadow:0 5px #d9cfff;min-height:var(--touch-min)}.option:hover:not(:disabled){transform:translateY(-3px);background:#ece5ff}.option:active:not(:disabled){transform:translateY(2px) scale(.97);box-shadow:0 2px #d9cfff}.option.correct{background:#d3f9d8!important;border-color:#51cf66!important;box-shadow:0 5px #51cf66;animation:winPulse .6s ease}.option.wrong{background:#fff4e6!important;border-color:#ffa94d!important;box-shadow:0 5px #ffa94d;animation:softShake .5s ease}@keyframes softShake{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(-6px) rotate(-2deg)}75%{transform:translate(6px) rotate(2deg)}}.option:disabled{cursor:default;opacity:.9}@keyframes winPulse{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}.result{margin-top:18px;background:var(--card);border-radius:var(--radius);padding:30px 20px;text-align:center;border:4px solid #ffd43b;animation:popIn .4s ease}.battle-single .result{flex:1;display:flex;flex-direction:column;justify-content:center}.result.win{border-color:#ffd43b}.result.lose{border-color:#a5d8ff}.result-title{font-size:40px;font-weight:900}.result-stars{font-size:40px;margin:12px 0;letter-spacing:6px}.result-text{font-size:18px;color:#7a6aa5;margin-bottom:20px}.result-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.btn{border:none;border-radius:999px;padding:14px 30px;font-size:19px;font-weight:700;cursor:pointer;font-family:inherit;transition:transform .12s;color:#fff}.btn:active{transform:scale(.95)}.btn-next{background:linear-gradient(90deg,#51cf66,#20c997);box-shadow:0 5px #2b8a3e}.btn-home{background:#cc5de8;box-shadow:0 5px #9c36b5}@keyframes popIn{0%{transform:scale(.7);opacity:0}70%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}@keyframes dropIn{0%{transform:translateY(-30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@media (max-width: 520px){.logo-title{font-size:34px}.arena{flex-direction:column;align-items:center;gap:10px}.arena-side{width:100%}.vs-badge{position:static;transform:none;margin:4px 0}.options.cols-3{grid-template-columns:repeat(3,1fr)}.option{font-size:22px;padding:14px 6px}}.login{max-width:560px;margin:0 auto;padding:28px 18px 60px;position:relative;z-index:1}.login-header{text-align:center;margin-bottom:26px;animation:dropIn .6s ease}.login-section{background:var(--card);border:4px solid #f3d9ff;border-radius:var(--radius);padding:20px 18px;margin-bottom:18px;box-shadow:0 8px #0000000f}.login-section-title{font-size:16px;font-weight:700;color:#7a6aa5;margin-bottom:14px}.user-list{display:flex;flex-wrap:wrap;gap:12px}.user-chip{display:flex;align-items:center;gap:8px;background:#f6f3ff;border:3px solid #d9cfff;border-radius:999px;padding:8px 16px 8px 8px;cursor:pointer;font-family:inherit;font-size:17px;color:var(--ink);font-weight:700;transition:transform .12s}.user-chip:hover{transform:translateY(-3px);background:#ece5ff}.user-avatar{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;background:#fff;border-radius:50%;font-size:22px}.login-input-row{display:flex;gap:10px}.login-input{flex:1;border:3px solid #f3d9ff;border-radius:16px;padding:12px 16px;font-size:18px;font-family:inherit;color:var(--ink);outline:none}.login-input:focus{border-color:#e64980}.btn-start{background:linear-gradient(90deg,#f783ac,#e64980);box-shadow:0 5px #5f3dc4;padding:12px 24px;font-size:18px}.login-error{color:#c92a2a;font-size:14px;margin-top:10px;font-weight:700}.login-switch{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:18px}.link-btn{background:none;border:none;color:#7048e8;font-size:15px;font-weight:700;cursor:pointer;padding:4px 6px;text-decoration:underline}.link-btn:active{opacity:.6}.login-input[type=password]{width:100%;box-sizing:border-box}.home-user-actions{display:flex;align-items:center;gap:8px}.btn-parent{background:#ffffff80;border:1px solid rgba(112,72,232,.2);border-radius:50%;width:36px;height:36px;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;padding:0}.btn-parent:active{transform:scale(.92)}.parent-gate{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#f3f0ff,#e7f5ff)}.parent-gate-card{background:#fff;border-radius:24px;padding:32px 28px;max-width:360px;width:100%;text-align:center;box-shadow:0 8px 32px #7048e826}.parent-gate-icon{font-size:48px}.parent-gate-title{font-size:22px;font-weight:900;color:#343a40;margin-top:8px}.parent-gate-desc{font-size:14px;color:#868e96;margin:6px 0 16px}.parent-gate-math{font-size:28px;font-weight:900;color:#7048e8;letter-spacing:2px;margin:10px 0}.parent-dashboard{max-width:820px;margin:0 auto;padding:16px;min-height:100vh;background:linear-gradient(180deg,#f8f9fa,#fff)}.parent-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.parent-stat-card{background:#fff;border-radius:16px;padding:14px 8px;text-align:center;box-shadow:0 2px 8px #0000000f}.parent-stat-num{font-size:20px;font-weight:900;color:#343a40}.parent-stat-label{font-size:12px;color:#868e96;margin-top:4px}.parent-section{background:#fff;border-radius:16px;padding:16px;margin:12px 0;box-shadow:0 2px 8px #0000000f}.parent-section-title{font-size:17px;font-weight:900;color:#343a40;margin-bottom:12px}.parent-table{width:100%}.parent-row{display:grid;grid-template-columns:1.4fr 1fr .9fr .9fr .7fr;gap:6px;padding:9px 4px;border-bottom:1px solid #f1f3f5;font-size:14px;align-items:center}.parent-row-head{font-weight:900;color:#495057;font-size:13px;background:#f8f9fa;border-radius:8px}.parent-subject-cell{font-weight:700}.parent-good{color:#2f9e44;font-weight:700}.parent-warn{color:#e8590c;font-weight:700}.parent-bad{color:#e03131;font-weight:700}.parent-muted{color:#adb5bd}.parent-empty{text-align:center;color:#adb5bd;font-size:14px;padding:20px}.parent-wrong-list{display:flex;flex-direction:column;gap:10px}.parent-wrong-item{background:#fff4e6;border-radius:12px;padding:10px 12px;border-left:4px solid #ffa94d}.parent-wrong-head{display:flex;justify-content:space-between;align-items:center;font-size:13px}.parent-wrong-subject{font-weight:700;color:#e8590c}.parent-wrong-time{color:#adb5bd;font-size:12px}.parent-wrong-prompt{font-size:14px;color:#343a40;margin-top:4px}.parent-wrong-answer{font-size:13px;color:#2f9e44;margin-top:2px}@media (max-width: 600px){.parent-overview{grid-template-columns:repeat(2,1fr)}.parent-row{grid-template-columns:1.2fr .8fr .7fr .7fr .6fr;font-size:12px}.parent-row-head{font-size:11px}}.home-user-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.home-user{font-size:18px;font-weight:700;color:#5a4a8a}.btn-logout{background:#fff;border:3px solid #ffd6e0;border-radius:999px;padding:6px 16px;font-size:14px;cursor:pointer;font-family:inherit;color:#c92a2a;font-weight:700}.btn-logout:active{transform:scale(.95)}.home-stats{display:flex;gap:12px;justify-content:center;margin-top:14px;flex-wrap:wrap}.total-coins{display:inline-block;background:#fff3d6;border:3px solid #ffd43b;border-radius:999px;padding:8px 20px;font-size:18px;font-weight:700;color:#b8860b}.hub-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}.hub-card{display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--card);border:4px solid;border-radius:var(--radius);padding:22px 14px;cursor:pointer;font-family:inherit;transition:transform .15s;box-shadow:0 8px #00000014}.hub-pet{border-color:#ffa8c0;color:#e8590c}.hub-shop{border-color:#ffd43b;color:#b8860b}.hub-card:hover{transform:translateY(-5px) rotate(-1deg)}.hub-card:active{transform:translateY(2px)}.hub-emoji{font-size:48px}.hub-name{font-size:22px;font-weight:700}.hub-desc{font-size:13px;color:#8b7fb0}.subject-title{font-size:18px;font-weight:700;color:#5a4a8a;margin-bottom:12px;text-align:center}.daily-tasks{background:var(--card);border:4px solid #b2f2bb;border-radius:var(--radius);margin-bottom:22px;overflow:hidden;box-shadow:0 6px #0000000f;animation:popIn .4s ease backwards}.daily-header{display:flex;align-items:center;gap:10px;padding:14px 18px;cursor:pointer;background:linear-gradient(90deg,#69db7c,#51cf66);color:#fff;font-family:inherit}.daily-title{font-size:var(--fs-lg);font-weight:700;flex:1;text-align:left}.daily-summary{font-size:var(--fs-sm);background:#ffffff4d;border-radius:999px;padding:4px 12px;font-weight:700}.daily-toggle{font-size:var(--fs-xs);background:#ffffff40;border-radius:999px;padding:4px 10px;min-width:48px;text-align:center}.daily-list{padding:12px 14px;display:flex;flex-direction:column;gap:10px}.daily-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#f8fff8;border:3px solid #d3f9d8;border-radius:16px;transition:all .2s}.daily-item.ready{border-color:var(--brand-celebrate);background:#fff9db;animation:popIn .3s ease}.daily-item.done{opacity:.65;background:#f1f3f5;border-color:#dee2e6}.daily-emoji{font-size:32px;flex-shrink:0}.daily-body{flex:1;min-width:0}.daily-name{font-size:var(--fs-md);font-weight:700;color:#2b8a3e;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.daily-reward{font-size:var(--fs-xs);background:#fff3d6;color:#b8860b;border-radius:999px;padding:2px 10px}.daily-track{position:relative;margin-top:6px;background:#00000014;border-radius:999px;height:18px;overflow:hidden}.daily-fill{height:100%;background:linear-gradient(90deg,#69db7c,#51cf66);border-radius:999px;transition:width .5s ease}.daily-prog-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#2b8a3e}.daily-check{font-size:24px;flex-shrink:0}.daily-claim{flex-shrink:0;background:var(--brand-celebrate);color:#5a4a8a;border:none;border-radius:999px;padding:10px 18px;font-size:var(--fs-sm);font-weight:700;cursor:pointer;font-family:inherit;min-height:var(--touch-min);min-width:var(--touch-min);box-shadow:0 4px #f59f00;animation:popIn .3s ease}.daily-claim:active{transform:translateY(2px);box-shadow:0 2px #f59f00}.daily-claim-big{background:var(--brand-warm);color:#fff;box-shadow:0 4px #e8590c}.daily-claim-big:active{box-shadow:0 2px #e8590c}.daily-pending{flex-shrink:0;font-size:var(--fs-xs);color:#868e96;font-weight:700;min-width:50px;text-align:center}.daily-bonus{display:flex;align-items:center;gap:12px;padding:14px;background:#fff9db;border:3px dashed var(--brand-celebrate);border-radius:16px}.daily-bonus.done{opacity:.6;background:#f1f3f5;border-color:#dee2e6}.daily-bonus.ready{background:linear-gradient(90deg,#fff3d6,#ffe8cc);animation:popIn .4s ease}.daily-bonus-emoji{font-size:32px;flex-shrink:0}.daily-bonus-text{flex:1;font-size:var(--fs-md);color:#5a4a8a;font-weight:700}.pet-screen,.shop-screen{max-width:760px;margin:0 auto;padding:16px 16px 60px;position:relative;z-index:1;overflow:hidden;border-radius:24px}.pet-content{position:relative;z-index:2}.pet-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.pet-title{font-size:20px;font-weight:700}.pet-coins{background:#fff;border:3px solid #ffd43b;border-radius:999px;padding:6px 16px;font-weight:700;color:#b8860b}.room-stage{border:4px solid #fff;border-radius:var(--radius);padding:0;overflow:hidden;box-shadow:0 8px #00000014;position:relative;transition:background .4s}.room-floor{position:relative;min-height:260px;display:flex;align-items:flex-end;justify-content:center;padding:16px 12px 8px;border-top:6px solid rgba(0,0,0,.05);transition:background .4s}.room-toy{position:absolute;left:16px;bottom:14px;font-size:40px;animation:toyWobble 3s ease-in-out infinite}@keyframes toyWobble{0%,to{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}.corgi-stage{position:relative;cursor:pointer}.corgi-stage{transition:transform .2s ease,filter .2s ease}.corgi-stage.is-hovered{transform:scale(1.03);filter:drop-shadow(0 0 12px rgba(255,182,193,.6))}.corgi-stage:active{transform:scale(.97)}.corgi-stage.is-hovered .corgi .corgi-ear{animation-duration:.3s!important}.pet-particle{position:absolute;font-size:20px;pointer-events:none;z-index:8;animation:particleBurst 1s ease-out forwards;will-change:transform,opacity;text-shadow:0 2px 4px rgba(0,0,0,.15)}@keyframes particleBurst{0%{transform:translate(0) scale(.4) rotate(0);opacity:0}15%{opacity:1;transform:translate(calc(var(--tx) * .2),calc(var(--ty) * .2)) scale(1.2) rotate(45deg)}60%{opacity:1;transform:translate(var(--tx),var(--ty)) scale(1) rotate(160deg)}to{transform:translate(calc(var(--tx) * 1.1),calc(var(--ty) - 40px)) scale(.5) rotate(240deg);opacity:0}}.pet-float{position:absolute;left:50%;top:30%;transform:translate(-50%);font-size:20px;font-weight:900;pointer-events:none;z-index:9;text-shadow:0 2px 0 #fff,0 0 8px rgba(255,255,255,.8);animation:floatUp 1.5s ease-out forwards;white-space:nowrap}@keyframes floatUp{0%{transform:translate(-50%) scale(.5);opacity:0}20%{transform:translate(-50%,-10px) scale(1.2);opacity:1}to{transform:translate(-50%,-80px) scale(1);opacity:0}}.corgi-stage:after{content:"";position:absolute;left:50%;top:50%;width:20px;height:20px;border-radius:50%;border:3px solid rgba(255,182,193,.8);transform:translate(-50%,-50%) scale(0);opacity:0;pointer-events:none}.corgi-stage:active:after{animation:clickRipple .6s ease-out}@keyframes clickRipple{0%{transform:translate(-50%,-50%) scale(0);opacity:.8}to{transform:translate(-50%,-50%) scale(8);opacity:0}}.cat3d{position:relative;touch-action:none;user-select:none;-webkit-user-select:none}.cat3d canvas{display:block;touch-action:none;outline:none}.cat3d:active{cursor:grabbing}.speech-bubble{position:absolute;left:50%;top:-6px;transform:translate(-50%);background:#fff;border:3px solid #d9cfff;border-radius:18px;padding:6px 14px;font-size:15px;font-weight:700;color:#5a4a8a;white-space:nowrap;animation:popIn .3s ease;z-index:5}.speech-bubble:after{content:"";position:absolute;left:50%;bottom:-10px;transform:translate(-50%);border:7px solid transparent;border-top-color:#fff}.room-hint{text-align:center;padding:10px;font-size:16px;font-weight:700;background:#ffffffb3}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.stat-item{background:var(--card);border:3px solid #e6dcff;border-radius:14px;padding:10px 8px;text-align:center}.stat-label{font-size:13px;font-weight:700;color:#5a4a8a;margin-bottom:6px}.stat-track{background:#0000001a;border-radius:999px;height:12px;overflow:hidden}.stat-fill{height:100%;border-radius:999px;transition:width .5s ease}.stat-num{font-size:13px;font-weight:700;margin-top:4px;color:#5a4a8a}.action-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:16px}.action-btn{display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--card);border:3px solid #ffd6e0;border-radius:16px;padding:14px 6px;cursor:pointer;font-family:inherit;color:var(--ink);transition:transform .12s;box-shadow:0 5px #00000014}.action-btn:hover:not(:disabled){transform:translateY(-3px)}.action-btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px #00000014}.action-btn:disabled{opacity:.5;cursor:default}.action-emoji{font-size:28px}.action-label{font-size:13px;font-weight:700}.pet-tip{text-align:center;margin-top:14px;font-size:13px;color:#a598c7}.shop-tabs{display:flex;gap:10px;margin-bottom:12px}.shop-tab{flex:1;background:#fff;border:3px solid #d9cfff;border-radius:16px;padding:12px;font-size:17px;font-weight:700;cursor:pointer;font-family:inherit;color:#7a6aa5}.shop-tab.active{background:#9775fa;color:#fff;border-color:#7048e8}.shop-hint{text-align:center;font-size:14px;color:#7a6aa5;margin-bottom:16px}.shop-group{margin-bottom:18px}.shop-group-title{font-size:17px;font-weight:700;color:#5a4a8a;margin-bottom:10px}.shop-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.shop-item{display:flex;align-items:center;gap:10px;background:var(--card);border:3px solid #e6dcff;border-radius:16px;padding:12px}.shop-item-emoji{font-size:34px}.shop-item-info{flex:1}.shop-item-name{font-size:16px;font-weight:700}.shop-item-price{font-size:14px;color:#b8860b;font-weight:700}.btn-buy{background:linear-gradient(90deg,#fcc419,#f59f00);color:#fff;border:none;border-radius:999px;padding:8px 16px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;box-shadow:0 4px #d9930a}.btn-buy:active{transform:scale(.95)}.btn-equip{background:linear-gradient(90deg,#51cf66,#2b8a3e);color:#fff;border:none;border-radius:999px;padding:8px 16px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;box-shadow:0 4px #2b8a3e}.btn-equip:active{transform:scale(.95)}.badge-equipped{background:#d3f9d8;color:#2b8a3e;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700}.shop-toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%);background:#fff;border:4px solid #ffd43b;border-radius:999px;padding:12px 24px;font-size:17px;font-weight:700;color:#5a4a8a;box-shadow:0 8px 20px #00000026;animation:popIn .3s ease;z-index:50}.shop-toast.bad{border-color:#ff6b6b;color:#c92a2a}.result-coins{font-size:24px;font-weight:700;color:#b8860b;margin:8px 0;animation:popIn .5s ease}.corgi{position:relative;display:inline-block}.corgi svg{display:block;overflow:visible}.corgi-shadow{animation:shadowPulse 2.4s ease-in-out infinite;transform-origin:center}@keyframes shadowPulse{0%,to{transform:scaleX(1);opacity:.18}50%{transform:scaleX(.82);opacity:.24}}.corgi-body{transform-origin:120px 170px;transition:transform .3s ease}.corgi-head{transform-origin:110px 120px}.corgi-belly{transform-origin:118px 150px}.corgi.action-idle .corgi-body{animation:corgiBreathe 3s ease-in-out infinite}@keyframes corgiBreathe{0%,to{transform:translateY(0) scale(1)}30%{transform:translateY(-5px) scale(1.01,.99)}60%{transform:translateY(-7px) scale(.998,1.003)}70%{transform:translateY(-6px) scale(.995,1.005)}}.corgi.action-idle .corgi-head{animation:headBob 3s ease-in-out infinite .15s,headTilt 11s ease-in-out infinite 3s}@keyframes headBob{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-4px) rotate(.5deg)}}@keyframes headTilt{0%,72%,to{transform:rotate(0)}78%{transform:rotate(-6deg)}84%{transform:rotate(-8deg)}90%{transform:rotate(-5deg)}95%{transform:rotate(-2deg)}}.corgi.action-idle .corgi-belly{animation:bellyBreathe 3s ease-in-out infinite}@keyframes bellyBreathe{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.04)}}.corgi.action-idle .corgi-eye{animation:eyeBlink 5s ease-in-out infinite;transform-origin:center}@keyframes eyeBlink{0%,88%,to{transform:scaleY(1)}90%,94%{transform:scaleY(.15)}}.corgi.action-idle .corgi-ear-l{transform-origin:70px 92px;animation:earTwitchL 6s ease-in-out infinite 1s}.corgi.action-idle .corgi-ear-r{transform-origin:150px 92px;animation:earTwitchR 7s ease-in-out infinite 3s}@keyframes earTwitchL{0%,to{transform:rotate(0)}5%{transform:rotate(-10deg)}10%{transform:rotate(-2deg)}15%{transform:rotate(-6deg)}20%{transform:rotate(0)}}@keyframes earTwitchR{0%,to{transform:rotate(0)}5%{transform:rotate(10deg)}10%{transform:rotate(2deg)}15%{transform:rotate(6deg)}20%{transform:rotate(0)}}.corgi.action-idle .corgi-mouth-group{animation:mouthBreath 4s ease-in-out infinite;transform-origin:110px 132px}@keyframes mouthBreath{0%,to{transform:scaleY(1)}50%{transform:scaleY(.92)}}.corgi.action-idle .corgi-eyebrows{animation:browRaise 8s ease-in-out infinite}@keyframes browRaise{0%,70%,to{transform:translateY(0)}75%{transform:translateY(-1.5px)}80%{transform:translateY(0)}}.corgi-tail{transform-origin:168px 150px;animation:tailWag 1.1s ease-in-out infinite}@keyframes tailWag{0%,to{transform:rotate(-12deg)}50%{transform:rotate(22deg)}}.corgi.action-idle.mood-happy .corgi-tail{animation:tailWag .5s ease-in-out infinite}.corgi.action-idle.mood-sad .corgi-tail{animation:tailWag 2.5s ease-in-out infinite}.corgi.action-idle.mood-sleepy .corgi-tail{animation:tailWag 4s ease-in-out infinite}.corgi-eyes-closed,.corgi-eyes-happy,.corgi-eyes-sad,.corgi-eyes-sleepy{display:none}.corgi-tongue{opacity:0;transform-origin:110px 138px;transition:opacity .2s}.corgi.action-idle.mood-happy .corgi-eyes{display:none}.corgi.action-idle.mood-happy .corgi-eyes-happy{display:block}.corgi.action-idle.mood-happy .corgi-body{animation:corgiBreathe 2s ease-in-out infinite}.corgi.action-idle.mood-happy .corgi-head{animation:headBob 2s ease-in-out infinite .1s,headTilt 8s ease-in-out infinite 2s}.corgi.action-idle.mood-happy .corgi-ear-l{animation:earTwitchL 4s ease-in-out infinite}.corgi.action-idle.mood-happy .corgi-ear-r{animation:earTwitchR 4s ease-in-out infinite 1.5s}.corgi.action-idle.mood-sad .corgi-eyes{display:none}.corgi.action-idle.mood-sad .corgi-eyes-sad{display:block}.corgi.action-idle.mood-sad .corgi-tear{animation:tearDrop 2.5s ease-in-out infinite}.corgi.action-idle.mood-sad .corgi-body{animation:corgiBreathe 4s ease-in-out infinite;transform-origin:120px 180px}.corgi.action-idle.mood-sad .corgi-head{animation:headSag 4s ease-in-out infinite}@keyframes headSag{0%,to{transform:translateY(2px) rotate(3deg)}50%{transform:translateY(4px) rotate(5deg)}}@keyframes tearDrop{0%,80%{opacity:0;transform:translateY(0)}90%{opacity:.8;transform:translateY(2px)}to{opacity:0;transform:translateY(8px)}}.corgi.action-idle.mood-sleepy .corgi-eyes{display:none}.corgi.action-idle.mood-sleepy .corgi-eyes-sleepy{display:block}.corgi.action-idle.mood-sleepy .corgi-head{animation:headBob 3.5s ease-in-out infinite,headDroop 6s ease-in-out infinite}@keyframes headDroop{0%,60%,to{transform:translateY(0)}70%{transform:translateY(3px) rotate(2deg)}80%{transform:translateY(5px) rotate(3deg)}90%{transform:translateY(3px) rotate(2deg)}}.corgi.action-idle.mood-sleepy .corgi-body{animation:corgiBreathe 4s ease-in-out infinite}.corgi.action-idle.mood-sleepy .corgi-ear-l{animation:earSleep 4s ease-in-out infinite}.corgi.action-idle.mood-sleepy .corgi-ear-r{animation:earSleep 4s ease-in-out infinite 2s}.corgi-whiskers{animation:whiskerTwitch 4s ease-in-out infinite;transform-origin:center}@keyframes whiskerTwitch{0%,90%,to{transform:translate(0)}95%{transform:translate(1px)}}.corgi.action-eat .corgi-head{animation:corgiEat .45s ease-in-out infinite}@keyframes corgiEat{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(12px) rotate(10deg)}}.corgi.action-eat .corgi-tail{animation:tailWag .5s ease-in-out infinite}.corgi.action-eat .corgi-tongue{opacity:1;animation:tongueLick .45s ease-in-out infinite}@keyframes tongueLick{0%,to{transform:scaleY(1)}50%{transform:scaleY(.5) translateY(2px)}}.corgi.action-eat .corgi-belly{animation:bellyChew .45s ease-in-out infinite}@keyframes bellyChew{0%,to{transform:scale(1)}50%{transform:scale(1.02,.98)}}.fx-eat .fx-pop{animation:fxPop 1s ease infinite}.fx-eat .fx-crumb{animation:crumbFly .6s ease-out infinite}.fx-eat .fx-crumb.c2{animation-delay:.3s}@keyframes crumbFly{0%{transform:translateY(0);opacity:1}to{transform:translateY(-12px) translate(4px);opacity:0}}.corgi.action-run .corgi-body{animation:corgiRun .3s ease-in-out infinite}@keyframes corgiRun{0%,to{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-7px) rotate(-10deg)}}.corgi.action-run .corgi-leg{animation:legRun .28s ease-in-out infinite}.corgi.action-run .corgi-leg-back,.corgi.action-run .corgi-leg-front2{animation-delay:.14s}@keyframes legRun{0%,to{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-10px) rotate(5deg)}}.corgi.action-run .corgi-tail{animation:tailWag .35s ease-in-out infinite}.corgi.action-run .corgi-ear-l{animation:earFly .3s ease-in-out infinite}.corgi.action-run .corgi-ear-r{animation:earFly .3s ease-in-out infinite .15s}@keyframes earFly{0%,to{transform:rotate(0)}50%{transform:rotate(15deg)}}.fx-run .fx-line{animation:speedLine .3s ease-in infinite}.fx-run .fx-line.l2{animation-delay:.1s}.fx-run .fx-line.l3{animation-delay:.05s}@keyframes speedLine{0%{transform:translate(0);opacity:.85}to{transform:translate(-20px);opacity:0}}.fx-run .fx-dust{animation:dustPuff .4s ease-out infinite}.fx-run .fx-dust.d2{animation-delay:.2s}@keyframes dustPuff{0%{transform:translateY(0);opacity:.6}to{transform:translateY(-8px) scale(.5);opacity:0}}.corgi.action-walk .corgi-body{animation:corgiWalk .9s ease-in-out infinite}@keyframes corgiWalk{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-5px) rotate(3deg)}}.corgi.action-walk .corgi-leg{animation:legRun .9s ease-in-out infinite}.corgi.action-walk .corgi-leg-back,.corgi.action-walk .corgi-leg-front2{animation-delay:.45s}.corgi.action-walk .corgi-tail{animation:tailWag 1.2s ease-in-out infinite}.fx-walk .fx-bag{animation:bagSway .9s ease-in-out infinite;transform-origin:180px 64px}.fx-walk .fx-bag2{animation:bagSway .9s ease-in-out infinite .3s;transform-origin:200px 80px}@keyframes bagSway{0%,to{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}.corgi.action-bath .corgi-body{animation:corgiBath .5s ease-in-out infinite}@keyframes corgiBath{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-4px) rotate(-3deg)}75%{transform:translateY(-4px) rotate(3deg)}}.corgi.action-bath .corgi-ear-l{animation:earShake .5s ease-in-out infinite}.corgi.action-bath .corgi-ear-r{animation:earShake .5s ease-in-out infinite .25s}@keyframes earShake{0%,to{transform:rotate(0)}50%{transform:rotate(-12deg)}}.fx-bath .fx-bubble{animation:bubbleRise 2s ease-in-out infinite}.fx-bath .fx-bubble.b2{animation-delay:.4s}.fx-bath .fx-bubble.b3{animation-delay:.8s}.fx-bath .fx-bubble.b4{animation-delay:.2s}.fx-bath .fx-bubble.b5{animation-delay:.6s}@keyframes bubbleRise{0%,to{transform:translateY(0) scale(1);opacity:.9}50%{transform:translateY(-18px) scale(1.1);opacity:.4}}.fx-bath .fx-pop{animation:fxPop 1.2s ease infinite}.corgi.action-sleep .corgi-body{animation:corgiSleep 3s ease-in-out infinite;transform-origin:120px 190px}@keyframes corgiSleep{0%,to{transform:rotate(0) translateY(0) scale(1)}50%{transform:rotate(0) translateY(3px) scale(1.01,.99)}}.corgi.action-sleep .corgi-eyes{display:none}.corgi.action-sleep .corgi-eyes-closed{display:block}.corgi.action-sleep .corgi-tail{animation:tailWag 4s ease-in-out infinite}.corgi.action-sleep .corgi-ear-l{animation:earSleep 3s ease-in-out infinite}.corgi.action-sleep .corgi-ear-r{animation:earSleep 3s ease-in-out infinite 1.5s}@keyframes earSleep{0%,to{transform:rotate(0)}50%{transform:rotate(-5deg)}}.fx-sleep .fx-zzz{animation:zzzFloat 2.5s ease-in-out infinite}.fx-sleep .fx-zzz.z2{animation-delay:.8s}.fx-sleep .fx-zzz.z3{animation-delay:1.6s}@keyframes zzzFloat{0%{transform:translate(0) scale(.6);opacity:0}30%{opacity:1;transform:translate(8px,-12px) scale(1)}to{transform:translate(24px,-36px) scale(1.2);opacity:0}}.fx-sleep .fx-dream{animation:dreamFloat 4s ease-in-out infinite}@keyframes dreamFloat{0%,to{transform:translateY(0);opacity:.4}50%{transform:translateY(-6px);opacity:.8}}.corgi.action-park .corgi-body{animation:corgiJump .65s ease-in-out infinite}@keyframes corgiJump{0%,to{transform:translateY(0) rotate(0) scale(1)}40%{transform:translateY(-30px) rotate(-6deg) scale(.98,1.02)}60%{transform:translateY(-30px) rotate(6deg) scale(.98,1.02)}80%{transform:translateY(0) rotate(0) scale(1.05,.95)}}.corgi.action-park .corgi-tail{animation:tailWag .4s ease-in-out infinite}.corgi.action-park .corgi-ear-l{animation:earFly .65s ease-in-out infinite}.corgi.action-park .corgi-ear-r{animation:earFly .65s ease-in-out infinite .3s}.fx-park .fx-ball{animation:ballBounce .65s ease-in-out infinite}@keyframes ballBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.fx-park .fx-fly{animation:butterflyFly 3s ease-in-out infinite}@keyframes butterflyFly{0%{transform:translate(0) rotate(0)}25%{transform:translate(-15px,-10px) rotate(-10deg)}50%{transform:translate(-8px,-20px) rotate(5deg)}75%{transform:translate(10px,-12px) rotate(8deg)}to{transform:translate(0) rotate(0)}}.corgi.action-happy .corgi-body,.corgi.action-pet .corgi-body{animation:corgiHappy .6s ease-in-out infinite}@keyframes corgiHappy{0%,to{transform:translateY(0) rotate(0) scale(1)}30%{transform:translateY(-22px) rotate(-8deg) scale(.95,1.05)}60%{transform:translateY(-22px) rotate(8deg) scale(.95,1.05)}80%{transform:translateY(0) rotate(0) scale(1.08,.92)}}.corgi.action-happy .corgi-tail,.corgi.action-pet .corgi-tail{animation:tailWag .3s ease-in-out infinite}.corgi.action-happy .corgi-ear-l,.corgi.action-pet .corgi-ear-l{animation:earFly .6s ease-in-out infinite}.corgi.action-happy .corgi-ear-r,.corgi.action-pet .corgi-ear-r{animation:earFly .6s ease-in-out infinite .3s}.corgi.action-happy .corgi-eye,.corgi.action-pet .corgi-eye{animation:happyEye .6s ease-in-out infinite}@keyframes happyEye{0%,to{transform:scaleY(1)}50%{transform:scaleY(.6)}}.fx-happy .fx-heart{animation:heartFloat 1.4s ease-in-out infinite}.fx-happy .fx-heart.h2{animation-delay:.35s}.fx-happy .fx-heart.h3{animation-delay:.7s}.fx-happy .fx-heart.h4{animation-delay:1.05s}@keyframes heartFloat{0%{transform:translateY(0) scale(.5);opacity:0}25%{opacity:1;transform:translateY(-8px) scale(1)}to{transform:translateY(-34px) scale(1.3);opacity:0}}.fx-happy .fx-sparkle{animation:sparkleSpin 1.2s ease-in-out infinite;transform-origin:center}.fx-happy .fx-sparkle.s2{animation-delay:.6s}@keyframes sparkleSpin{0%,to{transform:rotate(0) scale(.8);opacity:.5}50%{transform:rotate(180deg) scale(1.3);opacity:1}}@keyframes fxPop{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}}.decor-hat,.decor-scarf,.decor-collar{pointer-events:none}@media (max-width: 560px){.stat-grid{grid-template-columns:repeat(2,1fr)}.action-grid{grid-template-columns:repeat(3,1fr)}.hub-row{grid-template-columns:1fr}}.btn-read{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin-left:10px;flex-shrink:0;background:#fff;border:3px solid #d9cfff;border-radius:50%;font-size:20px;cursor:pointer;font-family:inherit;vertical-align:middle;transition:transform .12s;box-shadow:0 3px #0000001a}.btn-read:active{transform:scale(.9)}.question-prompt{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px}@media (min-width: 768px){.home,.login,.pet-screen,.shop-screen{max-width:900px;padding-left:32px;padding-right:32px}.logo-emoji{font-size:80px}.logo-title{font-size:56px;letter-spacing:6px}.logo-sub{font-size:20px}.hub-card{padding:28px 18px}.hub-emoji{font-size:60px}.hub-name{font-size:26px}.subject-grid{grid-template-columns:repeat(4,1fr);gap:22px}.subject-emoji{font-size:56px}.subject-name{font-size:24px}.room-floor{min-height:340px}.corgi-stage .corgi{width:280px}.stat-grid{grid-template-columns:repeat(4,1fr);gap:14px}.action-grid{grid-template-columns:repeat(6,1fr);gap:14px}.action-emoji{font-size:36px}.action-label{font-size:15px}.shop-items{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.shop-item-emoji{font-size:40px}.question-big-emoji,.question-big-char{font-size:120px}.question-big-math{font-size:72px}.question-poem .poem-title{font-size:30px}.question-poem .poem-line{font-size:32px}.option{font-size:26px;padding:18px 10px}}@media (min-width: 1024px){.home,.login,.pet-screen,.shop-screen{max-width:1040px}.subject-grid{gap:26px}.login-input{font-size:20px}.room-stage{border-radius:26px}.room-floor{min-height:380px}.corgi-stage .corgi{width:300px}}@media (min-width: 1024px) and (orientation: landscape){.pet-screen .room-stage{max-height:52vh;overflow:hidden}.room-floor{min-height:44vh}}@supports (padding: max(0px)){.home,.login,.pet-screen,.shop-screen,.battle{padding-top:max(18px,env(safe-area-inset-top));padding-bottom:max(40px,env(safe-area-inset-bottom))}.pet-top,.battle-top{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}}.eye-care-warn,.eye-care-rest{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#3a2e5773;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.eye-care-warn-card,.eye-care-rest-card{background:var(--card);border-radius:28px;padding:36px 32px;text-align:center;max-width:340px;box-shadow:0 12px 40px #0003;animation:popIn .4s ease;border:4px solid #b2f2bb}.eye-care-rest-card{border-color:#69db7c}.eye-care-emoji,.eye-care-rest-emoji{font-size:64px;animation:bounce 2s ease-in-out infinite}.eye-care-title,.eye-care-rest-title{font-size:var(--fs-xl);font-weight:900;color:var(--ink);margin-top:12px}.eye-care-text,.eye-care-rest-text{font-size:var(--fs-md);color:#7a6aa5;margin-top:10px;line-height:1.6}.eye-care-btn{margin-top:20px;background:var(--brand-good);color:#fff;border:none;border-radius:999px;padding:14px 36px;font-size:var(--fs-lg);font-weight:900;cursor:pointer;font-family:inherit;box-shadow:0 5px #2b8a3e;min-height:var(--touch-min);min-width:160px}.eye-care-btn:active{transform:translateY(3px);box-shadow:0 2px #2b8a3e}.eye-care-rest-circle{width:100px;height:100px;border-radius:50%;margin:20px auto 8px;display:flex;align-items:center;justify-content:center;font-size:40px;font-weight:900;color:#fff;background:linear-gradient(135deg,#51cf66,#40c057);box-shadow:0 6px 20px #41b85866}.eye-care-rest-hint{font-size:var(--fs-sm);color:#adb5bd}@media (pointer: coarse){button,.option,.action-btn,.subject-card,.hub-card,.user-chip,.level-card,.btn-record,.btn-back{min-height:var(--touch-min)}.btn-back,.btn-logout,.btn-read{min-width:44px;min-height:44px}.subject-card:hover,.hub-card:hover,.user-chip:hover{transform:none}}@media (pointer: coarse){.subject-card,.hub-card,.corgi-stage,.room-toy,.logo-emoji{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}}@media (pointer: fine) and (hover: hover){.subject-card:hover{transform:translateY(-6px) scale(1.02)}.hub-card:hover{transform:translateY(-5px) rotate(-1deg)}.user-chip:hover{transform:translateY(-3px)}.action-btn:hover:not(:disabled){transform:translateY(-3px)}.btn:hover{filter:brightness(1.06)}.btn-buy:hover,.btn-equip:hover{filter:brightness(1.08)}.option:hover:not(:disabled){transform:translateY(-2px)}.btn-read:hover{transform:scale(1.1)}}@media (min-width: 1280px){.home,.login,.pet-screen,.shop-screen{max-width:1100px}}.logo-title{-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}body{background:-webkit-linear-gradient(160deg,var(--bg1) 0%,#c9f0ff 40%,var(--bg2) 100%)}.login-input,button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.celebration-overlay{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:100;overflow:hidden}.celebration-star{position:absolute;top:-30px;animation:starFall linear forwards}@keyframes starFall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(360deg);opacity:0}}.celebration-confetti{position:absolute;top:-20px;width:10px;height:14px;border-radius:2px;animation:confettiFall linear forwards}@keyframes confettiFall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.celebration-firework{position:absolute;top:50%;border-radius:50%;animation:fireworkBurst linear forwards}@keyframes fireworkBurst{0%{transform:translate(0) scale(0);opacity:1}50%{opacity:1}to{transform:translate(var(--tx, 0),50vh) scale(1.5);opacity:0}}.celebration-combo-text{position:absolute;top:30%;left:50%;transform:translate(-50%);text-align:center;animation:comboPop 1s ease}.combo-num{display:block;font-size:72px;font-weight:900;color:#ff6b6b;text-shadow:4px 4px 0 #fff,-2px -2px 0 #fff;animation:comboNumPulse .5s ease}.combo-label{display:block;font-size:24px;font-weight:700;color:#ff922b}@keyframes comboPop{0%{transform:translate(-50%) scale(0)}40%{transform:translate(-50%) scale(1.3)}70%{transform:translate(-50%) scale(1)}to{transform:translate(-50%) scale(1);opacity:0}}@keyframes comboNumPulse{0%{transform:scale(0)}50%{transform:scale(1.5)}to{transform:scale(1)}}.celebration-win-text{position:absolute;top:20%;left:50%;transform:translate(-50%);font-size:36px;font-weight:900;color:#fff;text-shadow:3px 3px 0 #ff6b6b;animation:winTextPop 1.5s ease}@keyframes winTextPop{0%{transform:translate(-50%) scale(0) rotate(-10deg)}30%{transform:translate(-50%) scale(1.2) rotate(5deg)}50%{transform:translate(-50%) scale(1) rotate(0)}to{opacity:0}}.hub-row{grid-template-columns:repeat(4,1fr)}.hub-books{border-color:#a9e34b;color:#5c940d}.hub-badge{border-color:#9775fa;color:#5f3dc4}.hub-checkin{border-color:#69db7c;color:#2b8a3e}.hub-checkin.has-new{animation:checkinPulse 1.2s ease-in-out infinite}@keyframes checkinPulse{0%,to{box-shadow:0 8px #00000014}50%{box-shadow:0 8px #00000014,0 0 0 4px #ffd43b}}@media (max-width: 900px){.hub-row{grid-template-columns:repeat(3,1fr)}}@media (max-width: 640px){.hub-row{grid-template-columns:repeat(2,1fr)}}.bookshelf-screen{max-width:1100px;margin:0 auto;padding:16px 16px 60px}.shelf-hint{text-align:center;font-size:18px;color:#7048e8;font-weight:700;margin:10px 0 18px;background:#f3f0ff;border-radius:16px;padding:10px 16px;border:3px dashed #d9cfff}.shelf-grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.book-card{display:flex;flex-direction:column;gap:12px;background:#fff;border:4px solid var(--c);border-radius:22px;padding:14px 14px 16px;text-align:left;color:var(--ink);font-family:inherit;box-shadow:0 8px #00000014;transition:transform .12s,box-shadow .12s;animation:popIn .45s ease backwards;touch-action:manipulation}.book-card:hover{transform:translateY(-6px) rotate(-1deg)}.book-cover{position:relative;aspect-ratio:4 / 3;border-radius:14px;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 -12px #0000000f,inset 0 0 0 3px #ffffffb3}.book-spine{position:absolute;left:0;top:0;bottom:0;width:14px;background:linear-gradient(180deg,#0000002e,#ffffff26 50%,#00000026)}.book-cover-emoji{font-size:76px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.15))}.book-badge-level{position:absolute;top:10px;right:10px;background:var(--c);color:#fff;border-radius:999px;padding:3px 12px;font-size:14px;font-weight:900;box-shadow:0 2px 6px #00000026}.book-read-progress{position:absolute;left:0;right:0;bottom:0;height:8px;background:#0000001f}.book-read-fill{height:100%;background:linear-gradient(90deg,#51cf66,#20c997);transition:width .4s}.book-info{display:flex;flex-direction:column;gap:4px;padding:2px 4px}.book-title{font-size:22px;font-weight:900;color:var(--c);line-height:1.25}.book-meta{display:flex;gap:8px;font-size:14px;color:#868e96;font-weight:700}.book-meta span{background:#f8f9fa;border-radius:999px;padding:2px 10px}.book-desc{font-size:15px;color:#5a4a8a;min-height:44px}.book-price-row{display:flex;align-items:center;justify-content:space-between;margin-top:2px}.book-price{font-size:22px;font-weight:900;color:#b8860b;background:#fff3d6;border:3px solid #ffd43b;border-radius:999px;padding:4px 16px}.book-owned-tag{font-size:16px;font-weight:900;color:#2f9e44;background:#d3f9d8;border:3px solid #69db7c;border-radius:999px;padding:4px 14px}@media (max-width: 560px){.book-cover-emoji{font-size:64px}.book-title{font-size:20px}}.bookreader-screen{max-width:1280px;margin:0 auto;padding:12px 12px 30px;min-height:100vh;display:flex;flex-direction:column}.bookreader-screen.fullscreen{max-width:100%;margin:0;padding:0;width:100vw;min-height:100vh;height:100vh;overflow:hidden}.reader-topbar{position:absolute;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:linear-gradient(180deg,rgba(90,74,138,.75) 0%,transparent 100%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.reader-exit-btn{border:none;border-radius:999px;cursor:pointer;font-family:inherit;background:#ffffffeb;color:#5a4a8a;font-weight:800;padding:8px 18px;font-size:15px;min-height:44px;box-shadow:0 4px 12px #00000026;transition:transform .12s}.reader-exit-btn:active{transform:translateY(2px)}.reader-topbar-title{color:#fff;font-weight:800;font-size:18px;text-shadow:0 2px 6px rgba(0,0,0,.4)}.reader-topbar-page{color:#fff;font-weight:700;font-size:15px;text-shadow:0 2px 6px rgba(0,0,0,.4)}@media (max-width: 560px){.reader-topbar-title{font-size:15px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.reader-stage-landscape{position:relative;margin-top:12px;display:grid;grid-template-columns:1.4fr 1fr;gap:0;aspect-ratio:16 / 9;border-radius:24px;overflow:hidden;background:#fff9db;border:7px solid #fff;box-shadow:0 14px #9775fa38,inset 0 0 0 5px var(--book-c, #cc5de8),0 0 0 3px #0000000a}.bookreader-screen.fullscreen .reader-stage-landscape{margin-top:0;border-radius:0;border:none;aspect-ratio:auto;height:100vh;box-shadow:none}@media (max-width: 820px){.reader-stage-landscape{grid-template-columns:1fr;aspect-ratio:auto}.bookreader-screen.fullscreen .reader-stage-landscape{grid-template-rows:45vh 1fr}}.reader-illu-panel{position:relative;background:#fff;overflow:hidden;border-right:6px double var(--book-c, #cc5de8)}@media (max-width: 820px){.reader-illu-panel{border-right:none;border-bottom:6px double var(--book-c, #cc5de8);aspect-ratio:16/9}}.reader-illu{width:100%;height:100%;object-fit:cover;display:block;animation:illuZoom .7s cubic-bezier(.2,.9,.3,1.2) both}@keyframes illuZoom{0%{opacity:0;transform:scale(1.08);filter:saturate(.6) blur(6px)}60%{opacity:1;filter:saturate(1.15) blur(0)}to{opacity:1;transform:scale(1);filter:saturate(1) blur(0)}}.reader-illu-glow{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;box-shadow:inset 0 0 60px #ffffff26,inset 0 0 0 2px #ffffff14}.reader-illu-panel img.reader-illu{position:relative;z-index:4;width:100%;height:100%;object-fit:cover}.reader-illu-fallback{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 30% 30%,transparent 40%,rgba(0,0,0,.1) 100%)}.fallback-emoji{font-size:120px;filter:drop-shadow(0 6px 8px rgba(0,0,0,.15))}.reader-img-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;align-items:center;justify-content:center;color:#9775fa;font-weight:900;font-size:18px;background:#ffffffd9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.reader-img-loading .dot1,.reader-img-loading .dot2,.reader-img-loading .dot3{animation:loadingDots 1.2s ease-in-out infinite;display:inline-block;margin-left:2px}.reader-img-loading .dot2{animation-delay:.2s}.reader-img-loading .dot3{animation-delay:.4s}@keyframes loadingDots{0%,80%,to{opacity:.3}40%{opacity:1}}.reader-scene-tag-landscape{position:absolute;left:14px;bottom:14px;padding:6px 14px;background:#ffffffeb;color:#5a4a8a;font-weight:900;font-size:15px;border-radius:999px;border:3px solid #fff;box-shadow:0 3px 6px #0000002e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:3}.reader-speak-fab{position:absolute;right:16px;bottom:16px;border:4px solid #fff;border-radius:999px;background:linear-gradient(135deg,#ff6b6b,#ffa94d);color:#fff;cursor:pointer;font-family:inherit;box-shadow:0 6px #c94e0fa6,0 8px 20px #ff6b6b66;display:flex;align-items:center;gap:6px;z-index:5;overflow:hidden;padding:10px 20px;transition:transform .12s;touch-action:manipulation;min-height:56px;min-width:56px}.reader-speak-fab .rsf-icon{font-size:26px;line-height:1}.reader-speak-fab .rsf-label{font-size:16px;font-weight:800;text-shadow:0 1px 3px rgba(0,0,0,.25)}.reader-speak-fab .rsf-pulse{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;border:3px solid rgba(255,107,107,.5);animation:speakPulse 2s ease-out infinite;pointer-events:none}@keyframes speakPulse{0%{transform:scale(1);opacity:.6}to{transform:scale(1.4);opacity:0}}.reader-speak-fab:hover{transform:translateY(-3px) scale(1.04)}.reader-speak-fab:active{transform:translateY(3px);box-shadow:0 2px #c94e0fa6,0 4px 12px #ff6b6b4d}@media (max-width: 560px){.reader-speak-fab .rsf-label{display:none}.reader-speak-fab{padding:10px}.reader-speak-fab .rsf-icon{font-size:28px}}.reader-preload{position:absolute;left:-9999px;width:1px;height:1px;opacity:.01;pointer-events:none}.reader-text-panel{position:relative;background:radial-gradient(circle at 20% 20%,rgba(255,214,224,.5),transparent 55%),repeating-linear-gradient(90deg,rgba(0,0,0,.025) 0 2px,transparent 2px 5px),linear-gradient(180deg,#fffdf7,#fff5ea);padding:28px 28px 28px 40px;display:flex;flex-direction:column;justify-content:center;animation:rtpSlide .6s cubic-bezier(.2,.9,.3,1.2) both}@keyframes rtpSlide{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.rtp-spine{position:absolute;top:0;bottom:0;left:0;width:20px;background:linear-gradient(90deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.02) 55%,transparent 100%)}.rtp-inner{position:relative;z-index:2;font-family:STKaiti,KaiTi,楷体,-apple-system,PingFang SC,Microsoft YaHei,sans-serif}.rtp-bookname{font-size:18px;font-weight:800;color:var(--book-c, #cc5de8);text-align:center;margin-bottom:4px}.rtp-pageno{font-size:15px;color:#999;text-align:center;margin-bottom:22px;letter-spacing:3px}.rtp-story{font-size:clamp(22px,2.2vw,34px);line-height:1.95;font-weight:600;color:#3a2e57;letter-spacing:1px;text-align:left;padding:0 8px;text-indent:2em}.rtp-footer{margin-top:26px;text-align:right;font-size:14px;color:#aaa;border-top:1px dashed #ddd;padding-top:10px}@media (max-width: 820px){.reader-text-panel{padding:22px 22px 30px 30px}.rtp-story{font-size:24px}}.reader-nav{position:absolute;top:50%;transform:translateY(-50%);width:60px;height:80px;border:none;border-radius:22px;cursor:pointer;background:#fffffff2;color:var(--book-c, #9775fa);font-size:54px;font-weight:900;line-height:1;box-shadow:0 6px #0000001f;z-index:8;font-family:inherit}.reader-nav:active{transform:translateY(-48%)}.reader-nav.hidden{visibility:hidden}.reader-prev{left:14px}.reader-next{right:14px}@media (max-width: 560px){.reader-nav{width:48px;height:64px;font-size:40px;border-radius:18px}.reader-prev{left:8px}.reader-next{right:8px}}.reader-flip-mask{position:absolute;top:0;right:0;bottom:0;left:0;z-index:9;pointer-events:none}.reader-flip-mask.on.next{background:linear-gradient(90deg,transparent 50%,rgba(255,255,255,.8));animation:flipNext .36s ease both}.reader-flip-mask.on.prev{background:linear-gradient(270deg,transparent 50%,rgba(255,255,255,.8));animation:flipPrev .36s ease both}@keyframes flipNext{0%{transform:translate(0);opacity:0}to{transform:translate(8%);opacity:1}}@keyframes flipPrev{0%{transform:translate(0);opacity:0}to{transform:translate(-8%);opacity:1}}.reader-pager{margin-top:14px;display:flex;gap:8px;justify-content:center}.bookreader-screen.fullscreen .reader-pager{position:absolute;bottom:16px;left:50%;transform:translate(-50%);margin-top:0;z-index:50;background:#5a4a8a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:6px 14px;border-radius:999px}.reader-dot{width:14px;height:14px;border-radius:50%;background:#e9d8ff;cursor:pointer;box-shadow:inset 0 0 0 2px #0000000a;transition:all .25s}.reader-dot.active{background:var(--book-c, #9775fa);width:36px;border-radius:999px;box-shadow:0 2px 6px #00000026}.reader-ending{margin-top:16px;text-align:center;background:#fff9db;border:4px solid #ffd43b;border-radius:22px;padding:20px 18px;box-shadow:0 8px #00000014;animation:popIn .5s ease both}.bookreader-screen.fullscreen .reader-ending{position:absolute;bottom:56px;left:50%;transform:translate(-50%);margin-top:0;z-index:50;max-width:480px;width:90%}.ending-title{font-size:32px;font-weight:900;color:#b8860b;margin-bottom:14px}.ending-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}.btn-quiz{background:linear-gradient(135deg,#cc5de8,#9775fa);color:#fff;border:none;border-radius:16px;padding:14px 24px;font-size:var(--fs-md);font-weight:700;cursor:pointer;box-shadow:0 6px #7048e8;min-height:48px;transition:transform .15s}.btn-quiz:active{transform:translateY(3px)}.book-quiz-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease}.book-quiz-card{background:linear-gradient(160deg,#fff,#f8f9fa);border:5px solid #cc5de8;border-radius:24px;padding:24px 20px;max-width:400px;width:90%;text-align:center;box-shadow:0 12px #9775fa4d,0 0 40px #cc5de833;animation:bounceIn .3s ease}.book-quiz-header{display:flex;justify-content:space-between;font-size:var(--fs-sm);font-weight:700;color:#868e96;margin-bottom:16px}.book-quiz-char{font-size:56px;font-weight:900;color:#5a4a8a;margin:8px 0 12px;animation:bounce 1.5s ease-in-out infinite}.book-quiz-q{font-size:var(--fs-lg);font-weight:700;color:#343a40;margin-bottom:18px;line-height:1.5}.book-quiz-opts{display:flex;flex-direction:column;gap:10px}.book-quiz-opt{background:#fff;border:3px solid #e9ecef;border-radius:14px;padding:14px 18px;font-size:var(--fs-md);font-weight:600;color:#495057;cursor:pointer;min-height:52px;transition:all .15s}.book-quiz-opt:active{transform:scale(.98)}.book-quiz-opt.correct{background:#d3f9d8;border-color:#37b24d;color:#2b8a3e}.book-quiz-opt.wrong{background:#fff4e6;border-color:#ffa94d;color:#e67700}.book-quiz-result-emoji{font-size:64px;margin-bottom:8px;animation:bounce 1.2s ease-in-out infinite}.book-quiz-result-title{font-size:var(--fs-xl);font-weight:800;color:#5a4a8a;margin-bottom:6px}.book-quiz-result-score{font-size:var(--fs-md);color:#495057;margin-bottom:4px}.book-quiz-result-coins{font-size:var(--fs-md);font-weight:700;color:#fcc419;margin-bottom:18px}.book-cover-landscape{position:relative;aspect-ratio:16 / 10;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,#fff,var(--c, #ccc)33);box-shadow:inset 0 -10px #00000014,inset 0 0 0 2px #ffffffb3}.bcl-img{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.book-card:hover .bcl-img{transform:scale(1.05)}.bcl-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.18) 100%)}.bcl-img[style*="display: none"]+.bcl-overlay{background:linear-gradient(135deg,#fff 0%,var(--c, #cc5de8)66 100%)}.book-spine-landscape{position:absolute;top:0;bottom:0;left:0;width:10px;background:linear-gradient(180deg,#00000040,#fff3 50%,#00000038);z-index:2}.bcl-emoji{position:absolute;top:10px;left:22px;font-size:44px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.25));z-index:3}.book-badge-level{position:absolute;top:10px;right:10px;z-index:3;background:var(--c);color:#fff;border-radius:999px;padding:3px 12px;font-size:14px;font-weight:900;box-shadow:0 2px 6px #00000040}.book-read-done{position:absolute;bottom:10px;right:10px;z-index:3;background:#2b8a3e;color:#fff;font-weight:900;font-size:13px;padding:3px 12px;border-radius:999px;box-shadow:0 2px 6px #00000040}@media (max-width: 560px){.bcl-emoji{font-size:34px}}.book-read-btn{position:absolute;bottom:12px;right:12px;z-index:4;background:#fffffff2;color:#5a4a8a;border:3px solid var(--c, #cc5de8);border-radius:999px;padding:8px 16px;font-size:15px;font-weight:800;cursor:pointer;font-family:inherit;min-height:44px;box-shadow:0 4px 12px #0003;transition:transform .15s;display:flex;align-items:center;gap:4px}.book-read-btn:hover{transform:translateY(-2px) scale(1.04)}.book-read-btn:active{transform:translateY(1px)}.book-action-row{display:flex;gap:8px;margin-top:10px}.book-action-read,.book-action-buy{flex:1;border:none;border-radius:14px;cursor:pointer;font-family:inherit;font-weight:800;font-size:15px;padding:12px 8px;min-height:48px;transition:transform .15s;display:flex;align-items:center;justify-content:center;gap:4px}.book-action-read{background:linear-gradient(135deg,#cc5de8,#9775fa);color:#fff;box-shadow:0 5px #7048e880}.book-action-buy{background:linear-gradient(135deg,#fcc419,#ff922b);color:#fff;box-shadow:0 5px #e6770080}.book-action-read:active,.book-action-buy:active{transform:translateY(3px);box-shadow:0 2px #0000004d}.book-action-read:hover,.book-action-buy:hover{transform:translateY(-2px)}@media (min-width: 768px){.bookshelf-screen{padding:22px 24px 60px}}.mini-game{max-width:1040px;margin:0 auto;padding:12px 14px 40px;min-height:100vh;display:flex;flex-direction:column;gap:14px}.mini-controls{display:flex;flex-wrap:wrap;gap:14px;align-items:center;background:#fff;border:3px solid #e9ecef;border-radius:18px;padding:10px 14px;box-shadow:0 6px #0000000f}.mini-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.mg-label{font-weight:900;color:#5a4a8a;margin-right:4px;font-size:15px}.mg-chip{min-height:44px;padding:8px 14px;border-radius:999px;cursor:pointer;border:3px solid #ced4da;background:#f8f9fa;color:#495057;font-weight:800;font-size:15px;font-family:inherit;touch-action:manipulation}.mg-chip.active{background:linear-gradient(135deg,#845ef7,#cc5de8);color:#fff;border-color:#9775fa;transform:translateY(-2px);box-shadow:0 4px #9775fa59}.btn-reset{min-height:52px;padding:0 18px;border-radius:999px;border:3px solid #4dabf7;background:linear-gradient(135deg,#4dabf7,#228be6);color:#fff;font-family:inherit;font-weight:900;font-size:16px;box-shadow:0 5px #1073b966;cursor:pointer;margin-left:auto}.btn-reset:active{transform:translateY(2px);box-shadow:0 3px #1073b966}.mini-win-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#140c2d8c;z-index:80;display:flex;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:popIn .3s ease}.mini-win-card{background:#fff;border-radius:28px;padding:28px 24px;max-width:440px;width:100%;text-align:center;border:6px solid #ffd43b;box-shadow:0 20px #c9940047;animation:winTextPop .7s cubic-bezier(.2,.9,.3,1.3) both}.mw-emoji{font-size:56px}.mw-title{font-size:30px;font-weight:900;color:#7048e8;margin:8px 0}.mw-sub{font-size:17px;color:#5a4a8a;margin-bottom:14px}.mw-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.mini-warn-toast{position:fixed;top:90px;left:50%;transform:translate(-50%);background:#fff4e6;color:#d9480f;font-weight:900;padding:10px 18px;border-radius:999px;border:3px solid #ffa94d;z-index:120;font-size:17px;animation:popIn .35s ease both}.playground-title{color:#5f3dc4!important;background:linear-gradient(90deg,#f3d9ff,#dbe4ff);-webkit-text-fill-color:initial}.playground-grid{display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr));padding:0 14px}.play-card{position:relative;padding:20px 18px 22px;border-radius:24px;border:5px solid transparent;cursor:pointer;color:#fff;text-align:left;font-family:inherit;box-shadow:0 10px #0000001f;transition:transform .14s,box-shadow .14s;touch-action:manipulation}.play-card:active{transform:translateY(4px);box-shadow:0 6px #0000001f}.play-card:hover{transform:translateY(-4px) rotate(-.5deg)}.pc-puzzle{background:linear-gradient(160deg,#ff922b,#ffd43b);border-color:#fff3bf;color:#4a2a00}.pc-maze{background:linear-gradient(160deg,#4dabf7,#9775fa);border-color:#dbe4ff}.pc-logic{background:linear-gradient(160deg,#20c997,#40c057);border-color:#d3f9d8}.pc-emoji{font-size:64px;filter:drop-shadow(0 5px 4px rgba(0,0,0,.15))}.pc-name{font-size:28px;font-weight:900;margin-top:6px}.pc-desc{font-size:15px;opacity:.92;margin:6px 0 14px;font-weight:700}.pc-foot{display:inline-block;padding:6px 14px;background:#ffffff4d;border-radius:999px;font-weight:900;font-size:14px}.jigsaw-wrap{display:grid;gap:20px;grid-template-columns:1fr 200px;align-items:start}@media (max-width: 760px){.jigsaw-wrap{grid-template-columns:1fr}}.jigsaw-board{display:grid;gap:10px;background:linear-gradient(135deg,#fff9db,#ffe8cc);padding:16px;border-radius:22px;aspect-ratio:1/1;max-width:560px;width:100%;margin:0 auto;border:6px solid #ffd43b;box-shadow:inset 0 -10px #c994002e,0 10px #c9940040}.jigsaw-tile{background:#fff;border:none;border-radius:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px #0000001a,inset 0 -4px #0000000a;transition:transform .16s,box-shadow .16s;padding:4px;min-height:60px;touch-action:manipulation;font-family:inherit}.jigsaw-tile:active{transform:translateY(3px);box-shadow:0 3px #0000001a}.jt-emoji{font-size:clamp(30px,8vw,60px);filter:drop-shadow(0 3px 3px rgba(0,0,0,.15))}.jigsaw-hint{background:#fff;border:3px dashed #9775fa;border-radius:20px;padding:12px 12px 16px;text-align:center}.jh-title{font-weight:900;color:#5f3dc4;margin-bottom:8px;font-size:15px}.jh-grid{display:grid;gap:4px;width:100%;aspect-ratio:1/1;background:#f3f0ff;padding:6px;border-radius:14px}.jh-cell{background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:clamp(14px,3.6vw,28px);box-shadow:inset 0 -2px #0000000f}.maze-hint{text-align:center;font-weight:900;font-size:18px;background:#fff9db;border:3px dashed #ffd43b;border-radius:16px;padding:10px 16px}.maze-stage{background:var(--floor);border-radius:26px;padding:16px;border:6px solid var(--walls);box-shadow:inset 0 0 0 4px #fff,0 12px #00000014;max-width:620px;width:100%;margin:0 auto}.maze-grid{display:grid;width:100%;background:var(--floor)}.maze-cell{position:relative;background:var(--floor);display:flex;align-items:center;justify-content:center;font-size:clamp(18px,4.8vw,38px);min-height:40px;transition:background .16s}.maze-cell.start:before{content:"";position:absolute;top:10%;right:10%;bottom:10%;left:10%;background:#50c8782e;border-radius:10px}.maze-cell.end:before{content:"";position:absolute;top:10%;right:10%;bottom:10%;left:10%;background:#ffc10740;border-radius:10px}.mc-player{position:relative;z-index:2;animation:playerBounce .5s cubic-bezier(.2,.9,.3,1.4);transition:transform .14s}@keyframes playerBounce{0%{transform:scale(.3) rotate(-15deg)}70%{transform:scale(1.12) rotate(8deg)}to{transform:scale(1)}}.mc-treasure,.mc-flags{filter:drop-shadow(0 2px 2px rgba(0,0,0,.15))}.dpad{display:grid;grid-template-columns:repeat(3,72px);grid-template-rows:repeat(3,72px);gap:6px;justify-content:center;margin-top:6px}.dpad-btn{border-radius:20px;border:none;cursor:pointer;background:linear-gradient(180deg,#d0bfff,#9775fa);color:#fff;font-size:36px;font-weight:900;box-shadow:0 6px #5f3dc4,inset 0 -4px #00000014;font-family:inherit;min-height:72px;touch-action:manipulation}.dpad-btn:active{transform:translateY(3px);box-shadow:0 3px #5f3dc4}.dpad-center{background:linear-gradient(135deg,#ffd6e0,#fff3bf);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:42px;box-shadow:inset 0 0 0 4px #fff,0 4px #0000001a}.maze-game .maze-stage{background:var(--floor-css, var(--floor));border-radius:26px;padding:12px;border:8px solid var(--walls);box-shadow:inset 0 0 0 4px var(--walls-top),inset 0 0 0 8px #fff,0 14px #0000001f,0 0 30px #00000014;max-width:620px;width:100%;margin:0 auto;touch-action:none}.maze-game .maze-grid{gap:0}.maze-game .maze-cell{background:transparent;position:relative;font-size:clamp(18px,4.8vw,38px);min-height:44px;transition:background .16s}.maze-game .maze-cell.start:before{content:"";position:absolute;top:14%;right:14%;bottom:14%;left:14%;background:#50c87838;border-radius:12px;box-shadow:inset 0 0 0 2px #50c87880}.maze-game .maze-cell.end:before{content:"";position:absolute;top:14%;right:14%;bottom:14%;left:14%;background:radial-gradient(circle,#ffc10766,#ffc1071a);border-radius:12px;box-shadow:inset 0 0 0 2px #ffc10799;animation:endPulse 1.4s ease-in-out infinite}@keyframes endPulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.maze-game .maze-cell.visited:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle,rgba(255,255,255,.18) 30%,transparent 70%);pointer-events:none}.mc-trail{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.7em;opacity:.4;animation:trailFade .4s ease;pointer-events:none}@keyframes trailFade{0%{opacity:0;transform:scale(.4)}to{opacity:.4;transform:scale(1)}}.mc-collect{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.85em;animation:collectBob 1.2s ease-in-out infinite;filter:drop-shadow(0 2px 3px rgba(255,193,7,.6));pointer-events:none}@keyframes collectBob{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.12)}}.mc-burst{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:1.6em;animation:burstFly .7s ease-out forwards;pointer-events:none}@keyframes burstFly{0%{transform:scale(.4) translateY(0);opacity:0}30%{transform:scale(1.4) translateY(-8px);opacity:1}to{transform:scale(1.8) translateY(-40px);opacity:0}}.mc-hint-glow{position:absolute;top:14%;right:14%;bottom:14%;left:14%;border-radius:12px;background:radial-gradient(circle,#ffd43b8c,#ffd43b26);animation:hintPulse .6s ease-in-out infinite alternate;pointer-events:none}@keyframes hintPulse{0%{box-shadow:0 0 #ffd43b99}to{box-shadow:0 0 12px 4px #ffd43bcc}}.maze-game .mc-player{position:relative;z-index:3;display:inline-block;font-size:1.05em;transition:transform .14s ease;animation:playerIdle 1.4s ease-in-out infinite}.maze-game .mc-player.is-moving{animation:playerWalk .28s ease-in-out}.maze-game .mc-player.face-left{transform:scaleX(-1)}.maze-game .mc-player.face-right{transform:scaleX(1)}@keyframes playerIdle{0%,to{transform:translateY(0) scaleX(var(--s, 1))}50%{transform:translateY(-2px) scaleX(var(--s, 1))}}@keyframes playerWalk{0%{transform:translateY(0) scaleX(var(--s, 1)) rotate(-4deg)}25%{transform:translateY(-6px) scaleX(var(--s, 1)) rotate(2deg)}50%{transform:translateY(0) scaleX(var(--s, 1)) rotate(4deg)}75%{transform:translateY(-3px) scaleX(var(--s, 1)) rotate(-2deg)}to{transform:translateY(0) scaleX(var(--s, 1)) rotate(0)}}.maze-hud{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;padding:8px 12px;background:#fff;border-radius:16px;box-shadow:0 4px #00000014}.hud-chip{font-weight:800;color:#5a4a8a;font-size:16px;background:#f3f0ff;padding:6px 14px;border-radius:999px;border:2px solid #dbe4ff}.hud-chip b{color:#7048e8;font-size:18px}.hud-hint{margin-left:auto;padding:8px 16px;border-radius:999px;border:3px solid #ffd43b;background:linear-gradient(135deg,#ffe066,#ffd43b);color:#4a2a00;font-weight:900;font-size:16px;box-shadow:0 4px #c9a020;cursor:pointer;font-family:inherit;touch-action:manipulation}.hud-hint:active{transform:translateY(2px);box-shadow:0 2px #c9a020}.hud-hint:disabled{opacity:.5;cursor:not-allowed}.maze-tip{text-align:center;font-size:14px;color:#868e96;margin:-2px 0 4px;font-weight:700}.mw-stars{display:flex;gap:6px;justify-content:center;margin:4px 0 2px}.mw-stars .star{font-size:32px;opacity:.25;filter:grayscale(1);transition:all .3s ease}.mw-stars .star.on{opacity:1;filter:none;animation:starPop .5s cubic-bezier(.2,.9,.3,1.4) both}.mw-stars .star.on:nth-child(2){animation-delay:.15s}.mw-stars .star.on:nth-child(3){animation-delay:.3s}@keyframes starPop{0%{transform:scale(0) rotate(-30deg)}60%{transform:scale(1.3) rotate(10deg)}to{transform:scale(1) rotate(0)}}.logic-prompt{background:#fff;border:5px solid #845ef7;border-radius:22px;padding:16px 18px 18px;margin:4px 6px;box-shadow:0 8px #845ef733;position:relative}.lp-tag{display:inline-block;color:#fff;font-weight:900;font-size:14px;padding:3px 14px;border-radius:999px;margin-bottom:8px}.lp-text{font-size:clamp(20px,3.4vw,32px);font-weight:800;color:#3a2e57;line-height:1.45;letter-spacing:.5px;text-align:center}.logic-options{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));padding:6px}@media (max-width: 600px){.logic-options{grid-template-columns:1fr}}.logic-opt{min-height:82px;padding:14px 18px;display:flex;align-items:center;gap:12px;border:4px solid #dbe4ff;background:#fff;border-radius:20px;cursor:pointer;color:#3a2e57;font-family:inherit;box-shadow:0 6px #00000014;transition:transform .12s,box-shadow .12s;touch-action:manipulation;text-align:left}.logic-opt:hover{transform:translateY(-3px)}.logic-opt:active{transform:translateY(2px);box-shadow:0 4px #00000014}.logic-opt.right{border-color:#51cf66;background:#d3f9d8;box-shadow:0 6px #2f9e44;animation:popIn .35s ease}.logic-opt.wrong{border-color:#ffa94d;background:#fff4e6;box-shadow:0 6px #d9480f;animation:gentleShake .4s ease}.logic-opt.dim{opacity:.55}.lo-idx{font-weight:900;font-size:20px;color:#845ef7;min-width:24px}.lo-val{font-weight:800;font-size:clamp(20px,3vw,30px);line-height:1.3}@keyframes gentleShake{0%,to{transform:translate(0)}20%{transform:translate(-8px) rotate(-1.5deg)}40%{transform:translate(8px) rotate(1.5deg)}60%{transform:translate(-5px)}80%{transform:translate(4px)}}.monster-emoji{font-size:80px;line-height:1;animation:monsterIdle 2s ease-in-out infinite;transition:transform .2s}.monster-emoji.boss{font-size:110px;filter:drop-shadow(0 0 12px rgba(255,100,100,.5))}.monster-emoji.hurt{animation:monsterHurt .4s ease}.monster-emoji.attacking{animation:monsterAttack .4s ease}.monster-emoji.fainted{animation:monsterFaint .6s ease forwards}@keyframes monsterIdle{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes monsterHurt{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}@keyframes monsterAttack{0%{transform:translate(0)}50%{transform:translate(-20px) scale(1.1)}to{transform:translate(0)}}@keyframes monsterFaint{0%{transform:rotate(0) translateY(0);opacity:1}to{transform:rotate(90deg) translateY(20px);opacity:.3}}.boss-banner{text-align:center;background:#ff6b6b26;border:2px solid #ff6b6b;border-radius:12px;padding:8px 16px;margin-bottom:10px;font-weight:700;color:#c92a2a;animation:bossBlink 1s ease-in-out infinite}@keyframes bossBlink{0%,to{opacity:1}50%{opacity:.6}}.pet-level-bar{display:flex;align-items:center;gap:10px;margin-bottom:12px}.pet-level-badge{background:linear-gradient(90deg,#fcc419,#f59f00);color:#fff;font-weight:900;font-size:16px;padding:4px 14px;border-radius:999px;box-shadow:0 3px #d9930a}.pet-exp-track{flex:1;height:14px;background:#00000014;border-radius:999px;overflow:hidden}.pet-exp-fill{height:100%;background:linear-gradient(90deg,#51cf66,#2b8a3e);border-radius:999px;transition:width .6s ease}.pet-exp-text{font-size:13px;color:#7a6f95;font-weight:700;white-space:nowrap}.night-overlay{position:absolute;top:8px;right:10px;background:#5c7cfacc;color:#fff;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700}.corgi-pajamas{animation:corgiIdle 2.4s ease-in-out infinite .2s}.egg-bubble{position:absolute;left:50%;top:-30px;transform:translate(-50%);background:#fff3d6;border:3px solid #ffd43b;border-radius:18px;padding:8px 16px;font-size:15px;font-weight:700;color:#b8860b;white-space:nowrap;animation:popIn .3s ease,eggShake .5s ease-in-out 3;z-index:6}@keyframes eggShake{0%,to{transform:translate(-50%) rotate(0)}25%{transform:translate(-50%) rotate(-3deg)}75%{transform:translate(-50%) rotate(3deg)}}.checkin-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.checkin-box{background:#fff;border-radius:24px;padding:28px 24px;max-width:360px;width:90%;text-align:center;box-shadow:0 20px 60px #0000004d;animation:popIn .4s ease}.checkin-title{font-size:24px;font-weight:900;color:#5a4a8a;margin-bottom:8px}.checkin-streak{font-size:16px;color:#7a6f95;margin-bottom:16px}.checkin-wheel-wrap{position:relative;width:220px;height:220px;margin:0 auto 16px}.checkin-wheel{width:100%;height:100%;border-radius:50%;border:6px solid #ffd43b;position:relative;box-shadow:0 0 0 4px #fff,0 8px 20px #00000026}.wheel-slice{position:absolute;top:0;left:50%;width:2px;height:50%;transform-origin:bottom center}.wheel-prize{position:absolute;top:20px;left:-20px;font-size:16px;font-weight:700;white-space:nowrap}.wheel-pointer{position:absolute;top:-8px;left:50%;transform:translate(-50%);font-size:28px;color:#ff6b6b;z-index:5;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.checkin-hint{font-size:13px;color:#7a6f95;margin-bottom:16px}.btn-spin{background:linear-gradient(90deg,#ff6b6b,#ff922b);color:#fff;border:none;border-radius:999px;padding:14px 36px;font-size:18px;font-weight:700;cursor:pointer;font-family:inherit;box-shadow:0 5px #e8590c}.btn-spin:active{transform:scale(.95)}.btn-spin:disabled{opacity:.6}.checkin-close{background:none;border:none;color:#7a6f95;font-size:14px;cursor:pointer;font-family:inherit;margin-top:12px}.checkin-result{animation:popIn .4s ease}.checkin-result-emoji{font-size:56px;margin-bottom:8px}.checkin-result-text{font-size:22px;font-weight:900;color:#51cf66}.checkin-result-reward{font-size:28px;font-weight:900;color:#b8860b;margin:8px 0}.checkin-result-streak{font-size:16px;color:#7a6f95}.checkin-result-bonus{background:#fff3d6;border:2px solid #ffd43b;border-radius:12px;padding:8px 16px;margin:10px 0;font-weight:700;color:#b8860b}.badge-wall{max-width:760px;margin:0 auto;padding:16px 16px 60px;position:relative;z-index:1}.badge-hint{text-align:center;font-size:14px;color:#7a6f95;margin-bottom:16px}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px}.badge-card{background:var(--card);border:3px solid #e6dcff;border-radius:16px;padding:16px 12px;text-align:center;transition:transform .15s}.badge-card.unlocked{border-color:#ffd43b;background:linear-gradient(180deg,#fffbe6,#fff9db);box-shadow:0 4px 12px #ffd43b33}.badge-card.locked{opacity:.55}.badge-emoji{font-size:40px;margin-bottom:6px}.badge-card.unlocked .badge-emoji{animation:badgeShine 2s ease-in-out infinite}@keyframes badgeShine{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.badge-name{font-size:15px;font-weight:700;color:#5a4a8a}.badge-desc{font-size:12px;color:#7a6f95;margin-top:4px;line-height:1.4}.badge-status{display:inline-block;margin-top:6px;background:#d3f9d8;color:#2b8a3e;border-radius:999px;padding:2px 10px;font-size:11px;font-weight:700}.egg-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200;animation:fadeIn .3s ease}.egg-box{background:#fff;border-radius:24px;padding:32px 28px;text-align:center;animation:eggRumble .6s ease,popIn .4s ease}@keyframes eggRumble{0%,to{transform:translate(0)}20%{transform:translate(-8px) rotate(-2deg)}40%{transform:translate(8px) rotate(2deg)}60%{transform:translate(-6px) rotate(-1deg)}80%{transform:translate(6px) rotate(1deg)}}.egg-emoji{font-size:64px;margin-bottom:12px;animation:eggShake .5s ease-in-out 3}.egg-text{font-size:20px;font-weight:700;color:#5a4a8a}.hub-row{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:24px}.hub-checkin{border-color:#74c0fc;color:#1971c2}.hub-checkin.has-new{animation:checkinPulse 1.5s ease-in-out infinite;border-color:#ff6b6b}@keyframes checkinPulse{0%,to{transform:scale(1)}50%{transform:scale(1.03);box-shadow:0 0 0 6px #ff6b6b26}}.total-streak{display:inline-block;background:#ffe8e8;border:3px solid #ff6b6b;border-radius:999px;padding:8px 18px;font-size:16px;font-weight:700;color:#c92a2a}.result-combo{font-size:18px;font-weight:700;color:#ff6b6b;margin:6px 0}.result-badges{margin:10px 0}.result-badge{background:#fff3d6;border:2px solid #ffd43b;border-radius:12px;padding:6px 14px;margin:4px 0;font-weight:700;color:#b8860b;animation:popIn .5s ease}.level-map{max-width:780px;margin:0 auto;padding:16px 16px 50px}.level-map-top{display:flex;align-items:center;gap:12px;margin-bottom:18px}.level-map-title{font-size:22px;font-weight:900;color:var(--ink);display:flex;align-items:center;gap:8px}.level-map-emoji{font-size:28px}.level-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.level-card{background:var(--card);border:4px solid #e6dcff;border-radius:var(--radius);padding:16px 14px;text-align:center;cursor:pointer;font-family:inherit;position:relative;transition:transform .15s,box-shadow .15s;min-height:44px;box-shadow:0 6px #0000000f}.level-card:active{transform:translateY(3px);box-shadow:0 3px #0000000f}.level-card.unlocked{border-color:var(--subject-color, #ff922b)}.level-card.completed{border-color:#69db7c;background:#f8fff8}.level-card.locked{opacity:.5;cursor:not-allowed;filter:grayscale(.5)}.level-num{width:48px;height:48px;border-radius:50%;margin:0 auto 8px;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:900;color:#fff;background:var(--subject-color, #ff922b)}.level-card.completed .level-num{background:#51cf66}.level-check{font-size:24px}.level-card-title{font-size:17px;font-weight:900;color:var(--ink);margin-bottom:4px}.level-card-desc{font-size:13px;color:#868e96;line-height:1.4}.level-stars{font-size:16px;margin-top:6px;letter-spacing:2px}.level-play{font-size:13px;font-weight:700;color:var(--subject-color, #ff922b);margin-top:6px}.level-lock{font-size:13px;color:#adb5bd;margin-top:6px}.level-map-story{padding-bottom:40px}.story-progress{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding:0 4px}.story-progress-bar{flex:1;background:#00000014;border-radius:999px;height:16px;overflow:hidden}.story-progress-fill{height:100%;background:linear-gradient(90deg,#69db7c,#51cf66);border-radius:999px;transition:width .5s ease}.story-progress-text{font-size:var(--fs-sm);font-weight:700;color:#5a4a8a;white-space:nowrap}.story-path{position:relative;padding:8px 0}.story-start,.story-end{text-align:center;margin:8px 0 18px}.story-start-flag,.story-end-trophy{font-size:44px;display:block;animation:bounce 2s ease-in-out infinite}.story-start-text,.story-end-text{font-size:var(--fs-md);font-weight:700;color:#5a4a8a}.story-chapter{display:flex;align-items:center;justify-content:center;gap:10px;margin:20px auto 14px;padding:10px 24px;border-radius:999px;width:fit-content;border:3px solid rgba(255,255,255,.8);box-shadow:0 4px #0000000f}.story-chapter-emoji{font-size:28px}.story-chapter-name{font-size:var(--fs-lg);font-weight:900;color:#5a4a8a}.story-row{position:relative;display:flex;margin-bottom:8px}.story-row-left{justify-content:flex-start}.story-row-right{justify-content:flex-end}.story-connector{position:absolute;top:-8px;bottom:-8px;width:4px;background:repeating-linear-gradient(to bottom,var(--subject-color, #ff922b) 0 8px,transparent 8px 16px);opacity:.5}.story-row-left .story-connector{left:50%;transform:translate(-50%)}.story-row-right .story-connector{right:50%;transform:translate(50%)}.story-node{position:relative;display:flex;align-items:center;gap:14px;background:var(--card);border:4px solid #e6dcff;border-radius:var(--radius);padding:14px 18px;cursor:pointer;font-family:inherit;width:78%;max-width:340px;box-shadow:0 6px #0000000f;transition:transform .15s,box-shadow .15s;animation:popIn .4s ease backwards}.story-row-left .story-node{border-top-left-radius:8px;border-bottom-left-radius:8px}.story-row-right .story-node{border-top-right-radius:8px;border-bottom-right-radius:8px;flex-direction:row-reverse;text-align:right}.story-node:active{transform:translateY(3px);box-shadow:0 3px #0000000f}.story-node.unlocked{border-color:var(--subject-color, #ff922b)}.story-node.completed{border-color:#69db7c;background:#f8fff8}.story-node.locked{opacity:.5;cursor:not-allowed;filter:grayscale(.5)}.story-node.current{border-color:var(--brand-celebrate);box-shadow:0 6px #f59f00;animation:popIn .4s ease,storyPulse 1.8s ease-in-out infinite .4s}@keyframes storyPulse{0%,to{box-shadow:0 6px #f59f00,0 0 #ffd43b66}50%{box-shadow:0 6px #f59f00,0 0 0 10px #ffd43b00}}.story-scene-emoji{position:absolute;top:-18px;font-size:32px;opacity:.85}.story-row-left .story-scene-emoji{right:-8px}.story-row-right .story-scene-emoji{left:-8px}.story-level-circle{width:52px;height:52px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:var(--fs-xl);font-weight:900;color:#fff;background:var(--subject-color, #ff922b);box-shadow:0 3px #00000026}.story-node.completed .story-level-circle{background:#51cf66}.story-check{font-size:26px}.story-guide{position:absolute;top:-22px;left:50%;transform:translate(-50%);font-size:32px;animation:bounce 1s ease-in-out infinite;z-index:3}.story-info{flex:1;min-width:0}.story-title{font-size:var(--fs-md);font-weight:900;color:var(--ink);margin-bottom:2px}.story-desc{font-size:var(--fs-xs);color:#868e96;line-height:1.4}.story-stars{font-size:var(--fs-sm);margin-top:4px;letter-spacing:2px}.story-play{font-size:var(--fs-xs);font-weight:700;color:var(--subject-color, #ff922b);margin-top:4px}.story-lock{font-size:var(--fs-xs);color:#adb5bd;margin-top:4px}.story-coin-lock{color:#fcc419;font-weight:700}.story-chapter-lock{color:#cc5de8;font-weight:700}.coin-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease}.coin-modal{background:linear-gradient(160deg,#fff9c4,#fff3bf);border:6px solid #fcc419;border-radius:24px;padding:28px 24px;text-align:center;max-width:320px;width:90%;box-shadow:0 12px #f0c4194d,0 0 40px #ffc1074d;animation:bounceIn .3s ease}.coin-modal-emoji{font-size:56px;margin-bottom:8px;animation:bounce 1s ease-in-out infinite}.coin-modal-title{font-size:var(--fs-xl);font-weight:800;color:#5a4a8a;margin-bottom:4px}.coin-modal-subtitle{font-size:var(--fs-md);color:#868e96;margin-bottom:12px}.coin-modal-cost{font-size:var(--fs-lg);font-weight:700;color:#e67700;margin-bottom:20px}.coin-modal-btns{display:flex;gap:12px;justify-content:center}.coin-modal-cancel,.coin-modal-confirm{border:none;border-radius:16px;padding:14px 24px;font-size:var(--fs-md);font-weight:700;cursor:pointer;min-height:48px;min-width:110px;transition:transform .15s}.coin-modal-cancel{background:#e9ecef;color:#495057}.coin-modal-confirm{background:linear-gradient(135deg,#fcc419,#ff922b);color:#fff;box-shadow:0 6px #e67700}.coin-modal-cancel:active,.coin-modal-confirm:active{transform:translateY(3px)}.level-map-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#5a4a8af2;color:#fff;padding:14px 28px;border-radius:20px;font-size:var(--fs-md);font-weight:700;z-index:9998;box-shadow:0 8px 24px #0003;animation:bounceIn .3s ease}.weekly-report{padding:20px 16px;max-width:720px;margin:0 auto}.wr-header{text-align:center;margin-bottom:20px}.wr-title{font-size:var(--fs-2xl);font-weight:800;color:#5a4a8a}.wr-subtitle{font-size:var(--fs-sm);color:#868e96;margin-top:4px}.wr-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.wr-stat-card{background:linear-gradient(160deg,#fff,#f8f9fa);border:3px solid #e9ecef;border-radius:16px;padding:16px 8px;text-align:center}.wr-stat-num{font-size:var(--fs-2xl);font-weight:800;color:#5c7cfa}.wr-stat-label{font-size:var(--fs-xs);color:#868e96;margin-top:4px}.wr-stat-card.accuracy .wr-stat-num{color:#37b24d}.wr-stat-card.wins .wr-stat-num{color:#e64980}.wr-stat-card.coins .wr-stat-num{color:#fcc419}.wr-chart{background:#fff;border:3px solid #e9ecef;border-radius:16px;padding:16px;margin-bottom:20px}.wr-chart-title{font-size:var(--fs-md);font-weight:700;color:#495057;margin-bottom:12px}.wr-bar-chart{display:flex;align-items:flex-end;justify-content:space-between;height:120px;gap:6px}.wr-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}.wr-bar{width:100%;max-width:36px;min-height:4px;background:linear-gradient(180deg,#4dabf7,#339af0);border-radius:6px 6px 0 0;transition:height .4s ease}.wr-bar.active{background:linear-gradient(180deg,#69db7c,#37b24d)}.wr-bar-label{font-size:10px;color:#868e96;font-weight:600}.wr-bar-day{font-size:12px;color:#495057;font-weight:700}.wr-subjects{margin-bottom:20px}.wr-subject-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}.wr-subject-name{width:60px;font-size:var(--fs-sm);font-weight:700;color:#495057}.wr-subject-bar{flex:1;height:20px;background:#e9ecef;border-radius:10px;overflow:hidden}.wr-subject-fill{height:100%;border-radius:10px;transition:width .4s ease}.wr-subject-pct{width:48px;font-size:var(--fs-sm);font-weight:700;color:#495057;text-align:right}.wr-empty{text-align:center;padding:40px 20px;color:#adb5bd}.wr-empty-emoji{font-size:48px;margin-bottom:8px}@media (min-width: 768px){.badge-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.hub-row{grid-template-columns:repeat(4,1fr)}.monster-emoji{font-size:100px}.monster-emoji.boss{font-size:130px}}@media (max-width: 560px){.hub-row{grid-template-columns:repeat(2,1fr);gap:10px}.hub-emoji{font-size:38px}.hub-name{font-size:16px}.hub-desc{font-size:11px}}.room-stage>div[class*=scene-bg],.room-stage>div:first-child{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;animation:sceneFadeIn .5s ease}@keyframes sceneFadeIn{0%{opacity:0}to{opacity:1}}.room-floor{position:relative;z-index:1}.cloud{animation:cloudDrift 20s linear infinite}@keyframes cloudDrift{0%{transform:translate(-20px)}to{transform:translate(420px)}}.twinkle{animation:twinkle 2s ease-in-out infinite}.twinkle:nth-child(2){animation-delay:.5s}.twinkle:nth-child(3){animation-delay:1s}.twinkle:nth-child(4){animation-delay:1.5s}.twinkle:nth-child(5){animation-delay:.3s}.twinkle:nth-child(6){animation-delay:.8s}.twinkle:nth-child(7){animation-delay:1.3s}.twinkle:nth-child(8){animation-delay:1.8s}@keyframes twinkle{0%,to{opacity:.3}50%{opacity:1}}.scene-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.scene-bg-in{animation:scene-fade-in .5s ease-out forwards}.scene-bg-out{animation:scene-fade-out .5s ease-out forwards;z-index:2}.scene-bg-in{z-index:1}@keyframes scene-fade-in{0%{opacity:0}to{opacity:1}}@keyframes scene-fade-out{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion: reduce){.scene-bg-in,.scene-bg-out{animation:none}.scene-bg-out{display:none}}.gb-root{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;overflow:hidden;pointer-events:none}.gb-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background-size:cover}.gb-scene-fade{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;animation:gb-scene-in .4s ease-out}@keyframes gb-scene-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.gb-parallax-layer{transform:translate(var(--px, 0px),var(--py, 0px));transition:transform .25s ease-out;will-change:transform}.gb-parallax-layer .gb-star,.gb-parallax-layer .gb-moon{transform:translate(calc(var(--px, 0px) * .3),calc(var(--py, 0px) * .3))}.gb-parallax-layer .gb-clouds,.gb-parallax-layer .gb-trees,.gb-parallax-layer .gb-steam{transform:translate(calc(var(--px, 0px) * .6),calc(var(--py, 0px) * .6))}.gb-parallax-layer .gb-buildings,.gb-parallax-layer .gb-hills,.gb-parallax-layer .gb-pantry,.gb-parallax-layer .gb-window{transform:translate(var(--px, 0px),var(--py, 0px))}.gb-parallax-layer .gb-glow{transform:translate(calc(var(--px, 0px) * -.4),calc(var(--py, 0px) * -.4))}.gb-parallax-layer .gb-ambient{transform:none}@media (prefers-reduced-motion: reduce){.gb-scene-fade{animation:none}}.gb-tint{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3}.gb-far{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.gb-far-sleep .gb-moon{position:absolute;top:8%;right:8%;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff9db,#f8d749 70%,#fab005);box-shadow:0 0 60px #fff9db99,0 0 100px #ffd4004d;animation:gb-moon-glow 4s ease-in-out infinite}@keyframes gb-moon-glow{0%,to{transform:scale(1);box-shadow:0 0 60px #fff9db99,0 0 100px #ffd4004d}50%{transform:scale(1.05);box-shadow:0 0 80px #fff9dbcc,0 0 140px #ffd40080}}.gb-stars{position:absolute;top:0;right:0;bottom:0;left:0}.gb-star{position:absolute;color:#ffd966;text-shadow:0 0 6px #ffd966,0 0 12px rgba(255,212,0,.5);animation:gb-twinkle 2.5s ease-in-out infinite}@keyframes gb-twinkle{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.gb-far-eat .gb-window{position:absolute;top:12%;right:12%;width:80px;height:100px;background:linear-gradient(180deg,#fff3c4,#ffb84d);border:6px solid #fff;border-radius:4px;box-shadow:0 0 40px #ffb84d66}.gb-far-eat .gb-pantry{position:absolute;top:30%;left:0;width:100%;height:70%;background:linear-gradient(180deg,transparent 0%,rgba(184,134,11,.15) 50%,rgba(139,105,20,.25) 100%)}.gb-far-street .gb-buildings{position:absolute;bottom:30%;left:0;width:200%;height:60%;background:linear-gradient(180deg,transparent 0%,transparent 30%,rgba(132,142,150,.35) 30%,rgba(132,142,150,.35) 100%);background-image:repeating-linear-gradient(90deg,transparent 0,transparent 50px,rgba(132,142,150,.4) 50px,rgba(132,142,150,.4) 90px,transparent 90px,transparent 110px,rgba(173,181,189,.4) 110px,rgba(173,181,189,.4) 160px);animation:gb-buildings-drift 18s linear infinite}@keyframes gb-buildings-drift{0%{transform:translate(0)}to{transform:translate(-50%)}}.gb-far-street .gb-clouds{position:absolute;top:8%;left:0;width:100%;height:80px;background:radial-gradient(ellipse 60px 20px at 20% 50%,rgba(255,255,255,.7),transparent),radial-gradient(ellipse 80px 24px at 50% 50%,rgba(255,255,255,.6),transparent),radial-gradient(ellipse 50px 18px at 80% 50%,rgba(255,255,255,.7),transparent);animation:gb-cloud-drift 25s linear infinite}@keyframes gb-cloud-drift{0%{transform:translate(0)}to{transform:translate(-30%)}}.gb-far-bath .gb-steam{position:absolute;top:0;left:20%;width:60%;height:100%;background:radial-gradient(ellipse 50px 30px at 30% 20%,rgba(255,255,255,.4),transparent),radial-gradient(ellipse 60px 35px at 60% 40%,rgba(255,255,255,.3),transparent),radial-gradient(ellipse 40px 25px at 50% 70%,rgba(255,255,255,.35),transparent);animation:gb-steam-rise 8s ease-in infinite}@keyframes gb-steam-rise{0%{transform:translateY(20px);opacity:.2}50%{opacity:.5}to{transform:translateY(-30px);opacity:0}}.gb-far-park .gb-hills{position:absolute;bottom:0;left:0;width:100%;height:40%;background:radial-gradient(ellipse 50% 80% at 20% 100%,rgba(116,192,92,.55),transparent),radial-gradient(ellipse 60% 90% at 60% 100%,rgba(143,221,167,.55),transparent),radial-gradient(ellipse 45% 70% at 90% 100%,rgba(116,192,92,.5),transparent)}.gb-far-park .gb-trees{position:absolute;bottom:20%;left:5%;width:90%;height:30%;background:radial-gradient(circle 30px at 15% 80%,rgba(81,207,102,.7),transparent 80%),radial-gradient(circle 25px at 35% 60%,rgba(116,192,92,.6),transparent 80%),radial-gradient(circle 35px at 65% 70%,rgba(81,207,102,.65),transparent 80%),radial-gradient(circle 28px at 85% 50%,rgba(143,221,167,.6),transparent 80%)}.gb-far-warm .gb-glow{position:absolute;top:30%;left:50%;width:280px;height:280px;transform:translate(-50%);background:radial-gradient(circle,rgba(255,209,220,.7) 0%,rgba(255,174,201,.4) 40%,transparent 70%);filter:blur(20px);animation:gb-glow-pulse 3s ease-in-out infinite}@keyframes gb-glow-pulse{0%,to{transform:translate(-50%) scale(1);opacity:.6}50%{transform:translate(-50%) scale(1.15);opacity:.9}}.gb-ambient{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.gb-particle{position:absolute;top:-30px;opacity:0;will-change:transform,opacity;text-shadow:0 2px 6px rgba(0,0,0,.15)}.gb-p-eat{animation:gb-fall-down 6s linear infinite}.gb-p-run{animation:gb-fall-down 4s linear infinite}.gb-p-walk{animation:gb-fall-down 8s linear infinite}.gb-p-bath{animation:gb-rise-up 7s ease-out infinite}.gb-p-sleep{animation:gb-twinkle-float 5s ease-in-out infinite}.gb-p-park{animation:gb-fall-down 7s linear infinite}.gb-p-happy{animation:gb-confetti 3.5s ease-out infinite}.gb-p-pet{animation:gb-float-up 4s ease-out infinite}@keyframes gb-fall-down{0%{transform:translateY(-30px) rotate(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(100vh) rotate(360deg);opacity:0}}@keyframes gb-rise-up{0%{transform:translateY(100vh) scale(.8);opacity:0}20%{opacity:.9}80%{opacity:.9}to{transform:translateY(-30px) scale(1.2);opacity:0}}@keyframes gb-twinkle-float{0%,to{transform:translateY(0) scale(1);opacity:.3}50%{transform:translateY(-25px) scale(1.3);opacity:1}}@keyframes gb-confetti{0%{transform:translateY(-30px) rotate(0) scale(.8);opacity:0}10%{opacity:1}to{transform:translateY(100vh) rotate(720deg) scale(1.2);opacity:0}}@keyframes gb-float-up{0%{transform:translateY(80vh) scale(.6);opacity:0}20%{opacity:1}80%{opacity:1}to{transform:translateY(-30px) scale(1.1);opacity:0}}@media (prefers-reduced-motion: reduce){.gb-particle,.gb-far-sleep .gb-moon,.gb-far-warm .gb-glow,.gb-far-street .gb-buildings,.gb-far-street .gb-clouds,.gb-far-bath .gb-steam{animation:none}}.need-bubble{position:absolute;left:50%;top:-10px;transform:translate(-50%);background:linear-gradient(180deg,#fff4e6,#ffe8d6);border:3px solid #ffa94d;border-radius:18px;padding:6px 14px;display:flex;align-items:center;gap:6px;font-size:15px;font-weight:700;color:#d9480f;white-space:nowrap;cursor:pointer;z-index:6;animation:needBubblePop .4s ease,needBubblePulse 1.8s ease-in-out .4s infinite;box-shadow:0 4px #00000014,0 0 20px #ffa94d59}.need-bubble:after{content:"";position:absolute;left:50%;bottom:-10px;transform:translate(-50%);border:7px solid transparent;border-top-color:#ffa94d}.need-bubble-emoji{font-size:20px;animation:needBubbleWiggle 1s ease-in-out infinite}.need-bubble-text{font-size:15px}@keyframes needBubblePop{0%{transform:translate(-50%) scale(.5);opacity:0}60%{transform:translate(-50%) scale(1.15);opacity:1}to{transform:translate(-50%) scale(1);opacity:1}}@keyframes needBubblePulse{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-4px)}}@keyframes needBubbleWiggle{0%,to{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}.action-btn-need{border-color:#ffa94d!important;background:linear-gradient(180deg,#fff4e6,#ffe8cc)!important;animation:actionBtnNeedPulse 1.2s ease-in-out infinite;box-shadow:0 5px #ffa94d59,0 0 18px #ffa94d80!important}@keyframes actionBtnNeedPulse{0%,to{transform:translateY(0);box-shadow:0 5px #ffa94d59,0 0 18px #ffa94d80}50%{transform:translateY(-3px);box-shadow:0 8px #ffa94d73,0 0 28px #ffa94dcc}}.satisfied-bubble{position:absolute;left:50%;top:-16px;transform:translate(-50%);background:linear-gradient(180deg,#e6fcf5,#c3fae8);border:3px solid #51cf66;border-radius:18px;padding:6px 14px;display:flex;align-items:center;gap:6px;font-size:15px;font-weight:700;color:#2b8a3e;white-space:nowrap;z-index:6;animation:satisfiedPop .4s ease,satisfiedPulse 1.2s ease-in-out .4s infinite;box-shadow:0 4px #00000014,0 0 24px #51cf6673}.satisfied-bubble:after{content:"";position:absolute;left:50%;bottom:-10px;transform:translate(-50%);border:7px solid transparent;border-top-color:#51cf66}.satisfied-emoji{font-size:22px;animation:satisfiedWiggle .6s ease-in-out infinite}.satisfied-text{font-size:15px}@keyframes satisfiedPop{0%{transform:translate(-50%) scale(.5);opacity:0}60%{transform:translate(-50%) scale(1.15);opacity:1}to{transform:translate(-50%) scale(1);opacity:1}}@keyframes satisfiedPulse{0%,to{transform:translate(-50%) translateY(0) scale(1)}50%{transform:translate(-50%) translateY(-4px) scale(1.05)}}@keyframes satisfiedWiggle{0%,to{transform:rotate(-8deg) scale(1)}50%{transform:rotate(8deg) scale(1.15)}}.stat-item{cursor:pointer;transition:transform .12s,box-shadow .12s;-webkit-user-select:none;user-select:none}.stat-item:hover{transform:translateY(-2px)}.stat-item:active{transform:translateY(1px)}.stat-item.stat-warning{animation:statWarnPulse 1.2s ease-in-out infinite;border-radius:12px}@keyframes statWarnPulse{0%,to{box-shadow:0 0 #ff6b6b00}50%{box-shadow:0 0 0 4px #ff6b6b80,0 0 18px #ff6b6b99}}.stat-item.stat-warning .stat-track{border:2px solid #ff6b6b;animation:statBarBlink .8s ease-in-out infinite}@keyframes statBarBlink{0%,to{background:#fff5f5}50%{background:#ffe3e3}}.food-tray{margin-top:14px;background:linear-gradient(180deg,#fff8e1,#ffe8cc);border:3px solid #ffa94d;border-radius:18px;padding:10px 12px;box-shadow:0 5px #ffa94d40}.food-tray-label{text-align:center;font-size:13px;color:#d9480f;font-weight:700;margin-bottom:8px}.food-fav-hint{font-size:12px;color:#e8590c}.food-tray-items{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.food-chip{position:relative;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;background:#fff;border:3px solid #ffd6a8;border-radius:50%;cursor:grab;-webkit-user-select:none;user-select:none;transition:transform .12s;font-size:28px}.food-chip:hover{transform:translateY(-3px) scale(1.08);border-color:#ffa94d}.food-chip:active{cursor:grabbing;transform:scale(.95)}.food-chip-fav{border-color:#ff6b9d;background:linear-gradient(180deg,#fff0f6,#ffd6e0);box-shadow:0 0 16px #ff6b9d80;animation:foodChipFavPulse 1.6s ease-in-out infinite}@keyframes foodChipFavPulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.food-chip-emoji{pointer-events:none}.food-chip-heart{position:absolute;top:-4px;right:-4px;font-size:16px;pointer-events:none;animation:foodChipHeartBeat .9s ease-in-out infinite}@keyframes foodChipHeartBeat{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.levelup-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:100;pointer-events:none;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,#fff8e1b3,#fff0 70%);animation:levelupOverlayFade 2.5s ease-out forwards}@keyframes levelupOverlayFade{0%{opacity:0}10%{opacity:1}85%{opacity:1}to{opacity:0}}.levelup-burst{position:absolute;top:0;right:0;bottom:0;left:0}.levelup-confetti{position:absolute;font-size:28px;transform:translate(-50%,-50%);animation:levelupConfettiBurst 2s ease-out forwards;text-shadow:0 0 8px rgba(255,212,0,.5)}@keyframes levelupConfettiBurst{0%{transform:translate(-50%,-50%) scale(0) rotate(0);opacity:0}15%{transform:translate(-50%,-50%) scale(1.4) rotate(45deg);opacity:1}to{transform:translate(calc(-50% + 200px),calc(-50% - 200px)) scale(.5) rotate(720deg);opacity:0}}.levelup-text{text-align:center;background:linear-gradient(180deg,#fff,#fff3d6);border:5px solid #ffa94d;border-radius:24px;padding:24px 36px;box-shadow:0 8px #ffa94d66,0 0 60px #ffd40099;animation:levelupTextPop .6s ease-out,levelupTextFloat 1.8s ease-in-out .6s infinite}@keyframes levelupTextPop{0%{transform:scale(.3) rotate(-15deg);opacity:0}60%{transform:scale(1.2) rotate(8deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}@keyframes levelupTextFloat{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(-1deg)}}.levelup-title{font-size:28px;font-weight:900;background:linear-gradient(135deg,#ff6b6b,#ffa94d,#fcc419);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none}.levelup-level{font-size:48px;font-weight:900;color:#d9480f;margin:4px 0;text-shadow:0 4px 0 rgba(255,169,77,.35)}.levelup-name{font-size:16px;font-weight:700;color:#86604c}@media (prefers-reduced-motion: reduce){.satisfied-bubble,.satisfied-emoji,.stat-item.stat-warning,.food-chip-fav,.food-chip-heart,.levelup-confetti,.levelup-text{animation:none}}.corgi-fur-texture{transform-origin:118px 150px}@keyframes floatSparkle{0%,to{transform:translateY(0) rotate(0) scale(1);opacity:.6}50%{transform:translateY(-18px) rotate(15deg) scale(1.15);opacity:1}}@keyframes floatPaw{0%,to{transform:translateY(0) rotate(-8deg);opacity:.4}50%{transform:translateY(-12px) rotate(8deg);opacity:.7}}@keyframes rainbowSweep{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.story-progress-fill{background:linear-gradient(90deg,#ff6b9d,#cc5de8,#4dabf7,#51cf66,#ffd43b,#ff6b9d);background-size:200% 100%;animation:rainbowSweep 3s ease infinite}.login-page{min-height:100vh;width:100%;position:relative;overflow:hidden;background:linear-gradient(180deg,#ffe0f0,#fff0d6 30%,#e0f5ff,#d4f7d4 80%,#c2f0c2)}.login-bg{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:0}.bg-sky{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 20% 10%,rgba(255,182,217,.45),transparent 55%),radial-gradient(ellipse at 80% 15%,rgba(186,230,253,.4),transparent 55%),linear-gradient(180deg,rgba(255,230,245,.4) 0%,rgba(255,245,220,.15) 50%,transparent 75%)}.bg-sun{position:absolute;top:5%;right:8%;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,#ffd43b,#ffe066 40%,#ffe06666 65%,#ffe06600 80%);animation:sunPulse 4s ease-in-out infinite;filter:blur(.5px)}@keyframes sunPulse{0%,to{transform:scale(1);opacity:.92}50%{transform:scale(1.1);opacity:1}}.bg-rainbow{position:absolute;left:-10%;top:3%;width:55%;height:55%;border-radius:50% 50% 0 0/100% 100% 0 0;background:linear-gradient(180deg,#ff6b6b8c,#ff6b6b8c 12%,#ff9f438c 12%,#ff9f438c 24%,#ffd43b8c 24%,#ffd43b8c 36%,#7ed9578c 36%,#7ed9578c 48%,#4dabf78c 48%,#4dabf78c 60%,#ab82ff8c 60%,#ab82ff8c 72%,#fff0 72%,#fff0);filter:blur(1px);opacity:.7;transform:rotate(-10deg);animation:rainbowFade 6s ease-in-out infinite}@keyframes rainbowFade{0%,to{opacity:.55}50%{opacity:.8}}.bg-sparkle{position:absolute;animation:sparkleTwinkle 2.2s ease-in-out infinite;filter:drop-shadow(0 2px 4px rgba(255,212,59,.5))}.bg-sparkle.s1{top:14%;left:18%;font-size:24px;animation-delay:0s}.bg-sparkle.s2{top:8%;left:42%;font-size:20px;animation-delay:-.6s}.bg-sparkle.s3{top:20%;left:62%;font-size:26px;animation-delay:-1.1s}.bg-sparkle.s4{top:12%;left:82%;font-size:22px;animation-delay:-1.6s}.bg-sparkle.s5{top:28%;left:8%;font-size:18px;animation-delay:-.8s}@keyframes sparkleTwinkle{0%,to{transform:scale(.7) rotate(0);opacity:.4}50%{transform:scale(1.2) rotate(180deg);opacity:1}}.bg-cloud{position:absolute;font-size:60px;opacity:.88;animation:cloudDrift linear infinite;filter:drop-shadow(0 4px 0 rgba(255,255,255,.5))}.bg-cloud:before{content:"☁️"}.bg-cloud.c1{top:11%;left:-10%;animation-duration:55s;animation-delay:0s}.bg-cloud.c2{top:20%;left:-10%;animation-duration:70s;animation-delay:-20s;font-size:44px}.bg-cloud.c3{top:5%;left:-10%;animation-duration:90s;animation-delay:-40s;font-size:52px}@keyframes cloudDrift{0%{transform:translate(0)}to{transform:translate(130vw)}}.bg-butterfly{position:absolute;font-size:30px;animation:butterflyFly 7s ease-in-out infinite;filter:drop-shadow(0 3px 4px rgba(255,143,171,.4))}.bg-butterfly.b1{top:30%;left:15%;animation-delay:0s}.bg-butterfly.b2{top:40%;right:18%;font-size:26px;animation-delay:-3s}@keyframes butterflyFly{0%{transform:translate(0) rotate(-10deg)}25%{transform:translate(30px,-22px) rotate(10deg)}50%{transform:translate(-10px,-40px) rotate(-6deg)}75%{transform:translate(-28px,-15px) rotate(12deg)}to{transform:translate(0) rotate(-10deg)}}.bg-grass{position:absolute;bottom:0;left:0;right:0;height:36%;background:linear-gradient(180deg,#c3f0ca,#96e6a1 45%,#74d680);border-top:6px solid #51cf66;box-shadow:inset 0 6px #fff6}.bg-grass:before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px;background-image:radial-gradient(ellipse at 8% 100%,#96e6a1 0 12px,transparent 13px),radial-gradient(ellipse at 22% 100%,#51cf66 0 10px,transparent 11px),radial-gradient(ellipse at 36% 100%,#96e6a1 0 14px,transparent 15px),radial-gradient(ellipse at 50% 100%,#69db7c 0 11px,transparent 12px),radial-gradient(ellipse at 64% 100%,#96e6a1 0 13px,transparent 14px),radial-gradient(ellipse at 78% 100%,#51cf66 0 10px,transparent 11px),radial-gradient(ellipse at 92% 100%,#96e6a1 0 12px,transparent 13px)}.bg-flower{position:absolute;font-size:28px;animation:flowerSway 3s ease-in-out infinite;filter:drop-shadow(0 2px 2px rgba(0,0,0,.1))}.bg-flower.f1{left:5%;bottom:24%;animation-delay:0s}.bg-flower.f2{left:20%;bottom:22%;animation-delay:-.8s;font-size:24px}.bg-flower.f3{left:35%;bottom:26%;animation-delay:-1.5s;font-size:26px}.bg-flower.f4{right:28%;bottom:23%;animation-delay:-2.2s}.bg-flower.f5{right:14%;bottom:25%;animation-delay:-1.1s;font-size:30px}.bg-flower.f6{right:3%;bottom:21%;animation-delay:-2.8s;font-size:22px}@keyframes flowerSway{0%,to{transform:rotate(-8deg) translateY(0)}50%{transform:rotate(8deg) translateY(-3px)}}.bg-mushroom{position:absolute;font-size:26px;animation:mushroomBob 3.5s ease-in-out infinite;filter:drop-shadow(0 3px 2px rgba(0,0,0,.12))}.bg-mushroom.m1{left:12%;bottom:10%;animation-delay:0s}.bg-mushroom.m2{right:10%;bottom:8%;animation-delay:-1.8s;font-size:22px}@keyframes mushroomBob{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.05)}}.bg-table{position:absolute;left:50%;top:62%;transform:translate(-50%,-50%);width:280px;height:180px;z-index:3}.table-top{position:absolute;top:0;left:-20px;right:-20px;height:26px;background:linear-gradient(180deg,#e0b488,#c99366 55%,#a97a4c);border-radius:14px;box-shadow:0 4px #7a4f28,inset 0 2px #fff6}.table-leg{position:absolute;top:26px;width:20px;height:90px;background:linear-gradient(180deg,#c99366,#7a4f28);border-radius:0 0 6px 6px;box-shadow:0 3px #5d3b1e}.table-leg.l1{left:4px;transform:perspective(200px) rotateX(-8deg)}.table-leg.l2{left:48px;transform:perspective(200px) rotateX(-8deg) scaleX(.7);opacity:.8}.table-leg.l3{right:48px;transform:perspective(200px) rotateX(-8deg) scaleX(.7);opacity:.8}.table-leg.l4{right:4px;transform:perspective(200px) rotateX(-8deg)}.table-milk{position:absolute;top:-30px;left:15%;font-size:34px;animation:itemFloat 2.5s ease-in-out infinite}.table-cookie{position:absolute;top:-32px;left:42%;font-size:30px;animation:itemFloat 2.5s ease-in-out infinite;animation-delay:-.8s}.table-cake{position:absolute;top:-34px;right:15%;font-size:32px;animation:itemFloat 2.5s ease-in-out infinite;animation-delay:-1.6s}@keyframes itemFloat{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-6px) rotate(4deg)}}.dog-track{position:absolute;left:50%;top:62%;transform:translate(-50%,-50%);width:640px;height:360px;border-radius:50%;animation:dogOrbit 6s linear infinite;z-index:5}.dog-runner{position:absolute;left:100%;top:50%;transform:translate(-50%,-50%);animation:runnerBounce .45s ease-in-out infinite}.dog-body{font-size:54px;line-height:1;display:block;filter:drop-shadow(0 6px 0 rgba(0,0,0,.14))}.dog-dust{position:absolute;font-size:22px;opacity:0;animation:dustPuff .9s ease-out infinite}.dog-dust.d1{left:-26px;top:8px;animation-delay:0s;transform:scaleX(-1)}.dog-dust.d2{left:-14px;top:22px;animation-delay:-.3s;transform:scaleX(-1)}.dog-paw{position:absolute;right:-30px;bottom:-6px;font-size:16px;opacity:.6;animation:pawDrop .9s ease-out infinite}@keyframes dogOrbit{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes runnerBounce{0%,to{transform:translate(-50%,-50%) translateY(0) rotate(-4deg)}50%{transform:translate(-50%,-50%) translateY(-10px) rotate(4deg)}}@keyframes dustPuff{0%{opacity:0;transform:scaleX(-1) scale(.5)}25%{opacity:.85}to{opacity:0;transform:scaleX(-1) translate(-28px) scale(1.4)}}@keyframes pawDrop{0%{opacity:.7;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(18px) scale(.6)}}.login{max-width:560px;margin:0 auto;padding:24px 18px 60px;position:relative;z-index:10;background:transparent;border-radius:0}.login-header{text-align:center;margin-bottom:18px;animation:dropIn .6s ease;padding-top:4px}.login-section{background:#ffffffe6;border:4px solid #f3d9ff;border-radius:24px;padding:22px;margin-bottom:16px;box-shadow:0 10px #5f3dc41f,0 20px 50px #5f3dc41a;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.login-form-wrap{display:flex;flex-direction:column;align-items:stretch;gap:14px;width:100%;max-width:380px;margin:0 auto}.login-form-wrap>.login-input,.login-form-wrap>.login-submit,.login-form-wrap>.login-error{width:100%!important;max-width:100%!important;box-sizing:border-box!important;display:block!important;flex-shrink:0}.login-input,.login-submit{min-height:60px;border-radius:18px}.login-input{border:3px solid #f3d9ff;padding:14px 20px;font-size:19px;font-family:inherit;color:var(--ink);outline:none;background:#fff;transition:border-color .15s,box-shadow .15s}.login-input:focus{border-color:#e64980;box-shadow:0 0 0 4px #e649802e}.login-submit{background:linear-gradient(90deg,#f783ac,#e64980);box-shadow:0 5px #5f3dc4;padding:14px 24px;font-size:20px;font-weight:700;color:#fff;border:none;cursor:pointer;font-family:inherit;transition:transform .1s,box-shadow .1s;letter-spacing:4px}.login-submit:active{transform:translateY(3px);box-shadow:0 2px #5f3dc4}.login-submit:disabled{opacity:.7;cursor:not-allowed}.login-error{color:#e03131;font-size:15px;font-weight:700;text-align:center;padding:10px 14px;background:#fff5f5;border:2px solid #ffc9c9;border-radius:14px}.login-section-title{font-size:18px;font-weight:700;color:#7a6aa5;margin-bottom:14px;text-align:center}@media (max-width: 760px){.dog-track{width:460px;height:260px}.dog-body{font-size:40px}.bg-table{width:220px;height:160px}.table-top{left:-14px;right:-14px;height:22px}.table-leg{height:68px;width:16px;top:22px}.bg-flower,.bg-mushroom{font-size:22px}.bg-sparkle{font-size:18px}.bg-rainbow{width:70%;height:45%}.login-form-wrap{max-width:340px}}@media (max-width: 500px){.dog-track{width:340px;height:220px}.dog-body{font-size:34px}.bg-table{width:170px;height:140px}.table-top{left:-12px;right:-12px;height:20px}.table-leg{height:54px;width:14px;top:20px}.table-milk{font-size:26px;top:-24px}.table-cookie{font-size:24px;top:-26px}.table-cake{font-size:26px;top:-26px}.bg-flower,.bg-mushroom{font-size:18px}.bg-sparkle{font-size:16px}.bg-sun{width:90px;height:90px}.bg-rainbow{width:85%;height:40%}.login-form-wrap{max-width:100%}.login{padding-top:14px}}.story-node.unlocked:hover{border-color:#f783ac!important;box-shadow:0 8px #f783ac33,0 0 20px #f783ac26!important}.story-chapter{border:3px solid transparent;background-image:linear-gradient(#fff,#fff),linear-gradient(90deg,#ff6b9d,#cc5de8,#4dabf7);background-origin:border-box;background-clip:padding-box,border-box}.hub-checkin{border-color:#b3d9ff;color:#1971c2}.hub-badge{border-color:#ffd43b;color:#b8860b}.hub-card:hover{box-shadow:0 12px #0000000f,0 0 24px #f783ac1f}.daily-header{background:linear-gradient(90deg,#f783ac,#cc5de8)!important}.daily-item{background:#fef5fb!important;border-color:#f3d9ff!important}.daily-item.ready{border-color:var(--brand-celebrate)!important;background:#fff0f6!important}.result.win{border-color:#f783ac!important}.result.lose{border-color:#d0ebff!important}.option:hover:not(:disabled){background:#fef0f6!important}.shop-tab.active{background:#e64980!important;border-color:#c2256b!important}.shop-item.equipped{border-color:#51cf66;background:#f0fff4}.btn-buy{background:linear-gradient(90deg,#f783ac,#e64980)!important;box-shadow:0 4px #c2256b!important}.action-btn{border-color:#f3d9ff!important}.action-btn:hover:not(:disabled){background:#fef0f6!important}.room-stage{border-color:#fff!important}.stat-item{border-color:#f3d9ff!important}.capy2d{display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none}.capy2d-svg{width:100%;height:100%;overflow:visible}.capy2d--idle .capy-body-group{animation:capyBreathe 3s ease-in-out infinite;transform-origin:100px 130px}@keyframes capyBreathe{0%,to{transform:scaleY(1) scaleX(1) translateY(0)}50%{transform:scaleY(1.06) scaleX(.97) translateY(-3px)}}.capy2d--idle .capy-head-group{animation:capyHeadIdle 5s ease-in-out infinite;transform-origin:100px 90px}@keyframes capyHeadIdle{0%,to{transform:rotate(0) translateY(0)}25%{transform:rotate(-4deg) translateY(-1px)}75%{transform:rotate(3deg) translateY(-1px)}}.capy2d--idle .capy-ears{animation:capyEarWiggle 3.5s ease-in-out infinite;transform-origin:100px 72px}@keyframes capyEarWiggle{0%,70%,to{transform:rotate(0)}80%{transform:rotate(-6deg)}90%{transform:rotate(4deg)}}.capy2d--idle .capy-tail{animation:capyTailWag 2.5s ease-in-out infinite;transform-origin:150px 140px}@keyframes capyTailWag{0%,to{transform:rotate(0)}50%{transform:rotate(12deg)}}.capy2d--idle .capy-nostril-l{animation:capyTwitchL 3s ease-in-out infinite}.capy2d--idle .capy-nostril-r{animation:capyTwitchR 3s ease-in-out infinite}@keyframes capyTwitchL{0%,85%,to{rx:4}92%{rx:2}}@keyframes capyTwitchR{0%,85%,to{rx:4}92%{rx:5.5}}.capy2d--eat .capy-body-group{animation:capyChewBody .35s cubic-bezier(.34,1.56,.64,1) infinite;transform-origin:100px 130px}@keyframes capyChewBody{0%,to{transform:scaleY(1) scaleX(1) translateY(0)}50%{transform:scaleY(.94) scaleX(1.05) translateY(2px)}}.capy2d--eat .capy-head-group{animation:capyChewHead .35s ease-in-out infinite;transform-origin:100px 90px}@keyframes capyChewHead{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(3px) rotate(-2deg)}}.capy2d--eat .capy-cheeks{animation:capyCheekPuff .35s ease-in-out infinite}@keyframes capyCheekPuff{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.capy2d--eat .capy-mouth{animation:capyChewMouth .35s ease-in-out infinite}@keyframes capyChewMouth{0%,to{transform:scaleY(1)}50%{transform:scaleY(.3)}}.capy2d--eat .crumb{animation:crumbExplode .5s cubic-bezier(.22,1,.36,1) infinite}.capy2d--eat .c1{animation-delay:0s;--tx: 20px;--ty: -25px}.capy2d--eat .c2{animation-delay:.12s;--tx: -18px;--ty: -20px}.capy2d--eat .c3{animation-delay:.24s;--tx: 25px;--ty: -15px}.capy2d--eat .c4{animation-delay:.36s;--tx: -22px;--ty: -22px}.capy2d--eat .c5{animation-delay:.48s;--tx: 15px;--ty: -28px}@keyframes crumbExplode{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--tx, 20px),var(--ty, -25px)) scale(.3);opacity:0}}.capy2d--eat .food-icon{animation:foodBounce .7s ease-in-out infinite;transform-origin:center}@keyframes foodBounce{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(15deg)}}.capy2d--run .capy-body-group{animation:capyRunBody .25s cubic-bezier(.4,0,.2,1) infinite;transform-origin:100px 130px}@keyframes capyRunBody{0%,to{transform:translateY(0) scaleY(1) scaleX(1) rotate(-4deg)}50%{transform:translateY(-10px) scaleY(1.08) scaleX(.94) rotate(4deg)}}.capy2d--run .capy-head-group{animation:capyRunHead .25s ease-in-out infinite;transform-origin:100px 90px}@keyframes capyRunHead{0%,to{transform:rotate(8deg) translateY(-3px)}50%{transform:rotate(-5deg) translateY(-8px)}}.capy2d--run .capy-ears{animation:capyEarFly .25s ease-in-out infinite;transform-origin:100px 72px}@keyframes capyEarFly{0%,to{transform:rotate(20deg)}50%{transform:rotate(-15deg)}}.capy2d--run .capy-legs-back{animation:capyRunLegsBack .25s ease-in-out infinite;transform-origin:100px 155px}@keyframes capyRunLegsBack{0%,to{transform:translateY(0) scaleY(1)}50%{transform:translateY(-8px) scaleY(.5)}}.capy2d--run .capy-legs-front{animation:capyRunLegsFront .25s ease-in-out infinite;transform-origin:100px 160px}@keyframes capyRunLegsFront{0%,to{transform:translateY(-6px) scaleY(.6)}50%{transform:translateY(0) scaleY(1)}}.capy2d--run .capy-tail{animation:capyTailRun .25s ease-in-out infinite;transform-origin:150px 140px}@keyframes capyTailRun{0%,to{transform:rotate(-20deg)}50%{transform:rotate(25deg)}}.capy2d--run .speed{animation:speedDash .25s linear infinite}.capy2d--run .l1{animation-delay:0s}.capy2d--run .l2{animation-delay:.06s}.capy2d--run .l3{animation-delay:.12s}.capy2d--run .l4{animation-delay:.18s}@keyframes speedDash{0%{opacity:0;transform:translate(-5px)}40%{opacity:1}to{opacity:0;transform:translate(25px)}}.capy2d--run .dust{animation:dustFly .5s ease-out infinite}.capy2d--run .du1{animation-delay:0s}.capy2d--run .du2{animation-delay:.15s}.capy2d--run .du3{animation-delay:.3s}.capy2d--run .du4{animation-delay:.45s}@keyframes dustFly{0%{transform:translate(0) scale(.5);opacity:.8}to{transform:translate(-20px,-25px) scale(2);opacity:0}}.capy2d--walk .capy-body-group{animation:capyWalkBody .7s ease-in-out infinite;transform-origin:100px 130px}@keyframes capyWalkBody{0%,to{transform:translateY(0) rotate(-3deg) scaleY(1)}25%{transform:translateY(-5px) rotate(0) scaleY(1.04)}50%{transform:translateY(0) rotate(3deg) scaleY(1)}75%{transform:translateY(-5px) rotate(0) scaleY(1.04)}}.capy2d--walk .capy-head-group{animation:capyWalkHead .7s ease-in-out infinite;transform-origin:100px 90px}@keyframes capyWalkHead{0%,to{transform:rotate(-5deg) translateY(0)}50%{transform:rotate(5deg) translateY(-3px)}}.capy2d--walk .capy-tail{animation:capyTailWalk .7s ease-in-out infinite;transform-origin:150px 140px}@keyframes capyTailWalk{0%,to{transform:rotate(-15deg)}50%{transform:rotate(15deg)}}.capy2d--walk .capy-legs-back{animation:capyWalkLegsBack .7s ease-in-out infinite;transform-origin:100px 155px}@keyframes capyWalkLegsBack{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.capy2d--walk .capy-legs-front{animation:capyWalkLegsFront .7s ease-in-out infinite;transform-origin:100px 160px}@keyframes capyWalkLegsFront{0%,to{transform:translateY(-4px)}50%{transform:translateY(0)}}.capy2d--walk .grass{animation:grassSway 1s ease-in-out infinite}.capy2d--walk .g1{animation-delay:0s}.capy2d--walk .g2{animation-delay:.3s}@keyframes grassSway{0%,to{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}.capy2d--bath .capy-body-group{animation:capyBathScrub .8s ease-in-out infinite;transform-origin:100px 130px}@keyframes capyBathScrub{0%,to{transform:rotate(-3deg) translateY(0)}25%{transform:rotate(2deg) translateY(-2px) scaleY(1.03)}75%{transform:rotate(-2deg) translateY(-2px) scaleY(1.03)}}.capy2d--bath .capy-head-group{animation:capyBathHead .8s ease-in-out infinite;transform-origin:100px 90px}@keyframes capyBathHead{0%,to{transform:rotate(4deg)}50%{transform:rotate(-4deg) translateY(-2px)}}.capy2d--bath .bubble{animation:bubbleRise 2.5s cubic-bezier(.22,1,.36,1) infinite}.capy2d--bath .b1{animation-delay:0s}.capy2d--bath .b2{animation-delay:.3s}.capy2d--bath .b3{animation-delay:.6s}.capy2d--bath .b4{animation-delay:.9s}.capy2d--bath .b5{animation-delay:1.2s}.capy2d--bath .b6{animation-delay:1.5s}.capy2d--bath .b7{animation-delay:1.8s}.capy2d--bath .b8{animation-delay:2.1s}@keyframes bubbleRise{0%{transform:translateY(0) translate(0) scale(.4);opacity:0}10%{opacity:.9}50%{transform:translateY(-25px) translate(8px) scale(1)}to{transform:translateY(-50px) translate(-5px) scale(1.3);opacity:0}}.capy2d--bath .water-drops .drop{animation:dropFly 1s ease-out infinite}.capy2d--bath .d1{animation-delay:0s}.capy2d--bath .d2{animation-delay:.3s}.capy2d--bath .d3{animation-delay:.6s}@keyframes dropFly{0%{transform:translateY(0) scale(0);opacity:1}50%{transform:translateY(-20px) scale(1.2);opacity:.8}to{transform:translateY(15px) scale(.5);opacity:0}}.capy2d--bath .rubber-duck{animation:duckFloat 2s ease-in-out infinite}@keyframes duckFloat{0%,to{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-4px) rotate(5deg)}}.capy2d--sleep .capy-body-group{animation:capySleepBreath 4s ease-in-out infinite;transform-origin:100px 130px}@keyframes capySleepBreath{0%,to{transform:scaleY(1) scaleX(1) translateY(0)}50%{transform:scaleY(1.08) scaleX(.96) translateY(2px)}}.capy2d--sleep .capy-head-group{animation:capySleepHead 4s ease-in-out infinite;transform-origin:100px 90px}@keyframes capySleepHead{0%,to{transform:rotate(-8deg) translateY(2px)}50%{transform:rotate(-5deg) translateY(4px)}}.capy2d--sleep .snot-bubble{animation:snotBubble 3s ease-in-out infinite;transform-origin:100px 115px}@keyframes snotBubble{0%,to{transform:scale(1);opacity:.3}50%{transform:scale(1.4);opacity:.5}}.capy2d--sleep .zz{animation:zzzFloat 2.5s ease-out infinite}.capy2d--sleep .z1{animation-delay:0s}.capy2d--sleep .z2{animation-delay:.5s}.capy2d--sleep .z3{animation-delay:1s}.capy2d--sleep .z4{animation-delay:1.5s}@keyframes zzzFloat{0%{transform:translate(0) scale(.6) rotate(0);opacity:0}20%{opacity:1}to{transform:translate(20px,-35px) scale(1.3) rotate(10deg);opacity:0}}.capy2d--sleep .dream-star{animation:dreamTwinkle 2s ease-in-out infinite}.capy2d--sleep .ds1{animation-delay:0s}.capy2d--sleep .ds2{animation-delay:.7s}@keyframes dreamTwinkle{0%,to{transform:scale(.8) rotate(0);opacity:.3}50%{transform:scale(1.3) rotate(180deg);opacity:1}}.capy2d--happy .capy-body-group{animation:capyHappyBounce .45s cubic-bezier(.28,.84,.42,1) infinite;transform-origin:100px 130px}@keyframes capyHappyBounce{0%,to{transform:translateY(0) scaleY(.8) scaleX(1.15) rotate(0)}20%{transform:translateY(-25px) scaleY(1.15) scaleX(.9) rotate(-5deg)}50%{transform:translateY(-15px) scaleY(1) scaleX(1) rotate(0)}80%{transform:translateY(0) scaleY(.85) scaleX(1.1) rotate(3deg)}}.capy2d--happy .capy-head-group{animation:capyHappyHead .45s ease-in-out infinite;transform-origin:100px 90px}@keyframes capyHappyHead{0%,to{transform:rotate(-8deg) translateY(0)}50%{transform:rotate(8deg) translateY(-8px)}}.capy2d--happy .capy-ears{animation:capyEarHappy .45s ease-in-out infinite;transform-origin:100px 72px}@keyframes capyEarHappy{0%,to{transform:rotate(0)}50%{transform:rotate(-20deg)}}.capy2d--happy .capy-tail{animation:capyTailHappy .45s ease-in-out infinite;transform-origin:150px 140px}@keyframes capyTailHappy{0%,to{transform:rotate(-30deg)}50%{transform:rotate(30deg)}}.capy2d--happy .sparkle{animation:sparkleSpin 1s linear infinite}.capy2d--happy .s1{animation-delay:0s}.capy2d--happy .s2{animation-delay:.15s}.capy2d--happy .s3{animation-delay:.3s}.capy2d--happy .s4{animation-delay:.45s}.capy2d--happy .s5{animation-delay:.6s}@keyframes sparkleSpin{0%{transform:rotate(0) scale(.5);opacity:.3}50%{transform:rotate(180deg) scale(1.5);opacity:1}to{transform:rotate(360deg) scale(.5);opacity:.3}}.capy2d--happy .confetti{animation:confettiFall 1.5s ease-in infinite}.capy2d--happy .cf1{animation-delay:0s;--cx: 30px}.capy2d--happy .cf2{animation-delay:.3s;--cx: -25px}.capy2d--happy .cf3{animation-delay:.6s;--cx: 35px}.capy2d--happy .cf4{animation-delay:.9s;--cx: -30px}@keyframes confettiFall{0%{transform:translate(0) rotate(0);opacity:1}to{transform:translate(var(--cx, 20px),60px) rotate(720deg);opacity:0}}.capy2d--happy .rainbow{animation:rainbowFade 1s ease-in-out infinite}.capy2d--happy .r1{animation-delay:0s}.capy2d--happy .r2{animation-delay:.2s}.capy2d--happy .r3{animation-delay:.4s}@keyframes rainbowFade{0%,to{opacity:.15}50%{opacity:.5}}.capy2d--happy .capy-blush-l,.capy2d--happy .capy-blush-r{animation:blushPulse .6s ease-in-out infinite}@keyframes blushPulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.7;transform:scale(1.3)}}.capy2d--park .capy-body-group{animation:capyParkSway .8s ease-in-out infinite;transform-origin:100px 130px}@keyframes capyParkSway{0%,to{transform:rotate(-5deg) translateY(0) scaleY(1)}50%{transform:rotate(5deg) translateY(-5px) scaleY(1.04)}}.capy2d--park .capy-head-group{animation:capyParkHead .8s ease-in-out infinite;transform-origin:100px 90px}@keyframes capyParkHead{0%,to{transform:rotate(6deg) translateY(0)}50%{transform:rotate(-6deg) translateY(-3px)}}.capy2d--park .capy-tail{animation:capyTailPark .6s ease-in-out infinite;transform-origin:150px 140px}@keyframes capyTailPark{0%,to{transform:rotate(-20deg)}50%{transform:rotate(25deg)}}.capy2d--park .flower{animation:flowerSway 1.2s ease-in-out infinite}.capy2d--park .f1{animation-delay:0s}.capy2d--park .f2{animation-delay:.3s}.capy2d--park .f3{animation-delay:.5s}.capy2d--park .f4{animation-delay:.7s}@keyframes flowerSway{0%,to{transform:rotate(-12deg) scale(1)}50%{transform:rotate(12deg) scale(1.1)}}.capy2d--park .butterfly{animation:butterflyFly 2s ease-in-out infinite}.capy2d--park .bt1{animation-delay:0s}.capy2d--park .bt2{animation-delay:.5s}@keyframes butterflyFly{0%,to{transform:translate(0) rotate(0) scale(1)}25%{transform:translate(15px,-10px) rotate(10deg) scale(1.1)}50%{transform:translate(5px,-20px) rotate(-5deg) scale(.9)}75%{transform:translate(-10px,-12px) rotate(15deg) scale(1.05)}}.capy2d--park .grass{animation:grassSway 1.2s ease-in-out infinite}.capy2d--park .g1{animation-delay:0s}.capy2d--park .g2{animation-delay:.4s}.capy2d--pet .capy-body-group{animation:capyPetBliss .5s ease-in-out infinite;transform-origin:100px 130px}@keyframes capyPetBliss{0%,to{transform:rotate(-4deg) scale(1) translateY(0)}50%{transform:rotate(4deg) scale(1.05) translateY(-3px)}}.capy2d--pet .capy-head-group{animation:capyPetHead .5s ease-in-out infinite;transform-origin:100px 90px}@keyframes capyPetHead{0%,to{transform:rotate(8deg) translateY(0)}50%{transform:rotate(-6deg) translateY(-2px)}}.capy2d--pet .capy-tail{animation:capyTailPet .3s ease-in-out infinite;transform-origin:150px 140px}@keyframes capyTailPet{0%,to{transform:rotate(-35deg)}50%{transform:rotate(35deg)}}.capy2d--pet .capy-ears{animation:capyEarPet .5s ease-in-out infinite;transform-origin:100px 72px}@keyframes capyEarPet{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.capy2d--pet .heart{animation:heartFloat 1.2s ease-out infinite}.capy2d--pet .h1{animation-delay:0s}.capy2d--pet .h2{animation-delay:.2s}.capy2d--pet .h3{animation-delay:.4s}.capy2d--pet .h4{animation-delay:.6s}.capy2d--pet .h5{animation-delay:.8s}@keyframes heartFloat{0%{transform:translate(0) scale(.4) rotate(0);opacity:0}15%{opacity:1}to{transform:translate(15px,-40px) scale(1.5) rotate(20deg);opacity:0}}.capy2d--pet .pet-hand{animation:petHandMove .6s ease-in-out infinite;transform-origin:center}@keyframes petHandMove{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(-10deg)}}.capy2d--pet .capy-blush-l,.capy2d--pet .capy-blush-r{animation:blushPulse .5s ease-in-out infinite}.capy2d--happy .capy-shadow,.capy2d--pet .capy-shadow{animation:shadowBounce .45s ease-in-out infinite}.capy2d--run .capy-shadow{animation:shadowBounce .25s ease-in-out infinite}@keyframes shadowBounce{0%,to{rx:55;ry:8;opacity:.15}50%{rx:38;ry:5;opacity:.08}}.capy2d:active .capy-body-group{transform:scaleY(.85) scaleX(1.1)!important;transition:transform .08s}.capy2d:active .capy-head-group{transform:translateY(2px)!important;transition:transform .08s}.playground-grid{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width: 1100px){.playground-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 860px){.playground-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 560px){.playground-grid{grid-template-columns:1fr}}.pc-memory{background:linear-gradient(160deg,#f06595,#e64980);border-color:#ffdeeb;color:#fff}.pc-sum{background:linear-gradient(160deg,#40c057,#12b886);border-color:#d3f9d8;color:#fff}.pc-fournum{background:linear-gradient(160deg,#339af0,#228be6);border-color:#d0ebff;color:#fff}.pc-sudoku{background:linear-gradient(160deg,#fcc419,#ff922b);border-color:#fff3bf;color:#3a2e00}.pc-pipe{background:linear-gradient(160deg,#845ef7,#5f3dc4);border-color:#e5dbff;color:#fff}.play-card.pc-memory .pc-foot,.play-card.pc-sum .pc-foot,.play-card.pc-fournum .pc-foot,.play-card.pc-pipe .pc-foot{background:#ffffff38}.mm-hud{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding:0 6px}.mm-hud-chip{background:#fff;border:3px solid #e6dcff;border-radius:999px;padding:8px 18px;font-weight:900;font-size:17px;color:#5a4a8a;display:inline-flex;gap:8px;align-items:center;box-shadow:0 4px #0000000f}.mm-hud-timer{background:linear-gradient(135deg,#fff3bf,#ffe066);border-color:#ffd43b;color:#7a5b00}.pulse-red{animation:timerPulse .9s ease-in-out infinite;display:inline-block}@keyframes timerPulse{0%,to{transform:scale(1);color:#c92a2a}50%{transform:scale(1.25);color:#e03131}}.mm-board{display:grid;gap:10px;max-width:760px;width:100%;margin:0 auto;background:linear-gradient(135deg,#f3d9ff,#dbe4ff);padding:14px;border:6px solid #fff;border-radius:24px;box-shadow:0 10px #5f3dc42e,inset 0 0 0 4px #9775fa59}.mm-card{aspect-ratio:3 / 4;padding:0;border:none;cursor:pointer;background:transparent;perspective:800px;font-family:inherit;touch-action:manipulation;min-height:72px}.mm-card-inner{position:relative;width:100%;height:100%;display:block;border-radius:16px;transition:transform .55s cubic-bezier(.2,.9,.3,1.2);transform-style:preserve-3d}.mm-card.open .mm-card-inner{transform:rotateY(180deg)}.mm-card.matched .mm-card-inner{transform:rotateY(180deg) scale(1.02);box-shadow:0 0 0 4px #8ce99a,0 8px 16px #0000001a;border-radius:16px}.mm-face-front,.mm-face-back{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:16px;display:flex;align-items:center;justify-content:center;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 6px #0000001a,inset 0 -4px #0000000f}.mm-face-front{background:linear-gradient(145deg,#9775fa,#5f3dc4);color:#fff;font-size:clamp(28px,7vw,54px);border:4px solid #fff}.mm-face-back{background:linear-gradient(145deg,#fff9db,#ffec99);transform:rotateY(180deg);font-size:clamp(36px,9vw,72px);border:4px solid #fff;filter:drop-shadow(0 4px 4px rgba(0,0,0,.15))}.sm-hud{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));padding:0 6px}@media (max-width: 600px){.sm-hud{grid-template-columns:1fr}}.sm-target,.sm-sum,.sm-count{background:#fff;border:4px solid #d3f9d8;border-radius:18px;padding:12px 16px;text-align:center;font-weight:900;font-size:20px;color:#2f9e44;box-shadow:0 6px #51cf6640}.sm-target b{font-size:28px;color:#2b8a3e;margin:0 6px}.sm-sum{border-color:#a5d8ff;color:#1864ab;box-shadow:0 6px #228be640}.sm-sum.hit{background:#d3f9d8;border-color:#51cf66;color:#2f9e44;animation:popIn .3s ease}.sm-sum.over{background:#fff4e6;border-color:#ffa94d;color:#d9480f;animation:gentleShake .4s ease}.sm-count{border-color:#ffd8a8;color:#c65d00;box-shadow:0 6px #ff922b40}.sm-board{display:grid;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr));max-width:640px;width:100%;margin:0 auto;background:linear-gradient(135deg,#ebfbee,#fff9db);padding:14px;border-radius:22px;border:6px solid #fff;box-shadow:0 10px #51cf6633}@media (max-width: 600px){.sm-board{grid-template-columns:repeat(4,1fr)}}.sm-num{aspect-ratio:1/1;background:#fff;border:5px solid #ced4da;border-radius:18px;cursor:pointer;box-shadow:0 6px #00000014;transition:transform .14s,box-shadow .14s;min-height:72px;touch-action:manipulation;font-family:inherit}.sm-num:active{transform:translateY(3px);box-shadow:0 3px #00000014}.sm-num.sel{border-color:#ff922b;background:linear-gradient(135deg,#ffec99,#ffa94d);transform:translateY(-6px) rotate(-3deg);box-shadow:0 12px #d9480f4d}.sm-num.sel .sm-num-face{color:#7a3b00}.sm-num.gone{opacity:0;pointer-events:none;transform:scale(.4)}.sm-num-face{font-size:clamp(28px,5vw,44px);font-weight:900;color:#495057}.sm-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:6px}.fn-hud{display:grid;gap:10px;grid-template-columns:180px 1fr auto;align-items:center;background:#fff;border:4px solid #d0ebff;border-radius:20px;padding:12px 16px;box-shadow:0 6px #228be633}@media (max-width: 760px){.fn-hud{grid-template-columns:1fr;text-align:center}}.fn-target{background:linear-gradient(135deg,#74c0fc,#1c7ed6);color:#fff;border-radius:16px;padding:10px 14px;font-weight:900;font-size:20px}.fn-target b{font-size:28px;margin:0 6px}.fn-nums{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.fn-num-chip{width:54px;height:54px;border-radius:50%;background:linear-gradient(135deg,#fff3bf,#ffd43b);border:4px solid #fff;color:#7a5b00;font-weight:900;font-size:24px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px #c9940059}.fn-rule{color:#495057;font-weight:700}.fn-screen{min-height:120px;background:#fff;border:6px dashed #74c0fc;border-radius:24px;padding:16px 18px;display:flex;align-items:center;box-shadow:0 10px #228be633}.fn-screen-expr{font-family:Courier New,monospace;font-size:clamp(26px,5vw,44px);font-weight:900;color:#1864ab;letter-spacing:2px;width:100%;text-align:center;word-break:break-all}.fn-screen-ph{color:#a5d8ff;font-weight:700}.fn-keypad{display:grid;gap:10px;grid-template-columns:repeat(4,1fr);max-width:720px;width:100%;margin:0 auto}@media (max-width: 640px){.fn-keypad{grid-template-columns:repeat(3,1fr)}}.fn-kb{min-height:68px;border-radius:20px;border:4px solid #e9ecef;background:#fff;font-family:inherit;font-weight:900;font-size:28px;color:#495057;cursor:pointer;box-shadow:0 6px #00000014;transition:transform .1s,box-shadow .1s;touch-action:manipulation}.fn-kb:active{transform:translateY(3px);box-shadow:0 3px #00000014}.fn-kb.num{background:linear-gradient(180deg,#fff,#e7f5ff);border-color:#a5d8ff;color:#1864ab}.fn-kb.op{background:linear-gradient(180deg,#fff3bf,#ffd8a8);border-color:#ffa94d;color:#c65d00;font-size:32px}.fn-kb.fn{font-size:20px}.fn-kb.fn-bsp{background:linear-gradient(180deg,#ffe066,#ff922b);border-color:#f08c00;color:#fff}.fn-kb.fn-clr{background:linear-gradient(180deg,#ffa8a8,#ff6b6b);border-color:#fa5252;color:#fff}.fn-kb.fn-submit{background:linear-gradient(180deg,#69db7c,#2b8a3e);border-color:#2f9e44;color:#fff;font-size:24px;grid-column:span 2}.mini-warn-toast.fail{background:#fff4e6;color:#d9480f;border-color:#ffa94d}.sudoku-wrap{display:grid;gap:18px;grid-template-columns:minmax(0,1.2fr) 220px;align-items:start;max-width:860px;margin:0 auto;width:100%}@media (max-width: 760px){.sudoku-wrap{grid-template-columns:1fr}}.sudoku-board{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);aspect-ratio:1/1;background:linear-gradient(135deg,#fff9db,#fff3bf);padding:10px;border:8px solid #ff922b;border-radius:24px;box-shadow:0 10px #d9480f40,inset 0 0 0 3px #fff;max-width:520px;width:100%;margin:0 auto}.su-cell{background:#fff;border:2px solid #ffa94d;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:inherit;padding:0;touch-action:manipulation;transition:transform .1s,background .16s}.su-cell.su-top-thick{border-top:6px solid #d9480f}.su-cell.su-left-thick{border-left:6px solid #d9480f}.su-cell.fixed{background:linear-gradient(135deg,#ffec99,#ffe066);cursor:default}.su-cell.selected{background:#d0ebff;border-color:#1c7ed6;transform:scale(1.04);z-index:2;position:relative;box-shadow:0 0 0 4px #1c7ed64d}.su-cell.conflict{background:#ffe3e3;border-color:#c92a2a;color:#c92a2a!important;animation:gentleShake .4s ease}.su-val{font-size:clamp(28px,7vw,48px);font-weight:900;color:#5a4a8a}.su-cell.fixed .su-val{color:#7a3b00}.sudoku-side{display:flex;flex-direction:column;gap:14px}.su-rule{background:#fff;border:3px solid #e6dcff;border-radius:18px;padding:12px 14px;color:#5a4a8a;font-weight:800;line-height:1.8;font-size:15px}.su-numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.su-num-btn{min-height:60px;background:linear-gradient(180deg,#fff,#f3f0ff);border:4px solid #d0bfff;border-radius:16px;cursor:pointer;color:#5f3dc4;font-weight:900;font-size:26px;font-family:inherit;box-shadow:0 5px #5f3dc438;touch-action:manipulation}.su-num-btn:active{transform:translateY(3px);box-shadow:0 2px #5f3dc438}.su-num-btn.clear{background:linear-gradient(180deg,#ffe066,#ff922b);color:#fff;border-color:#f08c00;font-size:18px}.su-check{align-self:stretch}.pc-hud{background:#fff;border:4px solid #e5dbff;border-radius:20px;padding:12px 16px;text-align:center;font-weight:900;font-size:18px;color:#5f3dc4;box-shadow:0 6px #5f3dc42e;display:flex;align-items:center;justify-content:center;gap:10px}.pc-hud.flowing{background:linear-gradient(90deg,#d3f9d8,#fff9db);border-color:#51cf66;color:#2b8a3e;animation:flowPulse .8s ease-in-out infinite alternate}.pc-drop{font-size:24px;display:inline-block;animation:waterDrop 1.2s ease-in-out infinite}@keyframes waterDrop{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes flowPulse{0%{box-shadow:0 6px #51cf661f}to{box-shadow:0 6px #51cf664d}}.pipe-wrap{max-width:760px;width:100%;margin:0 auto}.pipe-board{display:grid;gap:8px;background:linear-gradient(135deg,#e7f5ff,#f3f0ff);padding:14px;border-radius:24px;border:6px solid #fff;box-shadow:0 10px #5f3dc438}.pipe-cell{aspect-ratio:1/1;background:#fff;border:none;border-radius:16px;cursor:pointer;padding:4px;box-shadow:0 5px #00000014,inset 0 0 0 2px #e9ecef;display:flex;align-items:center;justify-content:center;transition:transform .12s,box-shadow .12s;touch-action:manipulation;font-family:inherit}.pipe-cell.pc-start,.pipe-cell.pc-end{cursor:default;box-shadow:0 5px #0000001f;border-radius:20px}.pipe-cell:not(.pc-start):not(.pc-end):active{transform:translateY(3px) rotate(3deg);box-shadow:0 2px #00000014}.pipe-cell.flowing{animation:flowGold .9s ease-in-out infinite alternate}@keyframes flowGold{0%{box-shadow:0 5px #00000014,0 0 #ff9f4300}to{box-shadow:0 5px #00000014,0 0 0 6px #ff9f4359}}.pipe-svg{width:100%;height:100%;display:block}.corgi .corgi-img-wrap{position:relative;width:100%;height:100%;display:flex;align-items:flex-end;justify-content:center}.corgi .corgi-img{display:block;width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none;will-change:transform}.corgi .corgi-shadow{position:absolute;left:50%;bottom:4%;width:56%;height:8%;background:radial-gradient(ellipse at center,rgba(0,0,0,.32),transparent 70%);transform:translate(-50%);animation:corgiImgShadow 2.4s ease-in-out infinite;z-index:0}@keyframes corgiImgShadow{0%,to{transform:translate(-50%) scaleX(1);opacity:.32}50%{transform:translate(-50%) scaleX(.82);opacity:.24}}.corgi .corgi-img{position:relative;z-index:1}.corgi .corgi-night-glow{position:absolute;top:10%;right:10%;bottom:10%;left:10%;border-radius:50%;background:radial-gradient(circle,rgba(92,124,250,.35),transparent 65%);filter:blur(8px);animation:nightGlow 3s ease-in-out infinite;pointer-events:none}@keyframes nightGlow{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.06)}}.corgi .corgi-motion-blur{position:absolute;left:0;top:0;width:100%;height:100%;background-size:cover;background-position:center;opacity:.35;filter:blur(2px) saturate(.7);pointer-events:none;z-index:0}.corgi .corgi-motion-blur.mb-1{animation:motionTrail1 .45s ease-in-out infinite}.corgi .corgi-motion-blur.mb-2{animation:motionTrail2 .45s ease-in-out infinite .22s}@keyframes motionTrail1{0%,to{transform:translate(-12px) scale(.96);opacity:.35}50%{transform:translate(-18px) scale(.92);opacity:.18}}@keyframes motionTrail2{0%,to{transform:translate(-22px) scale(.9);opacity:.25}50%{transform:translate(-28px) scale(.86);opacity:.1}}.corgi.action-idle .corgi-img{animation:corgiIdleBreath 3s ease-in-out infinite}@keyframes corgiIdleBreath{0%,to{transform:scale(1) translateY(0)}50%{transform:scale(1.03,.985) translateY(-2px)}}.corgi.action-eat .corgi-img{animation:corgiEatBob .55s ease-in-out infinite}@keyframes corgiEatBob{0%,to{transform:translateY(0) rotate(0)}40%{transform:translateY(6px) rotate(-3deg)}70%{transform:translateY(2px) rotate(2deg)}}.corgi.action-run .corgi-img{animation:corgiRunSway .32s ease-in-out infinite}@keyframes corgiRunSway{0%,to{transform:translate(0) translateY(0) rotate(-3deg)}50%{transform:translate(-4px) translateY(-5px) rotate(2deg)}}.corgi.action-walk .corgi-img{animation:corgiWalkBob .85s ease-in-out infinite}@keyframes corgiWalkBob{0%,to{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-4px) rotate(2deg)}}.corgi.action-bath .corgi-img{animation:corgiBathShake .45s ease-in-out infinite}@keyframes corgiBathShake{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(-3px) rotate(-4deg)}75%{transform:translate(3px) rotate(4deg)}}.corgi.action-sleep .corgi-img{animation:corgiSleepBreath 3.2s ease-in-out infinite;transform-origin:50% 90%}@keyframes corgiSleepBreath{0%,to{transform:scale(1) translateY(0)}50%{transform:scale(1.02,.97) translateY(2px)}}.corgi.action-park .corgi-img{animation:corgiParkJump .7s ease-in-out infinite}@keyframes corgiParkJump{0%,to{transform:translateY(0) rotate(0)}40%{transform:translateY(-14px) scale(1.02,.98)}60%{transform:translateY(-10px) rotate(-2deg)}}.corgi.action-happy .corgi-img{animation:corgiHappyJump .6s ease-in-out infinite}@keyframes corgiHappyJump{0%,to{transform:translateY(0) rotate(0) scale(1)}30%{transform:translateY(-20px) rotate(-8deg) scale(1.04,.96)}70%{transform:translateY(-12px) rotate(6deg) scale(1.02,.98)}}.corgi.action-pet .corgi-img{animation:corgiPetSway 1s ease-in-out infinite}@keyframes corgiPetSway{0%,to{transform:rotate(0) translateY(0)}30%{transform:rotate(-2.5deg) translateY(-1px)}70%{transform:rotate(2.5deg) translateY(-1px)}}.corgi.mood-happy .corgi-img{animation-duration:.7s;filter:saturate(1.15) brightness(1.05)}.corgi.mood-sad .corgi-img{animation-duration:4s;filter:saturate(.85) brightness(.92)}.corgi.mood-sleepy .corgi-img{animation-duration:4.5s;filter:brightness(.95)}.corgi .corgi-badges{position:absolute;top:4px;right:4px;display:flex;flex-direction:column;gap:2px;z-index:3;pointer-events:none}.corgi .corgi-badge{font-size:clamp(20px,4vw,26px);filter:drop-shadow(0 2px 3px rgba(0,0,0,.25));animation:badgeFloat 2.6s ease-in-out infinite;background:#ffffffd9;border-radius:50%;width:1.4em;height:1.4em;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #00000026}.corgi .corgi-badge.cb-1{animation-delay:.4s}.corgi .corgi-badge.cb-2{animation-delay:.8s}@keyframes badgeFloat{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-3px) rotate(3deg)}}.corgi .fx-eat,.corgi .fx-run,.corgi .fx-walk,.corgi .fx-bath,.corgi .fx-sleep,.corgi .fx-park,.corgi .fx-happy{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}.corgi .fx-eat .fx-pop{position:absolute;top:8%;left:50%;transform:translate(-50%);font-size:clamp(20px,4vw,28px);animation:fxPop 1.2s ease infinite}.corgi .fx-eat .fx-crumb{position:absolute;bottom:8%;font-size:clamp(20px,4vw,26px);animation:crumbFly .8s ease-out infinite}.corgi .fx-eat .fx-crumb-1{left:10%}.corgi .fx-eat .fx-crumb-2{right:10%;animation-delay:.3s}@keyframes fxPop{0%,to{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.18)}}@keyframes crumbFly{0%{transform:translate(0) rotate(0);opacity:1}to{transform:translateY(-20px) rotate(180deg);opacity:0}}.corgi .fx-run .fx-line{position:absolute;left:-8%;height:4px;width:30%;background:linear-gradient(90deg,#fff,transparent);border-radius:4px;opacity:.85;animation:speedLine .3s ease-in infinite}.corgi .fx-run .fx-line-1{top:38%}.corgi .fx-run .fx-line-2{top:50%;animation-delay:.1s}.corgi .fx-run .fx-line-3{top:62%;animation-delay:.05s;width:22%}@keyframes speedLine{0%{transform:translate(-20px);opacity:0}50%{opacity:.9}to{transform:translate(0);opacity:0}}.corgi .fx-run .fx-dust{position:absolute;bottom:6%;font-size:24px;animation:dustPuff .4s ease-out infinite}.corgi .fx-run .fx-dust-1{left:6%}.corgi .fx-run .fx-dust-2{left:16%;animation-delay:.2s}@keyframes dustPuff{0%{transform:scale(.5) translateY(0);opacity:.8}to{transform:scale(1.3) translateY(-6px);opacity:0}}.corgi .fx-walk .fx-bag{position:absolute;font-size:clamp(20px,4vw,26px);animation:bagSway .9s ease-in-out infinite}.corgi .fx-walk .fx-bag-1{top:20%;right:4%;transform-origin:top right}.corgi .fx-walk .fx-bag-2{top:38%;right:8%;transform-origin:top right;animation-delay:.3s}@keyframes bagSway{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}.corgi .fx-bath .fx-bubble{position:absolute;font-size:clamp(20px,5vw,28px);animation:bubbleRise 2s ease-in-out infinite}.corgi .fx-bath .fx-bubble-1{top:70%;left:8%}.corgi .fx-bath .fx-bubble-2{top:80%;left:22%;animation-delay:.4s}.corgi .fx-bath .fx-bubble-3{top:60%;right:14%;animation-delay:.8s}.corgi .fx-bath .fx-bubble-4{top:75%;right:8%;animation-delay:1.2s}@keyframes bubbleRise{0%{transform:translateY(0) scale(.8);opacity:0}20%{opacity:1}to{transform:translateY(-30px) scale(1.1);opacity:0}}.corgi .fx-bath .fx-pop{position:absolute;font-size:22px;animation:fxPop 1.4s ease infinite}.corgi .fx-bath .fx-pop-2{top:6%;left:6%}.corgi .fx-bath .fx-pop-3{top:8%;right:10%;animation-delay:.6s}.corgi .fx-sleep .fx-zzz{position:absolute;font-weight:900;color:#7048e8;font-family:Comic Sans MS,system-ui,sans-serif;animation:zzzFloat 2.5s ease-in-out infinite}.corgi .fx-sleep .fx-zzz-1{top:10%;right:16%;font-size:28px}.corgi .fx-sleep .fx-zzz-2{top:18%;right:8%;font-size:20px;animation-delay:.8s}.corgi .fx-sleep .fx-zzz-3{top:26%;right:4%;font-size:14px;animation-delay:1.6s}.corgi .fx-sleep .fx-dream{position:absolute;top:14%;left:6%;font-size:22px;animation:dreamFloat 4s ease-in-out infinite}@keyframes zzzFloat{0%{transform:translate(0) scale(.6);opacity:0}20%{opacity:1}to{transform:translate(8px,-22px) scale(1.1);opacity:0}}@keyframes dreamFloat{0%,to{transform:translate(0) rotate(-6deg);opacity:.7}50%{transform:translate(4px,-4px) rotate(6deg);opacity:1}}.corgi .fx-park .fx-tree,.corgi .fx-park .fx-flower,.corgi .fx-park .fx-ball,.corgi .fx-park .fx-fly{position:absolute;font-size:clamp(20px,4vw,26px)}.corgi .fx-park .fx-tree{bottom:4%;right:4%;font-size:30px}.corgi .fx-park .fx-flower{top:12%;right:8%;animation:dreamFloat 3s ease-in-out infinite}.corgi .fx-park .fx-ball{bottom:8%;left:8%;animation:ballBounce .7s ease-in-out infinite}.corgi .fx-park .fx-fly{top:10%;left:6%;font-size:22px;animation:butterflyFly 3s ease-in-out infinite}@keyframes ballBounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-12px) scale(1.05,.95)}}@keyframes butterflyFly{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(8px,-6px) rotate(8deg)}75%{transform:translate(-6px,4px) rotate(-8deg)}}.corgi .fx-happy .fx-heart,.corgi .fx-happy .fx-sparkle{position:absolute;font-size:clamp(18px,3.6vw,24px);animation:heartFloat 1.6s ease-in-out infinite}.corgi .fx-happy .fx-heart-1{top:14%;left:14%}.corgi .fx-happy .fx-heart-2{top:6%;right:14%;animation-delay:.35s}.corgi .fx-happy .fx-heart-3{top:30%;right:4%;animation-delay:.7s}.corgi .fx-happy .fx-heart-4{top:22%;left:4%;animation-delay:1.05s}.corgi .fx-happy .fx-sparkle-1{top:4%;left:50%;transform:translate(-50%);animation:sparkleSpin 1.2s ease-in-out infinite}.corgi .fx-happy .fx-sparkle-2{bottom:12%;left:40%;animation:sparkleSpin 1.4s ease-in-out infinite .6s}@keyframes heartFloat{0%{transform:translateY(0) scale(.6);opacity:0}30%{opacity:1;transform:translateY(-4px) scale(1.1)}to{transform:translateY(-22px) scale(1);opacity:0}}@keyframes sparkleSpin{0%,to{transform:translateY(0) rotate(0) scale(.7);opacity:.6}50%{transform:translateY(-6px) rotate(180deg) scale(1.1);opacity:1}}.corgi .fx-happy .fx-sparkle-1{transform:translate(-50%)}.jigsaw-tile.img-tile{background-repeat:no-repeat;background-color:#f8f5e8;overflow:hidden;position:relative}.jigsaw-tile.selected{transform:translateY(-10px) scale(1.08) rotate(-4deg);box-shadow:0 10px #ffc10780,0 0 0 4px #ffd43b;z-index:5}.jigsaw-tile.img-tile.selected{box-shadow:0 10px #ffc10780,0 0 0 4px #ffd43b,inset 0 0 0 2px #fff6}.jigsaw-tile.correct{box-shadow:0 4px #2da05066,0 0 0 3px #40c057,inset 0 0 0 2px #ffffff4d;animation:correctPulse .6s ease-out}@keyframes correctPulse{0%{transform:scale(1.15);box-shadow:0 0 #40c05799,0 0 0 6px #40c05780}to{transform:scale(1)}}.jigsaw-tile .jt-check{position:absolute;top:4px;right:4px;background:#40c057;color:#fff;font-size:14px;font-weight:900;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #00000040;animation:checkPop .4s ease-out}@keyframes checkPop{0%{transform:scale(0) rotate(-90deg)}60%{transform:scale(1.3) rotate(15deg)}to{transform:scale(1) rotate(0)}}.jigsaw-tile .jt-sparkle{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:32px;animation:sparkleBurst .9s ease-out forwards;pointer-events:none}@keyframes sparkleBurst{0%{transform:scale(.4) rotate(0);opacity:1}50%{transform:scale(1.4) rotate(40deg);opacity:1}to{transform:scale(1.8) rotate(80deg);opacity:0}}.jigsaw-hint .jh-image{width:100%;aspect-ratio:1/1;background-size:cover;background-position:center;border-radius:14px;box-shadow:inset 0 -2px #0000000f;border:2px solid #fff}.btn-reset:disabled{opacity:.5;cursor:not-allowed}.jigsaw-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;background:#0009;display:flex;align-items:center;justify-content:center;padding:20px;animation:overlayFade .2s ease}@keyframes overlayFade{0%{opacity:0}to{opacity:1}}.jigsaw-preview-card{background:linear-gradient(135deg,#fff9db,#ffe8cc);border:6px solid #ffd43b;border-radius:24px;padding:20px;max-width:90vmin;width:100%;text-align:center;box-shadow:0 12px #c9940040,0 20px 40px #0006}.jigsaw-preview-card .jpp-title{font-size:20px;font-weight:900;color:#5f3dc4;margin-bottom:12px}.jigsaw-preview-card .jpp-image{width:100%;aspect-ratio:1/1;background-size:cover;background-position:center;border-radius:14px;border:3px solid #fff}.jigsaw-preview-card .jpp-grid{display:grid;gap:4px;width:100%;aspect-ratio:1/1;background:#f3f0ff;padding:6px;border-radius:14px}.jigsaw-preview-card .jpp-tip{margin-top:12px;font-size:14px;color:#868e96;font-weight:700}.corgi-sprite{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:16px;pointer-events:none}.corgi-sprite-inner{width:100%;background-size:100% 100%;background-repeat:no-repeat;background-position:0 0;animation-name:corgi-sprite-step;animation-duration:var(--anim-dur, 1s);animation-iteration-count:infinite;will-change:transform}@keyframes corgi-sprite-step{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@media (prefers-reduced-motion: reduce){.corgi-sprite-inner{animation:none}}.corgi-img{width:100%;height:100%;object-fit:cover;border-radius:16px;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.corgi-anim-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;border-radius:16px;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.corgi-anim.paused .corgi-sprite-inner{animation-play-state:paused}.corgi-anim{animation:corgi-breathe 3s ease-in-out infinite}.corgi-anim.action-sleep{animation:corgi-breathe 4.5s ease-in-out infinite}@keyframes corgi-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.025)}}.corgi-anim.action-walk,.corgi-anim.action-run{animation:corgi-bounce var(--anim-dur, .8s) ease-in-out infinite}@keyframes corgi-bounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-6px) scale(1.025)}}.corgi-fade-in{animation:corgi-fade-in .3s ease-out}@keyframes corgi-fade-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.corgi-anim.overriding{filter:drop-shadow(0 0 8px rgba(255,180,200,.65))}.corgi-heart-canvas{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:5}.corgi-mood-emoji{position:absolute;top:4px;right:8px;font-size:22px;z-index:6;pointer-events:none;animation:corgi-mood-pulse 2s ease-in-out infinite;filter:drop-shadow(0 1px 2px rgba(0,0,0,.15))}@keyframes corgi-mood-pulse{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.08)}}@media (max-width: 768px){.corgi-anim{touch-action:manipulation}}@media (prefers-reduced-motion: reduce){.corgi-anim,.corgi-anim.action-walk,.corgi-anim.action-run,.corgi-anim.action-sleep,.corgi-fade-in,.corgi-mood-emoji{animation:none}}.corgi.corgi-blink .corgi-img-wrap,.corgi.corgi-blink .corgi-img,.corgi.corgi-blink .corgi-anim-img,.corgi.corgi-blink .corgi-sprite{animation:corgiBlink .18s ease-out!important}@keyframes corgiBlink{0%{transform:scaleY(1)}40%{transform:scaleY(.08)}60%{transform:scaleY(.08)}to{transform:scaleY(1)}}.corgi-blink-cover{position:absolute;top:34%;left:25%;width:50%;height:6%;background:#281e1459;border-radius:4px;z-index:5;animation:corgiBlinkSlide .18s ease-out}@keyframes corgiBlinkSlide{0%{transform:scaleX(0);opacity:0}40%{transform:scaleX(1);opacity:1}60%{transform:scaleX(1);opacity:1}to{transform:scaleX(0);opacity:0}}.corgi.corgi-ear-twitch .corgi-img-wrap{animation:corgiEarTwitch .5s ease-out!important}@keyframes corgiEarTwitch{0%{transform:rotate(0)}20%{transform:rotate(-3deg)}40%{transform:rotate(2deg)}60%{transform:rotate(-1deg)}to{transform:rotate(0)}}.corgi-yawn-overlay{position:absolute;bottom:18%;left:50%;transform:translate(-50%);font-size:28px;z-index:5;animation:corgiYawn .9s ease-out;pointer-events:none}@keyframes corgiYawn{0%{transform:translate(-50%) scale(.3);opacity:0}30%{transform:translate(-50%) scale(1.4);opacity:1}70%{transform:translate(-50%) scale(1.2);opacity:1}to{transform:translate(-50%) scale(.8);opacity:0}}.corgi-lick-overlay{position:absolute;bottom:20%;left:50%;transform:translate(-50%);font-size:20px;z-index:5;animation:corgiLick .8s ease-out;pointer-events:none}@keyframes corgiLick{0%{transform:translate(-80%) scale(.5);opacity:0}20%{transform:translate(-30%) scale(1);opacity:1}50%{transform:translate(30%) scale(1.1);opacity:1}80%{transform:translate(60%) scale(.8);opacity:.6}to{transform:translate(80%) scale(.3);opacity:0}}.corgi-gaze-layer{position:absolute;top:32%;left:0;width:100%;height:16%;z-index:4;pointer-events:none}.corgi-pupil{position:absolute;top:50%;width:10px;height:10px;background:#1a1a1a;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 4px #0009,2px -2px #ffffffb3 inset;transition:transform .12s ease-out}.corgi-pupil-l{left:38%;transform:translate(calc(-50% + var(--gaze-x, 0) * 4px),calc(-50% + var(--gaze-y, 0) * 3px))}.corgi-pupil-r{left:62%;transform:translate(calc(-50% + var(--gaze-x, 0) * 4px),calc(-50% + var(--gaze-y, 0) * 3px))}.corgi.action-sleep .corgi-gaze-layer,.corgi.action-bath .corgi-gaze-layer{display:none}.corgi.corgi-squash .corgi-img-wrap{animation:corgiSquash .4s cubic-bezier(.34,1.56,.64,1)!important}@keyframes corgiSquash{0%{transform:scale(1)}30%{transform:scale(1.12,.88)}60%{transform:scale(.92,1.08)}to{transform:scale(1)}}.corgi{transition:transform 1.2s cubic-bezier(.25,.1,.25,1)}.corgi[style*=--wander-x]{transform:translate(var(--wander-x, 0px),var(--wander-y, 0px))}.corgi[style*=--wander-x] .corgi-img-wrap{animation:corgiWanderBob .7s ease-in-out infinite}@keyframes corgiWanderBob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.corgi.corgi-curiosity .corgi-img-wrap{animation:corgiCuriosity .6s ease-out!important}@keyframes corgiCuriosity{0%{transform:rotate(0)}20%{transform:rotate(-8deg)}40%{transform:rotate(5deg)}60%{transform:rotate(-3deg)}to{transform:rotate(0)}}.corgi-shadow.corgi-shadow-jump{animation:corgiShadowJump .5s ease-in-out infinite}@keyframes corgiShadowJump{0%,to{transform:translate(-50%) scaleX(1);opacity:.32}50%{transform:translate(-50%) scaleX(.5);opacity:.18}}.corgi-sprite-inner,.corgi-anim-img{mix-blend-mode:normal}.corgi.action-idle .corgi-sprite-inner{animation:spriteFrameFade var(--anim-dur) steps(8,end) infinite,corgiFrameMix var(--anim-dur) ease-in-out infinite}@keyframes corgiFrameMix{0%,to{filter:brightness(1.02)}50%{filter:brightness(1)}}@media (prefers-reduced-motion: reduce){.corgi-blink-cover,.corgi.corgi-blink .corgi-img-wrap,.corgi.corgi-ear-twitch .corgi-img-wrap,.corgi-yawn-overlay,.corgi-lick-overlay,.corgi-pupil,.corgi.corgi-squash .corgi-img-wrap{animation:none!important}.corgi-shadow.corgi-shadow-jump{animation:none}}.lq-progress-bar{position:relative;height:12px;margin:6px 6px 4px;background:#f3f0ff;border-radius:999px;overflow:hidden;box-shadow:inset 0 2px 4px #845ef72e}.lq-progress-fill{height:100%;background:linear-gradient(90deg,#845ef7,#cc5de8,#f59f00);border-radius:999px;transition:width .45s cubic-bezier(.2,.9,.3,1.3);box-shadow:0 0 8px #cc5de88c}.lq-badge{display:inline-flex;align-items:center;gap:6px;color:#fff;font-weight:900;font-size:16px;padding:5px 14px;border-radius:999px;margin-bottom:10px;box-shadow:0 3px #0000001f}.lq-badge-emoji{font-size:20px}.lq-badge-label{letter-spacing:1px}.lq-options{position:relative}.lq-option{position:relative;min-height:78px;padding:16px 20px;display:flex;align-items:center;gap:12px;border:4px solid #dbe4ff;background:linear-gradient(180deg,#fff,#f5f3ff);border-radius:22px;cursor:pointer;color:#3a2e57;font-family:inherit;font-size:20px;font-weight:800;box-shadow:0 7px #845ef72e,0 10px 18px #4628781a;transition:transform .18s cubic-bezier(.2,.9,.3,1.3),box-shadow .18s,border-color .2s,background .2s;transform:perspective(600px) rotateX(4deg);transform-style:preserve-3d;overflow:visible;touch-action:manipulation}.lq-option:hover:not(:disabled){transform:perspective(600px) translateY(-6px) rotateX(2deg);box-shadow:0 13px #845ef738,0 16px 26px #4628782e;border-color:#b197fc}.lq-option:active:not(:disabled){transform:perspective(600px) translateY(2px) rotateX(4deg);box-shadow:0 3px #845ef72e}.lq-option:disabled{cursor:default}.lq-opt-idx{font-weight:900;font-size:22px;color:#845ef7;min-width:28px;text-shadow:0 2px 0 rgba(132,94,247,.15)}.lq-opt-val{font-weight:800;font-size:clamp(20px,3vw,30px);line-height:1.3;flex:1}.lq-check{position:absolute;top:8px;right:12px;font-size:28px;color:#2f9e44;animation:lq-check-pop .4s cubic-bezier(.2,.9,.3,1.5) both}.lq-option.is-correct,.lq-correct-glow{border-color:#51cf66!important;background:linear-gradient(180deg,#d3f9d8,#b2f2bb)!important;animation:lq-correct-pulse .9s ease-out}.lq-option.is-correct{box-shadow:0 7px #2f9e44,0 0 #51cf6699}@keyframes lq-correct-pulse{0%{box-shadow:0 7px #2f9e44,0 0 #51cf66b3}60%{box-shadow:0 7px #2f9e44,0 0 0 16px #51cf6600}to{box-shadow:0 7px #2f9e44,0 0 #51cf6600}}@keyframes lq-check-pop{0%{transform:scale(0) rotate(-40deg)}60%{transform:scale(1.3) rotate(10deg)}to{transform:scale(1) rotate(0)}}.lq-option.is-wrong{border-color:#ffa94d!important;background:linear-gradient(180deg,#fff4e6,#ffe8cc)!important;box-shadow:0 7px #d9480f!important}.lq-option.is-dim{opacity:.5;filter:grayscale(.4)}.shake-warm{animation:shake-warm .45s cubic-bezier(.36,.07,.19,.97) both}@keyframes shake-warm{0%,to{transform:perspective(600px) translate(0) rotateX(4deg)}15%{transform:perspective(600px) translate(-8px) rotateX(4deg)}30%{transform:perspective(600px) translate(8px) rotateX(4deg)}45%{transform:perspective(600px) translate(-6px) rotateX(4deg)}60%{transform:perspective(600px) translate(6px) rotateX(4deg)}75%{transform:perspective(600px) translate(-3px) rotateX(4deg)}}.lq-particles{position:absolute;top:-14px;left:0;right:0;height:60px;pointer-events:none;z-index:5}.lq-particle{position:absolute;top:0;font-size:22px;animation:particle-fly 1.1s ease-out forwards;--lq-rot: 0deg;transform-origin:center}@keyframes particle-fly{0%{opacity:0;transform:translateY(20px) scale(.4) rotate(0)}20%{opacity:1;transform:translateY(-4px) scale(1.2) rotate(calc(var(--lq-rot) * .5))}70%{opacity:1;transform:translateY(-30px) scale(1) rotate(var(--lq-rot))}to{opacity:0;transform:translateY(-50px) scale(.6) rotate(calc(var(--lq-rot) * 1.4))}}@media (max-width: 600px){.lq-option{min-height:70px;padding:14px 18px}.lq-opt-val{font-size:22px}}.mm-card{position:relative}.mm-card.matched .mm-card-inner{animation:mm-matched-pulse 1.4s ease-in-out infinite}.mm-card.matched .mm-face-back{border-color:#51cf66;background:linear-gradient(145deg,#d3f9d8,#b2f2bb)}@keyframes mm-matched-pulse{0%,to{box-shadow:0 0 0 4px #8ce99a,0 8px 16px #0000001a}50%{box-shadow:0 0 0 6px #51cf66,0 0 22px #51cf66a6}}.mm-card.wrong .mm-face-back{border-color:#ffa94d;background:linear-gradient(145deg,#fff4e6,#ffe8cc)}.mm-card.wrong .mm-card-inner{animation:mm-shake .4s ease-in-out}@keyframes mm-shake{0%,to{transform:rotateY(180deg) translate(0)}20%{transform:rotateY(180deg) translate(-6px)}40%{transform:rotateY(180deg) translate(6px)}60%{transform:rotateY(180deg) translate(-4px)}80%{transform:rotateY(180deg) translate(4px)}}.mm-particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:6;overflow:visible}.mm-particles>span{position:absolute;top:50%;left:50%;font-size:clamp(18px,4vw,28px);animation:mm-particle-burst .9s ease-out forwards;--dx: 0px;--dy: -30px}@keyframes mm-particle-burst{0%{transform:translate(-50%,-50%) scale(.3);opacity:0}20%{opacity:1}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1.3);opacity:0}}.mm-progress{position:relative;max-width:760px;width:100%;margin:8px auto 0;height:22px;border-radius:999px;background:#fff;border:3px solid #e6dcff;overflow:hidden;box-shadow:inset 0 2px 4px #0000000f}.mm-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#69db7c,#51cf66);transition:width .4s ease;box-shadow:0 0 8px #51cf6680}.mm-progress-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:900;color:#5a4a8a;text-shadow:0 1px 0 #fff;letter-spacing:.5px}.mm-card{min-height:72px}.mm-hud-chip{font-size:18px;padding:8px 18px}.su-cell{position:relative;min-height:72px;border-radius:14px;border:3px solid #ffd8a8;background:linear-gradient(180deg,#fff,#fff5e6);box-shadow:inset 0 2px #ffffffe6,inset 0 -3px 4px #d9480f1f,0 3px 6px #d9480f1a}.su-cell.su-top-thick{border-top:5px solid #d9480f}.su-cell.su-left-thick{border-left:5px solid #d9480f}.su-cell.fixed{background:linear-gradient(180deg,#f1f3f5,#e9ecef);border-color:#ced4da;box-shadow:inset 0 2px #ffffffe6,inset 0 -3px 4px #49505726,0 3px 6px #4950571a;cursor:default}.su-cell.fixed .su-val{color:#495057}.su-cell.selected{background:linear-gradient(180deg,#d0ebff,#b3d7ff)!important;border-color:#1c7ed6!important;transform:scale(1.04);z-index:2;animation:su-selected-pulse 1.4s ease-in-out infinite}@keyframes su-selected-pulse{0%,to{box-shadow:0 0 0 4px #1c7ed64d,inset 0 2px #ffffffe6}50%{box-shadow:0 0 0 7px #1c7ed673,0 0 22px #1c7ed680,inset 0 2px #ffffffe6}}.su-cell.conflict{background:linear-gradient(180deg,#fff4e6,#ffe8cc)!important;border-color:#ffa94d!important;animation:su-shake .4s ease}.su-cell.conflict .su-val{color:#d9480f!important}@keyframes su-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.su-cell.su-bounce{animation:su-bounce-in .3s cubic-bezier(.2,.9,.3,1.5)}@keyframes su-bounce-in{0%{transform:scale(.4);opacity:.4}60%{transform:scale(1.18);opacity:1}to{transform:scale(1)}}.su-cell.su-hint{background:linear-gradient(180deg,#d3f9d8,#b2f2bb)!important;border-color:#51cf66!important;animation:su-hint-flash .8s ease-in-out infinite;z-index:3}.su-cell.su-hint .su-val{color:#2f9e44!important}@keyframes su-hint-flash{0%,to{box-shadow:0 0 0 4px #51cf6666,inset 0 2px #ffffffe6}50%{box-shadow:0 0 0 8px #51cf6699,0 0 22px #51cf6699,inset 0 2px #ffffffe6}}.su-progress{position:relative;max-width:760px;width:100%;margin:8px auto 0;height:22px;border-radius:999px;background:#fff;border:3px solid #ffd8a8;overflow:hidden;box-shadow:inset 0 2px 4px #0000000f}.su-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#69db7c,#51cf66);transition:width .4s ease;box-shadow:0 0 8px #51cf6680}.su-progress-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:900;color:#5a4a8a;text-shadow:0 1px 0 #fff;letter-spacing:.5px}.su-particles{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:90;overflow:hidden}.su-particle{position:absolute;top:-40px;font-size:26px;animation-name:su-fall;animation-timing-function:ease-in;animation-fill-mode:forwards;will-change:transform,opacity}@keyframes su-fall{0%{transform:translateY(0) rotate(0);opacity:1}85%{opacity:1}to{transform:translateY(110vh) rotate(540deg);opacity:0}}.su-num-btn{min-height:70px;font-size:28px}.su-num-btn.clear{font-size:18px}.su-rule{font-size:18px;line-height:1.8}.su-check{font-size:18px}@media (max-width: 600px){.su-cell{min-height:70px}.su-val{font-size:clamp(24px,8vw,40px)}.su-num-btn{min-height:68px;font-size:24px}.su-num-btn.clear{font-size:18px}}.pipe-svg.pc-rotate{transition:transform .22s cubic-bezier(.2,.8,.25,1.3);will-change:transform}.pipe-cell.flowing{animation:pc-flow-glow 1s ease-in-out infinite alternate;border-color:#74c0fc}@keyframes pc-flow-glow{0%{box-shadow:0 5px #00000014,0 0 #74c0fc00}to{box-shadow:0 5px #00000014,0 0 0 6px #74c0fc73}}.pipe-svg.pc-flowing{filter:drop-shadow(0 0 4px rgba(116,192,252,.65))}.pc-flow-line{stroke-dasharray:10 8;stroke-dashoffset:0;animation:pc-flow-dash .7s linear infinite}@keyframes pc-flow-dash{to{stroke-dashoffset:-18}}.pipe-cell.pc-hint{animation:pc-hint-flash .5s ease-in-out infinite alternate;z-index:2}@keyframes pc-hint-flash{0%{box-shadow:0 0 0 3px #51cf66,0 5px #00000014;transform:scale(1)}to{box-shadow:0 0 0 8px #51cf6666,0 5px #00000014;transform:scale(1.05)}}.pipe-cell.pc-shake{animation:pc-shake .34s ease;background:#fff4e6!important;box-shadow:0 0 0 3px #ffa94d,0 5px #00000014!important}@keyframes pc-shake{0%,to{transform:translate(0)}20%{transform:translate(-5px) rotate(-2deg)}40%{transform:translate(5px) rotate(2deg)}60%{transform:translate(-4px) rotate(-1deg)}80%{transform:translate(4px) rotate(1deg)}}.pc-progress{position:relative;max-width:760px;width:100%;margin:6px auto 12px;height:28px;border-radius:999px;background:#fff;border:3px solid #e5dbff;overflow:hidden;box-shadow:inset 0 2px 4px #5f3dc414}.pc-progress-bar{height:100%;border-radius:999px;transition:width .3s ease,background .3s ease}.pc-progress-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:900;color:#5f3dc4;pointer-events:none}.pc-particles{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:95}.pc-particle{position:absolute;font-size:28px;animation:water-splash 1.4s ease-out forwards;will-change:transform,opacity}@keyframes water-splash{0%{transform:translate(0) rotate(0) scale(.4);opacity:0}20%{transform:translate(calc(var(--dx) * .3),calc(var(--dy) * .3)) rotate(calc(var(--r) * .3)) scale(1.2);opacity:1}to{transform:translate(var(--dx),var(--dy)) rotate(var(--r)) scale(.8);opacity:0}}.pipe-cell{min-width:70px;min-height:70px}@media (max-width: 520px){.pipe-board{padding:8px;gap:4px}.pipe-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.pc-progress-text{font-size:15px}}.sm-cell{position:relative;aspect-ratio:1 / 1;min-height:72px;min-width:70px}.sm-cell .sm-num{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;aspect-ratio:auto;min-height:0}.sm-board .sm-num.sel{box-shadow:0 12px #d9480f4d,0 0 0 4px #51cf668c,0 0 22px 4px #51cf66b3;animation:sm-sel-pulse 1.1s ease-in-out infinite}@keyframes sm-sel-pulse{0%,to{box-shadow:0 12px #d9480f4d,0 0 0 4px #51cf6680,0 0 18px 2px #51cf668c}50%{box-shadow:0 12px #d9480f4d,0 0 0 6px #51cf66bf,0 0 30px 6px #51cf66e6}}.sm-board .sm-num.gone{opacity:0;transform:scale(.3) rotate(-12deg);transition:opacity .45s ease,transform .45s cubic-bezier(.2,.9,.3,1.4)}.sm-fx{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:5;overflow:visible}.sm-particles{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:22px}.sm-particles span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);animation:sm-burst-out .85s ease-out forwards}.sm-particles span:nth-child(1){--tx: -24px;--ty: -28px;--rot: -28deg;animation-delay:0s}.sm-particles span:nth-child(2){--tx: 22px;--ty: -32px;--rot: 24deg;animation-delay:.05s}.sm-particles span:nth-child(3){--tx: 0px;--ty: -42px;--rot: 0deg;animation-delay:.1s}@keyframes sm-burst-out{0%{transform:translate(-50%,-50%) scale(.4);opacity:0}25%{opacity:1}to{transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty))) scale(1.3) rotate(var(--rot));opacity:0}}.sm-float-score{position:absolute;top:-4px;left:50%;font-size:22px;font-weight:900;color:#f59f00;text-shadow:0 2px 0 #fff,0 0 10px rgba(255,196,0,.7);pointer-events:none;animation:sm-float-up 1s ease-out forwards}@keyframes sm-float-up{0%{transform:translate(-50%,8px) scale(.6);opacity:0}25%{transform:translate(-50%,-8px) scale(1.25);opacity:1}to{transform:translate(-50%,-48px) scale(1);opacity:0}}.sm-target.hit{background:linear-gradient(135deg,#d3f9d8,#b2f2bb);border-color:#51cf66;color:#2f9e44;box-shadow:0 6px #51cf6659,0 0 0 4px #51cf6680,0 0 22px 4px #51cf66a6;animation:sm-target-pulse 1s ease-in-out infinite}@keyframes sm-target-pulse{0%,to{box-shadow:0 6px #51cf6659,0 0 0 4px #51cf6680,0 0 18px 2px #51cf668c}50%{box-shadow:0 6px #51cf6659,0 0 0 6px #51cf66bf,0 0 30px 6px #51cf66e6}}.sm-progress{max-width:640px;width:100%;margin:8px auto 4px;height:14px;border-radius:999px;background:#fff;border:3px solid #d3f9d8;overflow:hidden;box-shadow:inset 0 2px 4px #00000014}.sm-progress-bar{height:100%;background:linear-gradient(90deg,#69db7c,#51cf66,#40c057);background-size:200% 100%;border-radius:999px;transition:width .5s ease;animation:sm-progress-shine 2s linear infinite}@keyframes sm-progress-shine{0%{background-position:0% 0}to{background-position:200% 0}}.mini-warn-toast.sm-toast-success{background:#d3f9d8;color:#2f9e44;border-color:#51cf66}.mini-warn-toast.sm-toast-fail{animation:popIn .35s ease both,gentleShake .4s ease .35s}.sm-full-score{color:#f59f00}@media (max-width: 600px){.sm-cell,.sm-num{min-height:70px;min-width:70px}.sm-num-face{font-size:clamp(20px,6vw,36px)}.sm-particles span,.sm-float-score{font-size:20px}.sm-hud,.sm-target,.sm-sum,.sm-count{font-size:18px}.sm-target b{font-size:24px}}.fn-num-chip.c-pink{background:linear-gradient(135deg,#ffe0eb,#ff8fab);color:#a61e4d}.fn-num-chip.c-purple{background:linear-gradient(135deg,#f3d9ff,#b197fc);color:#5f3dc4}.fn-num-chip.c-blue{background:linear-gradient(135deg,#d0ebff,#74c0fc);color:#1864ab}.fn-num-chip.c-green{background:linear-gradient(135deg,#d3f9d8,#8ce99a);color:#2b8a3e}.fn-screen.ok{border-color:#51cf66!important;border-style:solid!important;background:#ebfbee!important;box-shadow:0 0 0 6px #51cf6659,0 10px #2f9e4440!important;animation:fn-pulse-ok .9s ease-in-out infinite}.fn-screen.wrong{border-color:#ffa94d!important;border-style:solid!important;background:#fff4e6!important;box-shadow:0 0 0 4px #ffa94d59,0 10px #d9480f40!important;animation:fn-shake-warm .4s ease}.fn-screen.ok .fn-screen-expr{color:#2b8a3e!important}.fn-screen.wrong .fn-screen-expr{color:#d9480f!important}.fn-screen-check{color:#2f9e44;font-weight:900;margin-left:4px}@keyframes fn-pulse-ok{0%,to{box-shadow:0 0 0 6px #51cf6659,0 10px #2f9e4440}50%{box-shadow:0 0 0 12px #51cf668c,0 12px #2f9e4459}}@keyframes fn-shake-warm{0%,to{transform:translate(0)}15%{transform:translate(-10px)}30%{transform:translate(10px)}45%{transform:translate(-8px)}60%{transform:translate(8px)}75%{transform:translate(-4px)}}.fn-kb{min-height:70px!important;min-width:70px;border-radius:22px!important;border-width:4px!important;font-size:30px!important;font-weight:900;cursor:pointer;position:relative;box-shadow:0 7px #0000001f,inset 0 2px #ffffff8c!important;transition:transform .08s,box-shadow .08s,filter .2s;touch-action:manipulation;font-family:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 6px!important}.fn-kb:active:not(:disabled){transform:translateY(4px);box-shadow:0 3px #0000001f,inset 0 2px #fff6!important}.fn-kb:disabled{opacity:.55;cursor:not-allowed}.fn-kb-face{font-size:30px;line-height:1}.fn-kb-badge{position:absolute;top:4px;right:6px;font-size:11px;font-weight:800;background:#ffffffe0;color:#495057;padding:1px 6px;border-radius:999px;line-height:1.4}.fn-kb.num.c-pink{background:linear-gradient(180deg,#ff8fab,#f06595)!important;color:#fff!important;border-color:#f783ac!important;box-shadow:0 7px #d6336c,inset 0 2px #ffffff80!important}.fn-kb.num.c-purple{background:linear-gradient(180deg,#b197fc,#9775fa)!important;color:#fff!important;border-color:#b197fc!important;box-shadow:0 7px #7048e8,inset 0 2px #ffffff80!important}.fn-kb.num.c-blue{background:linear-gradient(180deg,#74c0fc,#4dabf7)!important;color:#fff!important;border-color:#74c0fc!important;box-shadow:0 7px #1c7ed6,inset 0 2px #ffffff80!important}.fn-kb.num.c-green{background:linear-gradient(180deg,#8ce99a,#69db7c)!important;color:#fff!important;border-color:#8ce99a!important;box-shadow:0 7px #2f9e44,inset 0 2px #ffffff80!important}.fn-kb.num.used{background:linear-gradient(180deg,#dee2e6,#ced4da)!important;color:#868e96!important;border-color:#adb5bd!important;box-shadow:0 7px #868e96,inset 0 2px #ffffff4d!important;filter:saturate(.18)}.fn-kb.num.used .fn-kb-face{opacity:.7}.fn-kb.num.used .fn-kb-badge{background:#ffffffb3;color:#868e96}.fn-kb.op{background:linear-gradient(180deg,#ced4da,#adb5bd)!important;color:#495057!important;border-color:#adb5bd!important;box-shadow:0 7px #868e96,inset 0 2px #ffffff80!important;font-size:34px!important}.fn-kb.fn{font-size:22px!important}.fn-kb.fn-bsp{background:linear-gradient(180deg,#ffa94d,#ff922b)!important;color:#fff!important;border-color:#ffa94d!important;box-shadow:0 7px #e8590c,inset 0 2px #ffffff80!important}.fn-kb.fn-clr{background:linear-gradient(180deg,#dee2e6,#adb5bd)!important;color:#495057!important;border-color:#adb5bd!important;box-shadow:0 7px #868e96,inset 0 2px #ffffff80!important}.fn-kb.fn-submit{background:linear-gradient(180deg,#51cf66,#2f9e44)!important;color:#fff!important;border-color:#51cf66!important;box-shadow:0 7px #2b8a3e,inset 0 2px #ffffff80!important;font-size:26px!important;font-weight:900;grid-column:span 2}@media (max-width: 640px){.fn-kb.fn-submit{grid-column:span 3}}.fn-hint-btn{background:linear-gradient(135deg,#ffe066,#ffa94d)!important;border-color:#ffa94d!important;color:#fff!important;box-shadow:0 5px #e8590c66!important}.fn-hint-btn:active{transform:translateY(2px);box-shadow:0 3px #e8590c66!important}.fn-hint{background:linear-gradient(135deg,#fff9db,#ffe066);border:3px solid #ffa94d;border-radius:18px;padding:10px 16px;font-size:18px;font-weight:800;color:#d9480f;display:flex;align-items:center;gap:8px;box-shadow:0 5px #c9940040;animation:fn-hint-pop .35s cubic-bezier(.2,.9,.3,1.3) both;max-width:720px;width:fit-content;margin:0 auto}.fn-hint-icon{font-size:22px;flex-shrink:0}.fn-hint-text{line-height:1.4;flex:1}.fn-hint-count{font-size:13px;font-weight:800;background:#ffffffbf;color:#d9480f;padding:2px 8px;border-radius:999px;flex-shrink:0}@keyframes fn-hint-pop{0%{transform:scale(.7) translateY(-8px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.fn-particles{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:90;overflow:hidden}.fn-particle{position:absolute;top:-40px;font-size:26px;animation-name:fn-fall;animation-timing-function:ease-in;animation-fill-mode:forwards;will-change:transform,opacity}@keyframes fn-fall{0%{transform:translateY(0) rotate(0);opacity:1}85%{opacity:1}to{transform:translateY(110vh) rotate(540deg);opacity:0}}@media (max-width: 640px){.fn-kb{font-size:24px!important;min-height:64px!important}.fn-kb-face{font-size:24px}.fn-kb.op{font-size:28px!important}}.hub-why{border-color:#ffa94d;color:#d9480f}.why-screen{max-width:760px;margin:0 auto;padding:16px 16px 20px;position:relative;min-height:85vh}.why-top{display:flex;align-items:center;gap:12px;margin-bottom:12px}.why-title{flex:1;text-align:center;font-size:20px;font-weight:900;color:#d9480f;background:linear-gradient(135deg,#ffd8a8,#ffec99);border:3px solid #ffa94d;border-radius:16px;padding:8px 16px;box-shadow:0 4px #ffa94d4d}.why-clear-btn{background:#fff5f5;border:2px solid #ff8787;border-radius:12px;padding:6px 12px;font-size:14px;font-weight:700;color:#c92a2a;cursor:pointer;transition:transform .12s}.why-clear-btn:hover{transform:translateY(-2px)}.why-clear-btn:disabled{opacity:.4;cursor:not-allowed}.why-chat-area{background:#fffbf0;border:3px solid #ffd8a8;border-radius:20px;padding:16px;min-height:50vh;max-height:70vh;overflow-y:auto;margin-bottom:12px;box-shadow:inset 0 2px 8px #ffa94d26}.why-welcome{text-align:center;font-size:18px;font-weight:700;color:#d9480f;margin-bottom:16px;padding:16px;background:linear-gradient(135deg,#fff3bf,#ffec99);border-radius:16px;border:2px solid #ffe066}.why-categories{display:flex;flex-direction:column;gap:14px}.why-cat-block{background:#fff;border-radius:16px;padding:12px;box-shadow:0 2px 8px #0000000f}.why-cat-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:900;padding:4px 12px;border-radius:12px;border:2px solid;margin-bottom:10px}.why-cat-emoji{font-size:20px}.why-cat-questions{display:flex;flex-wrap:wrap;gap:8px}.why-q-chip{background:#f8f9fa;border:2px solid #dee2e6;border-radius:20px;padding:6px 14px;font-size:14px;font-weight:500;color:#495057;cursor:pointer;transition:all .15s}.why-q-chip:hover{background:#fff3bf;border-color:#ffa94d;color:#d9480f;transform:translateY(-2px)}.why-msg{display:flex;gap:10px;margin-bottom:14px;align-items:flex-start}.why-avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:22px;border:2px solid}.why-msg-user .why-avatar{background:#d0ebff;border-color:#74c0fc}.why-msg-assistant .why-avatar{background:#ffd8a8;border-color:#ffa94d}.why-msg-content{flex:1;max-width:80%}.why-msg-text{padding:10px 14px;border-radius:14px;font-size:16px;line-height:1.6;word-break:break-word;white-space:pre-wrap}.why-msg-user .why-msg-text{background:#74c0fc;color:#1864ab;border-top-left-radius:4px}.why-msg-assistant .why-msg-text{background:#fff3bf;color:#d9480f;border-top-right-radius:4px}.why-msg-error .why-msg-text{background:#ffe3e3;color:#c92a2a}.why-followups{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.why-follow-btn{background:#fff;border:2px solid #ffa94d;border-radius:16px;padding:4px 12px;font-size:13px;font-weight:500;color:#d9480f;cursor:pointer;transition:all .12s}.why-follow-btn:hover{background:#ffd8a8;transform:translateY(-1px)}.why-typing{display:flex;gap:4px;padding:12px 4px}.why-typing span{width:10px;height:10px;background:#ffa94d;border-radius:50%;animation:whyTyping 1.2s ease-in-out infinite}.why-typing span:nth-child(2){animation-delay:.2s}.why-typing span:nth-child(3){animation-delay:.4s}@keyframes whyTyping{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}.why-input-bar{display:flex;gap:10px;align-items:flex-end}.why-input{flex:1;resize:none;min-height:48px;max-height:120px;background:#fffbf0;border:3px solid #ffd8a8;border-radius:20px;padding:10px 16px;font-size:16px;line-height:1.5;outline:none;transition:border-color .2s;font-family:inherit}.why-input:focus{border-color:#ffa94d}.why-input:disabled{opacity:.6}.why-send-btn{background:linear-gradient(135deg,#ff922b,#ffa94d);border:3px solid #e67700;border-radius:20px;padding:10px 22px;font-size:16px;font-weight:900;color:#fff;cursor:pointer;transition:all .15s;box-shadow:0 4px #e677004d}.why-send-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px #e6770066}.why-send-btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px #e677004d}.why-send-btn:disabled{opacity:.5;cursor:not-allowed}
