.mascot-avatar.tiny{width:22px;height:22px;font-size:14px;box-shadow:none}.grade-stage[data-v-8b3d9414]{position:relative;width:min(72vw,calc(72vh * 998 / 721));aspect-ratio:998 / 721;container-type:size;overflow:hidden}.grade-stage .bg[data-v-8b3d9414]{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;-webkit-user-select:none;user-select:none}.grade-stage .hole[data-v-8b3d9414]{position:absolute;top:18.8cqh;width:28cqw;aspect-ratio:1 / 1;transform:translate(-50%);border-radius:50%;overflow:hidden}.grade-stage .hole.old[data-v-8b3d9414]{left:30.5cqw}.grade-stage .hole.new[data-v-8b3d9414]{left:70.5cqw}.grade-stage .hole .mascot-avatar[data-v-8b3d9414]{width:100%;height:100%}.grade-stage .side[data-v-8b3d9414]{position:absolute;top:58cqh;width:20cqw;transform:translate(-50%);display:flex;flex-direction:column;align-items:center}.grade-stage .side.old[data-v-8b3d9414]{left:30.5cqw}.grade-stage .side.new[data-v-8b3d9414]{left:70.5cqw}.grade-stage .side .mascot-avatar[data-v-8b3d9414]{width:28cqw;height:28cqw;border-radius:50%;overflow:hidden}.grade-stage .grade[data-v-8b3d9414]{font-size:2.6cqh;font-weight:800;position:relative;top:2.5cqh}.grade-stage .stars[data-v-8b3d9414]{display:flex;gap:.3cqw}.grade-stage .stars img[data-v-8b3d9414]{width:4.6cqh;height:4.6cqh;display:block}.grade-stage .hint[data-v-8b3d9414]{position:absolute;left:53%;top:71cqh;transform:translate(-50%);margin:0;font-size:3.6cqh;font-weight:800;color:#444;text-align:center;white-space:nowrap}.grade-stage .imgbtn[data-v-8b3d9414]{position:absolute;width:38cqw;aspect-ratio:354 / 105;padding:0;border:none;background:none;cursor:pointer}.grade-stage .imgbtn img[data-v-8b3d9414]{position:absolute;inset:0;width:100%;height:100%;display:block}.grade-stage .imgbtn .hover-img[data-v-8b3d9414]{opacity:0}.grade-stage .imgbtn:hover:not(:disabled) .hover-img[data-v-8b3d9414]{opacity:1}.grade-stage .imgbtn[data-v-8b3d9414]:disabled{opacity:.55;cursor:default}.grade-stage .imgbtn[data-v-8b3d9414]:disabled *{cursor:default}.grade-stage .imgbtn.open-more[data-v-8b3d9414]{left:12cqw;bottom:3.9cqh}.grade-stage .imgbtn.great[data-v-8b3d9414]{left:51cqw;bottom:3.9cqh}.gradeup-wrap[data-v-8b3d9414]{width:auto;max-width:none;padding:0;background:transparent;box-shadow:none}.promoted-stage[data-v-8b3d9414]{position:relative;width:min(72vw,104.71875vh);aspect-ratio:1117 / 768;container-type:size;overflow:hidden}.promoted-stage .bg[data-v-8b3d9414]{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;-webkit-user-select:none;user-select:none}.promoted-stage .hole[data-v-8b3d9414]{position:absolute;top:9cqh;left:50.2cqw;width:28cqw;aspect-ratio:1 / 1;transform:translate(-50%);border-radius:50%;overflow:hidden}.promoted-stage .hole .mascot-avatar[data-v-8b3d9414]{width:100%;height:100%}.promoted-stage .name[data-v-8b3d9414]{position:absolute;left:50%;top:50cqh;transform:translate(-50%);margin:0;font-size:4.2cqh;font-weight:800;color:#000;text-align:center;white-space:nowrap}.promoted-stage .stars[data-v-8b3d9414]{position:absolute;left:50%;top:50cqh;transform:translate(-50%);display:flex;gap:.4cqw}.promoted-stage .stars img[data-v-8b3d9414]{width:4.4cqh;height:4.4cqh;display:block}.promoted-stage .rate[data-v-8b3d9414]{position:absolute;left:50%;top:61cqh;transform:translate(-50%);margin:0;font-size:3.4cqh;font-weight:800;color:#444;text-align:center;white-space:nowrap}.promoted-stage .gain[data-v-8b3d9414]{position:absolute;left:50%;top:70cqh;transform:translate(-50%);font-size:4cqh;font-weight:800;color:#000;text-align:center;white-space:nowrap}.promoted-stage .gain-star[data-v-8b3d9414]{display:inline-block;width:1.05em;height:1.05em;margin-left:.2cqw;vertical-align:-.12em;object-fit:contain}.promoted-stage .imgbtn[data-v-8b3d9414]{position:absolute;width:36cqw;aspect-ratio:354 / 105;padding:0;border:none;background:none;cursor:pointer}.promoted-stage .imgbtn img[data-v-8b3d9414]{position:absolute;inset:0;width:100%;height:100%;display:block}.promoted-stage .imgbtn .hover-img[data-v-8b3d9414]{opacity:0}.promoted-stage .imgbtn:hover:not(:disabled) .hover-img[data-v-8b3d9414]{opacity:1}.promoted-stage .imgbtn[data-v-8b3d9414]:disabled{opacity:.55;cursor:default}.promoted-stage .imgbtn[data-v-8b3d9414]:disabled *{cursor:default}.promoted-stage .imgbtn.open-more[data-v-8b3d9414]{left:14cqw;bottom:7cqh}.promoted-stage .imgbtn.great[data-v-8b3d9414]{left:50cqw;bottom:7cqh}.promoted-wrap[data-v-8b3d9414]{width:auto;max-width:none;padding:0;background:transparent;box-shadow:none}.stage-outer{min-height:100vh;display:grid;place-items:center;background:#2f2a24}.stage{aspect-ratio:1376 / 768;width:min(100vw,calc(100vh * 1376 / 768));container-type:size;position:relative;overflow:hidden}.stage .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;-webkit-user-select:none;user-select:none}.chips{position:absolute;top:4.5cqh;right:2.5cqw;display:flex;gap:1.2cqw}.counter{position:relative;height:6.5cqh}.counter-coins{aspect-ratio:558 / 169}.counter-boxes{aspect-ratio:448 / 169}.counter img{position:absolute;inset:0;width:100%;height:100%;display:block}.counter .num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:2.5cqh;font-weight:800;color:#f3dd9a;-webkit-text-stroke:.07cqh #1a140c;paint-order:stroke fill;line-height:1}.counter-boxes .num{transform:translate(10%,3%)}.counter-btn{padding:0;border:none;background:none;cursor:pointer}.counter-btn:disabled,.counter-btn:disabled *{cursor:default}.grid{position:absolute;top:18cqh;left:51%;transform:translate(-50%);height:58cqh;display:grid;grid-template-columns:repeat(4,auto);gap:1.4cqh 2.4cqw;align-content:start;justify-content:center}.cell{display:flex;flex-direction:column;align-items:center;width:19cqh}.frame{position:relative;width:100%;aspect-ratio:269 / 280}.hole{position:absolute;margin-top:-1.3cqh;inset:11% 7%;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#786e6440}.hole .qmark{font-size:5cqh;color:#5a5046e6;font-weight:800}.ring{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.stars{display:flex;gap:.25cqw;margin-top:-5.2cqh;height:1.6cqh;z-index:2}.stars img{height:100%;width:auto}.name{margin-top:.1cqh;font-size:2cqh;font-weight:700;color:#3f3428;z-index:2}.name.dim{color:#5a5046bf}.nav{position:absolute;bottom:1.6cqh;left:50%;transform:translate(-50%);display:flex;gap:.15cqw}.navbtn{width:13cqw;aspect-ratio:211 / 109;padding:0;border:none;background:none;cursor:pointer;position:relative}.navbtn img{width:100%;height:100%;display:block;position:absolute;inset:0}.navbtn .hover-img,.navbtn .active-img{opacity:0}.navbtn:hover .hover-img,.navbtn:active .active-img,.navbtn.current .active-img{opacity:1}:root{--bg: #faf5ea;--card: #ffffff;--ink: #4a4038;--muted: #9a9088;--accent: #ff8fab;--accent-2: #5ec8f8;--good: #6fbf73;--danger: #ff5d5d;--gold: #f2b04e;--radius: 16px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}body{cursor:default}button,.btn,a,[role=button]{cursor:pointer}button:disabled,.btn:disabled{cursor:not-allowed}img{-webkit-user-drag:none;user-drag:none}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}#app,.app{min-height:100vh}.app{display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;background:var(--card);box-shadow:0 2px 12px #0000000f;position:sticky;top:0;z-index:10;flex-wrap:wrap}.brand{font-weight:800;cursor:pointer;-webkit-user-select:none;user-select:none}.topbar-right{display:flex;gap:6px;flex-wrap:wrap}.chip{background:var(--bg);border-radius:999px;padding:4px 10px;font-size:13px;white-space:nowrap}.chip.warn{background:#ffe3c9;color:#a35a00}.main{flex:1;width:100%;max-width:900px;margin:0 auto;padding:14px;display:flex;flex-direction:column;gap:14px}.card{background:var(--card);border-radius:var(--radius);padding:16px;box-shadow:0 4px 18px #0000000d}h1{margin:0 0 6px;font-size:26px}h2{margin:12px 0 8px;font-size:17px}.sub{color:var(--muted);margin:0 0 10px}.hint{color:var(--muted);font-size:13px}.muted{color:var(--muted)}.btn{border:2px solid transparent;background:var(--bg);color:var(--ink);border-radius:12px;padding:10px 16px;font-size:15px;font-weight:600;cursor:pointer;transition:transform .08s ease,filter .15s ease}.btn:hover:not(:disabled){filter:brightness(.97);transform:translateY(-1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--accent);color:#fff}.btn.danger{background:#ffe0e0;color:#b03030}.btn.ghost{background:transparent;border-color:var(--bg)}.btn.tiny{padding:4px 10px;font-size:12px}.big-btn{width:100%;font-size:18px;padding:14px;margin-top:10px}.loading{text-align:center;color:var(--muted)}.stats-row{display:flex;gap:14px;flex-wrap:wrap;font-size:14px;margin-bottom:8px}.diff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.diff-card{border:2px solid var(--bg);background:var(--bg);border-radius:var(--radius);padding:12px 8px;cursor:pointer;text-align:center}.diff-card.active{border-color:var(--accent);background:#fff0f4}.diff-emoji{font-size:28px}.diff-title{font-weight:700;margin-top:4px}.diff-desc{font-size:12px;color:var(--muted)}.size-row{display:flex;gap:8px}.nav-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}.nav-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;background:var(--bg);border:none;border-radius:var(--radius);padding:14px;cursor:pointer;font-size:16px;font-weight:700;text-align:left}.nav-card small{font-weight:400;color:var(--muted)}.nav-emoji{font-size:26px}.boost-teaser{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}.game-screen{display:flex;flex-direction:column;gap:10px}.game-hud{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;flex-wrap:wrap}.score-chip{display:flex;align-items:center;gap:6px;font-size:17px}.dot{width:14px;height:14px;border-radius:50%;display:inline-block}.dot.p1{background:var(--accent)}.dot.p2{background:var(--accent-2)}.hud-mid{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:center}.badge{background:#fff3c4;border-radius:999px;padding:2px 10px;font-size:13px}.badge.warn{background:#ffdede}.thinking{color:var(--muted);font-size:13px;animation:pulse 1.2s infinite}@keyframes pulse{50%{opacity:.4}}.board{width:100%;height:min(62vh,560px);border-radius:var(--radius);overflow:hidden;background:#faf5ea}.board canvas{display:block}.boost-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.boost-btn{display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--card);border:2px solid var(--bg);border-radius:var(--radius);padding:8px 4px;cursor:pointer;font-size:12px;font-weight:600;color:var(--ink)}.boost-btn.ready:hover{border-color:var(--good)}.boost-btn.armed{border-color:var(--danger);background:#fff0f0}.boost-btn.none{opacity:.4;cursor:not-allowed}.boost-emoji{font-size:20px}.boost-emoji.big{font-size:32px}.game-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.factory-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px}.fstat{background:var(--bg);border-radius:12px;padding:8px;text-align:center}.fstat small{display:block;color:var(--muted)}.fstat .charged{color:var(--gold)}.storage-bar{height:12px;background:var(--bg);border-radius:999px;overflow:hidden;margin-bottom:10px}.storage-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--gold));transition:width .4s ease}.slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.slot{background:var(--bg);border:2px dashed transparent;border-radius:var(--radius);min-height:130px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;padding:8px;text-align:center}.slot:hover{border-color:var(--accent)}.slot.locked{border:2px dashed var(--muted);cursor:default;opacity:.45}.slot.locked:hover{border-color:var(--muted)}.slot-plus{font-size:30px;color:var(--muted)}.slot-mascot,.mascot-avatar{width:140px;height:140px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:30px;box-shadow:inset 0 -4px 8px #00000014}.mascot-avatar.huge{width:110px;height:110px;font-size:60px}.picker{margin-top:12px;background:var(--bg);border-radius:var(--radius);padding:12px}.picker-list{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.picker-item{display:flex;align-items:center;gap:6px;background:var(--card);border:2px solid transparent;border-radius:12px;padding:8px 12px;cursor:pointer;font-size:14px}.picker-item:hover{border-color:var(--accent)}.factory-nav{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.upgrade-row,.size-row{display:flex;gap:8px;flex-wrap:wrap}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.shop-item{background:var(--bg);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.boxes-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center}.box-count{font-size:16px}.sets-row{display:flex;gap:8px;flex-wrap:wrap}.set-chip{background:var(--bg);border-radius:999px;padding:6px 12px;font-size:14px}.set-chip.complete{background:#e5f6e5;color:#2c7a2c}.mascot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.mascot-card{position:relative;background:var(--card);border:2px solid var(--bg);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.mascot-card.unowned{opacity:.55;filter:grayscale(.8)}.back-btn{align-self:center}.modal-overlay{position:fixed;inset:0;background:#3c322873;display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.modal{max-width:380px;width:100%;text-align:center;animation:pop-in .25s ease}@keyframes pop-in{0%{transform:scale(.85);opacity:0}}.unbox-card{border:3px solid;border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:12px}.new-badge{color:var(--good);font-weight:700}.dup-badge{color:var(--gold);font-weight:700}.stars-row{display:flex;gap:2px;justify-content:center;line-height:1}.star{font-size:13px;color:var(--ink);opacity:.25}.star.filled{opacity:1}.star.rainbow.filled{color:#ff5f5f}.star.rainbow.filled:nth-child(7n+2){color:#ffa64d}.star.rainbow.filled:nth-child(7n+3){color:#ffd94d}.star.rainbow.filled:nth-child(7n+4){color:#7fd8a8}.star.rainbow.filled:nth-child(7n+5){color:#6bc9f0}.star.rainbow.filled:nth-child(7n+6){color:#7f8bf0}.star.rainbow.filled:nth-child(7n+7){color:#b07af0}.grade-badge{background:var(--bg);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700}.grade-rainbow{background:linear-gradient(90deg,#ff5f5f,#ffa64d,#ffd94d,#7fd8a8,#6bc9f0,#b07af0);-webkit-background-clip:text;background-clip:text;color:transparent}.rainbow-glow{box-shadow:0 0 20px 2px #ff5f5f80,0 0 40px 8px #b07af066}.gradeup{margin-bottom:12px;display:flex;flex-direction:column;align-items:center;gap:10px}.gradeup-title{margin:0;font-size:22px}.gradeup-row{display:flex;align-items:center;gap:14px}.gradeup-side{display:flex;flex-direction:column;align-items:center;gap:6px}.gradeup-arrow{font-size:28px;color:var(--accent)}.reward-coins{font-size:30px;font-weight:800;margin:4px 0}.reward-boxes{font-size:20px}.coin-ico{display:inline-block;width:1em;height:1em;margin:0 .15em;vertical-align:-.12em;background:url(/ui/coin.png) center / contain no-repeat}.result-actions{display:flex;gap:8px;justify-content:center;margin-top:10px;flex-wrap:wrap}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--ink);color:#fff;border-radius:999px;padding:10px 20px;z-index:100;box-shadow:0 6px 24px #00000040;font-size:14px}.fade-enter-active,.fade-leave-active{transition:opacity .25s ease}.fade-enter-from,.fade-leave-to{opacity:0}@media(max-width:560px){.diff-grid,.factory-row{grid-template-columns:repeat(2,1fr)}.nav-cards{grid-template-columns:1fr}.board{height:min(55vh,480px)}}.mascot-img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
