:root{--bg: #0a0a0f;--panel: #0f0f1a;--panel-2: #14141f;--ink: #e8e0d5;--ink-bright: #f0ede8;--muted: #9a92a8;--violet: #8b5cf6;--violet-dim: rgba(139, 92, 246, .15);--gold: #c9a84c;--error: #e06b6b;--good: #7fd99a;--line: rgba(139, 92, 246, .15);--radius: 18px}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(1100px 700px at 50% -12%,#18141f 0%,var(--bg) 58%);color:var(--ink);font:16px/1.6 Crimson Pro,Georgia,serif}h1,h2,h3,.brand{font-family:Cinzel,serif;color:var(--ink-bright);letter-spacing:.04em;font-weight:600}h2{font-size:1.3rem}h3{font-size:1.05rem}a{color:var(--violet)}input,textarea,select{font-family:Crimson Pro,Georgia,serif;background:#0b0b14;color:var(--ink);border:1px solid var(--violet-dim);border-radius:10px;padding:.55rem .8rem;font-size:1rem}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--violet)}button{font-family:Cinzel,serif;font-size:12px;font-weight:600;letter-spacing:.05em;padding:.55rem 1.1rem;border:1px solid transparent;border-radius:8px;background:var(--violet);color:#fff;cursor:pointer;transition:all .2s}button:hover{filter:brightness(1.12)}button:disabled{opacity:.5;cursor:default}button.link{background:none;border:0;color:var(--muted);font-family:Crimson Pro,serif;letter-spacing:0;text-decoration:underline;padding:0;font-size:.95rem}button.link:hover{color:var(--violet);filter:none}.muted{color:var(--muted)}.error{color:var(--error)}.center{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:1rem}.card{background:var(--panel);border:1px solid var(--violet-dim);padding:2.5rem 2rem;border-radius:var(--radius);width:min(380px,100%);text-align:center;box-shadow:0 24px 70px #0000008c}.crest{width:56px;height:56px;margin:0 auto 1rem;display:block}.card h1{margin:0 0 .2rem;font-size:28px}.tagline{font-style:italic;color:var(--muted);margin:0 0 1.5rem}.card form input,.card form button{width:100%;margin-top:.75rem}.app{max-width:1180px;margin:0 auto;padding:1rem 1.25rem}.app header{display:flex;align-items:center;gap:1rem;padding:.6rem 0 .9rem;border-bottom:1px solid var(--line);margin-bottom:1.25rem}.brand-wrap{display:flex;align-items:center;gap:.55rem}.brand-wrap .crest{width:26px;height:26px;margin:0}.brand{font-size:1.2rem}.app header .email{margin-left:auto}.tabs{display:flex;gap:.3rem}.tab{background:none;color:var(--muted);border:1px solid transparent}.tab.active{background:var(--panel);color:var(--gold);border-color:var(--violet-dim)}.row{display:flex;align-items:center;gap:1rem;margin:.5rem 0 1rem;flex-wrap:wrap}.deck-name{flex:1;min-width:180px;font-family:Cinzel,serif;font-size:1.05rem}.link-strong{background:none;border:0;color:var(--ink-bright);font-family:Cinzel,serif;font-size:1rem;cursor:pointer;text-align:left;padding:0}.link-strong:hover{color:var(--gold)}.deck-list{list-style:none;padding:0;margin:0}.deck-list li{display:flex;align-items:center;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line)}.deck-list li .muted{margin-left:auto}.search form{display:flex;gap:.5rem;margin-bottom:.5rem;flex-wrap:wrap}.search form input{flex:1;min-width:200px}.import{margin-bottom:1rem}.import-label{display:inline-block;padding:.5rem .9rem;border-radius:8px;background:var(--panel-2);border:1px solid var(--violet-dim);color:var(--ink);cursor:pointer;font-family:Cinzel,serif;font-size:12px;letter-spacing:.05em}.import-label:hover{border-color:var(--violet)}.import-deck{margin-bottom:1rem}.import-deck textarea{width:100%;resize:vertical}.ai-build{margin-bottom:1rem;display:flex;flex-direction:column;gap:.5rem;max-width:560px}.ai-build input,.ai-build textarea{width:100%;resize:vertical}.game-status{padding:.6rem 1rem;border-radius:10px;margin-bottom:1rem;font-size:.95rem}.game-status.live{background:#7fd99a1f;border:1px solid rgba(127,217,154,.4);color:var(--good)}.game-status code{color:var(--gold);background:#0b0b14;padding:.1rem .4rem;border-radius:5px}.deck-notes{width:100%;margin-top:1rem;min-height:90px;resize:vertical}@media (max-width: 640px){.app{padding:.75rem}.app header{flex-wrap:wrap;gap:.5rem .7rem;padding-bottom:.6rem}.app header .email{display:none}.brand{font-size:1.05rem}h2{font-size:1.15rem}.grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:.5rem}.search form,.filters{gap:.4rem}.search form input,.filters input{min-width:0;flex:1 1 100%}.modal{padding:1rem}.modal-body{gap:1rem}.modal-img{width:100%;max-width:280px;margin:0 auto}.card-preview-popup{display:none!important}.deck-pile-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:.4rem}.cmd-showcase .deck-card{width:140px}}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(146px,1fr));gap:.75rem;margin:.75rem 0 1.5rem}.tile{background:var(--panel);border:1px solid var(--violet-dim);border-radius:12px;padding:.4rem;display:flex;flex-direction:column;align-items:center;gap:.4rem}.tile img{width:100%;border-radius:8px;display:block;cursor:pointer}.tile .noimg{width:100%;aspect-ratio:5 / 7;display:flex;align-items:center;justify-content:center;text-align:center;font-size:11px;padding:.3rem;background:#0b0b14;border-radius:8px;cursor:pointer}.tile .add{width:100%;font-size:11px;padding:.35rem}.tile .price{font-size:11px;color:var(--muted)}.tile .qty{display:flex;align-items:center;gap:.5rem}.tile .qty button{padding:.15rem .55rem}.tile .qty span{min-width:1.5rem;text-align:center}.qty-static{font-variant-numeric:tabular-nums;color:var(--ink);font-size:.95rem}.owners-line{font-size:10px;color:var(--muted);text-align:center;line-height:1.3}.summary{background:var(--panel);border:1px solid var(--violet-dim);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.25rem}.summary-stats{display:flex;flex-wrap:wrap;gap:1.75rem;margin-bottom:1.1rem}.stat-label{font-family:Cinzel,serif;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.stat-value{font-size:1.3rem;font-weight:600;color:var(--ink-bright)}.pips{display:flex;gap:.25rem}.pip{width:1.4rem;height:1.4rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#111}.pip-W{background:#f8f6d8}.pip-U{background:#aae0fa}.pip-B{background:#cbc2bf}.pip-R{background:#f9aa8f}.pip-G{background:#9bd3ae}.curve{display:flex;align-items:flex-end;gap:.6rem;height:84px;margin-bottom:1.1rem}.curve-col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.25rem}.curve-bar{width:26px;background:linear-gradient(var(--violet),#6d44d6);border-radius:4px 4px 0 0;min-height:2px}.curve-x{font-size:11px;color:var(--muted)}.checks{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.25rem;font-size:.95rem}.check.ok{color:var(--good)}.check.bad{color:var(--error)}.deck-builder{display:grid;grid-template-columns:1fr 320px;gap:1.25rem;align-items:start}.builder-sidebar{position:sticky;top:1rem}.stats-panel{background:var(--panel);border:1px solid var(--violet-dim);border-radius:var(--radius);padding:1.1rem}.stats-panel .stat-label{margin:.9rem 0 .35rem}.builder-main .summary-stats{margin-bottom:1.1rem}.builder-section{margin-bottom:1.25rem}.builder-section-header{display:flex;align-items:baseline;gap:.6rem;border-bottom:1px solid var(--line);padding-bottom:.35rem;margin-bottom:.4rem}.builder-section-title{font-family:Cinzel,serif;color:var(--gold);font-size:.95rem;letter-spacing:.05em}.builder-section-count{color:var(--muted);font-size:.9rem}.deck-card-row{display:flex;align-items:center;gap:.6rem;padding:.28rem .4rem;border-radius:6px;position:relative}.deck-card-row:hover{background:#8b5cf614}.deck-card-row-qty{display:flex;align-items:center;gap:.3rem}.deck-card-row-qty span{min-width:1.1rem;text-align:center;font-variant-numeric:tabular-nums}.deck-card-row-name{flex:1;cursor:pointer}.deck-card-row-name:hover{color:var(--gold)}.owned-tick{color:var(--good)}.deck-card-row-cost{display:flex;gap:2px}.deck-card-row-price{color:var(--muted);font-size:.85rem;min-width:3rem;text-align:right}.qty-mini-btn{background:none;border:1px solid var(--violet-dim);color:var(--ink);padding:0 .4rem;font-family:Crimson Pro,serif;font-size:.95rem;border-radius:5px}.qty-mini-btn:hover{border-color:var(--violet);filter:none}.qty-mini-btn.del{color:var(--muted)}.qty-mini-btn.del:hover{color:var(--error);border-color:var(--error)}.mana-cost{display:inline-flex;gap:2px}.mana-pip{width:1.05rem;height:1.05rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#111}.mana-generic,.mana-X{background:#cdc5bf}.mana-W{background:#f8f6d8}.mana-U{background:#aae0fa}.mana-B{background:#cbc2bf}.mana-R{background:#f9aa8f}.mana-G{background:#9bd3ae}.mana-C{background:#d6cfc6}.card-preview-popup{display:none;position:absolute;left:40%;top:100%;z-index:60;pointer-events:none}.card-preview-popup img{width:220px;border-radius:10px;box-shadow:0 12px 40px #000000b3}.deck-card-row-name:hover .card-preview-popup{display:block}.color-bar{display:flex;height:10px;border-radius:5px;overflow:hidden;background:#0b0b14;margin-bottom:.4rem}.seg-W{background:#e9e4b0}.seg-U{background:#6cb8e0}.seg-B{background:#6b6470}.seg-R{background:#e07a5f}.seg-G{background:#6ab07f}.seg-C{background:#9a92a8}.type-breakdown{list-style:none;padding:0;margin:0;font-size:.92rem}.type-breakdown li{display:flex;justify-content:space-between;padding:.1rem 0}.deck-pile{margin-bottom:1.5rem}.deck-pile-header{display:flex;align-items:baseline;gap:.6rem;border-bottom:1px solid var(--line);padding-bottom:.35rem;margin-bottom:.6rem}.deck-pile-title{font-family:Cinzel,serif;color:var(--gold);font-size:.95rem;letter-spacing:.06em;text-transform:uppercase}.deck-pile-count{color:var(--muted);font-size:.9rem}.deck-pile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:.6rem}.cmd-showcase{display:flex;flex-wrap:wrap;gap:1rem}.cmd-showcase .deck-card{width:200px}.deck-card{position:relative;background:var(--panel);border:1px solid var(--violet-dim);border-radius:10px;padding:.3rem}.deck-card img{width:100%;border-radius:7px;display:block;cursor:pointer}.deck-card.big img{border:1px solid var(--gold)}.deck-card-noimg{width:100%;aspect-ratio:5 / 7;display:flex;align-items:center;justify-content:center;text-align:center;font-size:11px;padding:.3rem;background:#0b0b14;border-radius:7px;cursor:pointer}.deck-card-qtybadge{position:absolute;top:.5rem;left:.5rem;background:#0a0a0fd9;color:var(--gold);border:1px solid var(--gold);border-radius:6px;padding:0 .35rem;font-family:Cinzel,serif;font-size:11px;z-index:2}.deck-card-owned{position:absolute;top:.5rem;right:.5rem;background:#0a0a0fd9;color:var(--good);border-radius:50%;width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;font-size:11px;z-index:2}.deck-card-bar{display:flex;align-items:center;justify-content:center;gap:.3rem;padding-top:.3rem}.deck-card-bar span{min-width:1rem;text-align:center;font-variant-numeric:tabular-nums;font-size:.9rem}.empty-state{color:var(--muted);padding:2rem;text-align:center;border:1px dashed var(--violet-dim);border-radius:var(--radius)}.hand{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0;justify-content:center}.hand img{width:150px;border-radius:10px}.hand .noimg{width:150px;aspect-ratio:5 / 7;display:flex;align-items:center;justify-content:center;text-align:center;font-size:11px;background:#0b0b14;border-radius:10px}.filters{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.filters input{min-width:220px}.color-filter{display:flex;gap:.35rem}.color-filter .pip{border:0;padding:0;width:1.7rem;height:1.7rem;cursor:pointer}.color-filter .pip.off{opacity:.3}.color-filter .pip.on{opacity:1;outline:2px solid var(--gold)}.legality-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.3rem;margin:.75rem 0}.legality-item{display:flex;justify-content:space-between;padding:.25rem .55rem;border-radius:6px;font-size:.85rem;background:#0b0b14}.legality-format{text-transform:capitalize;color:var(--muted)}.legality-status{text-transform:capitalize}.leg-legal .legality-status{color:var(--good)}.leg-not_legal .legality-status{color:#6b6470}.leg-banned .legality-status{color:var(--error)}.leg-restricted .legality-status{color:var(--gold)}@media (max-width: 860px){.deck-builder{grid-template-columns:1fr}.builder-sidebar{position:static}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:100}.modal{background:var(--panel);border:1px solid var(--violet-dim);border-radius:var(--radius);max-width:740px;width:100%;max-height:90vh;overflow:auto;padding:1.5rem;position:relative}.modal-close{position:absolute;top:.5rem;right:.5rem;background:none;color:var(--muted);font-size:1.4rem;padding:.1rem .5rem}.modal-body{display:flex;gap:1.5rem;flex-wrap:wrap}.modal-img{width:240px;border-radius:12px}.modal-info{flex:1;min-width:240px}.modal-info h2{margin:0 0 .25rem}.oracle-text{white-space:pre-wrap}.rulings{padding-left:1.2rem;font-size:.9rem;color:var(--muted)}.rulings li{margin-bottom:.4rem}.play-hub h2{margin-bottom:1rem}.play-status{background:var(--panel);border:1px solid var(--violet-dim);border-radius:var(--radius);padding:1.1rem 1.25rem;margin-bottom:1.25rem}.play-status.live{border-color:#7fd99a66;background:#7fd99a14}.play-status-line{font-size:1.05rem;display:flex;align-items:center;gap:.5rem}.play-addr{margin-top:.6rem;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.play-addr code,.play-status code{color:var(--gold);background:#0b0b14;padding:.1rem .45rem;border-radius:5px}.small{font-size:.85rem}.dot{width:.7rem;height:.7rem;border-radius:50%;display:inline-block;flex:none}.dot.on{background:var(--good)}.dot.off{background:var(--muted)}.play-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.25rem}.play-panel{background:var(--panel);border:1px solid var(--violet-dim);border-radius:var(--radius);padding:1.1rem 1.25rem}.play-panel .stat-label{margin-bottom:.6rem}.play-decks,.play-players{list-style:none;padding:0;margin:0}.play-decks li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.4rem 0;border-bottom:1px solid var(--line)}.play-players li{display:flex;align-items:center;gap:.5rem;padding:.3rem 0;word-break:break-all}.play-steps{margin:0;padding-left:1.2rem}.play-steps li{margin-bottom:.4rem}@media (max-width: 640px){.play-grid{grid-template-columns:1fr}}.disclaimer{margin:2rem auto 0;padding:1rem;max-width:680px;font-size:11px;color:var(--muted);text-align:center;line-height:1.6}
