:root{--bg:#141416;--bg-warm:#1a1a1e;--bg-raised:#1e1e22;--bg-elevated:#252528;--surface-0:rgba(28,28,32,.6);--surface-1:rgba(34,34,38,.7);--surface-2:rgba(40,40,45,.8);--surface-hover:rgba(48,48,54,.75);--border:hsla(0,0%,100%,.06);--border-hover:hsla(0,0%,100%,.1);--border-active:hsla(0,0%,100%,.16);--border-gold:rgba(197,165,90,.22);--border-gold-strong:rgba(197,165,90,.4);--muted-fg:hsla(0,0%,100%,.38);--fg:hsla(0,0%,100%,.9);--fg-dim:hsla(0,0%,100%,.55);--fg-warm:#d4cfc5;--gold:#c5a55a;--gold-light:#dcc07a;--gold-bright:#ebd48e;--gold-dim:rgba(197,165,90,.08);--gold-glow:rgba(197,165,90,.1);--gold-text:#bfa04f;--warm:#9a8a6e;--warm-dim:hsla(38,18%,52%,.08);--ok:#6dbe8b;--ok-dim:rgba(109,190,139,.08);--ok-border:rgba(109,190,139,.2);--warn:#d4a843;--warn-dim:rgba(212,168,67,.08);--warn-border:rgba(212,168,67,.2);--err:#c96b6b;--err-dim:hsla(0,47%,60%,.08);--err-border:hsla(0,47%,60%,.2);--info:#7baed4;--info-dim:rgba(123,174,212,.08);--info-border:rgba(123,174,212,.2);--f-display:"Cinzel",serif;--f-serif:"IM Fell English",Georgia,serif;--f-mono:"IBM Plex Mono",monospace;--f-body:"DM Sans",-apple-system,sans-serif;--bottom-nav-h:56px;--sidebar-w:340px;--r:8px;--r-lg:12px;--ease:cubic-bezier(.16,1,.3,1);--t-fast:0.15s;--t-med:0.25s}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{height:100%;-webkit-text-size-adjust:100%}body{min-height:100%;background:var(--bg);background-image:radial-gradient(ellipse 100% 60% at 30% -10%,rgba(197,165,90,.04) 0,transparent 60%),radial-gradient(ellipse 80% 50% at 70% 100%,rgba(197,165,90,.03) 0,transparent 50%),linear-gradient(180deg,#18181c,#141416 40%,#121214);color:var(--fg);font-family:var(--f-body);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}button{cursor:pointer;border:none;outline:none;font-family:var(--f-display);background:none}input,select,textarea{outline:none;font-family:var(--f-mono)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.06);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.12)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:.25}50%{opacity:1}}@keyframes dotPulse{0%,80%,to{opacity:.15;transform:scale(.7)}40%{opacity:1;transform:scale(1.1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes crossfade{0%{opacity:0}to{opacity:1}}@keyframes loadSlideX{0%{transform:translateX(-100%)}to{transform:translateX(250%)}}@keyframes goldPulse{0%,to{opacity:.6}50%{opacity:1}}@keyframes sparkle{0%,to{opacity:0;transform:scale(.5)}50%{opacity:1;transform:scale(1)}}.fade-up{animation:fadeUp .3s var(--ease)}.fade-in{animation:fadeIn .25s ease}.scale-in{animation:scaleIn .2s var(--ease)}.shimmer{background:linear-gradient(90deg,var(--surface-0) 25%,var(--surface-hover) 50%,var(--surface-0) 75%);background-size:200% 100%;animation:shimmer 2s ease infinite}@keyframes shimmerX{0%{transform:translateX(100%)}to{transform:translateX(-100%)}}.tile-shimmer{position:absolute;inset:0;overflow:hidden;background:#141416}.tile-shimmer:after{content:"";position:absolute;top:0;bottom:0;left:0;width:200%;background:linear-gradient(90deg,#141416 25%,#1a1a1e 50%,#141416 75%);animation:shimmerX 1.5s ease infinite}.card-tile{-webkit-tap-highlight-color:transparent;transition:transform .3s var(--ease);position:relative}.card-wrap:before{content:"";position:absolute;top:-2px;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,#c5a55a,transparent);opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:3}.card-wrap:hover:before{opacity:.6}.card-tile:hover{transform:translateY(-6px) scale(1.02);z-index:2}.card-tile:hover .card-hover-overlay{opacity:1;pointer-events:auto}.card-tile:active{transform:translateY(-2px) scale(1.005);transition-duration:.08s}.card-hover-overlay{opacity:0;transition:opacity .15s ease;pointer-events:none}.card-cell{position:relative;display:grid}.card-cell:after,.card-cell:before{content:"";position:absolute;inset:0;border-radius:var(--r-lg);opacity:0;pointer-events:none}.card-cell:before{border:1px solid rgba(197,165,90,.5);transition:opacity .35s ease;z-index:1}.card-cell:after{box-shadow:0 0 0 2px rgba(197,165,90,.15),0 0 20px rgba(197,165,90,.12),0 0 40px rgba(197,165,90,.06),0 16px 40px rgba(0,0,0,.4);transition:opacity .4s ease}.card-cell:hover:after,.card-cell:hover:before{opacity:1}.card-cell.is-selected:after,.card-cell.is-selected:before,.card-cell.no-border:before{display:none}.card-wrap{border-radius:var(--r-lg);overflow:hidden;border:1px solid hsla(0,0%,100%,.05);background:var(--bg-raised);position:relative}.card-wrap:after{content:"";position:absolute;top:0;left:0;right:0;height:40%;background:linear-gradient(180deg,hsla(0,0%,100%,.06),transparent);opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:1;border-radius:var(--r-lg) var(--r-lg) 0 0}.card-wrap:hover:after{opacity:1}.card-wrap:focus-visible{border-color:rgba(197,165,90,.4);box-shadow:0 0 0 2px rgba(197,165,90,.15),0 0 12px rgba(197,165,90,.08)}.card-wrap.selected{border-color:rgba(197,165,90,.5)!important;box-shadow:0 0 0 2px rgba(197,165,90,.2),0 0 20px rgba(197,165,90,.08)!important}.deck-card{--deck-color:197,165,90;transition:background var(--t-med) var(--ease),border-color var(--t-med) var(--ease),transform var(--t-med) var(--ease),box-shadow var(--t-med) var(--ease);position:relative;overflow:hidden}.deck-card:before{content:"";position:absolute;top:0;left:-2px;bottom:0;width:3px;background:linear-gradient(180deg,transparent,rgba(var(--deck-color),1),transparent);opacity:0;transition:opacity .3s ease;pointer-events:none}.deck-card:hover:before{opacity:.6}.deck-card:hover{background:rgba(var(--deck-color),.04)!important;border-color:rgba(var(--deck-color),.2)!important;transform:translateX(3px);box-shadow:-3px 0 12px rgba(var(--deck-color),.05)}.deck-card:hover .deck-del{opacity:.85!important}.gen-bar{position:absolute;top:0;left:0;right:0;height:4px;background:rgba(0,0,0,.6);overflow:hidden;z-index:3}.gen-bar:before{width:40%;background:linear-gradient(90deg,transparent 0,var(--gold) 30%,var(--gold-bright) 50%,var(--gold) 70%,transparent 100%);animation:loadSlideX 1.4s ease-in-out infinite;box-shadow:0 0 12px rgba(197,165,90,.4),0 0 4px rgba(197,165,90,.6)}.gen-bar:after,.gen-bar:before{content:"";position:absolute;top:0;left:0;height:100%}.gen-bar:after{right:0;background:linear-gradient(90deg,transparent,rgba(197,165,90,.15),transparent);animation:goldPulse 2s ease infinite}.btn-gold{background:linear-gradient(180deg,rgba(197,165,90,.2),rgba(197,165,90,.08) 50%,rgba(197,165,90,.14));border-color:rgba(197,165,90,.5) rgba(197,165,90,.35) rgba(120,100,50,.3);border-style:solid;border-width:1px;color:var(--gold-bright);border-radius:var(--r);font-family:var(--f-display);letter-spacing:.08em;font-weight:600;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease,color .2s ease,text-shadow .2s ease;position:relative;overflow:hidden;text-shadow:0 1px 2px rgba(0,0,0,.4);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.06),inset 0 -1px 0 rgba(0,0,0,.2),0 2px 6px rgba(0,0,0,.3)}.btn-gold:hover{background:linear-gradient(180deg,rgba(197,165,90,.32),rgba(197,165,90,.14) 50%,rgba(197,165,90,.24));border-color:rgba(197,165,90,.6);color:var(--gold-bright);transform:translateY(-2px);text-shadow:0 0 10px rgba(197,165,90,.5);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1),inset 0 -1px 0 rgba(0,0,0,.15),0 4px 16px rgba(0,0,0,.35),0 0 20px rgba(197,165,90,.12),0 0 40px rgba(197,165,90,.06)}.btn-gold:active{transform:translateY(1px);transition-duration:.06s;box-shadow:inset 0 2px 4px rgba(0,0,0,.3),0 1px 2px rgba(0,0,0,.2)}.btn-ghost{background:linear-gradient(180deg,hsla(0,0%,100%,.05),hsla(0,0%,100%,.02));border-left:1px solid var(--border);border-right:1px solid var(--border);border-top:1px solid hsla(0,0%,100%,.08);border-bottom:1px solid rgba(0,0,0,.15);color:var(--muted-fg);border-radius:var(--r);font-family:var(--f-display);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease,color .2s ease,text-shadow .2s ease;text-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.03),0 1px 3px rgba(0,0,0,.2)}.btn-ghost:hover{background:linear-gradient(180deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,.03) 50%,hsla(0,0%,100%,.06));border-color:rgba(197,165,90,.2);color:var(--fg);transform:translateY(-1px);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.08),inset 0 -1px 0 rgba(0,0,0,.1),0 4px 12px rgba(0,0,0,.3),0 0 16px rgba(197,165,90,.06)}.btn-ghost:active{transform:translateY(1px);transition-duration:.06s;box-shadow:inset 0 2px 3px rgba(0,0,0,.25)}.btn-action{border-radius:var(--r);font-family:var(--f-display);letter-spacing:.06em;font-weight:600;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease,color .2s ease,text-shadow .2s ease;position:relative;text-shadow:0 1px 2px rgba(0,0,0,.4);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.06),inset 0 -1px 0 rgba(0,0,0,.2),0 2px 6px rgba(0,0,0,.25)}.btn-action:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1),0 4px 14px rgba(0,0,0,.35),0 0 16px var(--_glow,rgba(197,165,90,.1))}.btn-action:active{transform:translateY(1px);transition-duration:.06s;box-shadow:inset 0 2px 4px rgba(0,0,0,.3)}.popup-nav-arrow{opacity:.5;transition:opacity .2s ease,transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease,text-shadow .2s ease;box-shadow:0 2px 8px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.06)}.popup-nav-arrow:hover{opacity:1;transform:scale(1.15);background:linear-gradient(180deg,rgba(197,165,90,.25),rgba(197,165,90,.08))!important;border-color:rgba(197,165,90,.4)!important;box-shadow:0 4px 16px rgba(197,165,90,.2),0 0 20px rgba(197,165,90,.1),inset 0 1px 0 hsla(0,0%,100%,.1);text-shadow:0 0 8px rgba(197,165,90,.5)}.popup-nav-arrow:active{transform:scale(.95);opacity:.8}.input-field{width:100%;background:rgba(20,20,24,.8);border:1px solid var(--border);border-radius:var(--r);padding:9px 12px;color:var(--fg);font-size:13px;font-family:var(--f-mono);transition:border-color var(--t-med) ease,box-shadow var(--t-med) ease,background var(--t-med) ease}.input-field:focus{border-color:rgba(197,165,90,.3);box-shadow:0 0 0 3px rgba(197,165,90,.04),0 2px 8px rgba(0,0,0,.3);background:rgba(24,24,28,.9)}.input-field::placeholder{color:hsla(0,0%,100%,.15)}.pv-chip .pv-x{opacity:0}.pv-chip:hover .pv-x{opacity:.85}.divider-gold{height:1px;background:linear-gradient(90deg,transparent 0,var(--border-gold) 30%,var(--border-gold) 70%,transparent 100%)}button:not(.card-tile):not(.deck-card):not(.btn-gold):not(.btn-ghost):not(.btn-action):hover{box-shadow:0 0 14px rgba(197,165,90,.08),0 0 4px rgba(197,165,90,.06)}a:hover{text-shadow:0 0 8px rgba(197,165,90,.15)}select:hover{box-shadow:0 0 10px rgba(197,165,90,.06)}