:root{--bg-base: #0b0b13;--bg-surface: rgba(17, 17, 27, .97);--bg-surface-2: rgba(26, 26, 40, .99);--bg-overlay: rgba(0, 0, 0, .86);--col-player: #5b9cf6;--col-enemy: #e05252;--col-gold: #d4a843;--col-perfect: #22d3b8;--col-good: #4ade80;--col-dodge: #f59e0b;--col-miss: #e05252;--col-auto: #a78bfa;--hp-full: #4ade80;--hp-mid: #f59e0b;--hp-low: #e05252;--text-primary: #f0f0f6;--text-secondary: rgba(240, 240, 246, .48);--text-muted: rgba(240, 240, 246, .32);--border-faint: rgba(255, 255, 255, .06);--border-subtle: rgba(255, 255, 255, .11);--border-mid: rgba(255, 255, 255, .2);--fs-2xs: .62rem;--fs-xs: .72rem;--fs-sm: .82rem;--fs-md: .88rem;--fs-lg: .95rem;--t-fast: .12s ease-out;--t-normal: .2s ease-out;--t-slow: .32s ease-out;--transition-bounce: cubic-bezier(.34, 1.56, .64, 1);--transition-smooth: cubic-bezier(.4, 0, .2, 1);--transition-snap: cubic-bezier(.68, -.6, .32, 1.6)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background-color:var(--bg-base);font-family:Segoe UI,Arial,sans-serif;color:var(--text-primary);touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}#game-container{position:relative;width:100%;height:100%;max-width:500px;margin:0 auto;background:var(--bg-base)}#game-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.hidden{display:none!important}#combat-ui{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;pointer-events:none}#combat-ui>*{pointer-events:auto}#player-stats{position:absolute;bottom:0;left:0;right:0;background:#0a0a12f7;padding:9px 16px 11px;border-top:1px solid var(--border-faint);z-index:60;pointer-events:none}.player-stats-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.player-stat-name{font-size:.88rem;font-weight:700;letter-spacing:1.5px;color:var(--col-player);text-transform:uppercase}.player-hp-text{font-size:.72rem;font-weight:600;color:var(--text-secondary);font-variant-numeric:tabular-nums}#player-stats .hp-bar{height:8px;border-radius:4px}#player-stats .ap-container{margin-top:0}.hp-bar{flex:1;height:10px;background:#00000080;border-radius:5px;overflow:hidden;border:1px solid var(--border-faint);position:relative}.hp-fill{height:100%;width:100%;background:var(--hp-full);transform:scaleX(1);transform-origin:left center;transition:transform .35s var(--transition-smooth);will-change:transform;border-radius:4px}.hp-fill.critical{background:var(--hp-low);animation:criticalPulse 1.2s ease-in-out infinite}@keyframes criticalPulse{0%,to{opacity:1}50%{opacity:.5}}.hp-fill.enemy{background:var(--col-auto)}.hp-fill.enemy.enemy-hp-mid{background:var(--hp-mid)}.hp-fill.enemy.enemy-hp-low{background:var(--hp-low);animation:criticalPulse .8s ease-in-out infinite}.ap-container{display:flex;gap:7px;margin-top:6px}.ap-orb{width:18px;height:18px;border-radius:50%;background:#ffffff0f;border:1px solid var(--border-subtle);transition:background var(--t-fast),border-color var(--t-fast)}.ap-orb.filled{background:var(--col-player);border-color:var(--col-player)}#enemy-stats{position:absolute;top:0;left:0;right:0;background:#0a0a12f7;padding:9px 16px 11px;border-bottom:1px solid var(--border-faint);z-index:20;pointer-events:none}.enemy-stats-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.enemy-stat-name{font-size:.88rem;font-weight:700;letter-spacing:1.5px;color:var(--col-enemy);text-transform:uppercase}.enemy-hp-text{font-size:.72rem;font-weight:600;color:var(--text-secondary);font-variant-numeric:tabular-nums}#enemy-stats .hp-bar{height:8px;border-radius:4px}#attack-name-badge{margin-top:7px;text-align:center}#attack-name-badge:not(.hidden){animation:badgeIn .18s ease-out forwards}@keyframes badgeIn{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}#attack-badge-name{display:inline-block;padding:2px 14px;font-size:.72rem;font-weight:800;letter-spacing:2.5px;text-transform:uppercase;color:var(--col-enemy);background:#e052521a;border:1px solid rgba(224,82,82,.28);border-radius:3px}#enemy-damage-number{position:absolute;right:16px;top:4px;font-size:1.3rem;font-weight:800;color:var(--col-miss);pointer-events:none;font-variant-numeric:tabular-nums}#enemy-damage-number.hidden{display:none}#enemy-damage-number.animate{display:block;animation:dmgFloat 1.2s ease-out forwards}@keyframes dmgFloat{0%{opacity:0;transform:translateY(2px) scale(.8)}12%{opacity:1;transform:translateY(-2px) scale(1.1)}30%{opacity:1;transform:translateY(-5px) scale(1)}to{opacity:0;transform:translateY(-22px) scale(.9)}}#turn-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-150%);text-align:center;pointer-events:none;z-index:60}#turn-indicator.hidden{display:none}#turn-indicator:not(.hidden){animation:turnIn .18s ease-out forwards}@keyframes turnIn{0%{opacity:0;transform:translate(-50%,-160%)}to{opacity:1;transform:translate(-50%,-150%)}}#turn-text{font-size:1.1rem;font-weight:700;letter-spacing:3px;color:var(--col-player);text-transform:uppercase}#turn-text.enemy-turn{color:var(--col-enemy)}#action-menu{position:absolute;bottom:64px;left:50%;transform:translate(-50%);width:calc(100% - 30px);max-width:400px;opacity:0;animation:menuIn .2s ease-out forwards}#action-menu.hidden{display:none}@keyframes menuIn{0%{opacity:0;transform:translate(-50%) translateY(16px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.action-buttons{display:flex;flex-direction:column;gap:8px}.action-btn{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:10px;color:var(--text-primary);font-size:.95rem;font-weight:600;cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast),transform .08s ease-out}.action-btn:hover,.action-btn:focus{background:var(--bg-surface-2);border-color:var(--border-mid);outline:none}.action-btn:active{transform:scale(.98);background:#5b9cf614}.action-btn:disabled{opacity:.28;cursor:not-allowed;transform:none}.skill-name{letter-spacing:.5px}.skill-cost{font-size:.82rem;color:var(--col-player);padding:3px 9px;background:#5b9cf61a;border-radius:20px}.skill-cost--low{color:var(--col-miss);background:#e052521f}.skill-qte-chip{display:flex;align-items:center;opacity:.4;color:inherit;flex-shrink:0;margin-left:auto}.skill-group-divider{font-size:.62rem;font-weight:700;letter-spacing:2px;color:#ffffff52;text-transform:uppercase;text-align:center;padding:5px 0 2px;border-top:1px solid rgba(255,255,255,.07);margin-top:2px;pointer-events:none}#defense-zone{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;z-index:50}.parade-zone{width:100%;height:100%;display:flex;align-items:flex-end;justify-content:center;padding-bottom:100px;cursor:pointer;background:#0000001f;position:relative;overflow:hidden;user-select:none;-webkit-user-select:none}.parade-zone-hint{font-size:.72rem;font-weight:600;letter-spacing:3px;color:#ffffffa6;pointer-events:none}#attack-info{position:absolute;bottom:54px;left:0;width:100%;padding:14px 20px 18px;background:linear-gradient(0deg,rgba(0,0,0,.75) 60%,transparent 100%);pointer-events:none;z-index:55}.attack-info-inner{display:flex;justify-content:space-between;align-items:center;gap:12px}.attack-info-hits{font-size:.88rem;font-weight:700;letter-spacing:1px;color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;min-width:40px}.attack-info-hints{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.attack-info-hint-line{font-size:.72rem;letter-spacing:.5px;color:var(--text-muted);white-space:nowrap}.attack-info-hint-line strong{color:var(--text-secondary);font-weight:700}#qte-zone{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:flex-end;justify-content:center;background:transparent;cursor:pointer;z-index:50;overflow:hidden;padding-bottom:74px}#qte-zone:before{content:"";position:absolute;top:var(--tap-y, 50%);left:var(--tap-x, 50%);width:0;height:0;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}#qte-zone.flash:before{animation:qteRipple .25s ease-out forwards;background:radial-gradient(circle,rgba(74,222,128,.45) 0%,transparent 70%)}@keyframes qteRipple{0%{width:0;height:0;opacity:1}to{width:200vw;height:200vw;opacity:0}}.qte-content{display:flex;flex-direction:column;align-items:center;gap:8px;width:calc(100% - 30px);max-width:400px;pointer-events:none;animation:qteIn .2s ease-out}@keyframes qteIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}#qte-canvas{width:100%;height:80px;background:#0000008c;border-radius:10px;border:1px solid var(--border-subtle)}.qte-instruction{font-size:1.1rem;font-weight:700;letter-spacing:3px;color:var(--col-good);text-transform:uppercase}#defense-result{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;z-index:100;display:flex;flex-direction:column;align-items:center;gap:3px}.defense-popup{animation:popupIn .65s ease-out forwards}.popup-main{display:block;font-size:1.9rem;font-weight:900;letter-spacing:3px;text-transform:uppercase}.popup-sub{display:block;font-size:.88rem;font-weight:700;letter-spacing:1.5px;opacity:.85}@keyframes popupIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.72)}22%{opacity:1;transform:translate(-50%,-50%) scale(1.04)}38%{transform:translate(-50%,-50%) scale(1)}65%{opacity:1;transform:translate(-50%,-54%) scale(1)}to{opacity:0;transform:translate(-50%,-76%) scale(.95)}}.defense-popup.perfect .popup-main{color:var(--col-perfect)}.defense-popup.perfect .popup-sub{color:#22d3b8b3}.defense-popup.good .popup-main{color:var(--col-good)}.defense-popup.good .popup-sub{color:#4ade80b3}.defense-popup.swipe .popup-main{color:var(--col-dodge)}.defense-popup.swipe .popup-sub{color:#f59e0bb3}.defense-popup.miss .popup-main{color:var(--col-miss)}.defense-popup.miss .popup-sub{color:#e05252b3}.defense-popup.early .popup-main{color:var(--col-dodge)}.defense-popup.early .popup-sub{color:#f59e0bb3}#feint-signal{position:absolute;top:38%;left:50%;transform:translate(-50%,-50%);font-size:1.8rem;font-weight:900;letter-spacing:4px;color:var(--col-dodge);text-transform:uppercase;pointer-events:none;z-index:65;white-space:nowrap}#feint-signal.visible{animation:feintFlash .85s ease-out forwards}@keyframes feintFlash{0%{opacity:0;transform:translate(-50%,-50%) scale(.7)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.12)}45%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.85)}}#combo-streak{position:absolute;top:30%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:6px;font-size:1.05rem;font-weight:900;letter-spacing:2px;color:var(--col-perfect);text-transform:uppercase;pointer-events:none;z-index:64;white-space:nowrap}#combo-streak svg{color:var(--col-perfect)}#combo-streak.visible{animation:streakPop .35s var(--transition-bounce) forwards}@keyframes streakPop{0%{transform:translate(-50%,-50%) scale(.75);opacity:.6}60%{transform:translate(-50%,-50%) scale(1.15);opacity:1}to{transform:translate(-50%,-50%) scale(1);opacity:1}}#result-display{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:40px;background:#0000;z-index:100;animation:resultBgIn .6s ease-out forwards}@keyframes resultBgIn{to{background:#000000d1}}#result-display.hidden{animation:resultBgOut .25s ease-out forwards}@keyframes resultBgOut{0%{background:#000000d1;opacity:1}to{background:#0000;opacity:0}}.result-text{font-size:3rem;font-weight:900;letter-spacing:8px;opacity:0;animation:resultTextIn .5s .25s ease-out forwards;text-transform:uppercase}@keyframes resultTextIn{0%{opacity:0;transform:scale(.7) translateY(24px)}to{opacity:1;transform:scale(1) translateY(0)}}.result-text.victory{color:var(--col-perfect)}.result-text.defeat{color:var(--col-miss)}.result-btn{padding:16px 44px;font-size:1.1rem;font-weight:700;letter-spacing:2px;background:var(--bg-surface);border:1px solid var(--border-mid);border-radius:10px;color:var(--text-primary);cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast),transform .08s ease-out;opacity:0;animation:resultBtnIn .35s .65s ease-out forwards}@keyframes resultBtnIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.result-btn:hover{background:var(--bg-surface-2);border-color:var(--col-player)}.result-btn:active{transform:scale(.97)}#start-screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg-base);z-index:200;transition:opacity var(--t-slow),visibility var(--t-slow);overflow:hidden}#start-screen.hidden{opacity:0;visibility:hidden;pointer-events:none}.start-wrap{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:0;width:100%;padding:28px 24px;animation:startIn .4s ease-out forwards}@keyframes startIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.start-badge{font-size:.62rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--col-auto);border:1px solid rgba(167,139,250,.25);border-radius:20px;padding:4px 13px;margin-bottom:20px;opacity:.8}.game-title{font-size:clamp(3rem,15vw,4.5rem);font-weight:900;letter-spacing:14px;text-indent:14px;text-align:center;margin:0 0 10px;background:linear-gradient(135deg,#e8e8f8 20%,var(--col-player) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.game-subtitle{font-size:.82rem;color:var(--text-secondary);letter-spacing:1.5px;text-align:center;line-height:1.8;margin-bottom:28px}.start-duel{display:flex;align-items:flex-end;justify-content:center;gap:16px;margin-bottom:32px;width:100%}.duel-side{display:flex;flex-direction:column;align-items:center;gap:10px}.duel-label{font-size:.62rem;font-weight:700;letter-spacing:2.5px;color:var(--text-muted);text-transform:uppercase}.hero-fig{width:20px;height:48px;background:linear-gradient(180deg,#88bbff,var(--col-player) 60%,#2d5fa3);border-radius:4px 4px 3px 3px;position:relative;opacity:.9}.hero-fig:before{content:"";position:absolute;top:-15px;left:50%;transform:translate(-50%);width:15px;height:15px;background:var(--col-player);border-radius:50%;opacity:.85}.hero-fig:after{content:"";position:absolute;right:-6px;top:7px;width:4px;height:18px;background:#5b9cf6b3;border-radius:2px}.enemy-fig{width:26px;height:56px;background:linear-gradient(180deg,var(--col-miss),#7a1515 80%);border-radius:4px 4px 3px 3px;clip-path:polygon(12% 0%,88% 0%,100% 14%,100% 100%,0% 100%,0% 14%);position:relative;opacity:.9}.enemy-fig:before{content:"";position:absolute;top:-17px;left:50%;transform:translate(-50%);width:19px;height:17px;background:var(--col-miss);border-radius:50%/55% 55% 45% 45%;opacity:.85}.enemy-fig:after{content:"";position:absolute;left:-7px;top:8px;width:6px;height:22px;background:#e05252a6;border-radius:2px 2px 1px 4px;transform:rotate(-12deg)}.duel-center{display:flex;align-items:center;justify-content:center;width:48px;height:64px;flex-shrink:0}.duel-ring{display:none}.duel-sword{font-size:1.8rem;opacity:.6}#start-button{padding:15px 48px;font-size:1rem;font-weight:700;letter-spacing:4px;color:var(--bg-base);background:var(--col-player);border:none;border-radius:10px;cursor:pointer;transition:background var(--t-fast),transform .08s ease-out;margin-bottom:20px;text-transform:uppercase}#start-button:hover{background:#6daaf8}#start-button:active{transform:scale(.97)}.start-hints{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}.hint-chip{font-size:.62rem;letter-spacing:.5px;color:var(--text-muted)}.hint-dot{color:var(--text-muted);font-size:.82rem}#level-select{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg-overlay);z-index:150;animation:overlayIn .2s ease-out}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes panelIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.level-select-panel{width:calc(100% - 30px);max-width:400px;max-height:calc(100% - 40px);background:var(--bg-surface);border-radius:14px;border:1px solid var(--border-subtle);padding:18px;display:flex;flex-direction:column;gap:14px;overflow:hidden;animation:panelIn .22s ease-out}.level-header{display:flex;flex-direction:column;gap:6px;padding-bottom:12px;border-bottom:1px solid var(--border-faint)}.level-header h2{font-size:1rem;font-weight:700;letter-spacing:1.5px;color:var(--text-primary);text-transform:uppercase}.player-status{display:flex;gap:14px;margin-top:4px}.status-hp,.status-gold{display:flex;align-items:center;gap:5px;font-size:.88rem;font-weight:600;color:var(--text-secondary)}.status-icon{font-size:.88rem}.level-list{display:flex;flex-direction:column;gap:8px;overflow-y:auto;max-height:340px;padding-right:4px}.level-list::-webkit-scrollbar{width:4px}.level-list::-webkit-scrollbar-track{background:#0003;border-radius:2px}.level-list::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:2px}.level-btn{display:flex;justify-content:space-between;align-items:center;padding:13px 14px;background:#00000040;border:1px solid var(--border-faint);border-radius:10px;cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast),transform .08s ease-out;position:relative}.level-btn:hover:not(.locked){background:#5b9cf612;border-color:#5b9cf64d;transform:translate(3px)}.level-btn:active:not(.locked){transform:scale(.99)}.level-btn.locked{opacity:.35;cursor:not-allowed}.level-btn.auto-farmed{border-color:#a78bfa4d}.level-info{display:flex;flex-direction:column;gap:3px;text-align:left}.level-name{font-size:.95rem;font-weight:700;color:var(--text-primary)}.level-desc{font-size:.72rem;color:var(--text-secondary)}.level-reward{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.level-enemy{font-size:.82rem;color:var(--col-auto)}.level-gold{font-size:.88rem;color:var(--col-gold);font-weight:600}.level-actions{padding-top:8px;border-top:1px solid var(--border-faint)}.level-shop-btn{width:100%;padding:11px;font-size:.88rem;font-weight:600;background:#d4a84314;border:1px solid rgba(212,168,67,.25);border-radius:8px;color:var(--col-gold);cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast);text-transform:uppercase;letter-spacing:1px}.level-shop-btn:hover{background:#d4a84324;border-color:#d4a84373}.auto-badge{display:inline-flex;align-items:center;gap:3px;font-size:.62rem;font-weight:700;letter-spacing:.05em;background:#a78bfa26;color:var(--col-auto);border:1px solid rgba(167,139,250,.35);border-radius:6px;padding:1px 5px;vertical-align:middle;margin-left:5px}.passive-income{display:flex;align-items:center;gap:5px;background:#a78bfa1a;border:1px solid rgba(167,139,250,.25);border-radius:16px;padding:3px 10px;font-size:.82rem;color:var(--col-auto);width:fit-content}.passive-income-icon{font-size:.88rem}#shop-screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg-overlay);z-index:160;animation:overlayIn .2s ease-out}.shop-panel{width:calc(100% - 30px);max-width:400px;max-height:calc(100% - 40px);background:var(--bg-surface);border-radius:14px;border:1px solid var(--border-subtle);padding:18px;display:flex;flex-direction:column;gap:14px;overflow:hidden;animation:panelIn .22s ease-out}.shop-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:10px;border-bottom:1px solid var(--border-faint)}.shop-header h2{font-size:1rem;font-weight:700;letter-spacing:1.5px;color:var(--col-gold);text-transform:uppercase}.shop-gold{display:flex;align-items:center;gap:6px;font-size:1rem;font-weight:700;color:var(--col-gold)}.gold-icon{font-size:1rem}.shop-sections{display:flex;flex-direction:column;gap:14px;overflow-y:auto;max-height:310px}.shop-section h3{font-size:.72rem;font-weight:700;letter-spacing:1.5px;color:var(--text-secondary);margin-bottom:8px;text-transform:uppercase}.shop-items{display:flex;flex-direction:column;gap:6px}.shop-item{display:flex;align-items:center;gap:10px;padding:10px;background:#00000038;border:1px solid var(--border-faint);border-radius:8px;transition:background var(--t-fast),border-color var(--t-fast)}.shop-item:hover:not(.disabled){background:#d4a8430d;border-color:#d4a84333}.shop-item.disabled{opacity:.35}.item-icon{font-size:1.6rem;width:36px;text-align:center}.item-info{flex:1;display:flex;flex-direction:column;gap:2px}.item-name{font-size:.88rem;font-weight:600;color:var(--text-primary)}.item-desc{font-size:.72rem;color:var(--text-secondary)}.item-actions{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.item-cost{font-size:.82rem;color:var(--col-gold);font-weight:600}.item-quantity{font-size:.82rem;color:var(--col-player);font-weight:600}.buy-btn,.use-btn{padding:10px 16px;min-height:44px;font-size:.72rem;font-weight:700;border-radius:6px;cursor:pointer;transition:background var(--t-fast),transform .08s ease-out}.buy-btn{background:#d4a8431f;border:1px solid rgba(212,168,67,.35);color:var(--col-gold)}.buy-btn:hover:not(:disabled){background:#d4a84338}.buy-btn:active:not(:disabled){transform:scale(.96)}.buy-btn:disabled{opacity:.3;cursor:not-allowed}.use-btn{background:#4ade801a;border:1px solid rgba(74,222,128,.3);color:var(--col-good)}.use-btn:hover:not(:disabled){background:#4ade8033}.use-btn:active:not(:disabled){transform:scale(.96)}.use-btn:disabled{opacity:.3;cursor:not-allowed}.empty-inventory{text-align:center;padding:16px;color:var(--text-muted);font-style:italic;font-size:.88rem}.shop-close-btn{width:100%;padding:12px;font-size:.88rem;font-weight:700;letter-spacing:2px;background:var(--col-player);border:none;border-radius:8px;color:var(--bg-base);cursor:pointer;transition:background var(--t-fast),transform .08s ease-out;text-transform:uppercase}.shop-close-btn:hover{background:#6daaf8}.shop-close-btn:active{transform:scale(.98)}#victory-screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg-overlay);z-index:150;animation:overlayIn .25s ease-out}.victory-panel{width:calc(100% - 30px);max-width:360px;background:var(--bg-surface);border-radius:14px;border:1px solid rgba(34,211,184,.3);padding:28px 22px;text-align:center;animation:panelIn .25s ease-out}.victory-title{font-size:2rem;font-weight:900;letter-spacing:4px;color:var(--col-perfect);margin-bottom:22px;text-transform:uppercase}.victory-rewards{display:flex;flex-direction:column;gap:10px;margin-bottom:22px}.reward-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#00000038;border-radius:8px}.reward-label{font-size:.88rem;color:var(--text-secondary)}.reward-value{font-size:1rem;font-weight:700;color:var(--col-gold)}.victory-buttons{display:flex;gap:8px}.victory-btn{flex:1;padding:12px;font-size:.88rem;font-weight:700;border-radius:8px;cursor:pointer;transition:background var(--t-fast),transform .08s ease-out;letter-spacing:.5px}.victory-btn.shop{background:#d4a84314;border:1px solid rgba(212,168,67,.3);color:var(--col-gold)}.victory-btn.shop:hover{background:#d4a84326;border-color:#d4a84380}.victory-btn.continue{background:var(--col-perfect);border:none;color:var(--bg-base)}.victory-btn.continue:hover{background:#26e8cb}.victory-btn.continue:active{transform:scale(.97)}#defeat-screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg-overlay);z-index:150;animation:overlayIn .25s ease-out}.defeat-panel{width:calc(100% - 30px);max-width:360px;background:var(--bg-surface);border-radius:14px;border:1px solid rgba(224,82,82,.25);padding:28px 22px;text-align:center;animation:panelIn .22s ease-out}.defeat-title{font-size:2rem;font-weight:900;letter-spacing:3px;color:var(--col-miss);margin-bottom:12px;text-transform:uppercase}.defeat-message{font-size:.88rem;color:var(--text-secondary);margin-bottom:22px;line-height:1.5}.defeat-buttons{display:flex;gap:8px}.defeat-btn{flex:1;padding:12px;font-size:.88rem;font-weight:700;border-radius:8px;cursor:pointer;transition:background var(--t-fast),transform .08s ease-out}.defeat-btn.retry{background:var(--col-player);border:none;color:var(--bg-base)}.defeat-btn.retry:hover{background:#6daaf8}.defeat-btn.retry:active{transform:scale(.97)}.defeat-btn.reset{background:#ffffff0f;border:1px solid var(--border-subtle);color:var(--text-secondary)}.defeat-btn.reset:hover{background:#ffffff1a;border-color:var(--border-mid)}#ko-screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000000eb;z-index:150;animation:overlayIn .25s ease-out}.ko-panel{width:calc(100% - 30px);max-width:380px;background:var(--bg-surface);border-radius:16px;border:1px solid rgba(224,82,82,.3);padding:26px 20px 20px;text-align:center;animation:panelIn .22s ease-out}.ko-icon{font-size:2.4rem;line-height:1;margin-bottom:6px}.ko-title{font-size:2rem;font-weight:900;letter-spacing:6px;color:var(--col-miss);margin-bottom:4px;text-transform:uppercase}.ko-subtitle{font-size:.82rem;color:var(--text-secondary);margin-bottom:20px}.ko-options{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.ko-btn{display:flex;align-items:center;gap:12px;padding:12px 14px;min-height:44px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:10px;cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast),transform .08s;text-align:left;width:100%;color:var(--text-primary)}.ko-btn:hover:not(:disabled){background:#ffffff14;transform:translateY(-1px)}.ko-btn:active:not(:disabled){transform:scale(.98)}.ko-btn.disabled,.ko-btn:disabled{opacity:.38;cursor:not-allowed}.ko-btn-free{border-color:#4ade804d}.ko-btn-free:hover:not(:disabled){border-color:var(--col-good)}.ko-btn-gold{border-color:#d4a8434d}.ko-btn-gold:hover:not(:disabled){border-color:var(--col-gold)}.ko-btn-phoenix{border-color:#5b9cf64d}.ko-btn-phoenix:hover:not(:disabled){border-color:var(--col-player)}.ko-btn-icon{flex-shrink:0;opacity:.9;color:var(--col-gold)}.ko-btn-free .ko-btn-icon{color:var(--col-good)}.ko-btn-gold .ko-btn-icon{color:var(--col-gold)}.ko-btn-phoenix .ko-btn-icon{color:var(--col-player)}.ko-btn-body{display:flex;flex-direction:column;gap:2px}.ko-btn-label{font-size:.88rem;font-weight:700;letter-spacing:.3px}.ko-btn-detail{font-size:.72rem;color:var(--text-secondary)}.ko-abandon-btn{width:100%;padding:10px;font-size:.82rem;font-weight:600;background:transparent;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:border-color var(--t-fast),color var(--t-fast)}.ko-abandon-btn:hover{border-color:var(--col-miss);color:var(--col-miss)}.level-btn.auto-farmed:after{content:"";position:absolute;inset:0;border-radius:inherit;background:#a78bfa08;pointer-events:none}.idle-section{border-top:1px solid rgba(167,139,250,.2);padding-top:12px}.idle-section h3{color:var(--col-auto)!important}.idle-section-desc{font-size:.72rem;color:var(--text-secondary);margin-bottom:8px;font-style:italic}.idle-upgrade-item{display:flex;align-items:flex-start;gap:10px;background:#a78bfa0d;border:1px solid rgba(167,139,250,.18);border-radius:8px;padding:10px;margin-bottom:6px;transition:border-color var(--t-fast),background var(--t-fast)}.idle-upgrade-item .item-info{flex:1}.idle-upgrade-item .item-flavor{display:block;font-size:.72rem;color:var(--text-muted);font-style:italic;margin-top:2px}.idle-upgrade-item strong{color:var(--col-auto)}.idle-upgrade-item.owned{background:#a78bfa1a;border-color:#a78bfa59}.idle-upgrade-item.locked{opacity:.35;filter:grayscale(.5)}.idle-upgrade-item.cant-afford{opacity:.5}.idle-badge-owned{display:inline-block;font-size:.72rem;font-weight:700;color:var(--col-auto);background:#a78bfa26;border:1px solid rgba(167,139,250,.4);border-radius:5px;padding:2px 7px;white-space:nowrap}.idle-badge-locked{display:inline-block;font-size:.72rem;color:var(--text-secondary);white-space:nowrap}#offline-popup{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000000b3;z-index:200;animation:overlayIn .2s ease-out}#offline-popup.hidden{display:none}.offline-popup-panel{background:var(--bg-surface);border:1px solid rgba(167,139,250,.3);border-radius:14px;padding:26px 28px;text-align:center;max-width:300px;width:90%;animation:panelIn .25s ease-out}.offline-popup-icon{font-size:2.2rem;margin-bottom:10px;display:block}.offline-popup-title{font-size:1.1rem;font-weight:700;color:var(--col-auto);margin-bottom:5px}.offline-popup-time{font-size:.82rem;color:var(--text-secondary);margin-bottom:14px}.offline-popup-reward{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:6px}.offline-gold-amount{font-size:2rem;font-weight:900;color:var(--col-gold);font-variant-numeric:tabular-nums}.offline-gold-icon{font-size:1.5rem}.offline-popup-sub{font-size:.72rem;color:var(--text-secondary);margin-bottom:18px}.offline-ok-btn{background:var(--col-auto);color:var(--bg-base);border:none;border-radius:8px;padding:10px 28px;font-size:.88rem;font-weight:700;cursor:pointer;transition:background var(--t-fast),transform .08s ease-out}.offline-ok-btn:hover{background:#b99af9}.offline-ok-btn:active{transform:scale(.97)}#auth-overlay{position:absolute;inset:0;background:var(--bg-base);z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem 1rem;overflow-y:auto}.auth-logo{font-size:2rem;font-weight:900;letter-spacing:8px;color:var(--text-primary);text-align:center;margin-bottom:1.75rem;text-transform:uppercase}.auth-logo small{display:block;font-size:.62rem;font-weight:400;letter-spacing:2.5px;color:var(--text-secondary);margin-top:6px}.auth-section{width:100%;max-width:360px}.auth-card{width:100%;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:14px;overflow:hidden}.auth-tabs{display:flex;border-bottom:1px solid var(--border-faint)}.auth-tab{flex:1;padding:13px 8px;background:none;border:none;color:var(--text-secondary);font-size:.82rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;transition:color var(--t-fast),background var(--t-fast)}.auth-tab.active{color:var(--col-player);background:#5b9cf612}.auth-body{padding:1.25rem 1.5rem 1.5rem}.auth-field{margin-bottom:.9rem}.auth-field label{display:block;font-size:.72rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--text-secondary);margin-bottom:5px}.auth-field input{width:100%;padding:10px 13px;background:#ffffff0a;border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-primary);font-size:.95rem;outline:none;transition:border-color var(--t-fast);-webkit-appearance:none;appearance:none}.auth-field input:focus{border-color:var(--col-player)}.auth-submit{width:100%;padding:12px;background:var(--col-player);border:none;border-radius:8px;color:#fff;font-size:.82rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;cursor:pointer;margin-top:.4rem;transition:opacity var(--t-fast),transform .08s ease-out}.auth-submit:hover{opacity:.88}.auth-submit:active{transform:scale(.98);opacity:.75}.auth-submit:disabled{opacity:.4;cursor:not-allowed;transform:none}.auth-error{background:#e052521a;border:1px solid rgba(224,82,82,.28);border-radius:8px;padding:9px 13px;color:var(--col-enemy);font-size:.82rem;line-height:1.4;margin-bottom:1rem;display:none}.auth-error.visible{display:block}.auth-beta-closed{text-align:center;padding:.75rem 0 1rem}.beta-lock{font-size:2rem;margin-bottom:.6rem}.auth-beta-closed h3{font-size:.88rem;font-weight:700;letter-spacing:.5px;color:var(--text-primary);margin-bottom:8px}.auth-beta-closed p{font-size:.82rem;color:var(--text-secondary);line-height:1.55}.auth-loading{display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--text-secondary);font-size:.82rem;letter-spacing:1px}.auth-spinner{width:30px;height:30px;border:2.5px solid var(--border-subtle);border-top-color:var(--col-player);border-radius:50%;animation:auth-spin .75s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-verify{text-align:center}.auth-verify-icon{font-size:2.25rem;margin-bottom:.75rem}.auth-verify h3{font-size:.95rem;font-weight:700;color:var(--text-primary);margin-bottom:10px}.auth-verify p{font-size:.82rem;color:var(--text-secondary);line-height:1.6;margin-bottom:.5rem}.auth-verify p strong{color:var(--col-player)}.auth-verify-hint{font-size:.72rem!important;color:var(--text-muted)!important;margin-bottom:.75rem!important}.auth-verify-spam{font-size:.72rem!important;color:var(--col-gold)!important;margin-bottom:1rem!important;padding:8px 12px;background:#d4a84314;border:1px solid rgba(212,168,67,.25);border-radius:6px}.auth-verify-spam strong{color:var(--col-gold)}.auth-submit-secondary{width:100%;padding:11px;background:transparent;border:1.5px solid var(--col-player);border-radius:6px;color:var(--col-player);font-family:inherit;font-size:.82rem;font-weight:700;letter-spacing:.06em;cursor:pointer;margin-bottom:.5rem;transition:background var(--t-fast),opacity var(--t-fast)}.auth-submit-secondary:hover{background:#5b9cf61f}.auth-submit-secondary:active{opacity:.75}.auth-submit-secondary:disabled{opacity:.4;cursor:not-allowed}.auth-link{background:none;border:none;color:var(--col-player);font-size:.82rem;cursor:pointer;text-decoration:underline;padding:4px;opacity:.8}.auth-link:hover{opacity:1}.wl-intro{font-size:.72rem;color:var(--text-secondary);line-height:1.55;margin-bottom:1rem}.wl-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:99px;font-size:.72rem;font-weight:700;letter-spacing:.5px;margin-bottom:1rem}.wl-badge.approved{background:#22d3b81a;border:1px solid rgba(34,211,184,.28);color:var(--col-perfect)}.wl-status-card{text-align:center;padding:1.1rem .5rem}.wl-status-icon{font-size:2rem;margin-bottom:.55rem}.wl-status-card h4{font-size:.88rem;font-weight:700;color:var(--text-primary);margin-bottom:6px}.wl-status-card p{font-size:.72rem;color:var(--text-secondary);line-height:1.55}.wl-email-locked{cursor:not-allowed;opacity:.6;font-style:italic}#user-bar{position:absolute;top:0;right:0;display:flex;align-items:center;gap:10px;padding:10px 14px;z-index:10}#user-name{font-size:.72rem;font-weight:600;color:var(--text-secondary);letter-spacing:.5px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#logout-button{background:none;border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-secondary);font-size:.62rem;font-weight:600;letter-spacing:.8px;padding:4px 10px;cursor:pointer;transition:color var(--t-fast),border-color var(--t-fast)}#logout-button:hover{color:var(--col-enemy);border-color:#e0525266}.victory-stars{display:flex;justify-content:center;gap:6px;margin-bottom:18px}.victory-star{font-size:2rem;line-height:1;color:var(--col-gold);transition:color var(--t-fast)}.victory-star.empty{color:var(--text-muted);filter:none}.victory-idle-hint{margin-bottom:16px;padding:12px 14px;background:#a78bfa12;border:1px solid rgba(167,139,250,.22);border-radius:8px;font-size:.82rem;color:var(--text-secondary);text-align:left;line-height:1.5;animation:hintSlideIn .3s ease-out}.victory-idle-hint.hidden{display:none}.victory-idle-hint strong{color:var(--col-auto)}.hint-shop-btn{display:block;width:100%;margin-top:10px;padding:8px 12px;background:#a78bfa24;border:1px solid rgba(167,139,250,.28);border-radius:6px;color:var(--col-auto);font-size:.82rem;font-weight:700;cursor:pointer;transition:background var(--t-fast);text-align:center}.hint-shop-btn:hover{background:#a78bfa42}.hint-shop-btn:active{transform:scale(.97)}@keyframes hintSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.offline-upgrade-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px 14px;margin-bottom:10px;background:#a78bfa1a;border:1px solid rgba(167,139,250,.28);border-radius:8px;color:var(--col-auto);font-size:.88rem;font-weight:700;cursor:pointer;transition:background var(--t-fast),transform .08s ease-out}.offline-upgrade-btn:hover{background:#a78bfa33}.offline-upgrade-btn:active{transform:scale(.97)}.offline-upgrade-btn.hidden{display:none}.level-world-header{display:flex;flex-direction:column;gap:2px;padding:14px 4px 8px;border-bottom:1px solid var(--border-subtle);margin-bottom:4px}.level-world-header:first-child{padding-top:4px}.world-name{font-size:var(--fs-md);font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--text-primary)}.world-subtitle{font-size:var(--fs-xs);color:var(--text-secondary);letter-spacing:.5px}.accordion-section{border:none}.accordion-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;user-select:none;padding:2px 0 6px}.accordion-header:focus-visible{outline:2px solid var(--col-player);outline-offset:3px;border-radius:4px}.accordion-chevron{color:var(--text-secondary);transition:transform var(--t-normal);display:flex;align-items:center;flex-shrink:0}.accordion-header[aria-expanded=false] .accordion-chevron{transform:rotate(-90deg)}.accordion-body{overflow:hidden;max-height:0;transition:max-height .28s ease}.accordion-body.open{max-height:2000px}.accordion-header h3{margin-bottom:0}@media (min-width: 768px){.level-select-panel,.shop-panel,.victory-panel,.defeat-panel,.ko-panel{max-width:440px}.victory-title,.ko-title{font-size:2.5rem}.result-text{font-size:3.5rem}}#screen-manager{position:absolute;inset:0;z-index:150;pointer-events:none}#screen-manager>*:not(.hidden){pointer-events:auto}#hub-screen{position:absolute;inset:0;display:flex;flex-direction:column;background:var(--bg-base);overflow:hidden}.hub-header{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;padding:8px 14px 7px;background:var(--bg-surface);border-bottom:1px solid var(--border-faint);gap:5px}.hub-brand{font-size:.88rem;font-weight:900;letter-spacing:5px;color:var(--text-primary);text-transform:uppercase}.hub-hud{display:flex;align-items:center;justify-content:center;gap:16px;width:100%}.hub-hp-wrap{display:flex;flex-direction:column;gap:3px;background:none;border:none;padding:0;cursor:pointer;color:var(--hp-full);font-family:inherit;transition:color .3s}.hub-hp-label{display:inline-flex;align-items:center;gap:4px;font-size:.82rem;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}.hub-hp-track{width:100%;height:3px;background:#ffffff1a;border-radius:2px;overflow:hidden}.hub-hp-fill{height:100%;background:var(--hp-full);border-radius:2px;transform-origin:left center;transition:transform .4s ease-out,background .4s}.hub-hp-wrap.hp-warn{color:var(--hp-mid)}.hub-hp-wrap.hp-warn .hub-hp-fill{background:var(--hp-mid)}.hub-hp-wrap.hp-critical{color:var(--hp-low)}.hub-hp-wrap.hp-critical .hub-hp-fill{background:var(--hp-low)}.hub-hp-wrap.hp-critical .hub-hp-label{animation:hubHpBlink .65s ease-in-out infinite alternate}@keyframes hubHpBlink{0%{opacity:1}to{opacity:.35}}.hub-hp-wrap.hp-full{cursor:default}.hub-gold{display:inline-flex;align-items:center;gap:4px;font-size:.82rem;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--col-gold)}.hub-passive{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:600;color:var(--col-auto);background:#a78bfa1a;border:1px solid rgba(167,139,250,.25);border-radius:10px;padding:2px 7px;white-space:nowrap}.hub-content{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.hub-content::-webkit-scrollbar{width:3px}.hub-content::-webkit-scrollbar-track{background:transparent}.hub-content::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:2px}.hub-panel{padding:14px 15px;min-height:100%}#hub-panel-niveaux .level-list{max-height:none;overflow-y:visible;padding-right:0}#hub-panel-boutique .shop-panel{width:100%;max-width:none;max-height:none;overflow:visible;border-radius:0;border:none;background:transparent;padding:0}#hub-panel-boutique .shop-sections{max-height:none;overflow-y:visible}.hub-tabbar{flex:0 0 auto;display:flex;background:var(--bg-surface);border-top:1px solid var(--border-faint);min-height:58px}.hub-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 4px;background:none;border:none;border-top:2px solid transparent;color:var(--text-muted);cursor:pointer;transition:color var(--t-fast),border-color var(--t-fast),background var(--t-fast)}.hub-tab:hover{color:var(--text-secondary);background:#ffffff08}.hub-tab.active{color:var(--col-player);border-top-color:var(--col-player);background:#5b9cf60d}.hub-tab-icon{font-size:1.1rem;line-height:1}.hub-tab-label{font-size:.62rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.skill-section-title{font-size:.72rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-secondary);margin-bottom:10px}.skill-section-title small{font-weight:400;color:var(--text-muted);text-transform:none;letter-spacing:0}.skill-section-separator{margin-top:18px;padding-top:14px;border-top:1px solid var(--border-faint)}.skill-slots{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:4px}.skill-slot{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:10px 12px;border-radius:8px;border:1px solid var(--border-faint);background:#0003;min-height:52px;cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast),transform .08s ease-out}.skill-slot.filled{border-color:#5b9cf64d;background:#5b9cf60f}.skill-slot.filled:hover{background:#e0525214;border-color:#e052524d}.skill-slot.filled:active{transform:scale(.97)}.skill-slot.empty{cursor:default;opacity:.4;border-style:dashed}.slot-name{font-size:.82rem;font-weight:700;color:var(--text-primary)}.slot-cost{font-size:.72rem;color:var(--col-player)}.slot-empty-label{font-size:.72rem;color:var(--text-muted);font-style:italic;margin:auto}.skill-catalog{display:flex;flex-direction:column;gap:6px}.skill-catalog-item{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:8px;border:1px solid var(--border-faint);background:#0003;transition:background var(--t-fast),border-color var(--t-fast)}.skill-catalog-item.equipped{background:#5b9cf612;border-color:#5b9cf640}.skill-catalog-item.full{opacity:.45}.skill-catalog-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.skill-catalog-name{font-size:.88rem;font-weight:700;color:var(--text-primary)}.skill-catalog-desc{font-size:.72rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skill-catalog-meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.skill-catalog-cost{font-size:.72rem;color:var(--col-player);font-weight:600}.skill-catalog-dmg{font-size:.72rem;color:var(--col-enemy)}.skill-equip-btn{display:inline-flex;align-items:center;justify-content:center;padding:5px 11px;min-height:44px;font-size:.72rem;font-weight:700;border-radius:6px;cursor:pointer;flex-shrink:0;transition:background var(--t-fast),transform .08s ease-out;background:#5b9cf61a;border:1px solid rgba(91,156,246,.3);color:var(--col-player)}.skill-equip-btn:hover:not(:disabled){background:#5b9cf633}.skill-equip-btn:active:not(:disabled){transform:scale(.96)}.skill-equip-btn.equipped{background:#22d3b81a;border-color:#22d3b84d;color:var(--col-perfect)}.skill-equip-btn.full,.skill-equip-btn:disabled{opacity:.3;cursor:not-allowed;background:#ffffff0a;border-color:var(--border-faint);color:var(--text-muted)}.profile-card{display:flex;flex-direction:column;align-items:center;gap:14px;padding:8px 0}.profile-avatar-large{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--col-player),#3a6db5);display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:900;color:#fff}.profile-username-large{font-size:1.1rem;font-weight:700;color:var(--text-primary);letter-spacing:.5px}.profile-stats-grid{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}.profile-stat{display:flex;flex-direction:column;gap:4px;padding:12px;background:#00000038;border:1px solid var(--border-faint);border-radius:8px;text-align:center}.profile-stat-label{font-size:.62rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--text-secondary)}.profile-stat-value{font-size:1.3rem;font-weight:800;color:var(--col-player);font-variant-numeric:tabular-nums}.profile-save-badge{font-size:.72rem;font-weight:600;color:var(--col-perfect);background:#22d3b81a;border:1px solid rgba(34,211,184,.25);border-radius:20px;padding:4px 14px}.profile-save-badge.saving{color:var(--col-dodge);background:#f59e0b1a;border-color:#f59e0b40}.profile-logout-btn{padding:11px 28px;font-size:.82rem;font-weight:700;letter-spacing:1px;background:#ffffff0d;border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast),transform .08s ease-out;text-transform:uppercase}.profile-logout-btn:hover{background:#e0525214;border-color:#e052524d;color:var(--col-enemy)}.profile-logout-btn:active{transform:scale(.97)}svg[aria-hidden=true]{display:inline-block;vertical-align:middle;flex-shrink:0}.hub-hp-label svg,.hub-gold svg,.hub-passive svg{color:inherit;position:relative;top:-1px}.level-automaton{display:flex;align-items:center;gap:10px;padding:9px 14px;margin:0 0 10px;border-radius:8px;background:#a78bfa0d;border:1px solid rgba(167,139,250,.15);color:var(--col-auto);font-size:.82rem}.level-automaton.owned{background:#22d3b80d;border-color:#22d3b833;color:var(--col-perfect)}.level-automaton.locked{opacity:.45;color:var(--text-muted)}.automaton-icon{flex-shrink:0;opacity:.8}.automaton-info{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.automaton-name{font-size:.82rem;font-weight:700;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.automaton-income{font-size:.72rem;font-weight:600;color:var(--col-gold);opacity:.9}.automaton-action{display:flex;align-items:center;gap:6px;flex-shrink:0}.automaton-badge{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:20px}.automaton-badge.owned{background:#22d3b81f;border:1px solid rgba(34,211,184,.25);color:var(--col-perfect)}.automaton-badge.locked{background:#ffffff0a;border:1px solid var(--border-faint);color:var(--text-muted)}.automaton-cost{display:inline-flex;align-items:center;gap:3px;font-size:.72rem;font-weight:700;color:var(--col-gold)}.automaton-buy-btn{padding:5px 11px;font-size:.72rem;font-weight:700;background:#a78bfa1f;border:1px solid rgba(167,139,250,.3);border-radius:6px;color:var(--col-auto);cursor:pointer;transition:background var(--t-fast),transform .08s ease-out;white-space:nowrap}.automaton-buy-btn:hover:not(:disabled){background:#a78bfa38}.automaton-buy-btn:active:not(:disabled){transform:scale(.95)}.automaton-buy-btn:disabled{opacity:.35;cursor:not-allowed}.skill-buy-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;font-size:.72rem;font-weight:700;background:#d4a8431a;border:1px solid rgba(212,168,67,.3);border-radius:6px;color:var(--col-gold);cursor:pointer;transition:background var(--t-fast),transform .08s ease-out;white-space:nowrap}.skill-buy-btn:hover:not(:disabled){background:#d4a84338}.skill-buy-btn:active:not(:disabled){transform:scale(.95)}.skill-buy-btn:disabled{opacity:.35;cursor:not-allowed}.skill-premium-badge{display:inline-block;font-size:.62rem;font-weight:800;letter-spacing:.8px;text-transform:uppercase;padding:1px 5px;border-radius:3px;background:#d4a84326;border:1px solid rgba(212,168,67,.3);color:var(--col-gold);vertical-align:middle;margin-left:4px}.inv-list{display:flex;flex-direction:column;gap:8px}.inv-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 20px;color:var(--text-muted);text-align:center}.inv-empty svg{opacity:.35}.inv-empty span{font-size:.88rem;font-weight:600}.inv-empty small{font-size:.72rem}.inv-item{display:flex;align-items:center;gap:12px;padding:11px 14px;background:#0000002e;border:1px solid var(--border-faint);border-radius:10px}.inv-item-icon{flex-shrink:0;color:var(--col-player);opacity:.9}.inv-item-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.inv-item-name{font-size:.88rem;font-weight:700;color:var(--text-primary)}.inv-item-desc{font-size:.72rem;color:var(--text-secondary)}.inv-item-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.inv-item-qty{font-size:.82rem;font-weight:700;color:var(--text-secondary);min-width:22px;text-align:center}.inv-use-btn{padding:6px 12px;font-size:.72rem;font-weight:700;background:#5b9cf61a;border:1px solid rgba(91,156,246,.3);border-radius:6px;color:var(--col-player);cursor:pointer;transition:background var(--t-fast),transform .08s ease-out;white-space:nowrap}.inv-use-btn:hover:not(:disabled){background:#5b9cf633}.inv-use-btn:active:not(:disabled){transform:scale(.95)}.inv-use-btn:disabled{opacity:.35;cursor:not-allowed}.idle-progress-wrap{width:100%;display:flex;align-items:center;gap:8px;padding:0 1px;margin-top:4px}.idle-progress-track{flex:1;height:4px;background:#ffffff12;border-radius:2px;overflow:hidden}.idle-progress-fill{height:100%;width:0%;border-radius:2px;background:linear-gradient(90deg,var(--col-player) 0%,var(--col-gold) 100%);background-size:200% 100%;background-position:right center;transition:width .95s linear,background-position .95s ease}.idle-near-full .idle-progress-fill{background-position:left center;animation:idleBarPulse .55s ease-in-out infinite alternate}@keyframes idleBarPulse{0%{opacity:.75}to{opacity:1;box-shadow:0 0 6px var(--col-gold)}}.idle-reward .idle-progress-fill{background:var(--col-gold);box-shadow:0 0 10px var(--col-gold);transition:none}.idle-progress-label{display:flex;align-items:center;gap:3px;font-size:.62rem;font-weight:800;letter-spacing:.3px;color:var(--col-gold);white-space:nowrap;font-variant-numeric:tabular-nums;opacity:.85}
