@import "https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap";.app{background:radial-gradient(circle at 20% 0%, #1a1a3e 0%, transparent 55%), radial-gradient(circle at 80% 100%, #2a1a3e 0%, transparent 55%), var(--pixel-bg-void);min-height:100vh}.pixel-display{font-family:var(--font-display)}.pixel-panel{background:var(--pixel-bg-medium);border:2px solid var(--pixel-border);box-shadow:var(--shadow-hard);position:relative}.pixel-panel-title{padding:var(--pixel-2) var(--pixel-3);background:var(--pixel-bg-light);border-bottom:2px solid var(--pixel-border);font-size:var(--text-sm);letter-spacing:.08em;color:var(--pixel-text-dim);font-weight:700}.pixel-panel-body{padding:var(--pixel-3)}.pixel-button{justify-content:center;align-items:center;gap:var(--pixel-2);padding:var(--pixel-3) var(--pixel-5);background:var(--pixel-bg-raised);color:var(--pixel-text);border:2px solid var(--pixel-border-bright);box-shadow:var(--shadow-hard-sm);font-size:var(--text-sm);letter-spacing:.04em;cursor:pointer;font-weight:700;transition:transform 80ms steps(2,end),box-shadow 80ms steps(2,end);display:inline-flex}.pixel-button:hover:not(:disabled){box-shadow:3px 3px 0 var(--pixel-border-dark);transform:translate(-1px,-1px)}.pixel-button:active:not(:disabled){box-shadow:none;transform:translate(2px,2px)}.pixel-button-primary{background:var(--pixel-primary-dark);border-color:var(--pixel-primary)}.pixel-button-secondary{background:var(--pixel-secondary-dark);border-color:var(--pixel-secondary);color:var(--pixel-bg-void)}.pixel-button-danger{background:var(--pixel-danger-dark);border-color:var(--pixel-danger)}.pixel-button-ghost{border-color:var(--pixel-border);color:var(--pixel-text-dim);background:0 0}.rarity-badge,.element-badge{padding:2px var(--pixel-2);font-size:var(--text-xs);white-space:nowrap;border:1px solid;font-weight:700;line-height:1.4;display:inline-block}.rarity-common{color:var(--rarity-common)}.rarity-rare{color:var(--rarity-rare)}.rarity-epic{color:var(--rarity-epic)}.rarity-legendary{color:var(--rarity-legendary)}.element-fire{color:var(--element-fire)}.element-water{color:var(--element-water)}.element-grass{color:var(--element-grass)}.element-electric{color:var(--element-electric)}.element-rock{color:var(--element-rock)}.element-psychic{color:var(--element-psychic)}.pixel-bar{background:var(--pixel-bg-void);border:2px solid var(--pixel-border);flex:1;height:18px;position:relative;overflow:hidden}.pixel-bar-fill{height:100%;transition:width .16s steps(6,end)}.pixel-bar-hp .pixel-bar-fill{background:var(--pixel-success)}.pixel-bar-hp.pixel-bar-critical .pixel-bar-fill{background:var(--pixel-danger)}.pixel-bar-exp .pixel-bar-fill{background:var(--pixel-info)}.pixel-bar-label{font-family:var(--font-display);color:var(--pixel-text);text-shadow:1px 1px 0 var(--pixel-bg-void);justify-content:center;align-items:center;font-size:9px;display:flex;position:absolute;inset:0}.menu-screen{max-width:1080px;padding:var(--pixel-12) var(--pixel-6);gap:var(--pixel-8);grid-template-columns:1.4fr 1fr;align-items:start;margin:0 auto;display:grid}.menu-hero{text-align:center}.menu-tower-art{margin-bottom:var(--pixel-4);justify-content:center;display:flex}.menu-title{margin:0 0 var(--pixel-3);font-family:var(--font-display);font-size:var(--text-2xl);color:var(--pixel-secondary);text-shadow:3px 3px 0 var(--pixel-bg-void);letter-spacing:.02em}.menu-tagline{margin:0 0 var(--pixel-8);color:var(--pixel-text-dim);font-size:var(--text-base)}.menu-rules{gap:var(--pixel-3);margin-bottom:var(--pixel-8);padding:var(--pixel-4);border:2px solid var(--pixel-border);text-align:left;background:#0f0f1f99;flex-direction:column;display:flex}.rule-marker{background:var(--pixel-primary);flex-shrink:0;width:8px;height:8px}.menu-side{gap:var(--pixel-4);flex-direction:column;display:flex}.menu-empty,.menu-note{font-size:var(--text-sm);color:var(--pixel-text-faint);margin:0;line-height:1.7}.menu-note{margin-top:var(--pixel-2);font-size:var(--text-xs)}.pending-list{gap:var(--pixel-2);flex-direction:column;display:flex}.pending-item{align-items:center;gap:var(--pixel-2);padding:var(--pixel-2);background:var(--pixel-bg-dark);border:1px solid var(--pixel-border);font-size:var(--text-sm);display:flex}.pending-name{flex:1}.pending-total{margin-top:var(--pixel-3);padding-top:var(--pixel-3);border-top:2px solid var(--pixel-border);font-size:var(--text-sm);text-align:right}.pending-total strong{color:var(--pixel-secondary);font-family:var(--font-display);font-size:11px}.wallet-address{padding:var(--pixel-2);background:var(--pixel-bg-dark);border:1px solid var(--pixel-border);font-family:var(--font-display);text-align:center;color:var(--pixel-info);font-size:10px}.starter-screen{max-width:1000px;padding:var(--pixel-8) var(--pixel-6);margin:0 auto}.starter-header{text-align:center;margin-bottom:var(--pixel-8)}.starter-title{margin:0 0 var(--pixel-3);font-family:var(--font-display);font-size:var(--text-lg);color:var(--pixel-secondary);text-shadow:2px 2px 0 var(--pixel-bg-void)}.starter-subtitle{max-width:46em;color:var(--pixel-text-dim);font-size:var(--text-sm);margin:0 auto}.starter-grid{gap:var(--pixel-4);margin-bottom:var(--pixel-6);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.starter-card{align-items:center;gap:var(--pixel-2);padding:var(--pixel-4);background:var(--pixel-bg-medium);border:2px solid var(--pixel-border);box-shadow:var(--shadow-hard-sm);cursor:pointer;flex-direction:column;transition:transform 80ms steps(2,end),border-color 80ms steps(2,end);display:flex;position:relative}.starter-card:hover{border-color:var(--pixel-border-bright);transform:translate(-1px,-1px)}.starter-card-selected{border-color:var(--pixel-secondary);background:var(--pixel-bg-light)}.starter-card-art{padding:var(--pixel-2);background:var(--pixel-bg-void);border:1px solid var(--pixel-border)}.starter-card-name{font-size:var(--text-base);font-weight:700}.starter-card-stats{gap:var(--pixel-3);margin-top:var(--pixel-2);display:flex}.stat-block{font-family:var(--font-display);align-items:center;gap:4px;font-size:10px;display:flex}.starter-card-check{padding:2px var(--pixel-2);background:var(--pixel-secondary);color:var(--pixel-bg-void);font-size:var(--text-xs);font-weight:700;position:absolute;top:-2px;right:-2px}.starter-detail{justify-content:space-between;align-items:center;gap:var(--pixel-4);padding:var(--pixel-4);background:var(--pixel-bg-medium);border:2px solid var(--pixel-border);margin-bottom:var(--pixel-6);flex-wrap:wrap;display:flex}.starter-detail-row{align-items:center;gap:var(--pixel-4);display:flex}.starter-detail-name{font-size:var(--text-lg);margin-bottom:2px;font-weight:700}.starter-detail-passive{font-size:var(--text-sm);color:var(--pixel-info)}.starter-detail-numbers{gap:var(--pixel-6);display:flex}.detail-stat{text-align:center}.detail-stat-label{font-size:var(--text-xs);color:var(--pixel-text-faint);margin-bottom:2px;display:block}.detail-stat-value{font-family:var(--font-display);font-size:var(--text-lg);color:var(--pixel-secondary)}.starter-actions{justify-content:center;gap:var(--pixel-4);display:flex}.game-screen{flex-direction:column;min-height:100vh;display:flex}.game-stage{gap:var(--pixel-4);padding:var(--pixel-4);flex:1;grid-template-columns:200px minmax(0,auto) 240px;justify-content:center;align-items:start;display:grid}.game-canvas-wrap{border:3px solid var(--pixel-border);box-shadow:var(--shadow-hard);background:var(--pixel-bg-void);line-height:0;position:relative}.phaser-container canvas{display:block}.game-sidebar{gap:var(--pixel-3);flex-direction:column;display:flex}.controls-hint{padding:var(--pixel-3);background:var(--pixel-bg-medium);border:2px solid var(--pixel-border)}.controls-hint-title{font-size:var(--text-xs);color:var(--pixel-text-faint);letter-spacing:.1em;margin-bottom:var(--pixel-2)}.controls-hint-row{font-size:var(--text-sm);color:var(--pixel-text-dim);line-height:1.8}.hud{align-items:center;gap:var(--pixel-6);padding:var(--pixel-3) var(--pixel-4);background:var(--pixel-bg-dark);border-bottom:3px solid var(--pixel-border);flex-wrap:wrap;display:flex}.hud-floor{align-items:baseline;gap:4px;display:flex}.hud-floor-label{font-size:var(--text-sm);color:var(--pixel-text-dim)}.hud-floor-number{font-family:var(--font-display);font-size:var(--text-xl);color:var(--pixel-secondary);text-shadow:2px 2px 0 var(--pixel-bg-void)}.hud-pokemon{align-items:center;gap:var(--pixel-3);display:flex}.hud-pokemon-name{font-size:var(--text-sm);font-weight:700}.hud-pokemon-meta{align-items:center;gap:var(--pixel-2);margin-top:2px;display:flex}.hud-level{font-family:var(--font-display);color:var(--pixel-text-dim);font-size:9px}.hud-vitals{gap:var(--pixel-2);flex-direction:column;flex:1;min-width:220px;display:flex}.hud-bar-row{align-items:center;gap:var(--pixel-2);display:flex}.hud-stats{gap:var(--pixel-4);display:flex}.hud-stat{align-items:center;gap:var(--pixel-2);display:flex}.hud-stat-value{font-family:var(--font-display);font-size:var(--text-sm);color:var(--pixel-text)}.hud-meta{gap:var(--pixel-4);display:flex}.hud-meta-item{text-align:right}.hud-meta-label{font-size:var(--text-xs);color:var(--pixel-text-faint);display:block}.hud-meta-value{font-family:var(--font-display);font-size:11px}.hud-meta-gold{color:var(--pixel-secondary)}.active-buffs{padding:var(--pixel-3);background:var(--pixel-bg-medium);border:2px solid var(--pixel-border)}.active-buffs-title{font-size:var(--text-xs);color:var(--pixel-text-faint);letter-spacing:.1em;margin-bottom:var(--pixel-2)}.active-buffs-empty{font-size:var(--text-sm);color:var(--pixel-text-faint);margin:0}.active-buffs-list{flex-direction:column;gap:4px;display:flex}.active-buff{align-items:center;gap:var(--pixel-2);padding:4px var(--pixel-2);background:var(--pixel-bg-dark);border-left:3px solid var(--pixel-border);font-size:var(--text-sm);display:flex}.active-buff-common{border-left-color:var(--rarity-common)}.active-buff-rare{border-left-color:var(--rarity-rare)}.active-buff-epic{border-left-color:var(--rarity-epic)}.active-buff-legendary{border-left-color:var(--rarity-legendary)}.active-buff-name{flex:1}.active-buff-count{font-family:var(--font-display);color:var(--pixel-secondary);font-size:9px}.combat-preview{padding:var(--pixel-3);background:var(--pixel-bg-medium);border:2px solid var(--pixel-border);box-shadow:var(--shadow-hard-sm)}.combat-preview-unbeatable,.combat-preview-lethal{border-color:var(--pixel-danger)}.combat-preview-winnable{border-color:var(--pixel-success)}.combat-preview-monster{align-items:center;gap:var(--pixel-3);margin-bottom:var(--pixel-3);display:flex}.combat-preview-name{align-items:center;gap:var(--pixel-2);font-size:var(--text-base);margin-bottom:2px;font-weight:700;display:flex}.boss-tag{background:var(--pixel-primary);font-size:var(--text-xs);padding:1px 5px;font-weight:700}.combat-preview-stats{flex-direction:column;gap:2px;display:flex}.preview-row{justify-content:space-between;gap:var(--pixel-2);font-size:var(--text-sm);display:flex}.preview-row-value{font-family:var(--font-display);font-size:10px}.combat-advantage{margin-top:var(--pixel-2);padding:4px var(--pixel-2);border-left:3px solid var(--pixel-success);font-size:var(--text-sm);color:var(--pixel-success);background:#2f9e4433}.combat-verdict{margin-top:var(--pixel-3);padding:var(--pixel-2);font-size:var(--text-sm);text-align:center;font-weight:700}.combat-verdict-win{color:var(--pixel-success);background:#2f9e442e}.combat-verdict-lethal,.combat-verdict-unbeatable{color:var(--pixel-danger);background:#e637572e}.combat-verdict-hint{font-size:var(--text-xs);color:var(--pixel-text-dim);margin-top:4px;font-weight:400}.toasts{left:50%;bottom:var(--pixel-4);pointer-events:none;z-index:100;flex-direction:column;gap:4px;width:max-content;max-width:92%;display:flex;position:absolute;transform:translate(-50%)}.toast{padding:var(--pixel-2) var(--pixel-3);border-left:3px solid var(--pixel-border-bright);font-size:var(--text-sm);background:#07070ff0;line-height:1.5;animation:.14s steps(3,end) toast-in}.toast-damage{border-left-color:var(--pixel-danger)}.toast-reward{border-left-color:var(--pixel-secondary)}.toast-warn{border-left-color:var(--element-fire)}.toast-info{border-left-color:var(--pixel-info)}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.scroll-bar{padding:var(--pixel-3) var(--pixel-4);background:var(--pixel-bg-dark);border-top:3px solid var(--pixel-border)}.scroll-bar-header{align-items:baseline;gap:var(--pixel-3);margin-bottom:var(--pixel-2);display:flex}.scroll-bar-title{font-family:var(--font-display);color:var(--pixel-secondary);font-size:11px}.scroll-bar-hint{font-size:var(--text-sm);color:var(--pixel-text-faint)}.scroll-bar-slots{gap:var(--pixel-3);flex-wrap:wrap;min-height:60px;display:flex}.scroll-empty{font-size:var(--text-sm);color:var(--pixel-text-faint);align-items:center;display:flex}.scroll-card{align-items:center;gap:var(--pixel-2);padding:var(--pixel-2);background:var(--pixel-bg-medium);border:2px solid var(--pixel-border);cursor:pointer;text-align:left;min-width:190px;transition:transform 80ms steps(2,end),border-color 80ms steps(2,end);display:flex;position:relative}.scroll-card:hover:not(:disabled){border-color:var(--pixel-border-bright);transform:translate(-1px,-1px)}.scroll-card-selected{border-color:var(--pixel-primary);background:var(--pixel-bg-light)}.scroll-card-used{opacity:.45;cursor:not-allowed}.scroll-card-art{flex-shrink:0;position:relative}.scroll-card-element{position:absolute;bottom:-4px;right:-4px}.scroll-card-name{font-size:var(--text-sm);margin-bottom:2px;font-weight:700}.scroll-card-badges{align-items:center;gap:var(--pixel-2);display:flex}.scroll-card-value{font-family:var(--font-display);color:var(--pixel-secondary);font-size:8px}.scroll-card-overlay{font-size:var(--text-sm);color:var(--pixel-text-dim);background:#07070fb3;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.scroll-tooltip{align-items:center;gap:var(--pixel-2);font-size:var(--text-sm);display:flex}.modal-overlay{padding:var(--pixel-4);z-index:200;background:#07070fe0;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.buff-picker{width:100%;max-width:760px;padding:var(--pixel-6);background:var(--pixel-bg-medium);border:3px solid var(--pixel-primary);box-shadow:var(--shadow-hard)}.buff-picker-header{text-align:center;margin-bottom:var(--pixel-6)}.buff-picker-eyebrow{font-family:var(--font-display);color:var(--pixel-success);margin-bottom:var(--pixel-2);font-size:10px}.buff-picker-title{margin:0 0 var(--pixel-2);font-size:var(--text-xl);color:var(--pixel-secondary)}.buff-picker-subtitle{font-size:var(--text-sm);color:var(--pixel-text-dim);margin:0}.buff-choices{gap:var(--pixel-4);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));display:grid}.buff-card{gap:var(--pixel-2);padding:var(--pixel-4);background:var(--pixel-bg-dark);border:2px solid var(--pixel-border);cursor:pointer;text-align:left;flex-direction:column;transition:transform 80ms steps(2,end),border-color 80ms steps(2,end);display:flex}.buff-card:hover{box-shadow:var(--shadow-hard-sm);transform:translate(-2px,-2px)}.buff-card-common:hover{border-color:var(--rarity-common)}.buff-card-rare:hover{border-color:var(--rarity-rare)}.buff-card-epic:hover{border-color:var(--rarity-epic)}.buff-card-legendary{border-color:var(--rarity-legendary)}.buff-card-legendary:hover{border-color:var(--pixel-secondary)}.buff-card-top{justify-content:space-between;align-items:center;gap:var(--pixel-2);display:flex}.buff-card-name{font-size:var(--text-base);font-weight:700}.buff-card-desc{font-size:var(--text-sm);color:var(--pixel-text-dim);line-height:1.5}.floor-clear{width:100%;max-width:520px;padding:var(--pixel-6);background:var(--pixel-bg-medium);border:3px solid var(--pixel-secondary);box-shadow:var(--shadow-hard)}.floor-clear-header{text-align:center;margin-bottom:var(--pixel-4)}.floor-clear-title{margin:0 0 var(--pixel-2);font-size:var(--text-lg);color:var(--pixel-secondary)}.floor-clear-subtitle{font-size:var(--text-sm);color:var(--pixel-text-dim);margin:0}.floor-clear-stats{gap:var(--pixel-2);padding:var(--pixel-3);background:var(--pixel-bg-dark);border:1px solid var(--pixel-border);margin-bottom:var(--pixel-4);flex-direction:column;display:flex}.stat-row,.summary-row{justify-content:space-between;gap:var(--pixel-3);font-size:var(--text-sm);display:flex}.stat-row-label,.summary-row-label{color:var(--pixel-text-dim)}.stat-row-value,.summary-row-value{font-family:var(--font-display);font-size:10px}.stat-row-warn{color:var(--pixel-danger)}.stat-row-gold,.summary-row-gold{color:var(--pixel-secondary)}.summary-row-lost{color:var(--pixel-text-faint);text-decoration:line-through}.floor-clear-warning{padding:var(--pixel-3);border-left:3px solid var(--pixel-danger);font-size:var(--text-sm);color:var(--pixel-text);margin-bottom:var(--pixel-4);background:#e6375724;line-height:1.6}.floor-clear-actions{gap:var(--pixel-3);flex-direction:column;display:flex}.summary-screen{max-width:900px;padding:var(--pixel-8) var(--pixel-6);margin:0 auto}.summary-banner{padding:var(--pixel-6);text-align:center;border:3px solid var(--pixel-border);margin-bottom:var(--pixel-6)}.summary-banner-success{border-color:var(--pixel-secondary);background:#ffd23f1a}.summary-banner-death{border-color:var(--pixel-danger);background:#e637571f}.summary-title{margin:0 0 var(--pixel-2);font-family:var(--font-display);font-size:var(--text-lg)}.summary-banner-success .summary-title{color:var(--pixel-secondary)}.summary-banner-death .summary-title{color:var(--pixel-danger)}.summary-subtitle{font-size:var(--text-sm);color:var(--pixel-text-dim);margin:0}.summary-body{gap:var(--pixel-4);margin-bottom:var(--pixel-6);grid-template-columns:1fr 1.3fr;align-items:start;display:grid}.summary-stats{gap:var(--pixel-2);flex-direction:column;display:flex}.summary-death-note{margin-top:var(--pixel-3);padding-top:var(--pixel-3);border-top:1px solid var(--pixel-border);font-size:var(--text-sm);color:var(--pixel-text-faint);line-height:1.6}.summary-empty,.summary-note{font-size:var(--text-sm);color:var(--pixel-text-faint);margin:0;line-height:1.6}.summary-note{margin-top:var(--pixel-3);font-size:var(--text-xs)}.summary-scrolls{gap:var(--pixel-2);flex-direction:column;display:flex}.summary-scroll{align-items:center;gap:var(--pixel-3);padding:var(--pixel-2);background:var(--pixel-bg-dark);border:1px solid var(--pixel-border);display:flex}.summary-scroll-info{flex:1;min-width:0}.summary-scroll-name{font-size:var(--text-sm);font-weight:700}.summary-scroll-desc{font-size:var(--text-xs);color:var(--pixel-text-faint)}.summary-scroll-meta{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.summary-scroll-value{font-family:var(--font-display);color:var(--pixel-secondary);font-size:8px}.summary-actions{justify-content:center;gap:var(--pixel-4);display:flex}@media (width<=1100px){.game-stage{grid-template-columns:minmax(0,auto)}.game-sidebar{flex-flow:wrap}.game-sidebar>*{flex:1;min-width:200px}}@media (width<=860px){.menu-screen,.summary-body{grid-template-columns:1fr}.hud{gap:var(--pixel-3)}.hud-meta{justify-content:space-between;width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes chest-reward-fade-in{0%{opacity:0}to{opacity:1}}@keyframes chest-reward-fade-out{0%{opacity:1}to{opacity:0}}@keyframes chest-reward-panel-enter{0%{opacity:0;transform:scale(.5)translateY(100px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes chest-reward-panel-exit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes chest-reward-spin{0%{opacity:0;transform:rotateY(0)scale(.5)}50%{opacity:1;transform:rotateY(720deg)scale(1.2)}to{opacity:1;transform:rotateY(1080deg)scale(1)}}@keyframes chest-reward-element-pop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes chest-reward-pulse{0%,to{opacity:.3;transform:scale(.9)}50%{opacity:.6;transform:scale(1.1)}}@keyframes chest-reward-info-slide{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes chest-reward-blink{0%,to{opacity:.4}50%{opacity:1}}@media (width<=640px){.chest-reward-card{width:96px;height:96px}.chest-reward-scroll-spin{width:72px;height:72px}.chest-reward-element{width:36px;height:36px}.chest-reward-title{font-size:11px}.chest-reward-desc{max-width:260px}}@media (width<=768px){.inventory-grid{grid-template-columns:1fr}.scroll-card-tooltip{margin-top:0;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}}:root{--pixel-bg-void:#07070f;--pixel-bg-dark:#0f0f1f;--pixel-bg-medium:#1a1a2e;--pixel-bg-light:#16213e;--pixel-bg-raised:#24243c;--pixel-primary:#a855e8;--pixel-primary-dark:#7b3fa8;--pixel-primary-glow:#a855e859;--pixel-secondary:#ffd23f;--pixel-secondary-dark:#d4a017;--pixel-danger:#e63757;--pixel-danger-dark:#a01030;--pixel-info:#1e9ec9;--pixel-success:#2f9e44;--pixel-text:#f4f4ff;--pixel-text-dim:#9a9ab8;--pixel-text-faint:#6a6a88;--pixel-border:#4a4a6a;--pixel-border-bright:#7a7a9a;--pixel-border-dark:#0a0a14;--pixel-unit:4px;--pixel-2:8px;--pixel-3:12px;--pixel-4:16px;--pixel-5:20px;--pixel-6:24px;--pixel-8:32px;--pixel-12:48px;--font-display:"Press Start 2P", "Courier New", monospace;--font-body:system-ui, -apple-system, "Segoe UI", "Microsoft YaHei", "PingFang SC", "Hiragino Sans GB", sans-serif;--text-xs:11px;--text-sm:13px;--text-base:15px;--text-lg:18px;--text-xl:24px;--text-2xl:32px;--element-fire:#f5843c;--element-water:#1e9ec9;--element-grass:#2f9e44;--element-electric:#f0e442;--element-rock:#a88a5c;--element-psychic:#a855e8;--rarity-common:#7a7a9a;--rarity-rare:#1e9ec9;--rarity-epic:#a855e8;--rarity-legendary:#ffd23f;--shadow-hard:4px 4px 0 var(--pixel-border-dark);--shadow-hard-sm:2px 2px 0 var(--pixel-border-dark);--shadow-inset:inset 0 0 0 2px var(--pixel-border-dark)}img,canvas{image-rendering:pixelated}.pixel-panel{background:var(--pixel-bg-medium);border:3px solid var(--pixel-border);box-shadow:inset 0 0 0 1px var(--pixel-bg-light), inset 0 0 0 2px var(--pixel-border-dark), var(--shadow-hard);padding:var(--pixel-4);position:relative}.pixel-panel-title{top:-10px;left:var(--pixel-4);background:var(--pixel-bg-dark);padding:0 var(--pixel-2);font-family:var(--font-display);color:var(--pixel-secondary);text-transform:uppercase;letter-spacing:1px;border:2px solid var(--pixel-border);box-shadow:var(--shadow-hard-sm);font-size:10px;position:absolute}.pixel-panel-body{position:relative}.pixel-button{padding:var(--pixel-3) var(--pixel-4);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.5px;background:var(--pixel-bg-medium);cursor:pointer;-webkit-user-select:none;user-select:none;border:3px solid;font-size:10px;transition:transform 50ms,box-shadow 50ms;display:inline-block;position:relative}.pixel-button:not(:disabled):hover{transform:translate(-1px,-1px)}.pixel-button:not(:disabled):active{transform:translate(2px,2px);box-shadow:none!important}.pixel-button:disabled{opacity:.5;cursor:not-allowed}.pixel-button-primary{border-color:var(--pixel-primary-dark);color:var(--pixel-text);box-shadow:inset 0 0 0 1px var(--pixel-primary), 4px 4px 0 var(--pixel-primary-dark)}.pixel-button-primary:not(:disabled):hover{box-shadow:inset 0 0 0 1px var(--pixel-primary), 5px 5px 0 var(--pixel-primary-dark)}.pixel-button-secondary{border-color:var(--pixel-secondary-dark);color:var(--pixel-bg-void);background:var(--pixel-secondary);box-shadow:4px 4px 0 var(--pixel-secondary-dark)}.pixel-button-secondary:not(:disabled):hover{box-shadow:5px 5px 0 var(--pixel-secondary-dark)}.pixel-button-danger{border-color:var(--pixel-danger-dark);color:var(--pixel-text);box-shadow:inset 0 0 0 1px var(--pixel-danger), 4px 4px 0 var(--pixel-danger-dark)}.pixel-button-danger:not(:disabled):hover{box-shadow:inset 0 0 0 1px var(--pixel-danger), 5px 5px 0 var(--pixel-danger-dark)}.pixel-button-ghost{border-color:var(--pixel-border);color:var(--pixel-text-dim);box-shadow:none;background:0 0}.pixel-button-ghost:not(:disabled):hover{color:var(--pixel-text);border-color:var(--pixel-border-bright);box-shadow:none}.pixel-button-full{width:100%}.rarity-badge,.element-badge{padding:2px var(--pixel-2);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.5px;box-shadow:var(--shadow-hard-sm);border:2px solid;font-size:8px;display:inline-block}.rarity-common{background:var(--pixel-bg-dark);border-color:var(--rarity-common);color:var(--rarity-common)}.rarity-rare{background:var(--pixel-bg-dark);border-color:var(--rarity-rare);color:var(--rarity-rare)}.rarity-epic{background:var(--pixel-bg-dark);border-color:var(--rarity-epic);color:var(--rarity-epic)}.rarity-legendary{background:var(--pixel-bg-dark);border-color:var(--rarity-legendary);color:var(--rarity-legendary)}.element-fire{background:var(--pixel-bg-dark);border-color:var(--element-fire);color:var(--element-fire)}.element-water{background:var(--pixel-bg-dark);border-color:var(--element-water);color:var(--element-water)}.element-grass{background:var(--pixel-bg-dark);border-color:var(--element-grass);color:var(--element-grass)}.element-electric{background:var(--pixel-bg-dark);border-color:var(--element-electric);color:var(--element-electric)}.element-rock{background:var(--pixel-bg-dark);border-color:var(--element-rock);color:var(--element-rock)}.element-psychic{background:var(--pixel-bg-dark);border-color:var(--element-psychic);color:var(--element-psychic)}.pixel-progress{background:var(--pixel-bg-dark);border:2px solid var(--pixel-border);height:16px;box-shadow:inset 0 0 0 1px var(--pixel-border-dark);position:relative;overflow:hidden}.pixel-progress-bar{background:var(--pixel-primary);border-right:2px solid var(--pixel-primary-dark);height:100%;box-shadow:inset 0 0 0 1px var(--pixel-primary-dark);transition:width .2s ease-out}.pixel-progress-bar[data-danger=true]{background:var(--pixel-danger);border-right-color:var(--pixel-danger-dark);box-shadow:inset 0 0 0 1px var(--pixel-danger-dark)}.pixel-progress-bar[data-success=true]{background:var(--pixel-success);border-right-color:#1a6b2e;box-shadow:inset 0 0 0 1px #1a6b2e}.pixel-progress-text{font-family:var(--font-display);color:var(--pixel-text);text-shadow:1px 1px 0 var(--pixel-bg-void);pointer-events:none;font-size:8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pixel-divider{background:var(--pixel-border-dark);border-top:1px solid var(--pixel-border);border-bottom:1px solid var(--pixel-border);height:3px;margin:var(--pixel-4) 0}.menu-screen{gap:var(--pixel-8);height:100vh;padding:var(--pixel-8);background:repeating-linear-gradient(0deg, transparent, transparent 2px, #a855e808 2px, #a855e808 4px), radial-gradient(ellipse at center, #a855e826, transparent 60%), var(--pixel-bg-void);grid-template-columns:1fr 420px;align-items:center;display:grid;overflow:hidden}.menu-hero{justify-content:center;align-items:center;gap:var(--pixel-6);flex-direction:column;display:flex}.menu-tower-art{background:var(--pixel-bg-dark);border:3px solid var(--pixel-border);width:96px;height:96px;box-shadow:inset 0 0 0 1px var(--pixel-bg-medium), inset 0 0 0 2px var(--pixel-border-dark), 0 0 0 6px var(--pixel-bg-void), 0 0 0 9px var(--pixel-border-dark), var(--shadow-hard);justify-content:center;align-items:center;display:flex;position:relative}.menu-title{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--pixel-secondary);text-shadow:3px 0 0 var(--pixel-secondary-dark), 0 3px 0 var(--pixel-secondary-dark), 3px 3px 0 var(--pixel-secondary-dark), 6px 6px 0 var(--pixel-bg-void);letter-spacing:2px;text-transform:uppercase;margin:0}.menu-tagline{font-size:var(--text-base);color:var(--pixel-text-dim);text-align:center;margin:0}.menu-rules{gap:var(--pixel-3);max-width:480px;padding:var(--pixel-6);background:var(--pixel-bg-dark);border:2px solid var(--pixel-border);box-shadow:var(--shadow-hard);flex-direction:column;display:flex}.rule-line{align-items:center;gap:var(--pixel-3);font-size:var(--text-sm);color:var(--pixel-text);display:flex}.rule-marker{background:var(--pixel-primary);border:2px solid var(--pixel-primary-dark);width:8px;height:8px;box-shadow:inset 0 0 0 1px var(--pixel-primary-dark);flex-shrink:0}.menu-actions{gap:var(--pixel-3);flex-direction:column;width:100%;max-width:360px;display:flex}.menu-side{gap:var(--pixel-6);flex-direction:column;height:100%;max-height:min(85vh,800px);display:flex;overflow-y:auto}.menu-side::-webkit-scrollbar{width:8px}.menu-side::-webkit-scrollbar-track{background:var(--pixel-bg-dark);border:1px solid var(--pixel-border-dark)}.menu-side::-webkit-scrollbar-thumb{background:var(--pixel-border);border:1px solid var(--pixel-border-dark)}.menu-side::-webkit-scrollbar-thumb:hover{background:var(--pixel-primary)}.menu-empty{font-size:var(--text-sm);color:var(--pixel-text-dim);margin:0;line-height:1.5}.menu-note{margin:var(--pixel-3) 0 0;font-size:var(--text-xs);color:var(--pixel-text-faint);line-height:1.4}.pending-list{gap:var(--pixel-2);margin-bottom:var(--pixel-3);flex-direction:column;max-height:200px;display:flex;overflow-y:auto}.pending-list::-webkit-scrollbar{width:6px}.pending-list::-webkit-scrollbar-track{background:var(--pixel-bg-void)}.pending-list::-webkit-scrollbar-thumb{background:var(--pixel-border-dark)}.pending-list::-webkit-scrollbar-thumb:hover{background:var(--pixel-border)}.pending-item{align-items:center;gap:var(--pixel-2);padding:var(--pixel-2);background:var(--pixel-bg-dark);border:1px solid var(--pixel-border-dark);grid-template-columns:24px 1fr auto;display:grid}.pending-name{font-size:var(--text-sm);color:var(--pixel-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pending-value{font-family:var(--font-display);color:var(--pixel-secondary);font-size:8px}.pending-total{padding:var(--pixel-3);background:var(--pixel-bg-dark);border:2px solid var(--pixel-secondary-dark);font-size:var(--text-sm);color:var(--pixel-text);text-align:center}.pending-total strong{font-family:var(--font-display);color:var(--pixel-secondary);font-size:10px}.wallet-box{gap:var(--pixel-3);flex-direction:column;display:flex}.wallet-address{padding:var(--pixel-3);background:var(--pixel-bg-dark);border:2px solid var(--pixel-border);font-family:var(--font-display);color:var(--pixel-info);text-align:center;font-size:10px}@media (width<=1280px){.menu-screen{grid-template-columns:1fr 380px}}@media (width<=1024px){.menu-screen{height:auto;min-height:100vh;padding:var(--pixel-6);grid-template-columns:1fr;align-items:start;overflow-y:auto}.menu-hero{padding-top:var(--pixel-6)}.menu-side{width:100%;max-width:480px;max-height:none;margin:0 auto}}@media (width<=640px){.menu-screen{padding:var(--pixel-4)}.menu-title{font-size:var(--text-xl)}.menu-tower-art{width:64px;height:64px}.menu-rules{padding:var(--pixel-4)}}.starter-screen{min-height:100vh;padding:var(--pixel-8) var(--pixel-12);background:repeating-linear-gradient(90deg, transparent, transparent 2px, #a855e808 2px, #a855e808 4px), var(--pixel-bg-void);flex-direction:column;justify-content:center;align-items:center;display:flex}.starter-header{margin-bottom:var(--pixel-8);text-align:center}.starter-title{margin:0 0 var(--pixel-3);font-family:var(--font-display);font-size:var(--text-xl);color:var(--pixel-primary);text-transform:uppercase;letter-spacing:2px}.starter-subtitle{font-size:var(--text-base);color:var(--pixel-text-dim);margin:0}.starter-grid{gap:var(--pixel-6);width:100%;max-width:1400px;margin-bottom:var(--pixel-6);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.starter-card{gap:var(--pixel-3);padding:var(--pixel-4);background:var(--pixel-bg-dark);border:3px solid var(--pixel-border);box-shadow:var(--shadow-hard);cursor:pointer;flex-direction:column;transition:transform .1s,box-shadow .1s;display:flex}.starter-card:hover{border-color:var(--pixel-primary);box-shadow:6px 6px 0 var(--pixel-primary-dark);transform:translate(-2px,-2px)}.starter-card:active{box-shadow:2px 2px 0 var(--pixel-border-dark);transform:translate(2px,2px)}.starter-card-art{aspect-ratio:1;background:var(--pixel-bg-medium);border:2px solid var(--pixel-border);width:100%;box-shadow:inset 0 0 0 1px var(--pixel-border-dark);justify-content:center;align-items:center;display:flex}.starter-card-header{justify-content:space-between;align-items:center;gap:var(--pixel-2);display:flex}.starter-card-name{font-family:var(--font-display);color:var(--pixel-text);text-transform:uppercase;letter-spacing:.5px;font-size:10px}.starter-card-desc{font-size:var(--text-sm);color:var(--pixel-text-dim);margin:0;line-height:1.4}.starter-card-stats{gap:var(--pixel-2);padding-top:var(--pixel-2);border-top:1px solid var(--pixel-border-dark);grid-template-columns:repeat(3,1fr);display:grid}.starter-stat{text-align:center}.starter-stat-label{font-size:var(--text-xs);color:var(--pixel-text-faint);margin-bottom:2px;display:block}.starter-stat-value{font-family:var(--font-display);color:var(--pixel-text);font-size:10px;display:block}.starter-back{justify-content:center;display:flex}@media (width<=768px){.starter-grid{grid-template-columns:1fr;max-width:360px}.starter-title{font-size:var(--text-lg)}}.game-screen{gap:var(--pixel-8);min-height:100vh;padding:var(--pixel-8);background:var(--pixel-bg-void);grid-template-columns:1fr 420px;max-width:100vw;display:grid;overflow:hidden}.game-map-area{justify-content:center;align-items:center;gap:var(--pixel-4);flex-direction:column;display:flex}.game-floor-header{width:100%;max-width:800px;padding:var(--pixel-4);background:var(--pixel-bg-dark);border:2px solid var(--pixel-border);box-shadow:var(--shadow-hard-sm);justify-content:space-between;align-items:center;display:flex}.game-floor-number{font-family:var(--font-display);color:var(--pixel-secondary);text-transform:uppercase;letter-spacing:1px;font-size:14px}.game-map-container{aspect-ratio:1;background:var(--pixel-bg-dark);border:4px solid var(--pixel-border);width:min(80vh,800px);height:min(80vh,800px);box-shadow:inset 0 0 0 2px var(--pixel-bg-medium), inset 0 0 0 4px var(--pixel-border-dark), var(--shadow-hard);position:relative;overflow:hidden}.game-map-container canvas{image-rendering:pixelated;display:block;width:100%!important;height:100%!important}.game-hud{gap:var(--pixel-6);flex-direction:column;height:100%;max-height:min(90vh,900px);display:flex}.hud-stats{gap:var(--pixel-3);flex-direction:column;display:flex}.hud-stat-row{align-items:center;gap:var(--pixel-3);grid-template-columns:70px 1fr;display:grid}.hud-stat-label{font-family:var(--font-display);color:var(--pixel-text-dim);text-transform:uppercase;letter-spacing:.5px;font-size:9px}.hud-stat-value{font-family:var(--font-display);color:var(--pixel-text);font-size:11px}.hud-stat-value[data-hp=true]{color:var(--pixel-danger)}.hud-stat-value[data-gold=true]{color:var(--pixel-secondary)}.hud-scrolls{gap:var(--pixel-2);padding-right:var(--pixel-2);flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.hud-scrolls::-webkit-scrollbar{width:8px}.hud-scrolls::-webkit-scrollbar-track{background:var(--pixel-bg-dark);border:1px solid var(--pixel-border-dark)}.hud-scrolls::-webkit-scrollbar-thumb{background:var(--pixel-border);border:1px solid var(--pixel-border-dark)}.hud-scrolls::-webkit-scrollbar-thumb:hover{background:var(--pixel-primary)}.hud-scroll-item{align-items:center;gap:var(--pixel-2);padding:var(--pixel-2);background:var(--pixel-bg-dark);border:2px solid var(--pixel-border);cursor:pointer;grid-template-columns:32px 1fr auto;transition:transform 50ms,box-shadow 50ms;display:grid}.hud-scroll-item:hover{box-shadow:2px 2px 0 var(--pixel-border-dark);transform:translate(-1px,-1px)}.hud-scroll-item:active{box-shadow:none;transform:translate(1px,1px)}.hud-scroll-item[data-used=true]{opacity:.4;cursor:not-allowed}.hud-scroll-item[data-used=true]:hover{box-shadow:none;transform:none}.hud-scroll-name{font-size:var(--text-sm);color:var(--pixel-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hud-scroll-durability{font-family:var(--font-display);color:var(--pixel-text-dim);font-size:8px}.hud-scroll-durability[data-low=true]{color:var(--pixel-danger)}.buff-picker{padding:var(--pixel-8);z-index:100;background:#07070fe6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.buff-picker-panel{width:100%;max-width:800px;max-height:90vh;overflow-y:auto}.buff-picker-title{margin:0 0 var(--pixel-4);font-family:var(--font-display);color:var(--pixel-secondary);text-align:center;text-transform:uppercase;letter-spacing:1px;font-size:12px}.buff-picker-options{gap:var(--pixel-4);margin-bottom:var(--pixel-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.buff-option{gap:var(--pixel-2);padding:var(--pixel-4);background:var(--pixel-bg-dark);border:3px solid var(--pixel-border);cursor:pointer;flex-direction:column;transition:transform 50ms,box-shadow 50ms;display:flex}.buff-option:hover{border-color:var(--pixel-primary);box-shadow:4px 4px 0 var(--pixel-primary-dark);transform:translate(-2px,-2px)}.buff-option:active{box-shadow:none;transform:translate(2px,2px)}.buff-option-header{justify-content:space-between;align-items:center;gap:var(--pixel-2);display:flex}.buff-option-name{font-family:var(--font-display);color:var(--pixel-text);font-size:10px}.buff-option-desc{font-size:var(--text-sm);color:var(--pixel-text-dim);margin:0;line-height:1.4}.combat-preview{bottom:var(--pixel-8);right:var(--pixel-8);width:360px;padding:var(--pixel-4);background:var(--pixel-bg-raised);border:3px solid var(--pixel-border);box-shadow:var(--shadow-hard);z-index:50;position:fixed}.combat-preview-monster{align-items:center;gap:var(--pixel-3);margin-bottom:var(--pixel-3);padding-bottom:var(--pixel-3);border-bottom:1px solid var(--pixel-border-dark);display:flex}.combat-preview-identity{gap:var(--pixel-1);flex-direction:column;flex:1;display:flex}.combat-preview-name{font-family:var(--font-display);color:var(--pixel-text);align-items:center;gap:var(--pixel-2);font-size:10px;display:flex}.boss-tag{padding:2px var(--pixel-2);background:var(--pixel-danger-dark);border:1px solid var(--pixel-danger);color:var(--pixel-danger);font-size:8px}.combat-preview-stats{gap:var(--pixel-2);margin-bottom:var(--pixel-3);flex-direction:column;display:flex}.preview-row{font-size:var(--text-sm);justify-content:space-between;align-items:center;display:flex}.preview-row-label{color:var(--pixel-text-dim)}.preview-row-value{font-family:var(--font-display);color:var(--pixel-text);font-size:10px}.preview-row-warn{color:var(--pixel-danger)}.preview-row-good{color:var(--pixel-success)}.combat-preview-divider{background:var(--pixel-border-dark);height:1px;margin:var(--pixel-3) 0}.combat-advantage{padding:var(--pixel-2);border:1px solid var(--pixel-success);font-size:var(--text-xs);color:var(--pixel-success);text-align:center;margin-bottom:var(--pixel-3);background:#2ed57326}.combat-verdict{padding:var(--pixel-3);text-align:center;font-size:var(--text-sm);border:2px solid}.combat-verdict-win{border-color:var(--pixel-success);color:var(--pixel-success);background:#2ed5731a}.combat-verdict-lethal{border-color:var(--pixel-danger);color:var(--pixel-danger);background:#eb4d4b1a}.combat-verdict-unbeatable{border-color:var(--pixel-warning);color:var(--pixel-warning);background:#ff9f431a}.combat-verdict-hint{margin-top:var(--pixel-2);font-size:var(--text-xs);color:var(--pixel-text-dim)}.combat-preview-unbeatable .combat-preview-stats,.combat-preview-lethal .combat-preview-stats{opacity:.6}.target-selection-hint{top:var(--pixel-4);padding:var(--pixel-3) var(--pixel-4);border:2px solid var(--pixel-primary);box-shadow:0 0 0 1px var(--pixel-primary-dark), 0 0 20px #3b6dff66;font-size:var(--text-sm);color:var(--pixel-primary);text-align:center;z-index:20;background:#07070ff2;animation:2s ease-in-out infinite hint-pulse;position:absolute;left:50%;transform:translate(-50%)}@keyframes hint-pulse{0%,to{opacity:1}50%{opacity:.7}}@media (width<=1400px){.game-screen{grid-template-columns:1fr 380px}.game-map-container{width:min(75vh,700px);height:min(75vh,700px)}.combat-preview{width:320px;bottom:var(--pixel-6);right:var(--pixel-6)}}@media (width<=1280px){.game-screen{gap:var(--pixel-4);padding:var(--pixel-6);grid-template-columns:1fr 340px}.game-map-container{width:min(70vh,600px);height:min(70vh,600px)}}@media (width<=1024px){.game-screen{padding:var(--pixel-4);grid-template-columns:1fr}.game-map-container{width:min(80vw,600px);height:min(80vw,600px)}.game-hud{width:100%;max-width:600px;margin:0 auto}.combat-preview{width:100%;max-width:600px;margin:var(--pixel-4) auto 0;position:relative;bottom:auto;right:auto}}@media (width<=640px){.buff-picker-options{grid-template-columns:1fr}.game-floor-number{font-size:10px}.game-screen{padding:var(--pixel-2)}.game-map-container{width:95vw;height:95vw}}.summary-screen{min-height:100vh;padding:var(--pixel-8) var(--pixel-12);background:var(--pixel-bg-void);flex-direction:column;justify-content:center;align-items:center;display:flex}.summary-panel{width:100%;max-width:800px}.summary-result{margin-bottom:var(--pixel-6);text-align:center}.summary-result-title{margin:0 0 var(--pixel-3);font-family:var(--font-display);font-size:var(--text-2xl);text-transform:uppercase;letter-spacing:2px}.summary-result-title[data-victory=true]{color:var(--pixel-secondary);text-shadow:2px 0 0 var(--pixel-secondary-dark), 0 2px 0 var(--pixel-secondary-dark), 2px 2px 0 var(--pixel-secondary-dark), 4px 4px 0 var(--pixel-bg-void)}.summary-result-title[data-victory=false]{color:var(--pixel-danger);text-shadow:2px 0 0 var(--pixel-danger-dark), 0 2px 0 var(--pixel-danger-dark), 2px 2px 0 var(--pixel-danger-dark), 4px 4px 0 var(--pixel-bg-void)}.summary-result-subtitle{font-size:var(--text-base);color:var(--pixel-text-dim);margin:0}.summary-stats{gap:var(--pixel-4);margin-bottom:var(--pixel-6);grid-template-columns:repeat(2,1fr);display:grid}.summary-stat{padding:var(--pixel-4);background:var(--pixel-bg-dark);border:2px solid var(--pixel-border);text-align:center}.summary-stat-label{margin-bottom:var(--pixel-2);font-size:var(--text-sm);color:var(--pixel-text-dim);display:block}.summary-stat-value{font-family:var(--font-display);color:var(--pixel-text);font-size:14px;display:block}.summary-stat-value[data-highlight=true]{color:var(--pixel-secondary)}.summary-rewards{margin-bottom:var(--pixel-6)}.summary-rewards-title{margin:0 0 var(--pixel-3);font-family:var(--font-display);color:var(--pixel-secondary);text-transform:uppercase;letter-spacing:1px;text-align:center;font-size:10px}.summary-rewards-list{gap:var(--pixel-2);margin-bottom:var(--pixel-4);flex-direction:column;display:flex}.summary-reward-item{align-items:center;gap:var(--pixel-2);padding:var(--pixel-3);background:var(--pixel-bg-dark);border:2px solid var(--pixel-border);grid-template-columns:32px 1fr auto;display:grid}.summary-reward-name{font-size:var(--text-sm);color:var(--pixel-text)}.summary-reward-value{font-family:var(--font-display);color:var(--pixel-secondary);font-size:10px}.summary-total{padding:var(--pixel-4);background:var(--pixel-bg-raised);border:3px solid var(--pixel-secondary-dark);box-shadow:inset 0 0 0 1px var(--pixel-secondary), var(--shadow-hard);text-align:center}.summary-total-label{margin-bottom:var(--pixel-2);font-size:var(--text-sm);color:var(--pixel-text);display:block}.summary-total-value{font-family:var(--font-display);color:var(--pixel-secondary);font-size:16px;display:block}.summary-actions{gap:var(--pixel-3);flex-direction:column;display:flex}.summary-note{margin:var(--pixel-4) 0 0;font-size:var(--text-xs);color:var(--pixel-text-faint);text-align:center;line-height:1.4}@media (width<=640px){.summary-stats{grid-template-columns:1fr}.summary-result-title{font-size:var(--text-xl)}}.announcement-overlay{padding:var(--pixel-8);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#07070feb;justify-content:center;align-items:center;animation:.3s ease-out fade-in;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.announcement-modal{background:var(--pixel-bg-raised);border:4px solid var(--pixel-border);width:100%;max-width:560px;box-shadow:inset 0 0 0 2px var(--pixel-bg-dark), inset 0 0 0 4px var(--pixel-border-dark), 0 12px 48px #0009;animation:.4s cubic-bezier(.16,1,.3,1) slide-up}@keyframes slide-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.announcement-header{align-items:center;gap:var(--pixel-4);padding:var(--pixel-6);background:var(--pixel-bg-dark);border-bottom:3px solid var(--pixel-border);display:flex}.announcement-icon{filter:drop-shadow(0 2px 4px #0000004d);font-size:32px;line-height:1}.announcement-title{font-family:var(--font-display);color:var(--pixel-primary);text-transform:uppercase;letter-spacing:1px;text-shadow:2px 0 0 var(--pixel-primary-dark), 0 2px 0 var(--pixel-primary-dark), 2px 2px 0 var(--pixel-primary-dark);margin:0;font-size:14px}.announcement-body{padding:var(--pixel-6);gap:var(--pixel-5);flex-direction:column;display:flex}.announcement-section{padding:var(--pixel-4);background:var(--pixel-bg-dark);border:2px solid var(--pixel-border-dark)}.announcement-section-free{border-color:var(--pixel-primary-dark);background:#a855e814}.announcement-section-title{margin:0 0 var(--pixel-3);font-family:var(--font-display);color:var(--pixel-text);text-transform:uppercase;letter-spacing:.5px;font-size:10px}.announcement-section-free .announcement-section-title{color:var(--pixel-primary)}.announcement-text{margin:0 0 var(--pixel-3);font-size:var(--text-sm);color:var(--pixel-text);line-height:1.6}.announcement-text:last-child{margin-bottom:0}.announcement-text strong{color:var(--pixel-text);font-weight:600}.highlight-mon{color:var(--pixel-secondary);font-family:var(--font-display);padding:0 var(--pixel-1);background:#ffc10726;border-radius:2px;font-size:11px}.announcement-note{margin:var(--pixel-3) 0 0;padding-top:var(--pixel-3);border-top:1px solid var(--pixel-border-dark);font-size:var(--text-xs);color:var(--pixel-text-faint);line-height:1.5}.announcement-btn{margin:0 var(--pixel-6) var(--pixel-6);padding:var(--pixel-4) var(--pixel-6);font-family:var(--font-display);color:var(--pixel-text);background:var(--pixel-primary);border:3px solid var(--pixel-primary-dark);text-transform:uppercase;letter-spacing:1px;cursor:pointer;box-shadow:inset 0 0 0 1px #fff3, 0 4px 0 var(--pixel-primary-dark), 0 6px 12px #0006;font-size:10px;transition:transform 50ms,box-shadow 50ms}.announcement-btn:hover{box-shadow:inset 0 0 0 1px #ffffff4d, 0 6px 0 var(--pixel-primary-dark), 0 8px 16px #00000080;transform:translateY(-2px)}.announcement-btn:active{box-shadow:inset 0 0 0 1px #0003, 0 2px 0 var(--pixel-primary-dark), 0 4px 8px #0000004d;transform:translateY(2px)}@media (width<=640px){.announcement-overlay{padding:var(--pixel-4)}.announcement-modal{max-width:100%}.announcement-header{padding:var(--pixel-4)}.announcement-icon{font-size:24px}.announcement-title{font-size:11px}.announcement-body{padding:var(--pixel-4)}}.chest-reward-overlay{z-index:200;cursor:pointer;background:#07070fd9;justify-content:center;align-items:center;animation:.3s ease-out chest-reward-fade-in;display:flex;position:fixed;inset:0}.chest-reward-overlay.chest-reward-exit{animation:.4s ease-in forwards chest-reward-fade-out}.chest-reward-panel{align-items:center;gap:var(--pixel-6);padding:var(--pixel-8);background:var(--pixel-bg-dark);border:4px solid var(--pixel-secondary);box-shadow:inset 0 0 0 2px var(--pixel-bg-medium), inset 0 0 0 4px var(--pixel-secondary-dark), 0 0 48px #a855e899, var(--shadow-hard);pointer-events:none;flex-direction:column;max-width:90vw;animation:.4s cubic-bezier(.34,1.56,.64,1) chest-reward-panel-enter;display:flex}.chest-reward-exit .chest-reward-panel{animation:.3s ease-in forwards chest-reward-panel-exit}.chest-reward-card{justify-content:center;align-items:center;width:128px;height:128px;display:flex;position:relative}.chest-reward-scroll-spin{width:96px;height:96px;animation:1.2s cubic-bezier(.68,-.55,.27,1.55) forwards chest-reward-spin;position:absolute}.chest-reward-element{z-index:2;width:48px;height:48px;animation:.6s cubic-bezier(.34,1.56,.64,1) .8s both chest-reward-element-pop;position:absolute}.chest-reward-glow{opacity:.4;pointer-events:none;z-index:-1;border-radius:50%;width:160px;height:160px;animation:2s ease-in-out infinite chest-reward-pulse;position:absolute}.chest-reward-glow.rarity-common{background:radial-gradient(circle,#c8c8c899,#0000 70%)}.chest-reward-glow.rarity-rare{background:radial-gradient(circle,#38bdf899,#0000 70%)}.chest-reward-glow.rarity-epic{background:radial-gradient(circle,#a855e899,#0000 70%)}.chest-reward-info{align-items:center;gap:var(--pixel-3);flex-direction:column;animation:.5s ease-out .6s both chest-reward-info-slide;display:flex}.chest-reward-title{font-family:var(--font-display);color:var(--pixel-secondary);text-transform:uppercase;letter-spacing:1px;text-shadow:2px 0 0 var(--pixel-secondary-dark), 0 2px 0 var(--pixel-secondary-dark), 2px 2px 0 var(--pixel-secondary-dark);font-size:14px}.chest-reward-badges{align-items:center;gap:var(--pixel-3);display:flex}.chest-reward-rarity-note{padding:var(--pixel-2) var(--pixel-3);background:var(--pixel-bg-void);border:1px solid var(--pixel-border-dark);font-size:var(--text-xs);color:var(--pixel-text-faint);text-align:center}.chest-reward-value{padding:var(--pixel-1) var(--pixel-3);background:var(--pixel-bg-raised);border:2px solid var(--pixel-secondary-dark);font-family:var(--font-display);color:var(--pixel-secondary);text-transform:uppercase;font-size:9px}.chest-reward-desc{max-width:320px;padding:var(--pixel-3);background:var(--pixel-bg-medium);border:2px solid var(--pixel-border);font-size:var(--text-sm);color:var(--pixel-text-dim);text-align:center;line-height:1.4}.chest-reward-others{margin-top:var(--pixel-2);padding:var(--pixel-2) var(--pixel-3);background:var(--pixel-bg-void);border:1px solid var(--pixel-border-dark);font-size:var(--text-xs);color:var(--pixel-text-faint)}.chest-reward-hint{margin-top:var(--pixel-2);font-size:var(--text-xs);color:var(--pixel-text-faint);animation:1.5s ease-in-out infinite chest-reward-blink}@media (width<=640px){.chest-reward-card{width:96px;height:96px}.chest-reward-scroll-spin{width:72px;height:72px}.chest-reward-element{width:36px;height:36px}.chest-reward-title{font-size:11px}.chest-reward-desc{max-width:260px}}.inventory-button{left:var(--pixel-8);bottom:var(--pixel-8);padding:var(--pixel-3) var(--pixel-4);background:var(--pixel-bg-dark);border:3px solid var(--pixel-border);box-shadow:var(--shadow-hard);font-family:var(--font-display);color:var(--pixel-text);cursor:pointer;z-index:50;font-size:10px;transition:transform 50ms,box-shadow 50ms;position:fixed}.inventory-button:hover{border-color:var(--pixel-primary);box-shadow:4px 4px 0 var(--pixel-primary-dark);transform:translate(-2px,-2px)}.inventory-button:active{box-shadow:1px 1px 0 var(--pixel-border-dark);transform:translate(1px,1px)}.inventory-modal{padding:var(--pixel-8);z-index:100;background:#07070feb;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.inventory-panel{gap:var(--pixel-4);width:100%;max-width:900px;max-height:85vh;padding:var(--pixel-6);background:var(--pixel-bg-dark);border:4px solid var(--pixel-border);box-shadow:var(--shadow-hard);flex-direction:column;display:flex;overflow-y:auto}.inventory-header{padding-bottom:var(--pixel-3);border-bottom:2px solid var(--pixel-border-dark);justify-content:space-between;align-items:center;display:flex}.inventory-title{font-family:var(--font-display);color:var(--pixel-secondary);text-transform:uppercase;letter-spacing:1px;margin:0;font-size:12px}.inventory-close{padding:var(--pixel-2);background:var(--pixel-bg-medium);border:2px solid var(--pixel-border);font-family:var(--font-display);color:var(--pixel-text-dim);cursor:pointer;font-size:10px;transition:all 50ms}.inventory-close:hover{border-color:var(--pixel-danger);color:var(--pixel-danger)}.inventory-empty{padding:var(--pixel-8);text-align:center;font-size:var(--text-sm);color:var(--pixel-text-dim);line-height:1.6}.inventory-grid{gap:var(--pixel-4);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.scroll-card{gap:var(--pixel-3);padding:var(--pixel-4);background:var(--pixel-bg-medium);border:3px solid var(--pixel-border);cursor:pointer;flex-direction:column;transition:transform .1s,box-shadow .1s;display:flex;position:relative}.scroll-card:hover{border-color:var(--pixel-primary);box-shadow:4px 4px 0 var(--pixel-primary-dark);transform:translate(-2px,-2px)}.scroll-card:active{box-shadow:1px 1px 0 var(--pixel-border-dark);transform:translate(1px,1px)}.scroll-card[data-used=true]{opacity:.4;cursor:not-allowed}.scroll-card[data-used=true]:hover{box-shadow:none;border-color:var(--pixel-border);transform:none}.scroll-card-icon{background:var(--pixel-bg-dark);border:2px solid var(--pixel-border-dark);justify-content:center;align-items:center;width:48px;height:48px;margin:0 auto;font-size:24px;display:flex}.scroll-card-header{justify-content:space-between;align-items:center;gap:var(--pixel-2);display:flex}.scroll-card-name{font-family:var(--font-display);color:var(--pixel-text);text-transform:uppercase;font-size:10px}.scroll-card-rarity{font-family:var(--font-display);text-transform:uppercase;font-size:8px}.scroll-card-desc{font-size:var(--text-xs);color:var(--pixel-text-dim);margin:0;line-height:1.4}.scroll-card-tooltip{margin-top:var(--pixel-2);width:max-content;max-width:320px;padding:var(--pixel-4);background:var(--pixel-bg-void);border:3px solid var(--pixel-primary);z-index:1000;position:absolute;top:100%;left:50%;transform:translate(-50%);box-shadow:0 6px 12px #0009}.scroll-card-tooltip-value{justify-content:space-between;align-items:center;gap:var(--pixel-3);padding-bottom:var(--pixel-2);margin-bottom:var(--pixel-2);border-bottom:1px solid var(--pixel-border-dark);display:flex}.scroll-card-tooltip-label{font-size:var(--text-xs);color:var(--pixel-text-dim)}.scroll-card-tooltip-amount{font-family:var(--font-display);color:var(--pixel-secondary);font-size:10px}.scroll-card-tooltip-effect{margin:0 0 var(--pixel-3);font-size:var(--text-xs);color:var(--pixel-text);line-height:1.5}.scroll-card-use-button{width:100%;padding:var(--pixel-2);background:var(--pixel-primary);border:2px solid var(--pixel-primary-dark);font-family:var(--font-display);color:var(--pixel-bg-void);text-transform:uppercase;cursor:pointer;font-size:9px;transition:all 50ms}.scroll-card-use-button:hover{background:var(--pixel-primary-light)}.scroll-card-use-button:active{transform:translateY(1px)}@media (width<=768px){.inventory-grid{grid-template-columns:1fr}.scroll-card-tooltip{margin-top:0;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0;padding:0}body{background:var(--pixel-bg-void);color:var(--pixel-text);font-family:var(--font-body);font-size:var(--text-base);-webkit-font-smoothing:antialiased;line-height:1.6}#root{min-height:100vh}button{color:inherit;font-family:inherit}:focus-visible{outline:2px solid var(--pixel-secondary);outline-offset:2px}.pixel-sprite{flex-shrink:0;display:block}
