[hidden]{display:none!important}:root{--ink:#2b3a55;--card:#ffffffee;--shadow:0 4px 0 rgba(30,60,90,.18), 0 8px 18px rgba(30,60,90,.18);--safe-t: env(safe-area-inset-top, 0px);--safe-b: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:#7fdcf5;font-family:Nunito,ui-rounded,SF Pro Rounded,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);user-select:none;-webkit-user-select:none;touch-action:none;overscroll-behavior:none}button{font:inherit;color:inherit;border:0;cursor:pointer}#c{position:fixed;inset:0;width:100%;height:100%;display:block}#fx{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:60}#labels,#floats{position:fixed;inset:0;pointer-events:none;z-index:5}#floats{z-index:30}#hud{position:fixed;inset:0;pointer-events:none;z-index:10}#hud>*{pointer-events:auto}#top{position:absolute;top:calc(8px + var(--safe-t));left:10px;right:10px;display:flex;gap:8px;align-items:center}#lvlbox{flex:1;display:flex;align-items:center;gap:8px;background:var(--card);border-radius:18px;padding:6px 12px 6px 6px;box-shadow:var(--shadow)}.badge{width:42px;height:42px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe680,#ffb321 70%);display:grid;place-items:center;font-weight:900;font-size:20px;color:#fff;text-shadow:0 2px 0 #d9822b;box-shadow:inset 0 -3px #e59a1e}.xpwrap{flex:1}.title{font-weight:900;font-size:14px;letter-spacing:.3px}#xpbar{position:relative;height:16px;background:#e6e9f2;border-radius:10px;overflow:hidden;margin-top:2px;box-shadow:inset 0 2px #00000012}#xpfill{height:100%;width:0;background:linear-gradient(90deg,#9d6bff,#d36bff);border-radius:10px;transition:width .6s cubic-bezier(.3,1.6,.5,1);box-shadow:inset 0 -3px #0000001f,0 0 12px #c58bff}#xptext{position:absolute;inset:0;font-size:11px;font-weight:800;display:grid;place-items:center;color:#4a3a6b}.round{width:46px;height:46px;border-radius:16px;background:var(--card);box-shadow:var(--shadow);font-size:22px}.round:active,.sbtn:active,.card:active,.tab:active,.btn:active,.mbtn:active{transform:scale(.92)}#resbar{position:absolute;top:calc(66px + var(--safe-t));left:10px;right:10px;display:flex;gap:6px}.res{flex:1;background:var(--card);border-radius:14px;padding:5px 8px;font-size:15px;display:flex;align-items:center;gap:4px;box-shadow:var(--shadow);white-space:nowrap}.res b{font-weight:900;font-size:15px;margin-left:auto}.res.happy{flex:.9}.bump{animation:bump .45s cubic-bezier(.3,1.8,.5,1)}@keyframes bump{0%{transform:scale(1)}35%{transform:scale(1.18)}to{transform:scale(1)}}#quest{position:absolute;top:calc(110px + var(--safe-t));left:50%;transform:translate(-50%);width:min(340px,calc(100% - 90px));background:#fff;border-radius:18px;box-shadow:var(--shadow);display:flex;align-items:center;gap:8px;padding:8px 10px;cursor:pointer;transition:background .3s}#quest .qi{font-size:26px;width:40px;height:40px;display:grid;place-items:center;background:#fff3c4;border-radius:12px}#quest .qbody{flex:1;min-width:0}#quest .qt{font-weight:900;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#quest .qp{position:relative;height:12px;background:#e6e9f2;border-radius:8px;overflow:hidden;margin-top:4px}#quest .qp i{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,#4cd964,#2ecc71);border-radius:8px;transition:width .4s}#quest .qn{position:absolute;inset:0;font-size:9px;font-weight:900;display:grid;place-items:center}#quest .qr{font-size:12px;font-weight:800;white-space:nowrap}#quest .qclaim{display:none}#quest.done{background:linear-gradient(135deg,#7cf29c,#3ad17a);animation:pulse 1s infinite}#quest.done .qr{display:none}#quest.done .qclaim{display:block;background:#fff;color:#21a65a;font-weight:900;border-radius:12px;padding:6px 10px}#quest.swap{animation:swap .5s}@keyframes pulse{0%,to{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.05)}}@keyframes swap{0%{transform:translate(-50%) scale(1)}40%{transform:translate(-50%) scale(.6) rotate(-4deg);opacity:.2}to{transform:translate(-50%) scale(1)}}#side{position:absolute;right:10px;top:calc(176px + var(--safe-t));display:flex;flex-direction:column;gap:10px}.sbtn{width:56px;height:58px;border-radius:18px;background:var(--card);box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;justify-content:center}.sbtn .ic{font-size:24px;line-height:1}.sbtn .tm{font-size:10px;font-weight:900;margin-top:2px}.sbtn.ready{animation:wiggle 1.6s infinite;background:linear-gradient(180deg,#fff,#fff3b0)}.sbtn.active{background:linear-gradient(180deg,#b9f3ff,#62d6ff)}@keyframes wiggle{0%,80%,to{transform:rotate(0)}85%{transform:rotate(-12deg) scale(1.1)}90%{transform:rotate(10deg) scale(1.1)}95%{transform:rotate(-6deg)}}body.boosting #r-coins,body.boosting #r-wood,body.boosting #r-cloth{box-shadow:0 0 0 2px #62d6ff,var(--shadow)}#hint{position:absolute;left:50%;bottom:calc(200px + var(--safe-b));transform:translate(-50%);background:#2b3a55d1;color:#fff;padding:10px 16px;border-radius:16px;font-weight:800;font-size:13px;text-align:center;line-height:1.5;pointer-events:none!important;transition:opacity .8s;white-space:nowrap}#hint.fade{opacity:0}#toast{position:absolute;left:50%;top:calc(170px + var(--safe-t));transform:translate(-50%,-10px);background:#2b3a55;color:#fff;padding:8px 14px;border-radius:14px;font-weight:800;font-size:13px;opacity:0;transition:all .25s;pointer-events:none!important;max-width:86%;text-align:center}#toast.show{opacity:1;transform:translate(-50%)}#toast.err{background:#e5484d}#drawer{position:absolute;left:0;right:0;bottom:0;padding:0 0 calc(8px + var(--safe-b));background:linear-gradient(180deg,#fff0,#fff0)}#tabs{display:flex;gap:6px;padding:0 10px 6px}.tab{background:#ffffffbf;border-radius:12px;padding:6px 12px;font-weight:900;font-size:13px;box-shadow:0 3px #1e3c5a26}.tab.on{background:#fff;color:#1e88e5}#cards{display:flex;gap:8px;overflow-x:auto;padding:4px 10px 6px;scroll-snap-type:x proximity;scrollbar-width:none;touch-action:pan-x}#cards::-webkit-scrollbar{display:none}.card{flex:0 0 92px;height:122px;background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:6px 4px;display:flex;flex-direction:column;align-items:center;position:relative;scroll-snap-align:start;transition:transform .15s}.card .th{width:66px;height:62px;display:grid;place-items:center;font-size:34px}.card .th img{width:72px;height:72px;object-fit:contain;margin-top:-4px;filter:drop-shadow(0 3px 2px rgba(0,0,0,.15))}.card .nm{font-weight:900;font-size:12px;text-align:center;line-height:1.1}.card .cs{font-size:11px;font-weight:800;margin-top:auto;display:flex;gap:3px;flex-wrap:wrap;justify-content:center}.card .pr{position:absolute;top:4px;right:6px;font-size:11px}.card.sel{background:#fff8d6;box-shadow:0 0 0 3px #ffb321,var(--shadow);transform:translateY(-6px)}.card.locked{background:#e9edf3}.card.locked .th{filter:grayscale(1) opacity(.55)}.card.locked .cs{color:#7a8699;font-size:10px;text-align:center}.card.focus:after{content:"👇";position:absolute;top:-26px;font-size:22px;animation:point .9s infinite}.card.shake{animation:shake .4s}@keyframes point{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.cost{white-space:nowrap}.cost.no{color:#e5484d}#modechip{display:none;margin:0 auto 8px;width:max-content;max-width:92%;background:#2b3a55;color:#fff;font-weight:800;font-size:13px;padding:7px 12px;border-radius:14px;cursor:pointer}#modechip .x{background:#fff;color:#2b3a55;border-radius:8px;padding:0 6px;margin-left:6px}body.building #modechip{display:block;animation:pop .3s}.bub{position:absolute;left:0;top:0;display:flex;align-items:center;gap:3px;background:#fff;border-radius:12px;padding:2px 5px;box-shadow:0 3px 6px #0000002e;pointer-events:auto;font-size:12px;transition:padding .2s;will-change:transform}.bub .bar{width:24px;height:6px;background:#e3e7ef;border-radius:4px;overflow:hidden}.bub .bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#ffd23f,#ffb321)}.bub:not(.ready){padding:2px 4px;opacity:.9}.bub:not(.ready) .ic{display:none}.bub .lv{font-size:9px;background:#9d6bff;color:#fff;border-radius:6px;padding:0 4px}.bub.ready{padding:4px 7px;font-size:16px;animation:bob 1s infinite}.bub.full .bar i{background:linear-gradient(90deg,#4cd964,#2ecc71)}@keyframes bob{0%,to{margin-top:0}50%{margin-top:-5px}}.clearbar{position:absolute;left:0;top:0;display:flex;align-items:center;gap:4px;background:#fff;border-radius:10px;padding:2px 6px;box-shadow:0 3px 6px #0000002e;font-size:12px}.clearbar .bar{width:40px;height:7px;background:#e3e7ef;border-radius:4px;overflow:hidden}.clearbar .bar i{display:block;height:100%;width:0;background:#4cd964}.lock{position:absolute;left:0;top:0;background:#ffffffeb;border-radius:14px;padding:3px 9px;font-weight:900;font-size:13px;display:flex;gap:4px;align-items:center;box-shadow:0 3px 8px #00000026;pointer-events:auto;cursor:pointer;outline:2px dashed rgba(255,255,255,.9);outline-offset:3px}.lock .lk{font-size:12px}#ctx{position:fixed;left:0;top:0;z-index:20;background:#fff;border-radius:16px;padding:8px 12px 10px;box-shadow:0 6px 18px #00000038;min-width:150px;text-align:center;margin-top:-8px}#ctx:after{content:"";position:absolute;left:50%;bottom:-8px;margin-left:-8px;border:8px solid transparent;border-bottom:0;border-top-color:#fff}#ctx.pop .t,#ctx.pop .btn{animation:pop .35s cubic-bezier(.3,1.8,.5,1)}#ctx .t{font-weight:900;font-size:15px}#ctx .sm{font-size:12px;font-weight:700;color:#5a6a85;margin-top:2px}#ctx .pill{background:#9d6bff;color:#fff;border-radius:8px;padding:0 6px;font-size:11px;vertical-align:middle}.btn{margin-top:6px;background:linear-gradient(180deg,#5fe07d,#2fbf5a);color:#fff;font-weight:900;font-size:14px;border-radius:12px;padding:7px 12px;box-shadow:0 3px #1f9a45;display:inline-flex;gap:6px;align-items:center}.btn .cost{background:#ffffffe6;color:#2b3a55;border-radius:8px;padding:0 5px;font-size:12px}.btn .cost.no{color:#e5484d}@keyframes pop{0%{transform:scale(.4)}to{transform:scale(1)}}.float{position:absolute;transform:translate(-50%,-50%);font-weight:900;font-size:18px;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.35),0 0 8px rgba(0,0,0,.2);animation:floatup 1.4s ease-out forwards;white-space:nowrap}.float.xp{color:#e9d2ff;font-size:20px;text-shadow:0 2px 0 #6a3fc7,0 0 12px #b57bff}.float.lvlup{color:#fff27a;font-size:26px;text-shadow:0 3px 0 #d98a00,0 0 14px #ffcf3f}.float.combo{color:#fff;font-size:30px;text-shadow:0 3px 0 #e5484d,0 0 16px #ff8a8a}@keyframes floatup{0%{opacity:0;transform:translate(-50%,-30%) scale(.5)}15%{opacity:1;transform:translate(-50%,-60%) scale(1.2)}30%{transform:translate(-50%,-70%) scale(1)}to{opacity:0;transform:translate(-50%,-220%) scale(1)}}#levelup{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,#fff0aa8c,#281e5a8c);cursor:pointer}#levelup.in{animation:fadein .3s}#levelup.out{opacity:0;transition:opacity .3s}#levelup .rays{position:absolute;left:50%;top:45%;width:900px;height:900px;margin:-450px 0 0 -450px;background:repeating-conic-gradient(rgba(255,255,255,.22) 0 10deg,transparent 10deg 20deg);border-radius:50%;mask-image:radial-gradient(circle,#000 20%,transparent 65%);-webkit-mask-image:radial-gradient(circle,#000 20%,transparent 65%);animation:spin 12s linear infinite}.lu-box{position:relative;text-align:center;color:#fff;animation:luPop .6s cubic-bezier(.3,1.7,.5,1)}.lu-title{font-size:44px;font-weight:900;letter-spacing:1px;text-shadow:0 4px 0 #7a3fd8,0 0 24px #c58bff}.lu-star{width:120px;height:120px;margin:8px auto;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#fff1a0,#ffb321 70%);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);animation:starpulse 1.2s infinite}.lu-num{font-size:44px;font-weight:900;color:#fff;text-shadow:0 3px 0 #d9822b;margin-top:10px}.lu-rewards{display:flex;gap:8px;justify-content:center;margin-top:6px}.chip{background:#fff;color:var(--ink);border-radius:14px;padding:6px 10px;font-size:18px;box-shadow:var(--shadow);animation:pop .5s .2s backwards cubic-bezier(.3,1.8,.5,1)}.chip b{margin-left:4px}.lu-sub{margin-top:14px;font-weight:900;font-size:14px;text-shadow:0 2px 0 rgba(0,0,0,.3)}.lu-cards{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:6px;max-width:340px}.lu-card{background:#fff;color:var(--ink);border-radius:14px;padding:4px 6px;width:84px;font-size:11px;font-weight:900;box-shadow:var(--shadow);animation:pop .5s .35s backwards cubic-bezier(.3,1.8,.5,1)}.lu-card img{width:64px;height:64px;display:block;margin:0 auto}.lu-tap{margin-top:16px;font-weight:800;font-size:13px;opacity:.9;animation:blink 1.2s infinite}@keyframes luPop{0%{transform:scale(.2) rotate(-8deg);opacity:0}to{transform:scale(1);opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes starpulse{0%,to{transform:scale(1)}50%{transform:scale(1.08) rotate(4deg)}}@keyframes blink{50%{opacity:.4}}@keyframes fadein{0%{opacity:0}}.modal{position:fixed;inset:0;z-index:70;background:#1e284673;display:grid;place-items:center}.modal .panel{background:#fff;border-radius:22px;padding:14px;width:min(360px,90vw);max-height:80vh;overflow:auto;box-shadow:var(--shadow);animation:pop .3s cubic-bezier(.3,1.6,.5,1)}.ph{font-weight:900;font-size:20px;display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.ph .x{background:#eef1f6;border-radius:10px;width:34px;height:34px}.mbtn{width:100%;text-align:left;background:#f1f4fa;border-radius:14px;padding:12px;font-weight:800;margin-bottom:8px}.mbtn.warn{background:#ffe1e1;color:#c62828}.fine{font-size:12px;color:#6b7a93;margin:6px 0;line-height:1.4}#creditList{padding-left:18px;font-size:13px;line-height:1.4}#creditList li{margin-bottom:8px}#creditList a{color:#1e88e5;word-break:break-all}#loading{position:fixed;inset:0;z-index:100;background:linear-gradient(180deg,#8fe3ff,#5fc8f0);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;transition:opacity .5s}#loading.gone{opacity:0;pointer-events:none}#loading .logo{font-size:72px;animation:starpulse 1.2s infinite}#loading .name{font-weight:900;font-size:30px;text-shadow:0 3px 0 rgba(0,0,0,.15)}#loadbar{width:180px;height:12px;background:#fff6;border-radius:8px;overflow:hidden;margin-top:14px}#loadbar i{display:block;height:100%;width:5%;background:#fff;border-radius:8px;transition:width .2s}#loading .msg{margin-top:10px;font-size:12px}@media (min-width: 700px){#quest{top:calc(66px + var(--safe-t))}#resbar{left:auto;width:420px;top:calc(8px + var(--safe-t));right:66px}#top{right:auto;width:300px}#btnSettings{position:fixed;right:10px;top:calc(8px + var(--safe-t))}#side,#toast{top:130px}}#vignette{position:fixed;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse at 50% 45%,transparent 58%,rgba(10,40,70,.22) 100%)}#confirm{position:fixed;left:0;top:0;z-index:21;display:flex;gap:8px;align-items:center;margin-top:-10px}#confirm.pop{animation:pop .3s cubic-bezier(.3,1.8,.5,1)}.cbtn{min-height:48px;min-width:48px;border-radius:16px;font-weight:900;font-size:15px;padding:6px 14px;display:inline-flex;gap:6px;align-items:center;justify-content:center;box-shadow:0 4px #0000002e,0 8px 18px #0000002e}.cbtn:active{transform:scale(.92)}.cbtn.ok{background:linear-gradient(180deg,#5fe07d,#2fbf5a);color:#fff;box-shadow:0 4px #1f9a45,0 8px 18px #0000002e}.cbtn.ok.bad{background:linear-gradient(180deg,#ff8a8d,#e5484d);box-shadow:0 4px #a92c30,0 8px 18px #0000002e}.cbtn.no{background:#fff;color:#5a6a85;font-size:18px}.cbtn .cost{background:#ffffffe6;color:#2b3a55;border-radius:8px;padding:0 5px;font-size:12px}.cbtn .cost.no{color:#e5484d}.tab{min-height:42px;padding:8px 14px;font-size:14px}.btn{min-height:44px;padding:8px 14px}.panel .x,.ph .x{min-width:44px;min-height:44px;font-size:18px}.mbtn{min-height:50px}.round{width:48px;height:48px}.bub:before,.lock:before{content:"";position:absolute;inset:-10px -8px}.lock{position:absolute}.lu-card.perk{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:linear-gradient(180deg,#fff7c2,#ffd84d)}.lu-card.perk .pk{font-size:38px;line-height:64px;height:64px}.res.bump,#xpbar.bump{animation:bumpy .35s cubic-bezier(.3,1.8,.5,1)}@keyframes bumpy{0%{transform:scale(1)}40%{transform:scale(1.18)}to{transform:scale(1)}}#minis{display:flex;gap:6px;margin-left:auto}.mini{width:40px;height:40px;border-radius:13px;background:#ffffffd1;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:.9}.mini .ic{font-size:16px;line-height:1}.mini .tm{font-size:8px;font-weight:900;color:#5a6a85}.mini.ready{background:linear-gradient(180deg,#fff,#fff3b0);opacity:1}.mini.active{background:linear-gradient(180deg,#b9f3ff,#62d6ff);opacity:1}.mini:active{transform:scale(.92)}.float.res.auto{font-size:14px;animation-duration:1.2s;opacity:.95}.bonus{position:fixed;left:0;top:0;z-index:8;pointer-events:auto;font-size:34px;width:56px;height:56px;background:none;border:0;filter:drop-shadow(0 4px 4px rgba(0,0,0,.25))}.bonus span{display:inline-block;animation:wiggle 1.6s infinite}#upg{position:fixed;inset:0;z-index:40;display:flex;align-items:flex-end;justify-content:center;background:#0a1e3c2e}#upg[hidden]{display:none}.ug-panel{position:relative;width:min(100%,460px);background:#fff;border-radius:24px 24px 0 0;padding:16px 16px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -8px 30px #00000040;font-family:inherit}#upg.in .ug-panel{animation:slideup .28s cubic-bezier(.2,1.3,.4,1)}@keyframes slideup{0%{transform:translateY(100%)}to{transform:none}}.ug-x{position:absolute;right:12px;top:12px;width:44px;height:44px;border-radius:14px;background:#eef3fb;font-size:20px;font-weight:900}.ug-head{display:flex;gap:12px;align-items:center;margin-bottom:10px}.ug-ic{width:64px;height:64px;border-radius:16px;background:#eaf6ff;display:flex;align-items:center;justify-content:center;font-size:36px;overflow:hidden}.ug-ic img{width:100%;height:100%;object-fit:contain}.ug-name{font-weight:900;font-size:21px}.ug-lv{font-weight:800;color:#5a6a85;font-size:14px}.ug-stars i{font-style:normal;color:#d5dbe6;font-size:16px}.ug-stars i.on{color:#ffb800}.ug-row{display:flex;gap:10px;align-items:center;padding:9px 12px;background:#f4f7fc;border-radius:14px;margin-top:6px;font-weight:800;font-size:15px}.ug-row.next{background:#eafbe9}.ug-k{min-width:46px;color:#5a6a85;font-size:13px}.ug-plus{color:#1fa34a}.ug-note{font-size:12px;color:#6b7a93;font-weight:700;margin:8px 2px 0}.ug-btn{display:flex;flex-direction:column;align-items:center;width:100%;min-height:64px;margin-top:12px;border-radius:18px;font-size:20px;font-weight:900;color:#fff;background:linear-gradient(180deg,#5be37f,#22b14c);box-shadow:0 5px #188a3a}.ug-btn:active{transform:translateY(3px);box-shadow:0 2px #188a3a}.ug-btn.off{background:linear-gradient(180deg,#c9ced8,#a9b0bd);box-shadow:0 5px #8c93a0;color:#f4f6fa}.ug-btn.max{background:linear-gradient(180deg,#ffd75e,#f2a900);box-shadow:0 5px #c98a00}.ug-btn.shake{animation:shake .4s}.ug-cost{display:flex;gap:6px;margin-top:3px;font-size:15px}.ug-cost .cost{background:#ffffff40;border-radius:8px;padding:0 6px;color:#fff}.ug-cost .cost.no{color:#ffe1e1;background:#c81e1e59}.ug-need{text-align:center;font-size:12px;font-weight:800;color:#d14;margin-top:8px}body.upgopen #drawer{opacity:.4;pointer-events:none}#labels .bub,#labels .lock{pointer-events:none}
