*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-tap-highlight-color:transparent}.bg-card-grid{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none;opacity:0;transition:opacity 1.5s ease}.bg-card-grid.visible{opacity:1}.bg-card-grid-inner{display:grid;grid-template-columns:repeat(auto-fill,90px);gap:8px;position:absolute;width:200vw;height:200vh;top:-50vh;left:-50vw;will-change:transform;animation:bgDiagonalDrift 120s linear infinite}@keyframes bgDiagonalDrift{0%{transform:translate(0)}to{transform:translate(-300px,-300px)}}.bg-card-tile{width:90px;height:120px;border-radius:6px;overflow:hidden;position:relative}.bg-card-tile.discovered{opacity:.12;transition:opacity 1s ease}.bg-card-tile.undiscovered{opacity:0}.bg-card-tile img{width:100%;height:100%;object-fit:cover;display:block}.bg-card-tile.discovered:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:8px;box-shadow:inset 0 0 14px var(--rarity-glow, transparent);pointer-events:none}.bg-card-tile.silhouette{opacity:.04;filter:brightness(0) saturate(0)}@media(max-width:768px){.bg-card-grid{display:none}}.selectable{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}:root{--bg-color: #0a0a0f;--bg-secondary: #0e0e18;--panel-bg: #12121a;--panel-border: #1e1e2e;--text-main: #e0e0e0;--text-muted: #707080;--text-dim: #454560;--accent: #8b5cf6;--accent-hover: #7c3aed;--accent-dim: rgba(139, 92, 246, .15);--danger: #ef4444;--rarity-common: #b0b0b0;--rarity-uncommon: #4ade80;--rarity-rare: #60a5fa;--rarity-epic: #c084fc;--rarity-legendary: #fbbf24;--rarity-mythic: #f87171;--rarity-divine: #f0abfc;--rarity-celestial: #67e8f9;--font-main: "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono: "Cascadia Code", "Fira Code", "Consolas", monospace}html,body{height:100%;width:100%;background:var(--bg-color);color:var(--text-main);font-family:var(--font-main);font-size:14px;line-height:1.5}#app{height:100vh;width:100vw;display:flex;flex-direction:column;position:relative;z-index:1}.layout-container{display:flex;flex-direction:column;height:100%;width:100%}#header-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 24px;background:var(--panel-bg);border-bottom:1px solid var(--panel-border);min-height:56px;z-index:10;gap:16px}.header-left{display:flex;align-items:center;gap:16px;flex-shrink:0}.game-title{font-size:18px;font-weight:700;letter-spacing:3px;color:var(--accent);font-family:var(--font-mono)}.header-stardust,.header-shards,.header-essence{font-family:var(--font-mono);font-size:14px;font-weight:600;padding:4px 10px;border-radius:6px;background:#ffffff08;border:1px solid rgba(255,255,255,.05);white-space:nowrap}.header-stardust{color:var(--rarity-legendary)}.header-stardust:before{content:"✦"}.header-essence{color:var(--accent)}.header-essence:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);margin-right:6px;vertical-align:middle}.header-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.auto-roll-badge{font-size:11px;color:var(--rarity-uncommon);font-family:var(--font-mono);letter-spacing:1px}.auto-roll-badge:not(:empty):before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--rarity-uncommon);margin-right:6px;animation:pulse-dot 1.5s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}#main-content{flex:1;position:relative}.page-nav{display:flex;gap:6px;align-items:center}.nav-tab{padding:8px 20px;font-size:13px;font-weight:600;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:2px;border:1px solid var(--panel-border);border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .2s}.nav-tab:hover{border-color:var(--text-muted);color:var(--text-main);background:#ffffff08}.nav-tab.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim);box-shadow:0 0 12px #8b5cf626}.game-page{display:none;width:100%;height:100%}.game-page.active{display:flex;flex-direction:column}.page-inner{padding:28px 32px;max-width:1200px;margin:0 auto;width:100%}.page-title{font-size:15px;text-transform:uppercase;letter-spacing:3px;color:var(--text-muted);margin-bottom:20px;font-family:var(--font-mono);padding-bottom:12px;border-bottom:1px solid var(--panel-border)}.upgrades-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.gems-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px}.gems-section{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:12px;padding:24px}.gems-section .page-title{margin-bottom:16px}.gems-section-full{grid-column:1 / -1}.gems-footer{grid-column:1 / -1;text-align:center;padding:12px 0}.section-title{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);margin-bottom:8px}.panel-section{padding-top:12px;border-top:1px solid var(--panel-border)}#center-panel{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:40px 24px;background:var(--bg-secondary);position:relative;min-height:0}#realm-display{position:absolute;top:16px;left:50%;transform:translate(-50%)}#realm-name{font-size:13px;text-transform:uppercase;letter-spacing:3px;color:var(--text-muted);font-family:var(--font-mono)}#roll-result-area{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%}#roll-slots-row{display:flex;justify-content:center;align-items:stretch;gap:16px;width:100%;max-width:100%;scroll-behavior:smooth;padding:4px}.roll-card-slot{width:260px;min-width:260px;border:2px solid var(--panel-border);border-radius:14px;overflow:hidden;background:var(--panel-bg);transition:border-color .3s,box-shadow .3s;position:relative;display:flex;flex-direction:column}.roll-card-art{position:relative;width:100%;aspect-ratio:1;overflow:hidden;background:var(--bg-color);display:flex;align-items:center;justify-content:center;flex-shrink:0}.roll-card-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain}.roll-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:64px;font-weight:700;color:var(--text-dim);font-family:var(--font-mono)}.roll-card-holo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen;z-index:1}.roll-card-info{position:relative;padding:14px;display:flex;flex-direction:column;gap:4px;height:130px;overflow:hidden}.roll-card-info:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;mix-blend-mode:screen;border-radius:0 0 12px 12px;background:linear-gradient(135deg,transparent 0%,var(--body-holo-color, transparent) 30%,var(--body-holo-color, transparent) 50%,transparent 75%,transparent 100%);opacity:0;transition:opacity .3s ease}.roll-card-name{font-size:16px;font-weight:700;line-height:1.3;min-height:21px}.roll-card-rarity{font-size:11px;text-transform:uppercase;letter-spacing:2px;font-family:var(--font-mono);min-height:17px}.roll-card-realm{font-size:10px;color:var(--text-muted);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:1px}.roll-card-desc{font-size:12px;color:var(--text-muted);line-height:1.4;font-style:italic;padding-top:6px;border-top:1px solid var(--panel-border);min-height:20px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.roll-card-essence{font-size:12px;font-family:var(--font-mono);opacity:.8;min-height:18px}.roll-card-footer{display:flex;justify-content:space-between;align-items:center}.roll-card-chance{font-size:11px;font-family:var(--font-mono);color:var(--text-dim)}.roll-card-slot[data-rarity=common]{border-color:var(--rarity-common);box-shadow:0 0 12px #b0b0b033}.roll-card-slot[data-rarity=uncommon]{border-color:var(--rarity-uncommon);box-shadow:0 0 15px #4ade8040}.roll-card-slot[data-rarity=rare]{border-color:var(--rarity-rare);box-shadow:0 0 18px #60a5fa4d}.roll-card-slot[data-rarity=epic]{border-color:var(--rarity-epic);box-shadow:0 0 22px #c084fc59}.roll-card-slot[data-rarity=epic] .roll-card-info:after{opacity:1;--body-holo-color: rgba(192, 132, 252, .18)}.roll-card-slot[data-rarity=legendary]{border-color:var(--rarity-legendary);box-shadow:0 0 28px #fbbf2466;animation:legendary-pulse 2s ease-in-out infinite}.roll-card-slot[data-rarity=legendary] .roll-card-info:after{opacity:1;--body-holo-color: rgba(251, 191, 36, .2)}.roll-card-slot[data-rarity=mythic]{border-color:var(--rarity-mythic);box-shadow:0 0 32px #f8717173;animation:mythic-pulse 1.8s ease-in-out infinite}.roll-card-slot[data-rarity=mythic] .roll-card-info:after{opacity:1;--body-holo-color: rgba(248, 113, 113, .22)}.roll-card-slot[data-rarity=divine]{border-color:var(--rarity-divine);box-shadow:0 0 36px #f0abfc80;animation:divine-pulse 1.5s ease-in-out infinite}.roll-card-slot[data-rarity=divine] .roll-card-info:after{opacity:1;--body-holo-color: rgba(240, 171, 252, .22)}.roll-card-slot[data-rarity=celestial]{border-color:var(--rarity-celestial);animation:rainbow-shimmer 3s linear infinite}.roll-card-slot[data-rarity=celestial] .roll-card-info:after{opacity:1;--body-holo-color: rgba(103, 232, 249, .25)}@keyframes legendary-pulse{0%,to{box-shadow:0 0 20px #fbbf244d}50%{box-shadow:0 0 40px #fbbf2499,0 0 80px #fbbf2426}}@keyframes mythic-pulse{0%,to{box-shadow:0 0 22px #f8717159}50%{box-shadow:0 0 45px #f8717199,0 0 90px #f8717126}}@keyframes divine-pulse{0%,to{box-shadow:0 0 25px #f0abfc66}50%{box-shadow:0 0 50px #f0abfcb3,0 0 100px #f0abfc33}}@keyframes rainbow-shimmer{0%{box-shadow:0 0 30px #67e8f9,0 0 60px #67e8f94d;border-color:#67e8f9}25%{box-shadow:0 0 30px #f0abfc,0 0 60px #f0abfc4d;border-color:#f0abfc}50%{box-shadow:0 0 30px #fbbf24,0 0 60px #fbbf244d;border-color:#fbbf24}75%{box-shadow:0 0 30px #4ade80,0 0 60px #4ade804d;border-color:#4ade80}to{box-shadow:0 0 30px #67e8f9,0 0 60px #67e8f94d;border-color:#67e8f9}}#roll-controls{display:flex;align-items:center;gap:12px}.roll-button{width:200px;height:56px;font-size:20px;font-weight:700;letter-spacing:4px;font-family:var(--font-mono);border:2px solid var(--accent);border-radius:8px;background:transparent;color:var(--accent);cursor:pointer;transition:all .15s ease;position:relative;overflow:hidden}.roll-button:hover:not(:disabled){background:var(--accent-dim);box-shadow:0 0 20px #8b5cf64d;transform:translateY(-1px)}.roll-button:active:not(:disabled){transform:scale(.96);box-shadow:0 0 10px #8b5cf680;background:#8b5cf640}.roll-button:disabled{opacity:.4;cursor:default}.upgrade-card{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:10px;padding:16px 18px;display:flex;flex-direction:column;gap:8px;transition:border-color .2s}.upgrade-card:hover{border-color:#ffffff1a}.upgrade-header{display:flex;justify-content:space-between;align-items:center}.upgrade-name{font-size:15px;font-weight:600;color:var(--text-main)}.upgrade-level{font-size:12px;font-family:var(--font-mono);color:var(--accent);padding:2px 8px;border-radius:4px;background:var(--accent-dim)}.upgrade-desc{font-size:13px;color:var(--text-muted);line-height:1.4}.upgrade-effect{font-size:12px;font-family:var(--font-mono);color:var(--rarity-uncommon)}.upgrade-buy-btn{margin-top:4px;padding:8px 14px;font-size:13px;font-family:var(--font-mono);border:1px solid var(--panel-border);border-radius:6px;background:var(--bg-color);color:var(--text-muted);cursor:pointer;transition:all .15s}.upgrade-buy-btn.affordable{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.upgrade-buy-btn.affordable:hover{background:#8b5cf640;box-shadow:0 0 10px #8b5cf633}.upgrade-buy-btn:disabled{opacity:.35;cursor:default}.socket-slot-group{margin-bottom:14px}.socket-slot-group-label{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--text-dim);margin-bottom:6px;font-family:var(--font-mono)}.socket-slot{padding:12px 14px;border:1px dashed var(--panel-border);border-radius:8px;margin-bottom:6px;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:10px;min-height:46px;font-size:13px}.socket-slot:hover:not(.locked){border-color:var(--accent);background:var(--accent-dim)}.socket-slot.filled{border-style:solid;cursor:pointer;background:#ffffff05}.socket-slot.locked{opacity:.35;cursor:default;border-style:dotted}.socket-slot-icon{font-size:20px;flex-shrink:0;width:24px;text-align:center}.socket-slot-name{font-size:14px;font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.socket-slot-empty{color:var(--text-dim);font-size:12px;font-style:italic}.socket-slot-lock-cost{font-size:10px;color:var(--text-dim);font-family:var(--font-mono)}.socket-board-footer{margin-top:8px;display:flex;flex-direction:column;gap:6px}.shard-count{font-size:13px;font-family:var(--font-mono);color:var(--rarity-rare);text-align:center}.shard-count:before{content:"◆"}.header-shards{color:var(--rarity-rare)}.header-shards:before{content:"◆ "}.upgrade-construction{position:relative;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}.upgrade-construction .upgrade-header,.upgrade-construction .upgrade-desc,.upgrade-construction .upgrade-effect,.upgrade-construction .upgrade-buy-btn{filter:blur(2px) grayscale(.6);opacity:.25}.construction-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;pointer-events:none}.construction-tape{position:absolute;left:-10%;width:120%;height:22px;background:repeating-linear-gradient(-45deg,#f5c518,#f5c518 14px,#1a1a2e 14px,#1a1a2e 28px);box-shadow:0 0 10px #f5c5184d;z-index:11}.construction-tape-top{top:6px;transform:rotate(-4deg)}.construction-tape-bottom{bottom:6px;transform:rotate(4deg)}.construction-icon{font-size:28px;line-height:1;position:relative;z-index:12}.construction-text{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:2px;color:#f5c518;text-shadow:0 0 8px rgba(245,197,24,.5),0 1px 3px rgba(0,0,0,.8);position:relative;z-index:12}.gem-forge-info{display:flex;flex-direction:column;gap:14px}.gem-forge-desc{font-size:14px;color:var(--text-muted);line-height:1.5}.gem-forge-cost{font-size:14px;font-family:var(--font-mono);color:var(--rarity-rare)}.gem-forge-result{padding:16px;border:1px solid var(--panel-border);border-radius:10px;text-align:center;background:var(--bg-color)}.gem-forge-result .forge-gem-icon{font-size:36px;display:block;margin-bottom:8px}.gem-forge-result .forge-gem-name{font-size:15px;font-weight:600;display:block}.gem-forge-result .forge-gem-realm{font-size:12px;color:var(--text-muted);font-family:var(--font-mono);display:block;margin-top:4px}.gem-forge-inventory{margin-top:8px;padding-top:12px;border-top:1px solid var(--panel-border)}.gem-inventory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.gem-card{border:1px solid var(--panel-border);border-radius:8px;padding:12px;text-align:center;background:var(--bg-color);transition:all .15s}.gem-card:hover{border-color:#ffffff1a}.gem-card .gem-card-icon{font-size:28px;display:block;margin-bottom:6px}.gem-card .gem-card-name{font-size:12px;font-weight:600;line-height:1.3;display:block}.gem-card .gem-card-count{font-size:11px;color:var(--text-muted);font-family:var(--font-mono);display:block;margin-top:4px}.gem-picker-grid{display:flex;flex-direction:column;gap:10px}.gem-picker-option{padding:14px 16px;border:1px solid var(--panel-border);border-radius:8px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:all .15s;background:var(--bg-color)}.gem-picker-option:hover{border-color:var(--accent);background:var(--accent-dim)}.gem-picker-option .gem-picker-icon{font-size:28px;flex-shrink:0}.gem-picker-option .gem-picker-info{display:flex;flex-direction:column;gap:3px}.gem-picker-option .gem-picker-name{font-size:14px;font-weight:600}.gem-picker-option .gem-picker-detail{font-size:12px;color:var(--text-muted)}.stat-row{display:flex;justify-content:space-between;padding:8px 0;font-size:13px;border-bottom:1px solid rgba(255,255,255,.04)}.stat-row span:first-child{color:var(--text-muted)}.stat-row span:last-child{font-family:var(--font-mono)}.prestige-stat{font-size:13px;color:var(--text-muted);padding:4px 0;font-family:var(--font-mono)}.prestige-hint{color:var(--rarity-legendary)}.stats-overlay-section{padding-top:12px;border-top:1px solid var(--panel-border)}.btn-icon{background:transparent;border:1px solid var(--panel-border);color:var(--text-muted);font-size:18px;width:36px;height:36px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-icon:hover{border-color:var(--accent);color:var(--text-main);background:#ffffff08}.btn-primary{padding:8px 16px;border:1px solid var(--accent);border-radius:6px;background:var(--accent-dim);color:var(--accent);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.btn-primary:hover{background:#8b5cf640}.btn-secondary{padding:8px 16px;border:1px solid var(--panel-border);border-radius:6px;background:transparent;color:var(--text-muted);font-size:13px;cursor:pointer;transition:all .15s}.btn-secondary:hover{border-color:var(--text-muted);color:var(--text-main)}.btn-secondary:disabled{opacity:.35;cursor:default}.btn-danger{padding:8px 16px;border:1px solid var(--danger);border-radius:6px;background:transparent;color:var(--danger);font-size:13px;cursor:pointer;transition:all .15s}.btn-danger:hover{background:#ef444426}.full-width{width:100%}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.overlay-content{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:14px;padding:28px;max-height:85vh;overflow-y:auto;display:flex;flex-direction:column;gap:18px;min-width:420px;max-width:520px}.overlay-content.large{min-width:70vw;max-width:90vw;max-height:85vh}.overlay-content h2{font-size:17px;letter-spacing:2px;text-transform:uppercase;color:var(--text-main)}.overlay-header{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.overlay-header h2{margin-right:auto}.settings-group{display:flex;flex-direction:column;gap:8px}.settings-group.danger{margin-top:16px;padding-top:16px;border-top:1px solid var(--panel-border)}#collection-filters{display:flex;gap:8px;flex-wrap:wrap;flex-direction:column}.filter-group{display:flex;gap:4px;flex-wrap:wrap}.discovery-toggles .filter-btn.active{border-color:#a78bfa;color:#a78bfa;background:#a78bfa1a}.realm-filters .filter-btn.active{border-color:#38bdf8;color:#38bdf8;background:#38bdf81a}.admin-link-btn{display:block;text-align:center;text-decoration:none;color:#fbbf24!important;border-color:#fbbf24!important}.settings-user{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 0}.settings-username{font-size:16px;font-weight:600;color:var(--text-primary, #e5e5e5)}.settings-detail{font-size:12px;color:var(--text-muted, #888);font-family:var(--font-mono)}.filter-btn{padding:4px 10px;font-size:11px;border:1px solid var(--panel-border);border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s;font-family:var(--font-mono)}.filter-btn:hover{border-color:var(--text-muted)}.filter-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}#collection-stats-bar{font-size:13px;color:var(--text-muted);font-family:var(--font-mono);padding:6px 0}#collection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;overflow-y:auto;flex:1}.collection-cell{border:1px solid var(--panel-border);border-radius:10px;padding:12px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;transition:all .2s;background:var(--bg-color)}.collection-cell.discovered{cursor:default}.collection-cell[data-rarity=common].discovered{border-color:#b0b0b04d}.collection-cell[data-rarity=uncommon].discovered{border-color:#4ade804d}.collection-cell[data-rarity=rare].discovered{border-color:#60a5fa66}.collection-cell[data-rarity=epic].discovered{border-color:#c084fc66;box-shadow:0 0 8px #c084fc26}.collection-cell[data-rarity=legendary].discovered{border-color:#fbbf2480;box-shadow:0 0 12px #fbbf2433}.collection-cell[data-rarity=mythic].discovered{border-color:#f8717180;box-shadow:0 0 12px #f8717133}.collection-cell[data-rarity=divine].discovered{border-color:#f0abfc80;box-shadow:0 0 15px #f0abfc33}.collection-cell[data-rarity=celestial].discovered{border-color:#67e8f980;box-shadow:0 0 18px #67e8f940;animation:rainbow-shimmer-subtle 4s linear infinite}@keyframes rainbow-shimmer-subtle{0%{border-color:#67e8f980}25%{border-color:#f0abfc80}50%{border-color:#fbbf2480}75%{border-color:#4ade8080}to{border-color:#67e8f980}}.collection-cell.locked{opacity:.4}.cell-art-wrap{width:80px;height:80px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:6px}.cell-art-wrap img{max-width:100%;max-height:100%;object-fit:contain}.cell-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;font-family:var(--font-mono);border:1px dashed var(--panel-border);border-radius:6px}.locked-placeholder{color:var(--text-dim);font-size:32px}.cell-name{font-size:12px;font-weight:600;line-height:1.3}.cell-rarity{font-size:11px;text-transform:uppercase;letter-spacing:1px;font-family:var(--font-mono)}.cell-count{font-size:11px;color:var(--text-muted);font-family:var(--font-mono)}#toast-container{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column-reverse;gap:8px;z-index:2000;pointer-events:none}.toast{padding:12px 20px;border:1px solid var(--accent);border-radius:8px;background:var(--panel-bg);color:var(--text-main);font-size:13px;font-family:var(--font-mono);opacity:0;transform:translate(30px);transition:all .3s ease;pointer-events:auto;box-shadow:0 4px 16px #0000004d}.toast.show{opacity:1;transform:translate(0)}.toast.hide{opacity:0;transform:translate(30px)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--panel-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.holo-overlay{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:10px;pointer-events:none;z-index:2}@keyframes shake-light{0%,to{transform:translate(0)}10%{transform:translate(-2px,1px)}30%{transform:translate(2px,-1px)}50%{transform:translate(-1px,2px)}70%{transform:translate(1px,-2px)}90%{transform:translate(-2px,-1px)}}@keyframes shake-heavy{0%,to{transform:translate(0)}10%{transform:translate(-4px,2px)}20%{transform:translate(3px,-3px)}30%{transform:translate(-3px,4px)}40%{transform:translate(4px,-2px)}50%{transform:translate(-2px,3px)}60%{transform:translate(3px,-4px)}70%{transform:translate(-4px,2px)}80%{transform:translate(2px,-3px)}90%{transform:translate(-3px,4px)}}@keyframes shake-extreme{0%,to{transform:translate(0)}5%{transform:translate(-6px,3px) rotate(-.5deg)}15%{transform:translate(5px,-4px) rotate(.5deg)}25%{transform:translate(-5px,5px) rotate(-.3deg)}35%{transform:translate(6px,-3px) rotate(.3deg)}45%{transform:translate(-3px,6px) rotate(-.5deg)}55%{transform:translate(4px,-5px) rotate(.5deg)}65%{transform:translate(-6px,3px) rotate(-.3deg)}75%{transform:translate(5px,-4px) rotate(.3deg)}85%{transform:translate(-3px,5px)}95%{transform:translate(2px,-2px)}}#center-panel.shake-light{animation:shake-light .3s ease-out}#center-panel.shake-heavy{animation:shake-heavy .4s ease-out}#center-panel.shake-extreme{animation:shake-extreme .6s ease-out}.floating-essence{position:absolute;font-family:var(--font-mono);font-weight:700;font-size:18px;pointer-events:none;z-index:20;animation:float-up 1.2s ease-out forwards;text-shadow:0 0 8px currentColor}.floating-essence.large{font-size:24px}.floating-essence.huge{font-size:32px}@keyframes float-up{0%{opacity:1;transform:translateY(0) scale(1)}60%{opacity:1;transform:translateY(-60px) scale(1.1)}to{opacity:0;transform:translateY(-100px) scale(.8)}}.roll-card-slot.cycling .roll-card-placeholder{animation:cycle-flash .08s ease-in-out}@keyframes cycle-flash{0%{opacity:.4;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.roll-card-slot:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:14px;opacity:0;pointer-events:none;z-index:3}.roll-card-slot.burst-legendary:after{background:radial-gradient(circle,rgba(251,191,36,.4) 0%,transparent 70%);animation:rarity-burst .5s ease-out forwards}.roll-card-slot.burst-mythic:after{background:radial-gradient(circle,rgba(248,113,113,.4) 0%,transparent 70%);animation:rarity-burst .5s ease-out forwards}.roll-card-slot.burst-divine:after{background:radial-gradient(circle,rgba(240,171,252,.5) 0%,transparent 70%);animation:rarity-burst .6s ease-out forwards}.roll-card-slot.burst-celestial:after{background:radial-gradient(circle,rgba(103,232,249,.6) 0%,rgba(240,171,252,.3) 40%,transparent 70%);animation:rarity-burst .8s ease-out forwards}@keyframes rarity-burst{0%{opacity:1;transform:scale(.8)}50%{opacity:.6;transform:scale(1.3)}to{opacity:0;transform:scale(1.6)}}#rarity-impact-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:30;opacity:0;transition:opacity .3s ease}#rarity-impact-overlay.active{opacity:1}#rarity-impact-overlay.impact-epic{background:radial-gradient(ellipse at center,transparent 40%,rgba(192,132,252,.15) 100%)}#rarity-impact-overlay.impact-legendary{background:radial-gradient(ellipse at center,transparent 30%,rgba(251,191,36,.25) 100%)}#rarity-impact-overlay.impact-mythic{background:radial-gradient(ellipse at center,transparent 20%,rgba(248,113,113,.3) 80%,rgba(0,0,0,.3) 100%)}#rarity-impact-overlay.impact-divine{background:radial-gradient(ellipse at center,transparent 15%,rgba(240,171,252,.3) 50%,rgba(0,0,0,.6) 100%)}#rarity-impact-overlay.impact-celestial{background:radial-gradient(ellipse at center,transparent 10%,rgba(103,232,249,.25) 40%,rgba(240,171,252,.2) 60%,rgba(0,0,0,.8) 100%);animation:celestial-vignette-shift 3s ease-in-out infinite}@keyframes celestial-vignette-shift{0%,to{background-position:center;filter:hue-rotate(0deg)}50%{filter:hue-rotate(60deg)}}.roll-card-slot.impact-zoom{z-index:31;transition:transform .4s cubic-bezier(.34,1.56,.64,1),filter .3s}.roll-card-slot.impact-zoom-epic{transform:scale(1.03)}.roll-card-slot.impact-zoom-legendary{transform:scale(1.05);filter:brightness(1.1)}.roll-card-slot.impact-zoom-mythic{transform:scale(1.08);filter:brightness(1.15)}.roll-card-slot.impact-zoom-divine{transform:scale(1.12);filter:brightness(1.2)}.roll-card-slot.impact-zoom-celestial{transform:scale(1.15);filter:brightness(1.25)}.roll-card-slot.impact-beam:before{content:"";position:absolute;top:-200%;left:30%;width:40%;height:500%;background:linear-gradient(180deg,transparent,currentColor,transparent);opacity:.15;z-index:32;pointer-events:none;animation:beam-sweep 1.5s ease-in-out}@keyframes beam-sweep{0%{opacity:0;transform:scaleX(.5)}30%{opacity:.2;transform:scaleX(1)}to{opacity:0;transform:scaleX(1.5)}}.impact-particle{position:fixed;width:6px;height:6px;border-radius:50%;pointer-events:none;z-index:100;animation:impact-converge .7s ease-in forwards}@keyframes impact-converge{0%{transform:translate(0) scale(1);opacity:.8}80%{opacity:1}to{transform:translate(var(--end-x),var(--end-y)) scale(.3);opacity:0}}@media(max-width:900px){#header-bar{padding:8px 16px;gap:10px}.header-left{gap:8px}.game-title{font-size:14px;letter-spacing:2px}.header-stardust,.header-shards,.header-essence{font-size:12px;padding:3px 8px}.gems-layout{grid-template-columns:1fr}.gems-section-full,.gems-footer{grid-column:1}}@media(max-width:700px){.page-nav{gap:2px}.nav-tab{padding:6px 12px;font-size:11px;letter-spacing:1px}.header-left{gap:6px}.game-title{display:none}.header-stardust,.header-shards,.header-essence{font-size:11px;padding:2px 6px}.upgrades-grid{grid-template-columns:1fr}.roll-card-slot{width:220px;min-width:220px}#earnings-tracker{width:130px;padding:8px 12px}.earnings-label{font-size:10px}.earnings-value{font-size:11px}.page-inner{padding:16px}.btn-icon{width:32px;height:32px;font-size:16px}}#earnings-tracker{width:160px;padding:12px 16px;border:1px solid var(--panel-border);border-radius:10px;background:var(--panel-bg);display:flex;flex-direction:column;gap:8px;flex-shrink:0;margin-top:-8px}.earnings-header{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--text-dim);font-family:var(--font-mono);text-align:center}.earnings-row{display:flex;align-items:center;gap:8px}.earnings-icon{width:6px;height:6px;border-radius:50%;flex-shrink:0}.earnings-icon.essence-dot{background:var(--accent)}.earnings-icon.shard-dot{background:var(--rarity-rare)}.earnings-label{font-size:11px;color:var(--text-muted);font-family:var(--font-mono);flex:1}.earnings-value{font-size:13px;font-family:var(--font-mono);font-weight:600;color:var(--text-main);text-align:right}.essence-orb{position:fixed;width:10px;height:10px;border-radius:50%;pointer-events:none;z-index:100;will-change:transform,opacity}.essence-orb:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;background:inherit;opacity:.3;filter:blur(4px)}.essence-orb.trail{width:5px;height:5px;opacity:.5;transition:opacity .2s}.roll-card-slot.card-revealing{animation:card-flip-in .4s cubic-bezier(.34,1.56,.64,1);transform-style:preserve-3d}@keyframes card-flip-in{0%{transform:perspective(800px) rotateY(90deg) scale(.8);opacity:.3}50%{transform:perspective(800px) rotateY(-10deg) scale(1.06);opacity:1}75%{transform:perspective(800px) rotateY(3deg) scale(1.03)}to{transform:perspective(800px) rotateY(0) scale(1);opacity:1}}.card-clone-flight{position:fixed;border-radius:8px;overflow:hidden;pointer-events:none;z-index:50;will-change:transform,left,top,width,height,opacity;border:2px solid var(--panel-border);background:var(--panel-bg);box-shadow:0 0 16px var(--accent),0 0 32px #8b5cf633}.card-clone-flight img{width:100%;height:100%;object-fit:contain}.new-card-popout{position:fixed;bottom:80px;right:40px;width:56px;height:72px;border-radius:8px;border:2px solid;background:var(--panel-bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;z-index:55;pointer-events:none;animation:popout-enter .35s cubic-bezier(.34,1.56,.64,1) forwards}.new-card-popout .popout-icon{font-size:20px}.new-card-popout .popout-label{font-size:9px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:2px;font-weight:700}.new-card-popout.absorbing{animation:popout-absorb .4s ease-out forwards}.new-card-popout.leaving{animation:popout-leave .4s ease-in forwards}@keyframes popout-enter{0%{transform:scale(0) rotate(-10deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@keyframes popout-absorb{0%{transform:scale(1)}40%{transform:scale(1.3)}to{transform:scale(1)}}@keyframes popout-leave{0%{transform:scale(1);opacity:1}to{transform:scale(.5) translateY(10px);opacity:0}}.auto-roll-toggle{height:56px;padding:0 20px;font-size:14px;font-weight:700;letter-spacing:3px;font-family:var(--font-mono);border:2px solid var(--panel-border);border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .2s ease;text-transform:uppercase}.auto-roll-toggle:hover{border-color:var(--rarity-uncommon);color:var(--rarity-uncommon);background:#4ade8014}.auto-roll-toggle.active{border-color:var(--rarity-uncommon);color:var(--rarity-uncommon);background:#4ade8026;box-shadow:0 0 16px #4ade8033}.auto-roll-toggle.active .auto-toggle-label:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--rarity-uncommon);margin-right:8px;vertical-align:middle;animation:pulse-dot 1.5s ease-in-out infinite}.achievements-progress{font-size:13px;color:var(--text-muted);font-family:var(--font-mono)}#achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;overflow-y:auto;flex:1}.achievement-card{border:1px solid var(--panel-border);border-radius:8px;padding:12px;display:flex;align-items:flex-start;gap:10px;background:var(--bg-color);transition:all .2s}.achievement-card.locked{opacity:.4}.achievement-card.unlocked{border-color:var(--rarity-legendary);background:#fbbf240d}.achievement-icon{font-size:24px;flex-shrink:0;width:36px;text-align:center;line-height:1}.achievement-info{display:flex;flex-direction:column;gap:2px;min-width:0}.achievement-name{font-size:13px;font-weight:600;color:var(--text-main)}.achievement-card.unlocked .achievement-name{color:var(--rarity-legendary)}.achievement-desc{font-size:11px;color:var(--text-muted)}.achievement-reward{font-size:10px;font-family:var(--font-mono);color:var(--accent);margin-top:2px}.achievement-card.unlocked .achievement-reward{color:var(--rarity-uncommon)}.achievement-check{margin-left:auto;font-size:16px;color:var(--rarity-uncommon);flex-shrink:0}.roll-crit{font-size:12px;font-family:var(--font-mono);color:var(--rarity-legendary);font-weight:700;letter-spacing:1px;animation:crit-flash .6s ease-out}@keyframes crit-flash{0%{transform:scale(1.3);opacity:.5}50%{transform:scale(1);opacity:1}to{transform:scale(1);opacity:1}}#collection-set-bonuses{display:flex;flex-wrap:wrap;gap:6px;padding:4px 0}.set-bonus-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:4px;font-size:10px;font-family:var(--font-mono);border:1px solid var(--rarity-uncommon);color:var(--rarity-uncommon);background:#4ade8014}.set-bonus-badge.inactive{border-color:var(--panel-border);color:var(--text-dim);background:transparent}.card-viewer-scene{perspective:800px;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.card-viewer-card{width:400px;border-radius:14px;overflow:hidden;background:var(--panel-bg);border:2px solid var(--panel-border);transform-style:preserve-3d;transition:box-shadow .3s;will-change:transform;cursor:grab;position:relative}.card-viewer-art{position:relative;width:100%;aspect-ratio:1;overflow:hidden;background:var(--bg-color);display:flex;align-items:center;justify-content:center}.card-viewer-art img{max-width:100%;max-height:100%;object-fit:contain}.card-viewer-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:80px;font-weight:700;font-family:var(--font-mono)}.card-viewer-holo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;border-radius:0;mix-blend-mode:screen}.card-viewer-info{position:relative;padding:20px;display:flex;flex-direction:column;gap:8px}.card-viewer-info:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;mix-blend-mode:screen;border-radius:0 0 12px 12px;background:linear-gradient(calc(135deg + var(--tilt-x, 0) * 30deg + var(--tilt-y, 0) * 20deg),transparent 0%,var(--body-holo-color, transparent) 30%,var(--body-holo-color, transparent) 50%,transparent 75%,transparent 100%);opacity:0;transition:opacity .3s ease}.card-viewer-card[data-rarity=epic] .card-viewer-info:after{opacity:1;--body-holo-color: rgba(192, 132, 252, .18)}.card-viewer-card[data-rarity=legendary] .card-viewer-info:after{opacity:1;--body-holo-color: rgba(251, 191, 36, .2)}.card-viewer-card[data-rarity=mythic] .card-viewer-info:after{opacity:1;--body-holo-color: rgba(248, 113, 113, .22)}.card-viewer-card[data-rarity=divine] .card-viewer-info:after{opacity:1;--body-holo-color: rgba(240, 171, 252, .22)}.card-viewer-card[data-rarity=celestial] .card-viewer-info:after{opacity:1;--body-holo-color: rgba(103, 232, 249, .25)}.card-viewer-name{font-size:20px;font-weight:700}.card-viewer-rarity{font-size:12px;text-transform:uppercase;letter-spacing:2px;font-family:var(--font-mono)}.card-viewer-realm{font-size:11px;color:var(--text-muted);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:1px}.card-viewer-desc{font-size:13px;color:var(--text-muted);line-height:1.5;font-style:italic;padding-top:8px;border-top:1px solid var(--panel-border)}.card-viewer-stats{font-size:11px;color:var(--text-dim);font-family:var(--font-mono);padding-top:4px}.card-viewer-card[data-rarity=common]{border-color:var(--rarity-common)}.card-viewer-card[data-rarity=uncommon]{border-color:var(--rarity-uncommon)}.card-viewer-card[data-rarity=rare]{border-color:var(--rarity-rare);box-shadow:0 0 20px #60a5fa33}.card-viewer-card[data-rarity=epic]{border-color:var(--rarity-epic);box-shadow:0 0 25px #c084fc40}.card-viewer-card[data-rarity=legendary]{border-color:var(--rarity-legendary);box-shadow:0 0 30px #fbbf244d}.card-viewer-card[data-rarity=mythic]{border-color:var(--rarity-mythic);box-shadow:0 0 30px #f871714d}.card-viewer-card[data-rarity=divine]{border-color:var(--rarity-divine);box-shadow:0 0 35px #f0abfc59}.card-viewer-card[data-rarity=celestial]{border-color:var(--rarity-celestial);box-shadow:0 0 40px #67e8f966}.card-viewer-card.entering{animation:card-viewer-enter .4s cubic-bezier(.34,1.56,.64,1) forwards}.card-viewer-close-btn{position:fixed;top:20px;right:24px;width:40px;height:40px;border-radius:50%;border:1px solid var(--panel-border);background:var(--panel-bg);color:var(--text-muted);font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:1001}.card-viewer-close-btn:hover{border-color:var(--accent);color:var(--text-main);background:#ffffff0d}@keyframes card-viewer-enter{0%{transform:perspective(800px) rotateY(90deg) scale(.7);opacity:0}to{transform:perspective(800px) rotateY(0) scale(1);opacity:1}}@media(max-width:700px){.card-viewer-card{width:320px}.card-viewer-placeholder{font-size:56px}.card-viewer-info{padding:14px}.card-viewer-name{font-size:17px}}.gem-forge-cost-inline{color:var(--rarity-rare);font-family:var(--font-mono)}.gem-forge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:8px}.forge-gem-card{padding:14px 10px;border:1px solid var(--panel-border);border-radius:10px;text-align:center;cursor:pointer;background:var(--bg-color);transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:6px}.forge-gem-card:hover:not(.disabled){border-color:var(--gem-color, var(--accent));background:#ffffff08;box-shadow:0 0 16px color-mix(in srgb,var(--gem-color, var(--accent)) 30%,transparent);transform:translateY(-2px)}.forge-gem-card:active:not(.disabled){transform:scale(.95)}.forge-gem-card.disabled{opacity:.35;cursor:default;pointer-events:none}.forge-gem-card-icon{font-size:32px;display:block}.forge-gem-card-name{font-size:12px;font-weight:600}.forge-gem-card-realm{font-size:10px;color:var(--text-dim);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:1px}.forge-gem-card-cost{font-size:11px;color:var(--rarity-rare);font-family:var(--font-mono)}.gem-forge-stage{position:relative;height:120px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--bg-color);border:1px solid var(--panel-border);overflow:hidden;margin-top:10px}.forge-particle-field{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.forge-gem-reveal{position:relative;z-index:2;font-size:48px;text-align:center}.forge-particle{position:absolute;width:6px;height:6px;border-radius:50%;top:50%;left:50%;animation:converge .6s ease-in forwards;pointer-events:none}@keyframes converge{0%{transform:translate(var(--start-x),var(--start-y)) scale(1);opacity:.8}80%{opacity:1}to{transform:translate(0) scale(.3);opacity:0}}.forge-gem-reveal.forge-materialize{animation:gem-materialize .4s cubic-bezier(.34,1.56,.64,1)}@keyframes gem-materialize{0%{transform:scale(0) rotate(-15deg);opacity:0;filter:brightness(3)}50%{transform:scale(1.2) rotate(3deg);opacity:1;filter:brightness(2)}to{transform:scale(1) rotate(0);opacity:1;filter:brightness(1)}}.forge-flash{position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border-radius:14px;pointer-events:none;z-index:5;animation:forge-flash-anim .5s ease-out forwards}@keyframes forge-flash-anim{0%{opacity:1;transform:scale(.8)}50%{opacity:.6;transform:scale(1.2)}to{opacity:0;transform:scale(1.5)}}.gem-flight{position:fixed;font-size:32px;pointer-events:none;z-index:100;will-change:transform,left,top,opacity;filter:drop-shadow(0 0 8px currentColor)}.dissipate-particle{position:fixed;width:5px;height:5px;border-radius:50%;pointer-events:none;z-index:100;animation:dissipate .4s ease-out forwards}@keyframes dissipate{0%{transform:translate(0) scale(1);opacity:.8}to{transform:translate(var(--end-x),var(--end-y)) scale(0);opacity:0}}.socket-slot.socket-glow{animation:socket-pulse 2.5s ease-in-out infinite}@keyframes socket-pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.15)}}.counter-bump{animation:counter-bump-anim .3s ease-out}@keyframes counter-bump-anim{0%{transform:scale(1)}40%{transform:scale(1.2);color:#fff}to{transform:scale(1)}}.gem-card.gem-shimmer{position:relative;overflow:hidden}.gem-card.gem-shimmer:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(135deg,transparent 40%,rgba(255,255,255,.04) 50%,transparent 60%);animation:gem-shimmer-sweep 4s ease-in-out infinite;pointer-events:none}@keyframes gem-shimmer-sweep{0%{transform:translate(-100%) translateY(-100%)}50%{transform:translate(100%) translateY(100%)}to{transform:translate(-100%) translateY(-100%)}}.gem-card-count-badge{font-size:11px;font-family:var(--font-mono);font-weight:600;padding:2px 8px;border-radius:10px;display:inline-block;margin-top:4px}@media(max-width:700px){.gem-forge-grid{grid-template-columns:repeat(2,1fr)}}.login-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--bg-color);z-index:9999}.login-container{text-align:center;display:flex;flex-direction:column;align-items:center;gap:24px}.login-title{font-size:48px;font-weight:900;letter-spacing:8px;color:var(--accent);font-family:var(--font-mono);text-shadow:0 0 40px rgba(139,92,246,.4)}.login-subtitle{font-size:14px;color:var(--text-muted);font-family:var(--font-mono);letter-spacing:2px}.discord-login-btn{display:inline-flex;align-items:center;gap:12px;padding:14px 32px;font-size:16px;font-weight:700;font-family:var(--font-mono);letter-spacing:1px;border:none;border-radius:8px;background:#5865f2;color:#fff;cursor:pointer;transition:all .2s ease}.discord-login-btn:hover{background:#4752c4;transform:translateY(-2px);box-shadow:0 4px 20px #5865f266}.discord-login-btn:active{transform:scale(.97)}
