:root{--ink:#2b2140;--ink-soft:#5a5277;--paper:#fffaf2;--primary:#6b4fd8;--primary-dark:#4a33a8;--accent:#ffd23f;--accent-dark:#e0a800;--green:#3fbf7f;--green-dark:#23935a;--pink:#ff6b8b;--radius:28px;--shadow:0 10px 30px #1e145040;--font:ui-rounded, "SF Pro Rounded", "Nunito", "Varela Round", "Segoe UI", system-ui, sans-serif;--text-scale:1;--world:#6b4fd8;--world-light:#ece2ff;--world-dark:#4a33a8}*{box-sizing:border-box}html,body{height:100%;font-family:var(--font);color:var(--ink);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation;background:#1c1648;margin:0;overflow:hidden}body.big-text{--text-scale:1.18}#game{position:fixed;inset:0}#ui{pointer-events:none;z-index:10;position:fixed;inset:0}#ui>*{pointer-events:auto}#ui .passthrough{pointer-events:none}#ui .passthrough>*{pointer-events:auto}.icon{width:100%;height:100%;display:block}.btn{font:inherit;font-weight:900;font-size:calc(clamp(18px, 2.4vw, 26px) * var(--text-scale));color:#fff;background:var(--primary);min-width:56px;min-height:56px;box-shadow:0 6px 0 var(--primary-dark), 0 10px 20px #0003;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:12px 28px;transition:transform 80ms,box-shadow 80ms,filter .2s;display:inline-flex}.btn:hover{filter:brightness(1.08)}.btn:active{box-shadow:0 2px 0 var(--primary-dark), 0 4px 10px #0003;transform:translateY(4px)}.btn:focus-visible,.card-btn:focus-visible,.chip:focus-visible,.icon-btn:focus-visible{outline:5px solid var(--accent);outline-offset:3px}.btn.green{background:var(--green);box-shadow:0 6px 0 var(--green-dark), 0 10px 20px #0003}.btn.yellow{background:var(--accent);color:var(--ink);box-shadow:0 6px 0 var(--accent-dark), 0 10px 20px #0003}.btn.ghost{color:var(--ink);background:#fff;box-shadow:0 6px #d8d2ee,0 10px 20px #0000001f}.btn[disabled]{filter:grayscale(.8)opacity(.6);pointer-events:none}.btn .bi{width:34px;height:34px}.icon-btn{width:64px;height:64px;box-shadow:0 5px 0 #d8d2ee, var(--shadow);cursor:pointer;background:#fff;border:0;border-radius:22px;padding:10px;transition:transform .1s}.icon-btn:active{transform:translateY(3px)scale(.97)}.hud{top:max(12px, env(safe-area-inset-top));left:max(12px, env(safe-area-inset-left));right:max(12px, env(safe-area-inset-right));align-items:center;gap:10px;display:flex;position:absolute}.hud .spacer{flex:1}.pill{height:56px;box-shadow:var(--shadow);font-weight:900;font-size:calc(22px * var(--text-scale));background:#fffffff2;border-radius:999px;align-items:center;gap:8px;padding:6px 18px 6px 8px;display:flex}.pill .pi{flex:none;width:42px;height:42px}.pill.avatar .pi{background:var(--world-light);border-radius:50%;width:44px;height:44px;overflow:hidden}.pill.avatar .pi svg{width:100%;height:100%}.energy-bar{gap:3px;display:flex}.energy-bar i{background:#e8e4f5;border-radius:5px;width:9px;height:22px;display:block}.energy-bar i.on{background:linear-gradient(#ffd23f,#ff9f1a)}.energy-bar.low i.on{background:linear-gradient(#ffb27a,#ff6b3d)}.bump{animation:.45s cubic-bezier(.3,1.8,.5,1) bump}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.18)}to{transform:scale(1)}}.backdrop{-webkit-backdrop-filter:blur(4px);background:#140e3c8c;justify-content:center;align-items:center;padding:20px;animation:.25s both fade-in;display:flex;position:absolute;inset:0}.backdrop.clear{-webkit-backdrop-filter:none;background:0 0}.card{background:var(--paper);border-radius:36px;width:min(760px,94vw);max-height:92vh;padding:32px;animation:.45s cubic-bezier(.3,1.6,.5,1) both pop-in;position:relative;overflow:auto;box-shadow:0 16px #00000014,0 24px 60px #140a3c66}.card h2{font-size:calc(clamp(26px, 3.6vw, 40px) * var(--text-scale));text-align:center;margin:0 0 12px;font-weight:900}.card .lead{font-size:calc(clamp(20px, 2.8vw, 30px) * var(--text-scale));text-align:center;margin:0 0 20px;font-weight:800;line-height:1.35}.card .actions{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:22px;display:flex}.close-x{width:56px;height:56px;font:900 28px var(--font);color:var(--ink);cursor:pointer;background:#efeaff;border:0;border-radius:50%;position:absolute;top:14px;right:14px}@keyframes pop-in{0%{opacity:0;transform:scale(.7)translateY(30px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}}@keyframes rise-in{0%{opacity:0;transform:translateY(40px)}}.leaving{animation:.2s forwards fade-out!important}@keyframes fade-out{to{opacity:0;transform:scale(.96)}}.dialog{left:50%;bottom:max(18px, env(safe-area-inset-bottom));cursor:pointer;align-items:flex-end;gap:0;width:min(980px,94vw);animation:.35s cubic-bezier(.3,1.4,.5,1) both rise-in;display:flex;position:absolute;transform:translate(-50%)}.dialog .portrait{z-index:1;background:radial-gradient(circle at 50% 40%, #fff, var(--world-light));width:clamp(96px,14vw,150px);height:clamp(96px,14vw,150px);box-shadow:var(--shadow);border:6px solid #fff;border-radius:50%;flex:none;margin-right:-26px;padding:10px;animation:3s ease-in-out infinite float}.dialog .portrait.player{padding:0;overflow:hidden}.dialog .box{min-height:130px;box-shadow:0 8px 0 #00000014, var(--shadow);background:#fff;border-radius:32px;flex:1;padding:24px 32px 24px 52px;position:relative}.dialog .name{background:var(--world);color:#fff;font-weight:900;font-size:calc(20px * var(--text-scale));border-radius:999px;padding:6px 18px;position:absolute;top:-20px;left:44px}.dialog .text{font-size:calc(clamp(22px, 3vw, 32px) * var(--text-scale));margin:6px 0 0;font-weight:800;line-height:1.35}.dialog .more{background:var(--accent);border-radius:50%;place-items:center;width:36px;height:36px;font-weight:900;animation:1s ease-in-out infinite nudge;display:grid;position:absolute;bottom:14px;right:22px}@keyframes nudge{50%{transform:translate(6px)}}@keyframes float{50%{transform:translateY(-8px)}}.banner{font-weight:900;font-size:calc(clamp(18px, 2.4vw, 26px) * var(--text-scale));box-shadow:var(--shadow);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:12px;max-width:94vw;padding:12px 28px 12px 14px;animation:.4s both rise-in;display:flex;position:absolute;top:88px;left:50%;transform:translate(-50%)}.banner .bi{flex:none;width:44px;height:44px}.banner .count{background:var(--world);color:#fff;border-radius:999px;padding:2px 12px;font-size:.85em}.float-next{right:max(24px, env(safe-area-inset-right));bottom:max(24px, env(safe-area-inset-bottom));animation:.4s cubic-bezier(.3,1.6,.5,1) both pop-in;position:absolute}.choice-wrap{background:radial-gradient(circle at 50% 40%,#ffffff26,#140e3ca6);flex-direction:column;justify-content:center;align-items:center;gap:26px;padding:90px 16px 20px;animation:.3s both fade-in;display:flex;position:absolute;inset:0}.choice-prompt{font-size:calc(clamp(22px, 3vw, 34px) * var(--text-scale));text-align:center;max-width:900px;box-shadow:var(--shadow);background:#fff;border-radius:30px;align-items:center;gap:16px;padding:18px 30px;font-weight:900;animation:.4s both pop-in;display:flex}.choice-prompt .bi{flex:none;width:64px;height:64px}.choices{flex-wrap:wrap;justify-content:center;gap:22px;display:flex}.card-btn{font:inherit;width:clamp(200px,27vw,290px);min-height:250px;box-shadow:0 8px 0 var(--world-dark), 0 18px 34px #0000004d;cursor:pointer;background:#fff;border:0;border-radius:30px;flex-direction:column;align-items:center;gap:12px;padding:0 0 20px;transition:transform .15s,box-shadow .15s;animation:.5s cubic-bezier(.3,1.6,.5,1) both pop-in;display:flex;overflow:hidden}.card-btn:nth-child(2){animation-delay:80ms}.card-btn:nth-child(3){animation-delay:.16s}.card-btn:hover{transform:translateY(-8px)rotate(-1deg)}.card-btn:active{box-shadow:0 3px 0 var(--world-dark), 0 8px 14px #0000004d;transform:translateY(4px)}.card-btn .top{background:linear-gradient(160deg, var(--world-light), #fff);place-items:center;width:100%;height:140px;display:grid;position:relative}.card-btn .letter{background:var(--world);color:#fff;border-radius:50%;place-items:center;width:42px;height:42px;font-size:22px;font-weight:900;display:grid;position:absolute;top:12px;left:14px}.card-btn .ci{width:110px;height:110px;animation:3s ease-in-out infinite float}.card-btn .label{font-size:calc(clamp(18px, 2.2vw, 24px) * var(--text-scale));text-align:center;padding:0 16px;font-weight:900;line-height:1.25}.card-btn.picked{box-shadow:0 0 0 8px var(--accent), 0 18px 34px #0000004d;transform:scale(1.06)}.card-btn.dim{opacity:.3;transform:scale(.94)}.big-icon{width:150px;height:150px;margin:0 auto 10px;animation:.6s cubic-bezier(.3,1.8,.5,1) both pop-in,3s ease-in-out .6s infinite float}.discover-tag{background:var(--world);color:#fff;letter-spacing:.04em;border-radius:999px;width:max-content;margin:-54px auto 18px;padding:8px 20px;font-size:18px;font-weight:900;display:block}.chips{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.chip{font-weight:900;font-size:calc(19px * var(--text-scale));background:#fff;border:3px solid #efeaff;border-radius:999px;align-items:center;gap:8px;padding:8px 16px 8px 8px;animation:.4s both pop-in;display:inline-flex}.chip .ci{width:36px;height:36px}.chip.up{background:#effbf3;border-color:#bfeccf}.chip.down{background:#fff4ee;border-color:#ffd8c4}.learn-card{border:6px solid var(--accent);text-align:center;background:linear-gradient(170deg,#fffbe6,#fff)}.learn-card .ribbon{background:var(--accent);font-weight:900;font-size:calc(24px * var(--text-scale));border-radius:999px;align-items:center;gap:10px;margin-bottom:14px;padding:8px 24px 8px 10px;display:inline-flex}.learn-card .ribbon .bi{width:44px;height:44px}.learn-card .lead{font-size:calc(clamp(22px, 3vw, 32px) * var(--text-scale))}.sticker{width:170px;height:170px;margin:0 auto;animation:.9s cubic-bezier(.3,1.6,.5,1) both sticker-in;position:relative}.sticker .ring{background:conic-gradient(var(--world), var(--accent), var(--pink), var(--world));border-radius:50%;animation:6s linear infinite spin;position:absolute;inset:0}.sticker .inner{background:#fff;border-radius:50%;place-items:center;padding:26px;display:grid;position:absolute;inset:12px}@keyframes sticker-in{0%{transform:scale(0)rotate(-180deg)}}@keyframes spin{to{transform:rotate(1turn)}}.reward-list{gap:10px;margin:18px 0 4px;display:grid}.reward{font-weight:900;font-size:calc(20px * var(--text-scale));background:#fff;border-radius:20px;align-items:center;gap:14px;padding:10px 16px;animation:.4s both rise-in;display:flex;box-shadow:0 4px #eee8fb}.reward .ri{flex:none;width:46px;height:46px}.reward .plus{color:var(--green-dark);margin-left:auto}.reward.special{background:linear-gradient(90deg,#fff6c9,#fff)}.confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti i{border-radius:3px;width:12px;height:18px;animation:linear forwards confetti-fall;position:absolute;top:-20px}@keyframes confetti-fall{to{transform:translate3d(var(--dx), 110vh, 0) rotate(var(--rot))}}.toast{box-shadow:var(--shadow);font-weight:900;font-size:calc(clamp(17px, 2.2vw, 23px) * var(--text-scale));background:#fff;border-radius:999px;align-items:center;gap:12px;max-width:92vw;padding:10px 24px 10px 10px;animation:3.2s both toast;display:flex;position:absolute;top:92px;left:50%;transform:translate(-50%);pointer-events:none!important}.toast .ti{flex:none;width:44px;height:44px}@keyframes toast{0%{opacity:0;transform:translate(-50%,-20px)}10%,85%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-10px)}}.title-screen{text-align:center;color:#fff;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:20px;display:flex;position:absolute;inset:0}.logo{letter-spacing:-.02em;text-shadow:0 6px #3b2b9a,0 14px 30px #0006;font-size:clamp(44px,8vw,96px);font-weight:900;line-height:.95;animation:.8s cubic-bezier(.3,1.6,.5,1) both pop-in}.logo span{background:linear-gradient(90deg,#3fbf7f,#5b7cfa,#ff8a5c,#f5b82e,#2fb5e8,#ff6b8b,#9b6bff);color:#0000;filter:drop-shadow(0 6px #3b2b9a);text-shadow:none;-webkit-background-clip:text;background-clip:text;display:inline-block}.tagline{opacity:.9;font-size:clamp(16px,2.2vw,24px);font-weight:800;animation:1s .4s both fade-in}.door-row{gap:clamp(6px,1.2vw,14px);margin:6px 0 10px;display:flex}.door-row .d{width:clamp(38px,5vw,62px);height:clamp(60px,8vw,100px);animation:.6s cubic-bezier(.3,1.5,.5,1) both rise-in}.char-pick{flex-wrap:wrap;justify-content:center;gap:24px;display:flex}.char-pick .card-btn{min-height:280px;box-shadow:0 8px #d8d2ee,0 18px 34px #0003}.char-pick .card-btn .top{background:linear-gradient(170deg,#ece2ff,#fff);height:210px}.char-pick .card-btn .ci{width:120px;height:200px}.names{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.names .chip{cursor:pointer;min-height:56px;font-size:calc(22px * var(--text-scale));padding:12px 22px}.names .chip.on{background:var(--accent);border-color:var(--accent-dark)}.name-input{font:900 calc(24px * var(--text-scale)) var(--font);text-align:center;width:min(380px,80vw);min-height:60px;color:var(--ink);-webkit-user-select:text;user-select:text;border:4px solid #e4ddfb;border-radius:999px;outline:none;padding:10px 22px}.name-input:focus{border-color:var(--primary)}.setting-row{font-weight:900;font-size:calc(22px * var(--text-scale));border-bottom:3px dashed #eee8fb;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.seg{background:#efeaff;border-radius:999px;gap:4px;padding:5px;display:flex}.seg button{font:900 calc(19px * var(--text-scale)) var(--font);min-width:80px;min-height:50px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:999px}.seg button.on{color:var(--ink);background:#fff;box-shadow:0 3px #d8d2ee}.book{background:linear-gradient(90deg,#fffaf2 49.6%,#e9e1ff 50%,#fffaf2 50.4%);width:min(1060px,96vw);padding:30px 34px}.book-grid{grid-template-columns:1fr 1fr;gap:36px;display:grid}.book h3{font-size:calc(24px * var(--text-scale));margin:0 0 12px;font-weight:900}.skill-row{grid-template-columns:48px 1fr;align-items:center;gap:12px;margin-bottom:10px;display:grid}.skill-row .si{width:48px;height:48px}.skill-row .nm{font-weight:900;font-size:calc(17px * var(--text-scale));justify-content:space-between;display:flex}.skill-row .lv{color:var(--ink-soft)}.bar{background:#ece6fb;border-radius:999px;height:14px;margin-top:4px;overflow:hidden}.bar b{border-radius:inherit;background:linear-gradient(90deg,#3fbf7f,#8be0a4);height:100%;transition:width .8s;display:block}.level-dots{gap:4px;margin-top:4px;display:flex}.level-dots i{background:#ece6fb;border-radius:50%;width:14px;height:14px}.level-dots i.on{background:var(--accent)}.stickers{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:12px;display:grid}.st{aspect-ratio:1;background:#f1edfb;border:3px dashed #d8d0f3;border-radius:50%;place-items:center;padding:16px;display:grid;position:relative}.st.done{border:4px solid #fff;box-shadow:0 4px 12px #00000026}.st .w{background:#fff;border-radius:50%;width:34px;height:34px;padding:4px;position:absolute;bottom:-6px;right:-4px;box-shadow:0 2px 6px #00000026}.st:not(.done) svg{opacity:.25;filter:grayscale()}.mg{background:linear-gradient(170deg, var(--world-light), var(--paper) 45%);flex-direction:column;gap:16px;width:min(1100px,96vw);min-height:min(600px,88vh);display:flex}.mg-head{font-size:calc(clamp(20px, 2.6vw, 28px) * var(--text-scale));align-items:center;gap:14px;padding-right:60px;font-weight:900;display:flex}.mg-head .bi{flex:none;width:56px;height:56px}.mg-hint{text-align:center;min-height:34px;font-weight:800;font-size:calc(20px * var(--text-scale));color:var(--ink-soft)}.mg-area{flex-direction:column;flex:1;justify-content:center;gap:18px;display:flex;position:relative}.tile{font:inherit;cursor:pointer;font-weight:900;font-size:calc(19px * var(--text-scale));color:var(--ink);touch-action:none;background:#fff;border:0;border-radius:24px;flex-direction:column;align-items:center;gap:8px;padding:12px;transition:transform .15s,box-shadow .15s,opacity .3s;display:flex;box-shadow:0 6px #ddd5f3,0 10px 20px #0000001a}.tile .ti{pointer-events:none;width:76px;height:76px}.tile.sel{box-shadow:0 0 0 6px var(--accent), 0 14px 24px #00000026;transform:translateY(-6px)scale(1.05)}.tile.ok{background:#e8fbef;box-shadow:0 6px #9fdcb5}.tile.gone{opacity:0;pointer-events:none;transform:scale(.4)}.wiggle{animation:.45s wiggle}@keyframes wiggle{20%{transform:translate(-10px)rotate(-4deg)}40%{transform:translate(10px)rotate(4deg)}60%{transform:translate(-6px)rotate(-2deg)}80%{transform:translate(6px)}}.items-row{flex-wrap:wrap;justify-content:center;gap:14px;min-height:120px;display:flex}.items-row .tile{width:110px}.bins{grid-auto-columns:1fr;grid-auto-flow:column;gap:16px;display:grid}.bin{cursor:pointer;min-height:190px;font:inherit;font-weight:900;font-size:calc(20px * var(--text-scale));color:var(--ink);background:#ffffffd9;border:5px dashed #d8d0f3;border-radius:28px;flex-direction:column;align-items:center;gap:6px;padding:12px;transition:transform .15s,border-color .15s,background .15s;display:flex}.bin .bi{pointer-events:none;width:90px;height:90px}.bin.hover{border-color:var(--green);background:#effbf3;transform:scale(1.04)}.bin .got{flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.bin .got svg{width:34px;height:34px;animation:.35s both pop-in}.drag-ghost{z-index:100;pointer-events:none;filter:drop-shadow(0 12px 14px #0000004d);width:100px;height:100px;position:fixed;transform:translate(-50%,-50%)scale(1.15)rotate(-6deg)}.slots{grid-auto-columns:1fr;grid-auto-flow:column;gap:14px;display:grid}.slot{min-height:150px;font-weight:900;font-size:calc(18px * var(--text-scale));text-align:center;background:#ffffffb3;border:5px dashed #d8d0f3;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:8px;display:flex;position:relative}.slot .n{background:var(--world);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;font-size:18px;display:grid;position:absolute;top:-16px;left:50%;transform:translate(-50%)}.slot.filled{border-style:solid;border-color:var(--green);background:#effbf3}.slot .si{width:64px;height:64px;animation:.35s both pop-in}.seq-cards{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.seq-cards .tile{width:170px}.match-cols{grid-template-columns:1fr 1fr;gap:40px;display:grid}.match-cols .col{flex-direction:column;gap:14px;display:flex}.match-cols .tile{font-size:calc(24px * var(--text-scale));flex-direction:row;justify-content:flex-start;gap:16px;padding:10px 20px}.match-cols .tile .ti{width:56px;height:56px}.match-cols .tile.m1{background:#e8fbef;box-shadow:0 6px #9fdcb5}.match-cols .tile.m2{background:#e7efff;box-shadow:0 6px #a9bff5}.match-cols .tile.m3{background:#fff4d6;box-shadow:0 6px #f3d48a}.pay-total{text-align:center;font-size:calc(clamp(28px, 4vw, 44px) * var(--text-scale));font-weight:900}.pay-total.exact{color:var(--green-dark)}.pay-total.over{color:#e2574c}.wallet{background:linear-gradient(#ffb27a,#ff8a5c);border-radius:30px;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;min-height:150px;padding:18px;display:flex;position:relative;box-shadow:inset 0 -10px #0000001a}.wallet .lbl{background:#fff;border-radius:999px;padding:4px 16px;font-size:17px;font-weight:900;position:absolute;top:-16px;left:24px}.coin-btn{cursor:pointer;background:0 0;border:0;width:92px;height:92px;padding:0;transition:transform .15s;animation:.3s both pop-in;position:relative}.coin-btn:active{transform:scale(.9)}.coin-btn b{font:900 26px var(--font);color:#7a4d00;text-shadow:0 2px #fff9;place-items:center;padding-top:4px;display:grid;position:absolute;inset:0}.coin-btn.small{width:74px;height:74px}.tap-area{background:linear-gradient(#bfefff,#e6fbff 60%,#a6e39a 60%);border-radius:28px;flex:1;min-height:340px;position:relative;overflow:hidden}.tap-area.indoor{background:linear-gradient(#e3dcff,#f4f0ff 65%,#c9a37a 65%)}.tap-target{cursor:pointer;background:0 0;border:0;width:clamp(110px,15vw,170px);height:clamp(165px,22vw,255px);padding:0;animation:2.6s ease-in-out infinite float;position:absolute;transform:translate(-50%,-50%)}.tap-target.coin{width:clamp(70px,9vw,96px);height:clamp(70px,9vw,96px)}.tap-target.done{cursor:default;animation:none}.tap-target.flying{opacity:0;transition:left .6s cubic-bezier(.5,-.3,.6,1),top .6s cubic-bezier(.5,-.3,.6,1),transform .6s,opacity .6s;transform:translate(-50%,-50%)scale(.3)}.collector{width:130px;height:130px;position:absolute;bottom:6%;left:50%;transform:translate(-50%)}.collector.gulp{animation:.4s bump}.drop{pointer-events:none;width:22px;height:30px;animation:.7s ease-in forwards drop;position:absolute}@keyframes drop{0%{opacity:1;transform:translateY(-80px)}to{opacity:0;transform:translateY(20px)}}.mg-done{background:#fff9;border-radius:36px;place-items:center;animation:.3s both fade-in;display:grid;position:absolute;inset:0}.mg-done .burst{color:var(--green-dark);flex-direction:column;align-items:center;gap:6px;font-size:clamp(40px,7vw,76px);font-weight:900;animation:.5s cubic-bezier(.3,1.8,.5,1) both pop-in;display:flex}.mg-done .burst .bi{width:130px;height:130px}.mission-card{text-align:center;width:min(560px,94vw)}.mission-card .num{background:var(--world);color:#fff;font-weight:900;font-size:calc(18px * var(--text-scale));border-radius:999px;margin-bottom:8px;padding:6px 18px;display:inline-block}.loading{color:#fff;place-items:center;font-size:24px;font-weight:900;display:grid;position:absolute;inset:0}.loading .dots i{background:#fff;border-radius:50%;width:14px;height:14px;margin:0 5px;animation:.9s ease-in-out infinite float;display:inline-block}.loading .dots i:nth-child(2){animation-delay:.15s}.loading .dots i:nth-child(3){animation-delay:.3s}@media (max-height:520px){.card{padding:20px 24px}.card-btn{min-height:200px}.card-btn .top{height:100px}.card-btn .ci{width:80px;height:80px}.big-icon{width:100px;height:100px}.sticker{width:120px;height:120px}.mg{min-height:0}.tap-area{min-height:220px}.bin{min-height:140px}.bin .bi{width:60px;height:60px}.choice-wrap{gap:14px;padding-top:76px}.banner{top:78px}}@media (max-width:700px){.book-grid{grid-template-columns:1fr}.book{background:var(--paper)}}body.reduce-motion *,body.reduce-motion :before,body.reduce-motion :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.big-icon,.ci,.bi,.ti,.pi,.si,.ri,.d,.collector{display:block}.banner .count:empty{display:none}@media (max-height:520px){.pill{height:46px;font-size:18px}.pill .pi{width:34px;height:34px}.icon-btn{width:52px;height:52px;padding:8px}.card{border-radius:28px}.mg{gap:8px;min-height:0}.mg-head{font-size:18px}.mg-head .bi{width:38px;height:38px}.mg-area{gap:10px}.tile .ti{width:48px;height:48px}.tile{border-radius:18px;padding:8px;font-size:15px}.items-row{min-height:0}.items-row .tile{width:76px}.slot{min-height:84px;font-size:14px}.slot .si{width:38px;height:38px}.seq-cards .tile{width:140px}.match-cols .tile{padding:6px 14px;font-size:18px}.match-cols .tile .ti{width:36px;height:36px}.match-cols .col{gap:8px}.coin-btn{width:64px;height:64px}.coin-btn b{font-size:19px}.coin-btn.small{width:54px;height:54px}.wallet{min-height:90px;padding:12px}.pay-total{font-size:26px}.choice-wrap{gap:10px;padding:64px 12px 10px}.choice-prompt{padding:8px 18px;font-size:19px}.choice-prompt .bi{width:40px;height:40px}.card-btn{gap:6px;min-height:160px;padding-bottom:12px}.card-btn .top{height:84px}.card-btn .ci{width:64px;height:64px}.card-btn .label{font-size:16px}.card-btn .letter{width:32px;height:32px;font-size:17px}.dialog .box{min-height:96px;padding:16px 22px 16px 40px}.dialog .text{font-size:20px}.dialog .portrait{width:84px;height:84px}.card .lead{margin-bottom:10px;font-size:19px}.card h2{font-size:24px}.card .actions{margin-top:12px}.reward{padding:6px 12px;font-size:16px}.reward .ri{width:34px;height:34px}.reward-list{gap:6px;margin-top:8px}.btn{min-height:50px;padding:8px 22px;font-size:18px}.banner{padding:8px 18px 8px 10px;font-size:17px;top:70px}.banner .bi{width:32px;height:32px}.toast{top:70px}.book{padding:20px}.skill-row{margin-bottom:4px}.stickers{grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:8px}.st{padding:10px}.st .w{width:24px;height:24px}.tap-area{min-height:200px}.tap-target{width:90px;height:135px}.bin{min-height:110px;font-size:15px}.bin .bi{width:48px;height:48px}.big-icon{width:84px;height:84px}.sticker{width:100px;height:100px}.sticker .inner{padding:16px}.char-pick .card-btn .top{height:150px}.char-pick .card-btn .ci{width:84px;height:140px}.char-pick .card-btn{min-height:200px}.names .chip{min-height:48px;padding:8px 16px;font-size:18px}.name-input{min-height:50px;font-size:19px}.door-row .d{width:34px;height:54px}}.items-row .tile.labeled{width:150px;font-size:calc(15px * var(--text-scale));text-align:center;line-height:1.2}@media (max-height:520px){.items-row .tile.labeled{width:112px;font-size:12px}}.task-pill{top:calc(max(12px, env(safe-area-inset-top)) + 66px);left:max(12px, env(safe-area-inset-left));cursor:pointer;font-family:var(--font);color:var(--ink);border:0;animation:.4s both pop-in;position:absolute}.task-pill.all-done{background:#e8fbef}.pill.day .pi{width:36px;height:36px}@media (max-height:520px){.task-pill{top:calc(max(12px, env(safe-area-inset-top)) + 54px)}}@media (max-width:900px){.pill.day span:last-child{display:none}}.hold-btn{-webkit-user-select:none;user-select:none;touch-action:none;position:relative;overflow:hidden}.hold-ring{background:conic-gradient(var(--accent) var(--p,0deg), #ffffff59 0);border-radius:50%;flex:none;width:34px;height:34px}.parent-card{width:min(900px,96vw)}.parent .tabs{flex-wrap:wrap;justify-content:center;width:max-content;max-width:100%;margin:0 auto 16px}.parent-body{gap:10px;display:grid}.parent .summary{font-weight:900;font-size:calc(19px * var(--text-scale));text-align:center;margin:0 0 6px}.parent-skills{grid-template-columns:1fr 1fr;gap:4px 24px;display:grid}.parent .note{color:var(--ink-soft);font-weight:700;font-size:calc(16px * var(--text-scale));text-align:center;margin:8px 0 0}.learned{background:#fff;border-radius:20px;align-items:flex-start;gap:14px;padding:12px 16px;display:flex;box-shadow:0 4px #eee8fb}.learned b{font-size:calc(18px * var(--text-scale))}.learned p{font-weight:700;font-size:calc(16px * var(--text-scale));margin:4px 0 0;line-height:1.4}.learned.locked{opacity:.55}.btn.danger{background:#e2574c;box-shadow:0 6px #b23a31,0 10px 20px #0003}@media (max-width:700px){.parent-skills{grid-template-columns:1fr}}body.high-contrast{--ink:#000;--ink-soft:#1a1a1a;--paper:#fff}body.high-contrast .card,body.high-contrast .dialog .box,body.high-contrast .pill,body.high-contrast .banner,body.high-contrast .toast,body.high-contrast .card-btn,body.high-contrast .tile,body.high-contrast .choice-prompt{color:#000;background:#fff;outline:3px solid #000}body.high-contrast .btn{outline:3px solid #000}body.high-contrast .backdrop{background:#000000bf}.learned .ri{flex:none;width:44px;height:44px}.char-pick.pets .card-btn{width:clamp(150px,19vw,210px);min-height:230px}.char-pick.pets .card-btn .top{height:150px}.char-pick.pets .card-btn .ci{width:120px;height:120px}.char-pick .label small{color:var(--ink-soft);margin-top:4px;font-size:.72em;font-weight:800;display:block}.card.wide{width:min(980px,96vw)}.doa-card .arab-latin{font-size:calc(clamp(22px, 3vw, 30px) * var(--text-scale));color:#1f6f4a;text-align:center;margin:6px 0 10px;font-style:italic;font-weight:900}.pet-row{gap:8px;display:flex}.pet-row button:not(.btn){cursor:pointer;background:#efeaff;border:3px solid #0000;border-radius:18px;width:58px;height:58px;padding:4px}.pet-row button.on:not(.btn){border-color:var(--accent-dark);background:#fff6c9}@media (max-height:520px){.char-pick.pets .card-btn{min-height:170px}.char-pick.pets .card-btn .top{height:100px}.char-pick.pets .card-btn .ci{width:80px;height:80px}}.char-pick .card-btn{width:clamp(160px,19vw,220px)}.char-pick.chars{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.char-pick.chars .card-btn{width:auto;min-height:0;padding-bottom:12px}.char-pick.chars .card-btn .top{height:150px}.char-pick.chars .card-btn .ci{width:84px;height:140px}.char-pick.chars .card-btn .label{font-size:calc(17px * var(--text-scale))}@media (max-height:520px){.char-pick.chars{gap:8px}.char-pick.chars .card-btn .top{height:92px}.char-pick.chars .card-btn .ci{width:52px;height:86px}.char-pick.chars .card-btn .label{font-size:13px}}
