:root{--bg:#0c0918;--panel:#171329;--panel2:#221b3a;--stroke:#5b397c;--text:#fdf8ff;--muted:#b9aaca;--lime:#b6ff49;--lime2:#67d83c;--purple:#b66dff;--orange:#ffab55;--deep:#2a1b44;--shadow:0 14px 30px #0503088c;--safe:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;min-height:100%;width:100%;overflow:hidden;touch-action:manipulation}body{font:600 14px/1.3 system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--text);background:radial-gradient(circle at 15% 12%,#342251,transparent 35%),radial-gradient(circle at 90% 90%,#182c26,transparent 40%),#080713;display:flex;align-items:center;justify-content:center}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible{outline:3px solid #d8fb8e;outline-offset:2px}button:disabled{cursor:not-allowed;filter:saturate(.4);opacity:.68}h1,h2,h3,h4,p{margin:0}.game-shell{height:100dvh;width:100%;max-width:540px;display:flex;flex-direction:column;background:linear-gradient(180deg,#151126 0%,#0f0a1d 75%,#1e1431 100%);overflow:hidden;position:relative;isolation:isolate;box-shadow:0 0 0 2px #64468b,0 0 80px #8834e62c}
.game-shell:before{content:"";position:absolute;top:-95px;right:23%;width:240px;height:170px;background:#a33bf92b;filter:blur(55px);pointer-events:none;z-index:-1}
.topbar{height:67px;display:flex;align-items:center;justify-content:space-between;padding:6px 11px 5px;background:linear-gradient(140deg,#282044,#17132b);border-bottom:2px solid #513675;gap:8px;flex-shrink:0}.identity{display:flex;align-items:center;gap:7px;min-width:0}.cat-badge{width:45px;height:49px;flex-shrink:0;overflow:hidden;background:#0b1018;border:2px solid var(--lime);border-radius:13px;transform:rotate(-4deg);box-shadow:0 2px 0 #020507,0 0 13px #a8ff4b52}.cat-badge img{width:100%;height:100%;object-fit:cover;object-position:center 14%}.brand-lockup{min-width:0;white-space:nowrap}.brand-first{font:1000 clamp(14px,3.4vw,19px)/1 'Arial Black',Impact,system-ui,sans-serif;letter-spacing:-.85px;text-shadow:1px 2px 0 #0a0814}.brand-first span{color:var(--lime);text-shadow:0 0 12px #9ffb365e}.brand-first em{font-style:normal;color:var(--orange);margin-left:3px;font-size:90%}.brand-sub{font-size:9px;color:#d6bdf6;letter-spacing:1.2px;font-weight:900;margin-top:5px}.brand-sub b{color:var(--lime)}.top-icons{display:flex;gap:4px;align-items:center}.icon-button{border-radius:12px;width:36px;height:38px;border:1px solid #65467c;background:linear-gradient(145deg,#36294f,#1a1730);display:grid;place-items:center;position:relative;box-shadow:inset 0 1px #ffffff1f,0 3px #0c0a18}.icon-button span{font-size:21px}.icon-button i{display:none;position:absolute;right:0;top:0;width:8px;height:8px;border-radius:50%;background:#fca353;box-shadow:0 0 5px #ffcb89}.icon-button i.visible{display:block}
.resource-bar{height:53px;display:grid;grid-template-columns:1.05fr 1.18fr .86fr;gap:6px;padding:7px 11px 4px;flex-shrink:0}.resource{display:flex;align-items:center;gap:5px;min-width:0;border:1px solid #48355f;border-radius:10px;background:linear-gradient(135deg,#271d3d,#15172c);padding:4px 6px;box-shadow:inset 0 1px #ffffff19}.resource.money{border-color:#486d43}.resource.per-second{border-color:#2c6977}.resource.gems{border-color:#7766a3;position:relative;text-align:left}.resource-icon{font-size:19px;line-height:1.1;flex-shrink:0}.resource-label{font-size:9px;font-weight:900;color:#b4a6cd;letter-spacing:.7px;display:block}.resource strong{font:900 16px/1.1 system-ui,sans-serif;color:#f1eaff;white-space:nowrap}.resource.money strong{color:#c4ff78}.resource.per-second strong{color:#a8f5f9}.resource.gems strong{color:#b6bcff}.tiny-crate{position:absolute;right:3px;top:-6px;font-size:14px;filter:drop-shadow(0 0 3px #f3db43)}
.progress-strip{display:flex;align-items:center;gap:7px;height:27px;flex-shrink:0;padding:3px 11px 5px}.lvl-star{white-space:nowrap;font-size:12px;color:#ffb347;font-weight:900}.lvl-star b{color:#fff}.progress-track{flex:1;background:#372849;height:9px;border-radius:8px;border:1px solid #61468b;overflow:hidden}.progress-track>div{height:100%;width:0;background:linear-gradient(90deg,#78dc47,#c9ff58);box-shadow:0 0 7px #baff6e;transition:width .35s}.progress-caption{font-size:9px;color:#b8a4d4;white-space:nowrap}.mini-pulse{border:1px solid #72903e;border-radius:8px;background:#25391f;color:#c1f966;font-size:9px;font-weight:900;letter-spacing:.2px;padding:4px 7px;white-space:nowrap}.mini-pulse.ready{background:#567e2e;animation:pulse 1.2s infinite}.mini-pulse span{color:#fff;margin-left:2px}
.main-zone{display:flex;flex-direction:column;flex:1;min-height:0}.stage{min-height:180px;flex:1;position:relative;margin:3px 10px 0;border-radius:17px;overflow:hidden;border:2px solid #705088;box-shadow:inset 0 0 16px #07071280,0 3px 0 #0b0a14;background:#2a2640}#roomCanvas{width:100%;height:100%;display:block;touch-action:none}.stage-shine{pointer-events:none;position:absolute;inset:0;background:linear-gradient(180deg,#ffffff12,transparent 15%,transparent 87%,#06040bb0);box-shadow:inset 0 0 35px #07070c8a}.room-head{position:absolute;top:8px;left:8px;right:8px;display:flex;align-items:flex-start;justify-content:space-between;gap:7px}.room-head-left{display:flex;flex-direction:column;min-width:0;padding:5px 9px;background:#171226e8;border:1px solid #b88bff9f;border-radius:9px;box-shadow:0 4px #0a0a1763}.room-title{font-size:12px;color:#fff;font-weight:1000;letter-spacing:.45px;white-space:nowrap}.room-location{font-size:9px;color:#a8f969;margin-top:2px;font-weight:900;letter-spacing:.45px}.pill{border:1px solid #c9e77c;border-radius:8px;padding:7px 7px;font-size:9px;white-space:nowrap;font-weight:1000;background:linear-gradient(140deg,#22391c,#192a28);color:#d6ff92;box-shadow:0 0 12px #a5ff4f31}.pill.active{background:#613381;border-color:#e0a4ff;color:#fff}.room-stock{position:absolute;left:7px;right:7px;bottom:9px;display:flex;gap:5px;justify-content:center}.stock-chip{display:flex;align-items:center;gap:6px;flex:1;max-width:155px;padding:7px 7px;border-radius:10px;background:#141021e9;border:1px solid #69607d;box-shadow:0 2px 5px #03020a6c;backdrop-filter:blur(6px)}.stock-dot{height:12px;width:12px;flex-shrink:0;display:block;border-radius:4px;box-shadow:0 0 9px currentColor}.stock-dot.green{background:#a4ff50;color:#7fff59}.stock-dot.purple{background:#ae71ff;color:#ac4fff}.stock-dot.orange{background:#ffad62;color:#fb913e}.stock-chip small{display:block;color:#a99cbb;font-size:8px;font-weight:900;letter-spacing:.4px}.stock-chip strong{display:block;font:900 14px/1.1 system-ui;color:#fff;margin-top:2px}.touch-hint{position:absolute;bottom:58px;left:50%;transform:translateX(-50%);text-align:center;white-space:nowrap;font-size:10px;color:#f7ffde;background:#151625c9;padding:5px 10px;border-radius:10px;border:1px solid #a6f56a69;opacity:.85;pointer-events:none}.float-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden}.float-number{position:absolute;left:50%;bottom:26%;color:#bdff75;font-size:23px;font-weight:1000;text-shadow:0 2px 5px #000;animation:floatUp 1.3s ease-out forwards}
.command-panel{height:145px;flex-shrink:0;background:linear-gradient(180deg,#18122b,#211638);border-top:1px solid #48375e;padding:8px 10px}.control-header{display:flex;justify-content:space-between;align-items:flex-end;height:32px}.control-eyebrow{font-size:8px;font-weight:900;color:#a88dcb;letter-spacing:1px}.control-header h2{font-size:16px;line-height:1.35;color:#fff;font-weight:1000}.control-header h2 small{font-size:11px;color:var(--lime);margin-left:4px}.control-rate{font-size:10px;color:#c3b0ce;font-weight:800}.control-rate b{font-size:13px;color:var(--lime);margin-left:4px}.controls-row{display:flex;gap:8px;margin-top:6px}.big-action{min-width:0;display:flex;align-items:center;gap:5px;height:56px;border-radius:12px;border:2px solid #ddfb8b;background:linear-gradient(180deg,#7bdc39 0%,#337d23 95%);box-shadow:0 3px #1d3b22,inset 0 2px #ffffff5b;color:#10150f;padding:5px 9px;font-weight:1000}.big-action:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #12122b}.upgrade-action{flex:1.5}.work-action{flex:1;background:linear-gradient(180deg,#b57dff,#6032a6);border-color:#e5c3ff;box-shadow:0 3px #2e1752,inset 0 2px #ffffff48;color:#fff}.action-emoji{font-size:24px;flex-shrink:0}.action-inner{min-width:0;text-align:left;flex:1}.action-inner b{font-size:12px;white-space:nowrap;display:block;line-height:1.15}.action-inner small{display:block;font-size:9px;font-weight:800;opacity:.8;margin-top:4px;white-space:nowrap}.action-price{font-size:13px;background:#102e19;color:#e2ffa3;border-radius:7px;padding:5px 6px;white-space:nowrap}.mini-action-row{display:flex;gap:5px;margin-top:8px;justify-content:space-between}.mini-action{height:25px;flex:1;border-radius:7px;border:1px solid #6b4a8e;background:#2c2145;color:#e8d7ff;font-size:9px;font-weight:900;white-space:nowrap;padding:2px 2px;box-shadow:inset 0 1px #ffffff23}.mini-action span{font-size:12px}.mini-action:active{background:#574079}
.bottom-nav{height:72px;flex-shrink:0;display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:#161128;border-top:2px solid #654182;padding:6px 6px max(6px,var(--safe));box-shadow:0 -5px 20px #0006}.nav-item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1px solid transparent;border-radius:11px;background:transparent;color:#bbaad1;font-size:9px;letter-spacing:.1px;font-weight:1000}.nav-item.active{color:#dbffc8;background:linear-gradient(180deg,#3f6335,#244426);border-color:#91d261;box-shadow:inset 0 1px #dcffae5e,0 0 15px #b2ff4c1a}.nav-item.active:before{content:"";position:absolute;top:0;left:30%;right:30%;height:3px;background:#c7ff5d;border-radius:9px}.nav-icon{font-size:24px;line-height:1.1;filter:drop-shadow(0 2px 1px #060613)}
.toast{position:fixed;bottom:95px;left:50%;transform:translate(-50%,25px);opacity:0;pointer-events:none;background:#171428f2;color:#fff;border:2px solid #c7fb80;border-radius:13px;max-width:min(92vw,490px);padding:12px 18px;font-size:13px;text-align:center;font-weight:850;z-index:110;box-shadow:0 12px 40px #040408ac;transition:opacity .18s,transform .18s}.toast.shown{opacity:1;transform:translate(-50%,0)}
.overlay{position:fixed;inset:0;background:#060410cf;z-index:100;display:none;align-items:flex-end;justify-content:center;backdrop-filter:blur(5px)}.overlay.open{display:flex}.modal{width:min(100%,545px);max-height:89dvh;background:linear-gradient(180deg,#2b1d43,#150f27);border:2px solid #9970c8;border-radius:20px 20px 0 0;box-shadow:0 -15px 80px #000a;display:flex;flex-direction:column;overflow:hidden}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px 13px;background:linear-gradient(120deg,#34214b,#22152e);border-bottom:2px solid #7956a8}.modal-kicker{font-size:9px;color:var(--lime);font-weight:1000;letter-spacing:1.7px}.modal-head h2{font-size:22px;line-height:1.2;font-weight:1000;margin-top:4px}.close-modal{width:36px;height:36px;border:2px solid #b783ca;border-radius:11px;background:#352247;font-size:18px;display:grid;place-items:center}.modal-content{overflow-y:auto;overscroll-behavior:contain;padding:14px 14px calc(22px + var(--safe));-webkit-overflow-scrolling:touch}.intro-hero{width:100%;border:2px solid #9254c9;border-radius:15px;max-height:235px;object-fit:cover;object-position:center 32%;background:#060711}.modal-p{color:#c7b8d6;font-size:13px;line-height:1.55;margin:11px 0}.feature-chips{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.feature-chips span{font-weight:850;font-size:10px;border-radius:10px;background:#302247;padding:7px 10px;color:#daffb6;border:1px solid #5d4a77}.modal-btn{background:linear-gradient(#c9ff7a,#62ba2f);color:#13260e;border:2px solid #eaffb1;border-radius:12px;min-height:43px;font-size:13px;font-weight:1000;padding:9px 13px;box-shadow:inset 0 2px #fff6,0 4px #2e571d;text-align:center}.modal-btn.alt{background:linear-gradient(#a474f9,#6f3cb7);border-color:#e6caff;color:white;box-shadow:inset 0 2px #fff5,0 4px #452276}.modal-btn:disabled{opacity:.55;filter:grayscale(.5)}.modal-btn.wide{width:100%;margin-top:10px}.modal-section-title{margin:13px 0 7px;color:#c3ff82;font-weight:1000;font-size:14px}.subtle{font-size:12px;color:#bdadd1;line-height:1.5}.info-note{background:#1c2330;border-left:3px solid #bafa65;border-radius:7px;padding:9px 12px;margin:10px 0;font-size:12px;color:#d1eec0}
.grid-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.strain-card{min-width:0;border:2px solid #694c8c;border-radius:13px;background:linear-gradient(155deg,#39294d,#191629);padding:9px;text-align:center;position:relative;overflow:hidden;box-shadow:0 4px #0b0918}.strain-card.selected{border-color:#b6ff4d;box-shadow:0 0 15px #97fb382b,0 4px #0b0918}.strain-card.locked{filter:saturate(.5);background:#26212f}.strain-card h4{font-size:12px;font-weight:1000;margin-top:4px}.strain-card .strain-icon{font-size:45px;line-height:1.3;height:59px;display:grid;place-items:center;filter:drop-shadow(0 0 13px currentColor)}.strain-card .strain-rarity{font-size:9px;letter-spacing:.8px;margin-top:4px;color:#eacbff}.strain-card .strain-lvl{font-size:11px;color:#c2ff8d;margin-top:3px}.strain-card .modal-btn{min-height:32px;font-size:10px;padding:4px;margin-top:7px;width:100%}.strain-card .card-amount{font-size:10px;color:#ccc1db}.tag-ribbon{position:absolute;top:7px;left:-27px;transform:rotate(-38deg);background:#8ad043;color:#091b0a;width:95px;font-size:8px;font-weight:1000;padding:3px}.rarity-rare{color:#bfa8ff}.rarity-epic{color:#f9b3f9}.rarity-legendary{color:#ffcf77}.small-progress{height:7px;background:#28203c;border-radius:8px;overflow:hidden;border:1px solid #675481;margin:7px 0 4px}.small-progress>div{height:100%;background:linear-gradient(90deg,#8fd242,#d6fa83)}
.manager-card,.goal-card,.city-card,.reward-card{border:1px solid #6d5286;background:linear-gradient(120deg,#342542,#1c182e);border-radius:12px;padding:12px;margin:9px 0;box-shadow:inset 0 1px #ffffff15}.manager-top{display:flex;align-items:center;gap:11px}.manager-face{width:57px;height:57px;display:grid;place-items:center;font-size:36px;border:1px solid #806cb0;border-radius:12px;background:#231835;flex-shrink:0}.manager-info{flex:1;min-width:0}.manager-info h3{font-size:14px}.manager-info p{font-size:11px;color:#c1b4cb;margin-top:3px}.manager-actions{display:flex;align-items:center;gap:8px;margin-top:10px}.manager-actions .modal-btn{flex:1}.manager-status{font-size:10px;color:#c8ff88;font-weight:900}.goal-card{display:flex;gap:10px;align-items:center}.goal-symbol{font-size:26px}.goal-main{flex:1;min-width:0}.goal-main h3{font-size:13px}.goal-main p{font-size:10px;color:#b9a8c9;margin-top:2px}.goal-card .modal-btn{min-width:79px;font-size:10px;padding:4px 7px;min-height:34px}.goal-bar{height:5px;background:#171526;border-radius:6px;margin-top:7px;overflow:hidden}.goal-bar div{height:100%;background:#9fec58}.city-card{display:flex;align-items:center;gap:10px}.city-emoji{font-size:30px;display:grid;place-items:center;width:60px;height:64px;border-radius:9px;background:#192b30;flex-shrink:0}.city-main{flex:1;min-width:0}.city-main h3{font-size:14px}.city-main p{color:#b4a7bf;font-size:10px;margin-top:3px}.city-card .modal-btn{font-size:10px;min-height:32px;max-width:94px}.map-title{font-size:11px;color:#b6ffa0}.crate-art{height:145px;display:grid;place-items:center;font-size:88px;text-shadow:0 0 35px #ffd369,0 8px #080714;animation:bob 2.3s ease-in-out infinite}.loot-items{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0}.reward-card{text-align:center;margin:4px 0;font-size:11px}.reward-card strong{display:block;font-size:30px;margin:5px}.setting-row{border-bottom:1px solid #5c486d;padding:10px 0;display:flex;justify-content:space-between;align-items:center;gap:12px}.setting-row .subtle{font-size:11px}.switch{border:2px solid #8260ad;border-radius:20px;width:59px;background:#332844;padding:5px;font-size:11px;text-align:center;font-weight:900}.switch.on{background:#4a842c;border-color:#aafa6a}.danger{background:#67243c;color:#ffcfda;border:2px solid #e17a93;min-height:41px;border-radius:10px;font-weight:900;padding:10px}.stat-row{display:flex;justify-content:space-between;color:#d5c7eb;font-size:12px;padding:6px 0;border-bottom:1px solid #4b385c}.stat-row strong{color:#c5ff8b}
@keyframes floatUp{0%{opacity:0;transform:translate(-50%,12px) scale(.7)}18%{opacity:1}100%{opacity:0;transform:translate(-50%,-65px) scale(1.12)}}@keyframes pulse{50%{box-shadow:0 0 13px #b4ff68aa}}@keyframes bob{50%{transform:translateY(-7px)}}
@media (max-width:380px){.brand-first{font-size:13px}.brand-sub{font-size:7.7px;letter-spacing:1px}.cat-badge{width:38px;height:43px}.topbar{height:59px;padding-inline:6px}.icon-button{width:32px;height:35px}.icon-button span{font-size:19px}.resource-bar{padding-inline:6px;gap:3px}.resource{padding:4px 3px;gap:2px}.resource strong{font-size:13px}.resource-icon{font-size:16px}.progress-strip{padding-inline:6px;gap:4px}.mini-pulse{font-size:8px;padding:4px}.stage{margin-inline:5px}.command-panel{padding-inline:6px}.big-action{padding-inline:4px;gap:3px}.action-inner b{font-size:10px}.action-price{font-size:11px;padding:5px 3px}.mini-action{font-size:8px}.nav-item{font-size:8px}}
@media(max-height:670px){.topbar{height:57px}.cat-badge{height:42px;width:42px}.resource-bar{height:47px}.progress-strip{height:24px}.command-panel{height:125px;padding-block:5px}.control-header{height:29px}.controls-row{margin-top:4px}.big-action{height:48px}.mini-action-row{margin-top:5px}.bottom-nav{height:61px}.nav-icon{font-size:21px}.stage{min-height:145px}.touch-hint{display:none}}
@media(min-width:750px) and (orientation:landscape){.game-shell{max-width:1010px}.topbar{height:62px}.main-zone{flex-direction:row;gap:10px;padding:6px 11px 0}.stage{flex:1;min-height:0;margin:0}.command-panel{height:auto;width:280px;border:2px solid #61427b;border-radius:14px;padding:15px;display:flex;flex-direction:column;gap:13px}.control-header{height:auto;display:block}.control-header h2{font-size:20px;margin:4px 0}.control-rate{margin-top:5px}.controls-row{flex-direction:column}.big-action{flex:auto;width:100%;height:66px}.mini-action-row{flex-direction:column}.mini-action{height:38px;font-size:11px}.bottom-nav{height:62px}.nav-icon{font-size:23px}.stage .room-stock{bottom:11px}.modal{max-height:94dvh;border-radius:17px 17px 0 0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
