:root{--colors-surface-base: #2f2a1d;--colors-surface-panel: #4a4231;--colors-surface-raised: #6b5c40;--colors-surface-sunken: #241f16;--colors-edge-outline: #1a160f;--colors-edge-highlight: #a8906a;--colors-text-primary: #f5ecd8;--colors-text-muted: #b8a888;--colors-accent-energy: #ffd700;--colors-accent-danger: #d94f3d;--colors-accent-success: #5fa855;--colors-accent-info: #4a9cc4;--decorative-violet: #9370db;--decorative-indigo: #4b0082;--decorative-orange: #ff7f00;--terrain-ground1-top: #3c4a2c;--terrain-ground1-mid: #46552f;--terrain-ground1-bot: #39442a;--terrain-ground2-top: #42392a;--terrain-ground2-mid: #544733;--terrain-ground2-bot: #3d3427;--terrain-ground3-top: #3d3226;--terrain-ground3-mid: #4b3d2c;--terrain-ground3-bot: #352b20;--terrain-ground4-top: #382a22;--terrain-ground4-mid: #46332a;--terrain-ground4-bot: #2f231d;--terrain-ground5-top: #33221d;--terrain-ground5-mid: #472e25;--terrain-ground5-bot: #2a1b17;--terrain-ridge-far: #2b3520;--terrain-ridge-near: #232c1b;--terrain-foreground: #20281a;--terrain-vignette: #1a160f;--terrain-node-done: #2f4a2f;--terrain-node-open: #ffe9a0;--terrain-node-boss: #ff9d52;--terrain-prop-dark: #2a2015;--terrain-prop-leaf: #5a7a3f;--terrain-prop-cloth: #a9784f;--terrain-prop-stone: #8a8578;--terrain-prop-ember: #ff7a3d;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 20px;--space-xl: 32px;--radii-sm: 4px;--radii-md: 8px;--radii-lg: 14px;--radii-pill: 999px;--borders-thin: 2px;--borders-outline: 3px;--borders-heavy: 5px;--shadows-drop: 0 4px 0 rgba(26, 22, 15, .55);--shadows-panel: 0 6px 18px rgba(26, 22, 15, .45);--shadows-pressed: inset 0 3px 0 rgba(26, 22, 15, .45);--type-display: "Black Ops One", system-ui, sans-serif;--type-body: system-ui, -apple-system, "Segoe UI", sans-serif;--type-size-sm: 12px;--type-size-md: 16px;--type-size-lg: 22px;--type-size-xl: 34px;--type-weight-regular: 400;--type-line-tight: 1.1;--type-line-body: 1.5;--sweep-angle: 0deg}@font-face{font-family:Black Ops One;src:url(/assets/black-ops-one-v20-latin-regular-BmN5PRvP.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{min-height:100vh;overflow-x:hidden;background:var(--colors-surface-base);color:var(--colors-text-primary)}#root{min-height:100vh}.resource-icon{display:flex;align-items:center;gap:8px;padding:8px 15px;background:color-mix(in srgb,var(--colors-surface-panel) 80%,transparent);border-radius:20px;border:1px solid var(--colors-surface-raised)}.resource-symbol{font-size:24px}.resource-image{width:24px;height:24px;object-fit:contain}.resource-info{display:flex;flex-direction:column}.resource-value{font-family:var(--type-display);font-size:18px;font-weight:700;color:var(--colors-text-primary)}.resource-label{font-size:12px;color:var(--colors-text-muted)}.resource-requirement .resource-symbol{font-size:18px}.resource-requirement .resource-value{font-size:16px}.resource-requirement .resource-label{display:none}.energy-bar{flex:1 1 auto;min-width:0;padding:0 var(--space-sm);margin:0}.energy-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs)}.energy-icon{font-size:28px;color:var(--colors-accent-energy)}.energy-text{font-size:20px;font-weight:700;color:var(--colors-accent-energy);text-shadow:1px 1px 0 var(--colors-edge-outline)}.energy-info{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-xs)}.energy-count{font-family:var(--type-display);font-size:24px;font-weight:700;color:var(--colors-text-primary)}.energy-timer{font-size:18px;color:var(--colors-text-muted);background:color-mix(in srgb,var(--colors-edge-outline) 40%,transparent);padding:5px 10px;border-radius:8px}.energy-progress-bar{height:12px;background:color-mix(in srgb,var(--colors-edge-outline) 30%,transparent);border-radius:10px;overflow:hidden;position:relative;margin-bottom:var(--space-xs)}.energy-progress-fill{height:100%;background:linear-gradient(to right,var(--colors-surface-panel),var(--colors-accent-energy));transition:width .5s;position:relative;z-index:2}.energy-recharge-progress{position:absolute;top:0;left:0;height:100%;background:color-mix(in srgb,var(--colors-accent-energy) 30%,transparent);z-index:1;transition:width 1s linear}.energy-rate{font-size:14px;color:var(--colors-text-muted);text-align:center}@keyframes energy-pulse{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}.energy-recharge-progress{animation:energy-pulse 1.5s infinite}@media (max-width: 768px){.energy-bar{padding:0 var(--space-xs)}.energy-icon{font-size:24px}.energy-text{font-size:18px}.energy-count{font-size:20px}.energy-timer{font-size:16px}}.energy-buy{margin-top:var(--space-xs);width:100%;padding:3px var(--space-sm);font-family:var(--type-display);font-size:var(--type-size-sm);letter-spacing:.04em;color:var(--colors-edge-outline);background:var(--colors-accent-energy);border:var(--borders-thin) solid var(--colors-edge-outline);border-radius:var(--radii-sm);box-shadow:var(--shadows-drop);cursor:pointer;transition:transform .15s ease-out,filter .15s ease-out}.energy-buy:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.08)}.energy-buy:disabled{background:var(--colors-surface-raised);color:var(--colors-text-primary);box-shadow:none;cursor:not-allowed}.card-container{width:100px;height:130px;display:flex;flex-direction:column;background:var(--colors-surface-sunken);border:var(--borders-outline) solid var(--colors-edge-outline);border-radius:var(--radii-md);overflow:hidden;cursor:pointer;transition:all .3s;box-shadow:var(--shadows-drop);flex-shrink:0;position:relative}.card-container.selected{border-color:var(--colors-accent-energy);transform:translateY(-10px);box-shadow:0 8px 15px color-mix(in srgb,var(--colors-accent-energy) 40%,transparent)}.card-container.disabled{opacity:.6;filter:grayscale(80%);cursor:not-allowed}.card-container:active:not(.disabled):not(.selected){transition:transform 60ms ease-out,box-shadow 60ms ease-out;transform:translateY(2px);box-shadow:var(--shadows-pressed)}.cooldown-sweep{position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:conic-gradient(var(--colors-surface-sunken) var(--sweep-angle, 0deg),transparent var(--sweep-angle, 0deg));opacity:.72}.card-header{display:block;background:color-mix(in srgb,var(--colors-edge-outline) 40%,transparent);padding:5px 6px;min-height:32px}.card-name{font-size:10px;font-weight:700;color:var(--colors-text-primary);line-height:1.2;word-break:normal;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;text-align:center}.card-level{float:right;margin-left:4px;font-size:10px;background:var(--colors-accent-energy);color:var(--colors-surface-sunken);padding:0 5px;border-radius:10px;font-weight:700;line-height:1.4}.card-image{flex:1 1 auto;min-height:0;display:flex;justify-content:center;align-items:center;background:color-mix(in srgb,var(--colors-edge-outline) 20%,transparent)}.pixel-art-placeholder{width:60px;height:60px;background:var(--colors-surface-panel);border:2px solid var(--colors-surface-raised);border-radius:5px}.card-cost{display:flex;justify-content:center;align-items:center;padding:3px 5px;background:color-mix(in srgb,var(--colors-edge-outline) 30%,transparent);border-top:1px solid var(--colors-surface-panel);font-weight:700;flex-shrink:0}.cost-value{font-family:var(--type-display);color:var(--colors-accent-energy);margin-right:4px;font-size:14px;line-height:1}.card-container .energy-icon{font-size:14px;color:var(--colors-accent-energy);line-height:1}.card-stats{display:flex;justify-content:space-around;padding:3px 5px;background:color-mix(in srgb,var(--colors-edge-outline) 40%,transparent);border-top:1px solid var(--colors-surface-panel);flex-shrink:0}.stat{display:flex;align-items:center}.stat-icon{font-size:14px;margin-right:3px}.stat-value{font-family:var(--type-display);font-size:14px;color:var(--colors-text-primary);font-weight:700}.card-character-image{width:60px;height:60px;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;object-fit:contain;filter:drop-shadow(0 2px 4px color-mix(in srgb,var(--colors-edge-outline) 30%,transparent))}.card-container:hover .card-character-image{transform:scale(1.05);transition:transform .2s ease}.card-image{display:flex;justify-content:center;align-items:center}.game-board-container{position:relative;width:100%;height:100vh;background:var(--colors-surface-base);overflow:hidden;font-family:var(--type-body);display:flex;flex-direction:column}.game-top-bar{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;background:color-mix(in srgb,var(--colors-surface-base) 80%,transparent);border-bottom:2px solid var(--colors-surface-panel);height:60px;box-shadow:0 3px 10px color-mix(in srgb,var(--colors-edge-outline) 50%,transparent);z-index:10;position:relative;flex-shrink:0}.energy-container,.score-container,.base-health-container{display:flex;align-items:center;background:color-mix(in srgb,var(--colors-surface-base) 70%,transparent);border:1px solid var(--colors-surface-raised);border-radius:20px;padding:5px 15px;min-width:fit-content}.energy-value,.score-value,.health-value{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";text-align:right;flex:0 0 auto;font-family:var(--type-display)}.energy-container{min-width:100px}.game-board-container .energy-icon{font-size:24px;color:var(--colors-accent-energy);margin-right:8px}.energy-value{width:4.5ch;font-size:20px;font-weight:700;color:var(--colors-text-primary)}.score-container{background:color-mix(in srgb,var(--colors-surface-sunken) 70%,transparent);border-color:var(--decorative-violet)}.score-label{font-size:16px;color:color-mix(in srgb,var(--decorative-violet) 60%,var(--colors-text-primary) 40%);margin-right:8px;text-transform:uppercase}.score-value{width:6.5ch;font-size:20px;font-weight:700;color:var(--colors-text-primary)}.base-health-container{background:color-mix(in srgb,var(--colors-surface-sunken) 70%,transparent);border-color:var(--colors-accent-danger)}.base-icon{font-size:24px;margin-right:10px}.health-bar{width:100px;height:12px;background:var(--colors-surface-sunken);border-radius:6px;overflow:hidden;margin-right:10px}.health-fill{height:100%;background:linear-gradient(to right,var(--colors-accent-danger),var(--colors-accent-energy));transition:width .3s}.health-value{font-size:16px;color:var(--colors-text-primary);width:5.5ch}.game-canvas-frame{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.game-canvas{aspect-ratio:16 / 9;max-width:100%;max-height:100%;width:auto;height:auto;background:var(--colors-surface-base);display:block}.game-bottom-bar{height:180px;padding:15px 20px;background:color-mix(in srgb,var(--colors-surface-base) 80%,transparent);border-top:2px solid var(--colors-surface-panel);display:flex;align-items:center;justify-content:center;position:relative;z-index:10;flex-shrink:0;box-shadow:0 -3px 10px color-mix(in srgb,var(--colors-edge-outline) 50%,transparent)}.card-slots-container{display:flex;gap:8px;padding:10px;background:color-mix(in srgb,var(--colors-edge-outline) 70%,transparent);border-radius:10px;border:2px solid var(--colors-surface-sunken);box-shadow:0 4px 20px color-mix(in srgb,var(--colors-edge-outline) 50%,transparent);max-width:90%;overflow-x:auto;height:auto;align-items:center}.card-slots-container::-webkit-scrollbar{height:0}.tool-slot{display:flex;align-items:center;justify-content:center;margin-right:10px;position:relative}.shovel-button{width:60px;height:80px;font-size:30px;background:var(--colors-surface-raised);border:2px solid var(--colors-surface-sunken);border-radius:8px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 5px color-mix(in srgb,var(--colors-edge-outline) 30%,transparent);position:relative;top:0}.shovel-button:hover:not(.active){background:var(--colors-surface-raised);transform:translateY(-2px);box-shadow:0 4px 8px color-mix(in srgb,var(--colors-edge-outline) 40%,transparent)}.shovel-button.active{background:var(--colors-accent-danger);border-color:var(--colors-accent-danger);animation:pulse 1s infinite;transform:none!important;top:0}.shovel-button:active{transform:translateY(0)!important}@keyframes pulse{0%{box-shadow:0 0 10px color-mix(in srgb,var(--colors-accent-danger) 50%,transparent)}50%{box-shadow:0 0 20px color-mix(in srgb,var(--colors-accent-danger) 80%,transparent)}to{box-shadow:0 0 10px color-mix(in srgb,var(--colors-accent-danger) 50%,transparent)}}.game-canvas.shovel-mode{cursor:crosshair!important}.game-bottom-bar{position:relative;min-height:120px}.card-slots-container{display:flex;align-items:center;gap:10px;padding:10px}.card-slot-wrapper{position:relative;flex-shrink:0;height:auto;width:auto}.card-slot-wrapper .card-container{width:80px!important;height:auto!important}.cooldown-overlay{position:absolute;inset:0;pointer-events:none;border-radius:8px;overflow:hidden}.cooldown-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--colors-text-primary);font-size:24px;font-weight:700;text-shadow:2px 2px 4px color-mix(in srgb,var(--colors-edge-outline) 80%,transparent);z-index:10}.card-slot-wrapper .card-container.disabled{filter:grayscale(50%);opacity:.8}.card-slot-wrapper .card-container.selected{box-shadow:0 0 20px var(--colors-accent-success),0 0 40px var(--colors-accent-success);transform:translateY(-5px);border:3px solid var(--colors-accent-success)}.card-slot-wrapper .card-container:not(.disabled):hover{transform:translateY(-3px);box-shadow:0 5px 15px color-mix(in srgb,var(--colors-text-primary) 30%,transparent);cursor:pointer}.card-slot-wrapper .card-container.disabled .card-cost{color:var(--colors-accent-danger);font-weight:700}.deployment-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:color-mix(in srgb,var(--colors-edge-outline) 80%,transparent);padding:12px 25px;border-radius:30px;border:2px solid var(--colors-accent-energy);color:var(--colors-text-primary);font-size:18px;font-weight:700;display:flex;align-items:center;gap:10px;pointer-events:none;z-index:5;box-shadow:0 0 15px color-mix(in srgb,var(--colors-accent-energy) 50%,transparent);animation:pulse 1.5s infinite}@keyframes pulse{0%{opacity:.7;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}to{opacity:.7;transform:translate(-50%,-50%) scale(1)}}.indicator-icon{font-size:24px;color:var(--colors-accent-energy)}.game-over-screen{position:absolute;top:0;left:0;width:100%;height:100%;background:color-mix(in srgb,var(--colors-surface-base) 90%,transparent);display:flex;flex-direction:column;justify-content:safe center;align-items:center;overflow-y:auto;z-index:20;color:var(--colors-text-primary);text-align:center;padding:20px}.game-over-screen>*{flex-shrink:0}.game-over-screen h2{font-family:var(--type-display);font-size:42px;color:var(--colors-accent-energy);margin-bottom:30px;text-transform:uppercase;text-shadow:2px 2px 4px color-mix(in srgb,var(--colors-edge-outline) 50%,transparent)}.result-details{background:color-mix(in srgb,var(--colors-text-primary) 10%,transparent);border-radius:10px;padding:30px;margin-bottom:30px;min-width:400px;border:2px solid color-mix(in srgb,var(--colors-text-primary) 20%,transparent)}.result-details p{font-size:22px;margin:10px 0}.score-value,.gold-value{color:var(--colors-accent-energy);font-weight:700;font-size:26px}.score-section{margin-bottom:20px;text-align:center}.score-section p{font-size:1.4em;margin:10px 0}.score-value,.level-value{color:var(--colors-accent-success);font-weight:700;font-size:1.2em}.stars-value{font-family:var(--type-display);font-size:var(--type-size-xl);color:var(--colors-accent-energy);line-height:var(--type-line-tight)}.rewards-section h3{text-align:center;margin-bottom:15px;font-size:1.3em;color:var(--colors-text-primary)}.resource-line{display:flex;align-items:center;justify-content:center;margin:10px 0;font-size:1.2em}.resource-line.loss{color:var(--colors-accent-danger)}.game-board-container .resource-icon{font-size:1.5em;margin-right:10px}.resource-text{font-weight:500}.card-pieces-section{margin-top:20px;padding-top:20px;border-top:1px solid color-mix(in srgb,var(--colors-text-primary) 20%,transparent)}.card-pieces-section h4{text-align:center;color:var(--decorative-violet);margin-bottom:10px;font-size:1.1em}.game-board-container .pieces-icon{font-size:1.5em;color:var(--decorative-violet);margin-right:10px}.warning-text{display:flex;align-items:center;justify-content:center;margin-top:20px;color:var(--colors-accent-energy);font-size:1.1em}.warning-icon{font-size:1.5em;margin-right:10px}.defeat-message{text-align:center;margin-top:20px;font-style:italic;color:var(--colors-text-muted)}.game-board-container .action-buttons{display:flex;gap:20px;margin-top:20px;flex-wrap:wrap;justify-content:center}.lobby-button,.replay-button{padding:15px 30px;font-size:18px;font-weight:700;border-radius:30px;cursor:pointer;transition:all .3s;border:none;text-transform:uppercase;min-width:200px;box-shadow:var(--shadows-drop)}.lobby-button{background:linear-gradient(to bottom,var(--colors-surface-raised),var(--colors-surface-base));color:var(--colors-text-primary);border:var(--borders-outline) solid var(--colors-edge-highlight)}.replay-button{background:var(--colors-accent-energy);color:var(--colors-surface-sunken);border:var(--borders-outline) solid var(--colors-accent-energy)}.lobby-button:hover{background:linear-gradient(to bottom,var(--colors-surface-raised),var(--colors-surface-panel));transform:translateY(-3px);box-shadow:0 5px 15px color-mix(in srgb,var(--colors-surface-raised) 50%,transparent)}.replay-button:hover{background:var(--colors-accent-energy);transform:translateY(-3px);box-shadow:0 5px 15px color-mix(in srgb,var(--colors-accent-energy) 50%,transparent)}.settings-button{position:absolute;top:10px;right:10px;background:color-mix(in srgb,var(--colors-edge-outline) 50%,transparent);border:1px solid var(--colors-text-primary);border-radius:50%;box-shadow:var(--shadows-drop),0 0 0 var(--borders-outline) var(--colors-edge-outline);font-size:20px;color:var(--colors-text-primary);cursor:pointer;width:30px;height:30px;display:flex;align-items:center;justify-content:center;z-index:100}.settings-button:hover{background:color-mix(in srgb,var(--colors-text-primary) 20%,transparent);transform:scale(1.1)}.quit-dialog-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:color-mix(in srgb,var(--colors-edge-outline) 80%,transparent);display:flex;justify-content:center;align-items:center;z-index:1000}.quit-dialog{background:var(--colors-surface-panel);border:3px solid var(--colors-accent-energy);border-radius:var(--radii-lg);padding:30px;max-width:400px;text-align:center;box-shadow:0 0 20px color-mix(in srgb,var(--colors-accent-energy) 50%,transparent)}.quit-dialog h3{font-family:var(--type-display);color:var(--colors-accent-energy);font-size:28px;margin-bottom:20px;text-transform:uppercase}.quit-dialog p{color:var(--colors-text-primary);font-size:16px;line-height:1.5;margin-bottom:var(--space-md)}.quit-dialog p:last-of-type{margin-bottom:30px}.quit-dialog-cost{color:var(--colors-text-muted)}.quit-dialog-buttons{display:flex;gap:20px;justify-content:center}.quit-confirm-button,.quit-cancel-button{padding:12px 25px;font-size:16px;font-weight:700;border-radius:25px;cursor:pointer;transition:all .3s;border:none;text-transform:uppercase;min-width:140px;box-shadow:var(--shadows-drop)}.quit-confirm-button{background:var(--colors-accent-danger);color:var(--colors-text-primary);border:var(--borders-outline) solid var(--colors-accent-danger)}.quit-confirm-button:hover{background:var(--colors-accent-danger);transform:translateY(-2px);box-shadow:0 5px 15px color-mix(in srgb,var(--colors-accent-danger) 40%,transparent)}.quit-cancel-button{background:var(--colors-accent-success);color:var(--colors-text-primary);border:var(--borders-outline) solid var(--colors-accent-success)}.quit-cancel-button:hover{background:var(--colors-accent-success);transform:translateY(-2px);box-shadow:0 5px 15px color-mix(in srgb,var(--colors-accent-success) 40%,transparent)}@media (max-width: 768px) and (orientation: portrait){.game-board-container{height:100vh;width:100vw}.game-top-bar{flex-wrap:wrap;height:auto;padding:10px}.energy-container,.score-container,.base-health-container{padding:5px 10px;font-size:14px}.game-board-container .energy-icon,.base-icon{font-size:20px;margin-right:5px}.energy-value,.score-value{font-size:16px}.score-label{font-size:12px}.health-bar{width:60px}.health-value{font-size:14px}.game-bottom-bar{height:140px;padding:5px}.card-slots-container{gap:5px;padding:5px}.card-slot-wrapper{height:120px}.card-slot-wrapper .card-container{width:78px!important}.card-slot-wrapper .card-name{font-size:10px}.deployment-indicator{font-size:14px;padding:8px 15px}.game-over-screen h2{font-size:28px}.result-details{padding:15px 20px}.result-details p{font-size:18px}.score-value,.gold-value{font-size:20px}.lobby-button,.replay-button{padding:12px 20px;font-size:16px;min-width:150px}.game-board-container .action-buttons{flex-direction:column;gap:15px;width:100%;align-items:center}.quit-dialog{max-width:90%;padding:20px}.quit-dialog h3{font-size:24px}.quit-dialog p{font-size:14px}.quit-dialog-buttons{flex-direction:column;gap:15px}.quit-confirm-button,.quit-cancel-button{width:100%}}@media (max-height: 500px) and (orientation: landscape){.game-board-container{height:100vh;width:100vw}.game-top-bar{height:40px;padding:2px 46px 2px 12px}.game-bottom-bar{height:88px;padding:2px 8px}.energy-container,.score-container,.base-health-container{padding:3px 8px;font-size:12px}.game-board-container .energy-icon,.base-icon{font-size:18px;margin-right:5px}.energy-value,.score-value{font-size:14px}.score-label{font-size:11px}.health-bar{width:50px;height:8px}.health-value{font-size:12px}.card-slots-container{gap:5px;padding:5px}.card-slot-wrapper{height:78px}.card-slot-wrapper .card-container{width:72px!important}.card-slot-wrapper .card-name{font-size:10px}.wave-announcement{font-size:16px}}@media (min-width: 769px) and (max-width: 1024px) and (min-height: 501px){.game-board-container{max-width:100%}.game-bottom-bar{height:160px}.card-slot-wrapper{height:120px}.energy-container,.score-container,.base-health-container{padding:5px 12px}.game-board-container .energy-icon,.base-icon{font-size:22px}.energy-value,.score-value{font-size:18px}}@media (min-width: 1440px){.game-board-container{max-width:1440px;margin:0 auto}.game-top-bar{padding:15px 30px;height:70px}.game-bottom-bar{height:180px;padding:10px 30px}.card-slot-wrapper{height:140px}.card-slot-wrapper .card-container{width:90px!important}}.lobby-container{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);width:100%;height:100vh;padding:var(--space-md);background:var(--colors-surface-base);font-family:var(--type-display);color:var(--colors-text-primary);box-sizing:border-box}.game-map{position:relative;width:100%;height:100%;background:var(--colors-surface-sunken)}.game-map:after{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;background:radial-gradient(130% 100% at 50% 45%,transparent 52%,var(--terrain-vignette) 100%)}.resource{display:flex;align-items:center;gap:8px}.label{font-size:16px;color:var(--colors-text-muted)}.value{font-family:var(--type-display);font-size:18px;font-weight:700;color:var(--colors-accent-energy)}.energy .value{color:var(--colors-accent-info)}.card-hand{display:flex;gap:12px;margin-top:15px}.card{padding:10px 15px;background-color:var(--colors-surface-panel);border-radius:8px;cursor:pointer;border:2px solid var(--colors-surface-raised);transition:all .2s;min-width:100px;text-align:center}.card.selected{border-color:var(--colors-accent-energy);background-color:var(--colors-surface-panel);transform:translateY(-5px)}@keyframes pulse{0%{opacity:.7}50%{opacity:1}to{opacity:.7}}.energy .value{position:relative}.energy .value:after{content:"";position:absolute;inset:-5px;border:2px solid var(--colors-accent-info);border-radius:8px;opacity:0;animation:pulse 2s infinite}.energy.recharging .value:after{opacity:1}.lobby-topband{display:flex;flex:0 0 auto;align-items:center;gap:var(--space-md);flex-wrap:nowrap;width:100%;box-sizing:border-box;padding:var(--space-sm) var(--space-md);background:linear-gradient(180deg,var(--colors-surface-panel),var(--colors-surface-sunken));border:var(--borders-outline) solid var(--colors-edge-outline);border-radius:var(--radii-lg);box-shadow:var(--shadows-drop),inset 0 1px 0 var(--colors-edge-highlight)}.top-menu-bar{display:flex;flex:1 1 auto;min-width:0;justify-content:space-between;align-items:center;gap:var(--space-md)}.player-info{text-align:center}.player-name{font-size:24px;font-weight:700;color:var(--colors-accent-energy);text-shadow:2px 2px 0 var(--colors-edge-outline)}.player-rank{font-size:16px;color:var(--colors-text-muted)}.menu-buttons{display:flex;gap:var(--space-sm)}.menu-button{display:flex;flex-direction:column;align-items:center;padding:var(--space-xs) var(--space-sm);white-space:nowrap;background:var(--colors-surface-panel);border:var(--borders-outline) solid var(--colors-surface-raised);border-radius:8px;box-shadow:var(--shadows-drop);color:var(--colors-text-primary);cursor:pointer;transition:all .2s}.menu-button:hover{background:var(--colors-surface-sunken);transform:translateY(-2px)}.menu-button i{font-size:24px;margin-bottom:5px}.resource-bar{display:flex;flex:0 1 auto;min-width:0;align-items:center;gap:var(--space-xs)}.lobby-container .resource-icon{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);white-space:nowrap;background:color-mix(in srgb,var(--colors-surface-panel) 80%,transparent);border-radius:20px;border:1px solid var(--colors-surface-raised)}.lobby-container .resource-symbol{font-size:24px}.lobby-container .resource-info{display:flex;flex-direction:column}.lobby-container .resource-value{font-family:var(--type-display);font-size:18px;font-weight:700}.lobby-container .resource-label{font-size:12px;color:var(--colors-text-muted)}.worker-status-container{display:flex;gap:15px;margin-bottom:20px;justify-content:center}.game-map-container{position:relative;flex:0 1 auto;min-height:0;width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:auto;border:var(--borders-outline) solid var(--colors-edge-outline);border-radius:var(--radii-lg);box-shadow:inset 0 0 40px var(--terrain-vignette);cursor:grab;touch-action:pinch-zoom;scrollbar-width:none;-webkit-user-select:none;user-select:none}.game-map-container::-webkit-scrollbar{display:none}.game-map-container:active{cursor:grabbing}.level-pulse{position:absolute;width:100%;height:100%;border-radius:50%;background:color-mix(in srgb,var(--colors-accent-energy) 30%,transparent);animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1);opacity:.7}50%{transform:scale(1.2);opacity:.3}to{transform:scale(1);opacity:.7}}.treasure-chest{position:absolute;width:50px;height:40px;cursor:pointer;transform:translate(-50%,-50%);filter:drop-shadow(0 0 5px color-mix(in srgb,var(--colors-accent-energy) 70%,transparent));transition:all .3s}.treasure-chest img{width:100%;height:100%;object-fit:contain}.treasure-chest.collected{filter:grayscale(100%) brightness(.7)}.treasure-chest.locked-chest{filter:grayscale(100%) brightness(.5);cursor:not-allowed}.treasure-chest:not(.collected):not(.locked-chest):hover{transform:translate(-50%,-50%) scale(1.1);filter:drop-shadow(0 0 10px color-mix(in srgb,var(--colors-accent-energy) 90%,transparent))}@keyframes glow{0%{opacity:.3}to{opacity:.7}}.upgrade-button{flex:0 0 auto;padding:var(--space-md) var(--space-lg);background:linear-gradient(to bottom,var(--colors-surface-panel),var(--colors-surface-sunken));border:3px solid var(--colors-surface-raised);border-radius:50px;color:var(--colors-accent-energy);font-size:18px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:10px;box-shadow:0 4px 10px color-mix(in srgb,var(--colors-edge-outline) 50%,transparent);transition:all .2s}.upgrade-button:hover{transform:scale(1.05);box-shadow:0 6px 15px color-mix(in srgb,var(--colors-edge-outline) 70%,transparent)}.zone-background{position:absolute;top:0;bottom:0;overflow:hidden}.zone-tutorial{background:repeating-linear-gradient(58deg,color-mix(in srgb,var(--terrain-ground1-top) 5%,transparent) 0 3px,transparent 3px 10px),linear-gradient(180deg,var(--terrain-ground1-top) 0%,var(--terrain-ground1-mid) 42%,var(--terrain-ground1-bot) 100%)}.zone-early{background:repeating-linear-gradient(58deg,color-mix(in srgb,var(--terrain-ground2-top) 5%,transparent) 0 3px,transparent 3px 10px),linear-gradient(180deg,var(--terrain-ground2-top) 0%,var(--terrain-ground2-mid) 42%,var(--terrain-ground2-bot) 100%)}.zone-mid{background:repeating-linear-gradient(58deg,color-mix(in srgb,var(--terrain-ground3-top) 4%,transparent) 0 3px,transparent 3px 10px),linear-gradient(180deg,var(--terrain-ground3-top) 0%,var(--terrain-ground3-mid) 42%,var(--terrain-ground3-bot) 100%)}.zone-late{background:repeating-linear-gradient(58deg,color-mix(in srgb,var(--terrain-ground4-top) 5%,transparent) 0 3px,transparent 3px 10px),linear-gradient(180deg,var(--terrain-ground4-top) 0%,var(--terrain-ground4-mid) 42%,var(--terrain-ground4-bot) 100%)}.zone-endgame{background:repeating-linear-gradient(58deg,color-mix(in srgb,var(--terrain-ground5-top) 6%,transparent) 0 3px,transparent 3px 10px),linear-gradient(180deg,var(--terrain-ground5-top) 0%,var(--terrain-ground5-mid) 42%,var(--terrain-ground5-bot) 100%)}.zone-ridge{position:absolute;left:-2%;right:-2%;top:0;height:44%;z-index:1;opacity:.5;pointer-events:none;mask-image:linear-gradient(to bottom,var(--colors-edge-outline) 62%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,var(--colors-edge-outline) 62%,transparent 100%)}.zone-label{position:absolute;top:var(--space-md);left:50%;transform:translate(-50%);z-index:2;font-family:var(--type-display);font-size:var(--type-size-sm);letter-spacing:.32em;text-transform:uppercase;white-space:nowrap;color:var(--colors-text-muted);opacity:.45;pointer-events:none}.zone-background+.zone-background:before{content:"";position:absolute;top:0;bottom:0;left:-60px;width:120px;z-index:3;pointer-events:none;background:linear-gradient(90deg,transparent 0%,var(--terrain-vignette) 50%,transparent 100%);opacity:.55}.zone-fore{position:absolute;left:0;right:0;bottom:0;height:22%;z-index:4;pointer-events:none}.terrain-prop{position:absolute;width:70px;height:70px;transform:translate(-50%);z-index:3;pointer-events:none}.terrain-prop.prop-far{width:45px;height:45px;opacity:.45}.level-node{position:absolute;width:62px;height:62px;transform:translate(-50%,-50%);border-radius:50%;display:grid;place-items:center;font-family:var(--type-display);font-size:var(--type-size-md);border:var(--borders-outline) solid var(--colors-edge-outline);cursor:pointer;z-index:10}.level-node.completed{background:radial-gradient(circle at 35% 30%,var(--colors-surface-raised),var(--terrain-node-done));color:var(--colors-text-primary);border-color:var(--colors-accent-success);box-shadow:var(--shadows-drop),0 0 0 var(--borders-thin) color-mix(in srgb,var(--colors-accent-success) 45%,transparent)}.level-node.completed:before{content:"✓";position:absolute;top:-6px;left:-6px;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:var(--colors-accent-success);color:var(--colors-edge-outline);border:var(--borders-thin) solid var(--colors-edge-outline);font-size:13px;font-weight:700;line-height:1}.level-node.available{background:radial-gradient(circle at 35% 30%,var(--terrain-node-open),var(--colors-accent-energy));color:var(--colors-edge-outline);box-shadow:var(--shadows-drop),0 0 0 6px color-mix(in srgb,var(--colors-accent-energy) 16%,transparent)}.level-node.locked{background:var(--colors-surface-sunken);color:var(--colors-text-muted);border-color:color-mix(in srgb,var(--colors-edge-outline) 55%,transparent);box-shadow:none;cursor:not-allowed}.level-node:not(.locked):hover{transform:translate(-50%,-50%) scale(1.1);box-shadow:0 6px 12px color-mix(in srgb,var(--colors-edge-outline) 40%,transparent)}.level-node.boss{width:66px;height:66px;border-radius:var(--radii-lg);border-width:var(--borders-heavy);font-size:var(--type-size-lg);background:radial-gradient(circle at 35% 30%,var(--terrain-node-boss),var(--colors-accent-danger));color:var(--colors-edge-outline)}.level-node.boss:after{content:"";position:absolute;inset:-8px;border:var(--borders-thin) dashed color-mix(in srgb,var(--colors-accent-danger) 45%,transparent);border-radius:calc(var(--radii-lg) + 4px)}.map-chest{position:absolute;transform:translate(-50%,-50%);width:22px;height:22px;filter:drop-shadow(0 2px 2px var(--colors-edge-outline))}.boss-indicator{position:absolute;top:-10px;right:-10px;background:var(--colors-accent-danger);color:var(--colors-text-primary);font-size:10px;padding:2px 5px;border-radius:10px;font-weight:700}.level-node.final-level{animation:finalPulse 2s infinite}@keyframes finalPulse{0%,to{box-shadow:0 0 30px color-mix(in srgb,var(--colors-accent-energy) 80%,transparent)}50%{box-shadow:0 0 50px var(--colors-accent-energy)}}.level-number{font-family:var(--type-display);font-size:20px;font-weight:700;text-shadow:1px 1px 2px color-mix(in srgb,var(--colors-edge-outline) 50%,transparent)}.level-name{position:absolute;bottom:-36px;left:50%;transform:translate(-50%);font-size:10px;white-space:nowrap;color:var(--colors-text-primary);font-weight:700;text-shadow:1px 1px 2px color-mix(in srgb,var(--colors-edge-outline) 50%,transparent);pointer-events:none}.level-pulse{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;border-radius:50%;background:color-mix(in srgb,var(--colors-text-primary) 30%,transparent);animation:pulse 1.5s infinite}@keyframes pulse{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-50%) scale(1.5);opacity:0}}.stars{position:absolute;bottom:-18px;left:50%;transform:translate(-50%);display:flex;gap:var(--space-xs);justify-content:center;line-height:1;white-space:nowrap;pointer-events:none}.star{color:var(--colors-text-primary);text-shadow:0 1px 0 var(--colors-edge-outline);font-size:var(--type-size-md);line-height:1}.star.earned{color:var(--colors-accent-energy);text-shadow:0 2px 0 var(--colors-edge-outline)}.endless-portal{position:absolute;width:100px;height:100px;cursor:pointer;z-index:15;transform:translate(-50%,-50%)}.endless-portal.locked{cursor:not-allowed;opacity:.5;filter:grayscale(1)}.portal-animation{position:relative;width:100%;height:100%}.portal-ring{position:absolute;border:3px solid;border-radius:50%;animation:portalSpin 3s linear infinite}.ring-1{width:100%;height:100%;border-color:var(--colors-accent-danger);animation-duration:3s}.ring-2{width:80%;height:80%;top:10%;left:10%;border-color:var(--decorative-orange);animation-duration:4s;animation-direction:reverse}.ring-3{width:60%;height:60%;top:20%;left:20%;border-color:var(--colors-accent-energy);animation-duration:2s}@keyframes portalSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.portal-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40%;height:40%;background:radial-gradient(circle,var(--decorative-violet),var(--decorative-indigo),var(--colors-accent-info));border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;animation:portalPulse 2s infinite}@keyframes portalPulse{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.1)}}.portal-label{color:var(--colors-text-primary);font-weight:700;font-size:12px;text-shadow:0 0 10px color-mix(in srgb,var(--colors-text-primary) 80%,transparent)}.highest-wave{font-family:var(--type-display);color:var(--colors-accent-energy);font-size:10px;margin-top:2px}.portal-glow{position:absolute;inset:-20px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--decorative-violet) 40%,transparent),transparent);animation:portalGlow 2s infinite}@keyframes portalGlow{0%,to{opacity:.5}50%{opacity:1}}.lock-message{position:absolute;bottom:-25px;left:50%;transform:translate(-50%);background:color-mix(in srgb,var(--colors-edge-outline) 80%,transparent);color:var(--colors-text-primary);padding:3px 8px;border-radius:3px;font-size:10px;white-space:nowrap}.map-connection{position:absolute;height:12px;border-radius:999px;background-color:var(--colors-edge-outline);background-image:radial-gradient(circle,var(--colors-edge-highlight) 2px,transparent 2.5px);background-size:17px 12px;background-repeat:repeat-x;background-position:center;transform-origin:center;opacity:.72;z-index:6}.map-connection.unlocked{background:linear-gradient(90deg,transparent,var(--colors-accent-success),transparent);opacity:.7}.map-connection.rainbow-connection{background:linear-gradient(90deg,var(--colors-accent-danger),var(--decorative-orange),var(--colors-accent-energy),var(--colors-accent-success),var(--colors-accent-info),var(--decorative-indigo),var(--decorative-violet));opacity:1;animation:rainbowFlow 2s linear infinite}@keyframes rainbowFlow{0%{background-position:0 0}to{background-position:200px 0}}.treasure-chest{position:absolute;width:40px;height:40px;cursor:pointer;transition:transform .3s ease;z-index:8}.treasure-chest:not(.collected):not(.locked-chest):hover{transform:translate(-50%,-50%) scale(1.2)}.treasure-chest.collected{opacity:.5;cursor:default}.treasure-chest.locked-chest{filter:grayscale(1);opacity:.5;cursor:not-allowed}.treasure-chest.secret-chest{animation:secretPulse 3s infinite}@keyframes secretPulse{0%,to{filter:drop-shadow(0 0 10px color-mix(in srgb,var(--colors-accent-energy) 50%,transparent))}50%{filter:drop-shadow(0 0 20px var(--colors-accent-energy))}}.chest-glow{position:absolute;inset:-10px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--colors-accent-energy) 60%,transparent),transparent);animation:chestGlow 1.5s infinite;pointer-events:none}@keyframes chestGlow{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.5}}.zoom-controls{position:absolute;top:80px;right:20px;display:flex;gap:10px;align-items:center;background:color-mix(in srgb,var(--colors-edge-outline) 50%,transparent);padding:5px 10px;border-radius:20px;z-index:20}.zoom-controls button{width:30px;height:30px;border-radius:50%;border:none;background:var(--colors-accent-success);box-shadow:var(--shadows-drop),0 0 0 var(--borders-outline) var(--colors-edge-outline);color:var(--colors-text-primary);font-size:18px;cursor:pointer;transition:background .3s}.zoom-controls button:hover{background:var(--colors-accent-success)}.zoom-controls span{color:var(--colors-text-primary);font-size:14px;min-width:40px;text-align:center}.endless-options-modal{background:var(--colors-text-primary);border-radius:10px;padding:30px;max-width:600px;width:90%;max-height:80vh;overflow-y:auto}.endless-options-modal h2{text-align:center;margin-bottom:20px;color:var(--colors-surface-sunken)}.difficulty-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;margin-bottom:20px}.difficulty-option{padding:15px;border:2px solid var(--colors-text-muted);border-radius:8px;cursor:pointer;transition:all .3s;background:var(--colors-text-primary)}.difficulty-option:hover{border-color:var(--colors-accent-success);transform:translateY(-2px);box-shadow:0 4px 8px color-mix(in srgb,var(--colors-edge-outline) 10%,transparent)}.difficulty-option.normal{border-color:var(--colors-accent-success)}.difficulty-option.challenge{border-color:var(--colors-accent-energy)}.difficulty-option h3{margin:0 0 8px;color:var(--colors-surface-sunken)}.difficulty-option p{margin:0 0 8px;color:var(--colors-surface-sunken);font-size:14px}.difficulty-option .multiplier{color:var(--colors-surface-sunken);font-weight:700;font-size:16px}.reward-notification{position:fixed;top:152px;left:50%;transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:var(--space-md);min-width:280px;padding:var(--space-md) var(--space-lg);background:linear-gradient(180deg,var(--colors-surface-panel),var(--colors-surface-sunken));border:var(--borders-outline) solid var(--colors-edge-outline);border-radius:var(--radii-lg);box-shadow:var(--shadows-drop),inset 0 1px 0 var(--colors-edge-highlight);animation:slideDown .4s ease-out;transition:opacity .9s ease-out,transform .9s ease-out;pointer-events:none}.reward-notification.fade-out{opacity:0;transform:translate(-50%) translateY(-16px)}.notification-icon{font-size:40px;line-height:1}.notification-content h3{margin:0 0 var(--space-xs);font-family:var(--type-display);font-size:var(--type-size-md);letter-spacing:.06em;color:var(--colors-text-primary)}.reward-resources{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin:0;padding:0;list-style:none}.reward-resource{display:flex;align-items:center}.reward-pieces{display:flex;flex-direction:column;gap:2px;margin:var(--space-sm) 0 0;padding:var(--space-sm) 0 0;list-style:none;border-top:1px solid var(--colors-surface-raised)}.reward-piece{display:flex;gap:var(--space-sm);justify-content:space-between;font-size:var(--type-size-sm)}.reward-piece-name{color:var(--colors-text-primary)}.reward-piece-count{font-family:var(--type-display);color:var(--colors-accent-energy)}.reward-defenders{display:flex;flex-direction:column;gap:2px;margin:var(--space-sm) 0 0;padding-top:var(--space-sm);border-top:1px solid var(--colors-surface-raised)}.reward-defenders-label{font-size:var(--type-size-sm);letter-spacing:.12em;text-transform:uppercase;color:var(--colors-text-muted)}.reward-notification .defender-name{margin:0;font-family:var(--type-display);font-size:var(--type-size-md);color:var(--colors-accent-energy)}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-100px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (max-width: 1300px){.lobby-container .resource-label,.player-rank{display:none}.menu-button{padding:var(--space-xs) var(--space-sm);font-size:12px}.lobby-container .resource-icon{padding:var(--space-xs) var(--space-sm);gap:var(--space-xs)}}@media (max-width: 1150px){.lobby-container{padding:var(--space-sm);gap:var(--space-xs)}.lobby-topband{flex-wrap:wrap;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm)}.top-menu-bar,.resource-bar{flex:1 1 100%;min-width:0;justify-content:space-between}.player-name{font-size:15px;text-shadow:1px 1px 0 var(--colors-edge-outline)}.menu-buttons{gap:var(--space-xs)}.resource-bar{gap:2px}.lobby-container .resource-symbol{font-size:15px}.lobby-container .resource-value{font-size:13px}.zone-label{font-size:9px;letter-spacing:.2em}.upgrade-button{padding:8px 18px;font-size:13px}}@media (max-width: 480px){.top-menu-bar{flex-wrap:wrap;gap:var(--space-xs)}.player-info,.menu-buttons{flex:1 1 100%}.player-info{text-align:left}.menu-buttons{justify-content:space-between}.menu-button{flex:1 1 auto;padding:5px 4px;font-size:10px}}@media (max-height: 500px){.lobby-container{padding:var(--space-xs);gap:4px}.lobby-topband{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding:2px var(--space-sm);gap:var(--space-xs)}.lobby-topband::-webkit-scrollbar{display:none}.top-menu-bar,.resource-bar,.player-info,.menu-buttons,.lobby-topband .energy-bar{flex:0 0 auto}.top-menu-bar{flex-wrap:nowrap}.player-name{font-size:13px}.player-rank{display:none}.menu-button{padding:3px 8px;font-size:10px}.lobby-container .resource-icon{padding:2px 6px}.lobby-container .resource-label,.lobby-topband .energy-rate,.lobby-topband .energy-header .energy-text{display:none}.lobby-topband .energy-bar{padding:2px 6px}.upgrade-button{padding:5px 14px;font-size:12px}}.upgrade-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--colors-surface-base);font-family:var(--type-body);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content h2{font-family:var(--type-display);color:var(--colors-text-primary)}.modal-content{width:90%;max-width:1200px;max-height:90vh;overflow-y:auto;background:var(--colors-surface-panel);border:3px solid var(--colors-surface-panel);border-radius:var(--radii-lg);padding:30px;position:relative;box-shadow:0 0 30px color-mix(in srgb,var(--colors-surface-panel) 50%,transparent)}.upgrade-modal .close-button{position:absolute;top:15px;right:15px;background:var(--colors-accent-danger);border:var(--borders-thin) solid var(--colors-surface-raised);box-shadow:var(--shadows-drop),0 0 0 var(--borders-outline) var(--colors-edge-outline);color:var(--colors-text-primary);width:40px;height:40px;border-radius:50%;font-size:24px;cursor:pointer;display:flex;justify-content:center;align-items:center}.upgrade-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:25px;margin-top:20px}.upgrade-card{background:color-mix(in srgb,var(--colors-surface-sunken) 80%,transparent);border:2px solid var(--colors-surface-panel);border-radius:12px;padding:20px;transition:all .3s;position:relative;display:flex;flex-direction:column;align-items:center}.upgrade-card.locked{opacity:.6;filter:grayscale(80%)}.upgrade-requirements{margin-top:15px;padding-top:15px;border-top:1px solid var(--colors-surface-panel)}.upgrade-card .card-container{margin-bottom:15px;transform:scale(1.1)}.upgrade-info{width:100%;padding:15px}.upgrade-info h4{font-family:var(--type-display);color:var(--colors-accent-energy);text-align:center;margin-bottom:15px;font-size:18px}.stat-improvements{background:color-mix(in srgb,var(--colors-edge-outline) 30%,transparent);border-radius:8px;padding:10px;margin-bottom:15px}.stat-change{color:var(--colors-text-muted);font-size:14px;margin:5px 0;display:flex;align-items:center;justify-content:center}.stat-change span{margin:0 5px}.new-abilities{background:color-mix(in srgb,var(--colors-accent-energy) 10%,transparent);border:1px solid var(--colors-accent-energy);border-radius:8px;padding:10px;margin-bottom:15px}.new-abilities>span{color:var(--colors-accent-energy);font-weight:700;display:block;margin-bottom:5px}.ability-preview{color:var(--colors-text-muted);font-size:13px;padding-left:15px;margin:3px 0}.resource-costs{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:10px}.resource-cost{display:flex;align-items:center;gap:8px}.sufficient{color:var(--colors-accent-success)}.insufficient{color:var(--colors-accent-danger)}.upgrade-progress{margin-top:15px;background:color-mix(in srgb,var(--colors-edge-outline) 30%,transparent);border-radius:10px;overflow:hidden}.upgrade-action-button{margin-top:15px;width:100%;padding:12px;background:linear-gradient(to bottom,var(--colors-surface-sunken),var(--colors-surface-panel));border:2px solid var(--colors-surface-raised);border-radius:8px;box-shadow:var(--shadows-drop),0 0 0 var(--borders-outline) var(--colors-surface-raised);color:var(--colors-accent-energy);font-weight:700;cursor:pointer;transition:all .2s}.upgrade-action-button:hover:not(:disabled){background:var(--colors-surface-raised);transform:translateY(-2px)}.upgrade-action-button:disabled{opacity:.6;cursor:not-allowed}.upgrade-card{position:relative;border:2px solid var(--colors-surface-panel);border-radius:10px;overflow:hidden;transition:all .3s;background:color-mix(in srgb,var(--colors-surface-sunken) 80%,transparent)}.upgrade-card.selected{border-color:var(--colors-accent-energy);box-shadow:0 0 15px color-mix(in srgb,var(--colors-accent-energy) 50%,transparent);transform:translateY(-5px)}.upgrade-card.upgrading{border-color:var(--colors-accent-info);box-shadow:0 0 15px color-mix(in srgb,var(--colors-accent-info) 50%,transparent)}.upgrade-info{padding:15px}.resource-requirements{display:flex;flex-wrap:wrap;gap:10px;margin:15px 0}.resource-requirement{display:flex;align-items:center;gap:8px;flex:0 0 auto;white-space:nowrap;padding:8px;border-radius:6px;background:color-mix(in srgb,var(--colors-edge-outline) 30%,transparent)}.resource-requirement.met{border-left:3px solid var(--colors-accent-success)}.resource-requirement.unmet{border-left:3px solid var(--colors-accent-danger);opacity:.7}.resource-requirement .resource-icon{background:none;border:none;padding:0;flex-direction:row;gap:5px}.resource-requirement .resource-symbol{font-size:20px}.resource-requirement span{color:var(--colors-text-muted);font-weight:700}.card-pieces-requirement{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px;background:color-mix(in srgb,var(--colors-edge-outline) 30%,transparent);border-radius:6px;margin-bottom:10px;font-size:14px}.upgrade-modal .pieces-icon{font-size:20px;color:var(--decorative-violet)}.pieces-text.met{color:var(--colors-accent-success);border-left:3px solid var(--colors-accent-success);padding-left:8px}.pieces-text.unmet{color:var(--colors-accent-danger);border-left:3px solid var(--colors-accent-danger);padding-left:8px}.worker-requirement{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px;background:color-mix(in srgb,var(--colors-edge-outline) 30%,transparent);border-radius:6px;margin-bottom:15px;border-left:3px solid var(--colors-accent-info);font-size:14px;color:var(--colors-text-muted)}.worker-icon{font-size:20px}.upgrade-button:hover:not(.disabled){background:var(--colors-surface-raised);transform:translateY(-2px)}.upgrade-button.disabled{opacity:.6;cursor:not-allowed;background:var(--colors-surface-sunken)}.upgrade-in-progress{padding:15px;background:color-mix(in srgb,var(--colors-edge-outline) 50%,transparent)}.modal-content::-webkit-scrollbar{width:10px}.modal-content::-webkit-scrollbar-track{background:color-mix(in srgb,var(--colors-edge-outline) 30%,transparent);border-radius:5px}.modal-content::-webkit-scrollbar-thumb{background:var(--colors-surface-panel);border-radius:5px}.modal-content::-webkit-scrollbar-thumb:hover{background:var(--colors-surface-raised)}@media (max-width: 768px){.modal-content{width:95%;padding:20px}.upgrade-grid{grid-template-columns:1fr;gap:20px}.resource-requirements{flex-direction:column}.upgrade-card .card-container{transform:scale(1)}}.upgrade-modal>*:not(.game-backdrop){position:relative;z-index:1}.upgrade-maxed{margin:10px 0 0;text-align:center;font-family:var(--type-display);font-size:var(--type-size-sm);letter-spacing:.08em;color:var(--colors-accent-energy)}.game-backdrop{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:linear-gradient(180deg,var(--terrain-ground1-top) 0%,var(--terrain-ground3-mid) 55%,var(--terrain-ground5-bot) 100%)}.game-backdrop-ridge{position:absolute;left:0;right:0;top:0;height:62%;opacity:.62}.game-backdrop-fore{position:absolute;left:0;right:0;bottom:0;height:26%}.game-backdrop:after{content:"";position:absolute;inset:0;background:radial-gradient(120% 100% at 50% 45%,transparent 45%,var(--terrain-vignette) 100%),color-mix(in srgb,var(--colors-edge-outline) 34%,transparent)}.settings-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--colors-surface-base);font-family:var(--type-body);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.settings-modal{background-color:var(--colors-surface-panel);border:2px solid var(--colors-surface-base);border-radius:20px;width:90%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;animation:slideIn .3s ease;box-shadow:0 10px 40px color-mix(in srgb,var(--colors-edge-outline) 50%,transparent)}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:20px;background-color:var(--colors-surface-base);border-radius:18px 18px 0 0}.settings-header h2{margin:0;font-family:var(--type-display);color:var(--colors-accent-energy);font-size:1.8rem;text-shadow:2px 2px 4px color-mix(in srgb,var(--colors-edge-outline) 30%,transparent)}.settings-modal .close-button{background:none;border:none;color:var(--colors-text-primary);font-size:1.8rem;cursor:pointer;transition:color .3s;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.settings-modal .close-button:hover{color:var(--colors-accent-danger)}.settings-content{flex:1;overflow-y:auto;padding:20px}.settings-section{margin-bottom:30px;padding:20px;background-color:var(--colors-surface-base);border-radius:10px;border:1px solid var(--colors-surface-base)}.section-header{margin:0 0 20px;font-family:var(--type-display);color:var(--colors-accent-energy);font-size:1.2rem;text-align:center;letter-spacing:2px;padding-bottom:10px;border-bottom:2px solid var(--colors-surface-base)}.setting-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:10px;background-color:var(--colors-surface-panel);border-radius:8px}.setting-item:last-child{margin-bottom:0}.setting-item label{color:var(--colors-text-primary);font-size:1rem;flex:1}.slider-container{display:flex;align-items:center;gap:15px;flex:1;max-width:300px}.volume-slider{flex:1;height:6px;-webkit-appearance:none;appearance:none;background:var(--colors-surface-base);outline:none;border-radius:3px;cursor:pointer}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background:var(--colors-accent-energy);cursor:pointer;border-radius:50%;transition:all .3s}.volume-slider::-webkit-slider-thumb:hover{background:var(--colors-accent-energy);transform:scale(1.2)}.volume-slider::-moz-range-thumb{width:20px;height:20px;background:var(--colors-accent-energy);cursor:pointer;border-radius:50%;border:none;transition:all .3s}.volume-value{font-family:var(--type-display);color:var(--colors-accent-energy);font-weight:700;min-width:45px;text-align:right}.quality-buttons{display:flex;gap:10px}.quality-button{padding:8px 20px;background-color:var(--colors-surface-base);border:var(--borders-outline) solid var(--colors-edge-outline);border-radius:20px;box-shadow:var(--shadows-drop);color:var(--colors-text-primary);cursor:pointer;transition:all .3s;font-weight:700}.quality-button:hover{background-color:var(--colors-surface-base);transform:translateY(-2px)}.quality-button.active{background-color:var(--colors-accent-energy);border-color:var(--colors-accent-energy);color:var(--colors-edge-outline);box-shadow:0 4px 10px color-mix(in srgb,var(--colors-accent-energy) 30%,transparent)}.toggle-button{padding:8px 20px;background-color:var(--colors-surface-base);border:var(--borders-outline) solid var(--colors-edge-outline);border-radius:20px;box-shadow:var(--shadows-drop);color:var(--colors-text-muted);cursor:pointer;transition:all .3s;font-weight:700;min-width:100px}.toggle-button:hover:not(.disabled){background-color:var(--colors-surface-base);transform:translateY(-2px)}.toggle-button.active{background-color:var(--colors-accent-success);border-color:var(--colors-accent-success);color:var(--colors-text-primary);box-shadow:0 4px 10px color-mix(in srgb,var(--colors-accent-success) 30%,transparent)}.toggle-button.disabled{opacity:.5;cursor:not-allowed}.settings-footer{display:flex;justify-content:space-between;align-items:center;padding:20px;background-color:var(--colors-surface-base);border-radius:0 0 18px 18px}.reset-button{padding:10px 20px;background-color:var(--colors-surface-raised);border:var(--borders-outline) solid var(--colors-edge-outline);border-radius:20px;box-shadow:var(--shadows-drop);color:var(--colors-text-primary);cursor:pointer;transition:all .3s;font-weight:700}.reset-button:hover{background-color:var(--colors-surface-raised);transform:translateY(-2px)}.settings-modal .action-buttons{display:flex;gap:15px}.settings-modal .cancel-button{padding:10px 30px;background-color:var(--colors-surface-raised);border:var(--borders-outline) solid var(--colors-edge-outline);border-radius:20px;box-shadow:var(--shadows-drop);color:var(--colors-text-primary);cursor:pointer;transition:all .3s;font-weight:700}.settings-modal .cancel-button:hover{background-color:var(--colors-accent-danger);transform:translateY(-2px);box-shadow:0 4px 10px color-mix(in srgb,var(--colors-accent-danger) 30%,transparent)}.apply-button{padding:10px 30px;background-color:var(--colors-accent-energy);border:var(--borders-outline) solid var(--colors-edge-outline);border-radius:20px;box-shadow:var(--shadows-drop);color:var(--colors-edge-outline);cursor:pointer;transition:all .3s;font-weight:700}.apply-button:hover{background-color:var(--colors-accent-energy);transform:translateY(-2px);box-shadow:0 4px 10px color-mix(in srgb,var(--colors-accent-energy) 30%,transparent)}.settings-content::-webkit-scrollbar{width:8px}.settings-content::-webkit-scrollbar-track{background:var(--colors-surface-base);border-radius:4px}.settings-content::-webkit-scrollbar-thumb{background:var(--colors-surface-raised);border-radius:4px}.settings-content::-webkit-scrollbar-thumb:hover{background:var(--colors-edge-highlight)}@media (max-width: 600px){.settings-modal{width:95%;max-height:95vh}.setting-item{flex-direction:column;align-items:flex-start;gap:10px}.slider-container{width:100%;max-width:none}.quality-buttons{width:100%;justify-content:space-between}.quality-button{flex:1;padding:8px 10px}}.settings-modal-overlay>*:not(.game-backdrop){position:relative;z-index:1}.card-selection-overlay{position:fixed;inset:0;background:color-mix(in srgb,var(--colors-edge-outline) 80%,transparent);font-family:var(--type-body);display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.card-selection-modal{background:var(--colors-surface-panel);border-radius:var(--radii-lg);padding:30px;max-width:900px;max-height:80vh;overflow-y:auto;box-shadow:0 10px 40px color-mix(in srgb,var(--colors-edge-outline) 50%,transparent);border:2px solid var(--colors-edge-outline);animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{text-align:center;margin-bottom:20px}.modal-header h2{color:var(--colors-text-primary);font-family:var(--type-display);font-size:2em;margin-bottom:10px}.modal-header p{color:var(--colors-text-muted);font-size:1.1em}.level-info{display:flex;justify-content:space-between;align-items:center;background:color-mix(in srgb,var(--colors-text-primary) 10%,transparent);padding:15px 20px;border-radius:10px;margin-bottom:20px}.energy-cost{display:flex;align-items:center;gap:10px;color:var(--colors-accent-energy);font-size:1.1em}.card-selection-overlay .energy-icon{font-size:1.5em}.selected-count{font-family:var(--type-display);color:var(--colors-accent-success);font-weight:700;font-size:1.1em}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:15px;margin-bottom:30px;padding:20px;background:color-mix(in srgb,var(--colors-edge-outline) 30%,transparent);border-radius:10px;max-height:400px;overflow-y:auto}.card-wrapper{position:relative;cursor:pointer;transition:all .3s ease}.card-wrapper:hover{transform:translateY(-5px)}.card-wrapper.selected{transform:translateY(-5px) scale(1.05)}.card-wrapper.selected .card-container{border:var(--borders-outline) solid var(--colors-accent-success);box-shadow:0 0 20px color-mix(in srgb,var(--colors-accent-success) 50%,transparent)}.selection-indicator{position:absolute;top:-10px;right:-10px;background:var(--colors-accent-success);color:var(--colors-text-primary);width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px color-mix(in srgb,var(--colors-edge-outline) 30%,transparent);animation:popIn .3s ease}@keyframes popIn{0%{transform:scale(0)}to{transform:scale(1)}}.checkmark{font-size:1.2em;font-weight:700}.modal-actions{display:flex;justify-content:center;gap:20px}.card-selection-overlay .cancel-button,.confirm-button{padding:12px 30px;font-size:1.1em;border:var(--borders-outline) solid var(--colors-edge-outline);border-radius:5px;cursor:pointer;font-weight:700;transition:all .3s ease;text-transform:uppercase;box-shadow:var(--shadows-drop)}.card-selection-overlay .cancel-button{background:var(--colors-surface-raised);color:var(--colors-text-primary)}.card-selection-overlay .cancel-button:hover{background:var(--colors-surface-raised);transform:scale(1.05)}.confirm-button{background:var(--colors-accent-success);color:var(--colors-text-primary)}.confirm-button:hover:not(:disabled){background:var(--colors-accent-success);transform:scale(1.05)}.confirm-button:disabled{background:var(--colors-surface-sunken);color:var(--colors-text-muted);cursor:not-allowed;transform:none}.cards-grid::-webkit-scrollbar{width:8px}.cards-grid::-webkit-scrollbar-track{background:color-mix(in srgb,var(--colors-text-primary) 10%,transparent);border-radius:4px}.cards-grid::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--colors-text-primary) 30%,transparent);border-radius:4px}.cards-grid::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--colors-text-primary) 50%,transparent)}.gate-notice-overlay{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:var(--space-md);background:color-mix(in srgb,var(--colors-edge-outline) 72%,transparent)}.gate-notice{width:min(380px,100%);padding:var(--space-lg);text-align:center;background:linear-gradient(180deg,var(--colors-surface-panel),var(--colors-surface-sunken));border:var(--borders-outline) solid var(--colors-edge-outline);border-radius:var(--radii-lg);box-shadow:var(--shadows-drop),inset 0 1px 0 var(--colors-edge-highlight);font-family:var(--type-body);color:var(--colors-text-primary)}.gate-notice h3{margin:0 0 var(--space-sm);font-family:var(--type-display);font-size:var(--type-size-lg);letter-spacing:.04em;color:var(--colors-accent-energy)}.gate-notice-message{margin:0 0 var(--space-md);font-size:var(--type-size-md);color:var(--colors-text-primary)}.gate-notice-offer{display:flex;align-items:center;justify-content:center;gap:var(--space-md);margin-bottom:var(--space-xs);padding:var(--space-sm);background:var(--colors-surface-sunken);border:var(--borders-thin) solid var(--colors-surface-raised);border-radius:var(--radii-md)}.gate-notice-pack,.gate-notice-price{font-family:var(--type-display);font-size:var(--type-size-lg);color:var(--colors-accent-energy)}.gate-notice-pack span,.gate-notice-price span{font-family:var(--type-body);font-size:var(--type-size-sm);color:var(--colors-text-muted)}.gate-notice-balance{margin:0 0 var(--space-md);font-size:var(--type-size-sm);color:var(--colors-text-muted)}.gate-notice-balance.short{color:var(--colors-accent-danger)}.gate-notice-actions{display:flex;gap:var(--space-sm);justify-content:center}.gate-notice-cancel,.gate-notice-confirm{padding:var(--space-sm) var(--space-lg);font-family:var(--type-display);font-size:var(--type-size-sm);border:var(--borders-outline) solid var(--colors-edge-outline);border-radius:var(--radii-md);box-shadow:var(--shadows-drop);cursor:pointer;transition:transform .15s ease-out,filter .15s ease-out}.gate-notice-cancel{background:var(--colors-surface-raised);color:var(--colors-text-primary)}.gate-notice-confirm{background:var(--colors-accent-energy);color:var(--colors-edge-outline)}.gate-notice-cancel:hover:not(:disabled),.gate-notice-confirm:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.08)}.gate-notice-confirm:disabled{background:var(--colors-surface-raised);color:var(--colors-text-primary);box-shadow:none;cursor:not-allowed}.gate-notice-wait{margin:var(--space-md) 0 0;font-size:var(--type-size-sm);color:var(--colors-text-muted)}.update-notice{position:fixed;top:var(--space-md);left:50%;z-index:1100;display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);transform:translate(-50%);background:var(--colors-surface-panel);border:var(--borders-outline) solid var(--colors-edge-outline);border-radius:var(--radii-md);box-shadow:var(--shadows-drop);font-family:var(--type-body)}.update-notice-text{font-size:var(--type-size-sm);color:var(--colors-text-primary)}.update-notice-button{padding:var(--space-xs) var(--space-md);font-family:var(--type-display);font-size:var(--type-size-sm);color:var(--colors-edge-outline);background:var(--colors-accent-energy);border:var(--borders-outline) solid var(--colors-edge-outline);border-radius:var(--radii-sm);cursor:pointer;transition:filter .15s ease-out}.update-notice-button:hover{filter:brightness(1.08)}@media (max-height: 500px){.update-notice{top:var(--space-xs);padding:var(--space-xs) var(--space-sm)}}.achievement-page{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--colors-surface-base);color:var(--colors-text-primary);font-family:var(--type-body);display:flex;flex-direction:column;overflow:hidden;z-index:1000}.achievement-header{display:flex;justify-content:space-between;align-items:center;padding:20px 40px;background-color:var(--colors-surface-panel);border-bottom:2px solid var(--colors-surface-base)}.achievement-header h1{margin:0;font-family:var(--type-display);font-size:2.5rem;color:var(--colors-accent-energy);text-shadow:2px 2px 4px color-mix(in srgb,var(--colors-edge-outline) 50%,transparent)}.achievement-page .close-button{background:none;border:none;color:var(--colors-text-primary);font-size:2rem;cursor:pointer;transition:color .3s}.achievement-page .close-button:hover{color:var(--colors-accent-danger)}.category-tabs{display:flex;justify-content:center;gap:10px;padding:20px;background-color:var(--colors-surface-base);box-shadow:0 2px 10px color-mix(in srgb,var(--colors-edge-outline) 30%,transparent)}.category-tab{display:flex;align-items:center;gap:8px;padding:10px 20px;background-color:var(--colors-surface-panel);border:var(--borders-outline) solid var(--colors-edge-outline);border-radius:25px;color:var(--colors-text-primary);cursor:pointer;transition:all .3s;box-shadow:var(--shadows-drop);font-size:1rem}.category-tab:hover{background-color:var(--colors-surface-panel);transform:translateY(-2px)}.category-tab.active{background-color:var(--colors-accent-energy);border-color:var(--colors-accent-energy);color:var(--colors-surface-base);box-shadow:0 4px 15px color-mix(in srgb,var(--colors-accent-energy) 30%,transparent)}.category-icon{font-size:1.2rem}.achievements-container{flex:1;overflow-y:auto;padding:20px 40px}.category-title{text-align:center;font-family:var(--type-display);color:var(--colors-accent-energy);margin-bottom:30px;font-size:1.8rem;text-transform:uppercase;letter-spacing:2px}.achievements-list{display:flex;flex-direction:column;gap:15px;max-width:800px;margin:0 auto}.achievement-card{display:flex;gap:20px;padding:20px;background-color:var(--colors-surface-panel);border:2px solid var(--colors-surface-base);border-radius:10px;transition:all .3s}.achievement-card:hover{transform:translate(5px);border-color:var(--colors-accent-energy);box-shadow:0 5px 20px color-mix(in srgb,var(--colors-accent-energy) 20%,transparent)}.achievement-card.completed{background-color:var(--colors-surface-panel);border-color:var(--colors-accent-success)}.achievement-icon{font-size:3rem;display:flex;align-items:center;justify-content:center;min-width:80px}.achievement-content{flex:1;display:flex;flex-direction:column;gap:10px}.achievement-title{margin:0;font-family:var(--type-display);font-size:1.3rem;color:var(--colors-accent-energy)}.achievement-card.completed .achievement-title{color:var(--colors-accent-success)}.achievement-description{margin:0;color:var(--colors-text-muted);font-size:.9rem}.progress-container{display:flex;align-items:center;gap:15px}.progress-bar{flex:1;height:20px;background-color:var(--colors-surface-base);border-radius:10px;overflow:hidden;position:relative}.progress-fill{height:100%;background:var(--colors-accent-energy);transition:width .5s ease;position:relative}.achievement-card.completed .progress-fill{background:var(--colors-accent-success)}.progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--colors-text-primary) 30%,transparent) 50%,transparent 100%);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-text{min-width:80px;text-align:right;font-weight:700;color:var(--colors-text-primary)}.achievement-card.completed .progress-text{color:var(--colors-accent-success);font-size:1.2rem}.reward-section{margin-top:5px}.reward-text{color:var(--colors-accent-energy);font-size:.9rem}.claimed-text{color:var(--colors-accent-success);font-size:.9rem;font-style:italic}.claim-button{padding:6px 14px;background-color:var(--colors-accent-energy);border:var(--borders-outline) solid var(--colors-edge-outline);border-radius:12px;color:var(--colors-surface-base);font-size:.85rem;font-weight:700;cursor:pointer;transition:background-color .2s,transform .1s;box-shadow:var(--shadows-drop)}.claim-button:hover:not(:disabled){background-color:var(--colors-accent-energy);transform:translateY(-1px)}.claim-button:disabled{opacity:.6;cursor:not-allowed}.achievement-card.claimed{border-color:var(--colors-accent-success)}.achievement-page .back-button{margin:20px auto;padding:15px 40px;background-color:var(--colors-accent-energy);border:none;border-radius:25px;color:var(--colors-surface-base);font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s;box-shadow:0 4px 15px color-mix(in srgb,var(--colors-accent-energy) 30%,transparent)}.achievement-page .back-button:hover{background-color:var(--colors-accent-energy);transform:translateY(-2px);box-shadow:0 6px 20px color-mix(in srgb,var(--colors-accent-energy) 40%,transparent)}.achievements-container::-webkit-scrollbar{width:10px}.achievements-container::-webkit-scrollbar-track{background:var(--colors-surface-base);border-radius:5px}.achievements-container::-webkit-scrollbar-thumb{background:var(--colors-accent-energy);border-radius:5px}.achievements-container::-webkit-scrollbar-thumb:hover{background:var(--colors-accent-energy)}.achievement-page>*:not(.game-backdrop){position:relative;z-index:1}.collection-page{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--colors-surface-base);color:var(--colors-text-primary);font-family:var(--type-body);display:flex;flex-direction:column;overflow:hidden;z-index:1000}.collection-header{display:flex;justify-content:space-between;align-items:center;padding:20px 40px;background-color:var(--colors-edge-outline);border-bottom:2px solid var(--colors-surface-base)}.collection-header h1{margin:0;font-family:var(--type-display);font-size:2.5rem;color:var(--colors-accent-energy);text-shadow:2px 2px 4px color-mix(in srgb,var(--colors-edge-outline) 50%,transparent)}.collection-page .close-button{background:none;border:none;color:var(--colors-text-primary);font-size:2rem;cursor:pointer;transition:color .3s}.collection-page .close-button:hover{color:var(--colors-accent-danger)}.collection-tabs{display:flex;justify-content:center;gap:20px;padding:20px;background-color:var(--colors-surface-base);box-shadow:0 2px 10px color-mix(in srgb,var(--colors-edge-outline) 30%,transparent)}.collection-tab{padding:12px 40px;background-color:var(--colors-surface-panel);border:var(--borders-outline) solid var(--colors-edge-outline);border-radius:25px;color:var(--colors-text-primary);font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s;box-shadow:var(--shadows-drop)}.collection-tab:hover{background-color:var(--colors-surface-panel);transform:translateY(-2px)}.collection-tab.active{background-color:var(--colors-accent-energy);border-color:var(--colors-edge-outline);color:var(--colors-edge-outline);box-shadow:0 4px 15px color-mix(in srgb,var(--colors-accent-energy) 30%,transparent)}.collection-container{flex:1;overflow-y:auto;padding:20px 40px}.section-title{text-align:center;font-family:var(--type-display);color:var(--colors-accent-energy);margin-bottom:30px;font-size:1.8rem;text-transform:uppercase;letter-spacing:3px}.collection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:25px;max-width:1200px;margin:0 auto}.collection-unit-card{background-color:var(--colors-surface-panel);border:2px solid var(--colors-surface-base);border-radius:var(--radii-lg);padding:20px;transition:all .3s;display:flex;flex-direction:column;position:relative;overflow:hidden}.collection-unit-card:hover{transform:translateY(-5px);border-color:var(--colors-accent-energy);box-shadow:0 10px 30px color-mix(in srgb,var(--colors-accent-info) 30%,transparent)}.collection-unit-card.enemy-card:hover{border-color:var(--colors-accent-danger);box-shadow:0 10px 30px color-mix(in srgb,var(--colors-accent-danger) 30%,transparent)}.collection-unit-card.locked{background-color:var(--colors-surface-base);opacity:.7}.collection-unit-image{width:100%;height:120px;display:flex;align-items:center;justify-content:center;background-color:var(--colors-surface-base);border-radius:10px;margin-bottom:15px}.unit-sprite{width:80px;height:80px;background-color:var(--colors-accent-info);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:var(--colors-text-primary)}.unit-sprite.enemy{background-color:var(--colors-accent-danger)}.collection-unit-sprite-img{width:102px;height:102px;object-fit:contain;image-rendering:pixelated;image-rendering:crisp-edges}.locked-icon{font-size:3rem;color:var(--colors-text-muted)}.collection-unit-name{margin:0 0 15px;font-family:var(--type-display);font-size:1.3rem;text-align:center;color:var(--colors-accent-energy)}.enemy-card .collection-unit-name{color:var(--colors-accent-danger);margin:0}.collection-unit-name-row{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:15px}.boss-badge{background:var(--colors-accent-energy);color:var(--colors-surface-base);font-size:.65rem;font-weight:700;padding:2px 7px;border-radius:8px;letter-spacing:1px;text-transform:uppercase;flex-shrink:0}.boss-card{border-color:var(--colors-accent-energy)!important;box-shadow:0 0 12px color-mix(in srgb,var(--colors-accent-energy) 35%,transparent)}.collection-unit-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:15px}.collection-stat{background-color:var(--colors-surface-base);padding:8px;border-radius:5px;text-align:center;font-size:.9rem;font-weight:700}.collection-stat.cost,.collection-stat.bounty{color:var(--colors-accent-energy)}.collection-unit-description{margin-bottom:15px;padding:10px;background-color:var(--colors-surface-base);border-radius:5px;flex-grow:1}.collection-unit-description p{margin:0;font-size:.85rem;line-height:1.4;color:var(--colors-text-muted)}.special-abilities,.enemy-abilities{margin-bottom:15px;font-size:.85rem}.special-abilities strong,.enemy-abilities strong{color:var(--colors-accent-info);display:block;margin-bottom:5px}.enemy-abilities strong{color:var(--colors-accent-danger)}.special-abilities ul,.enemy-abilities ul{margin:0;padding-left:20px}.special-abilities li,.enemy-abilities li{margin-bottom:3px;color:var(--colors-text-muted)}.collection-unit-status{text-align:center;padding:8px;background-color:var(--colors-accent-success);color:var(--colors-text-primary);border-radius:5px;font-weight:700;margin-top:auto}.collection-unit-status.encountered{background-color:var(--colors-accent-danger)}.locked-message{text-align:center;color:var(--colors-text-muted);font-style:italic;padding:20px}.collection-card-wrapper{position:relative}.collection-card-wrapper.locked .collection-unit-card{opacity:.35;filter:grayscale(80%);pointer-events:none}.collection-lock-overlay{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border-radius:10px;background:color-mix(in srgb,var(--colors-edge-outline) 45%,transparent);pointer-events:none}.collection-lock-icon{font-size:2rem}.collection-lock-text{font-size:.85rem;font-weight:700;color:var(--colors-text-muted);letter-spacing:1px;text-transform:uppercase}.collection-card-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:8px}.collection-level-badge{background-color:var(--colors-accent-energy);color:var(--colors-surface-base);font-size:.75rem;font-weight:700;padding:2px 8px;border-radius:10px}.collection-pieces-text{font-size:.75rem;color:var(--colors-text-muted)}.collection-page .back-button{margin:20px auto;padding:15px 40px;background-color:var(--colors-accent-energy);border:none;border-radius:25px;color:var(--colors-edge-outline);font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s;box-shadow:0 4px 15px color-mix(in srgb,var(--colors-accent-energy) 30%,transparent)}.collection-page .back-button:hover{background-color:var(--colors-accent-danger);transform:translateY(-2px);box-shadow:0 6px 20px color-mix(in srgb,var(--colors-accent-danger) 40%,transparent)}.collection-container::-webkit-scrollbar{width:10px}.collection-container::-webkit-scrollbar-track{background:var(--colors-surface-base);border-radius:5px}.collection-container::-webkit-scrollbar-thumb{background:var(--colors-accent-danger);border-radius:5px}.collection-container::-webkit-scrollbar-thumb:hover{background:var(--colors-accent-danger)}.collection-page>*:not(.game-backdrop){position:relative;z-index:1}
