:root{
  --bg:#0f0d18;--panel:#171326;--panel2:#201b33;--panel3:#2a2340;--text:#f7f2ff;--muted:#aaa1bd;
  --gold:#e5bd66;--gold2:#f7dc96;--line:#3b3155;--danger:#e56e7c;--ok:#67d7a1;--warn:#f0c567;
  --amber:#f3c94d;--amethyst:#a772ee;--emerald:#53c79a;--ruby:#ef6474;--sapphire:#5aa8ed;--steel:#a8b0bd;
  --shadow:0 20px 60px rgba(0,0,0,.28);--radius:18px;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at 85% -10%,#34254c 0,transparent 35%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,select,textarea{font:inherit}button{cursor:pointer}
.app-shell{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:24px 18px;border-right:1px solid var(--line);background:linear-gradient(180deg,rgba(31,25,48,.98),rgba(16,13,25,.98));display:flex;flex-direction:column;z-index:5}.brand{display:flex;gap:12px;align-items:center;margin-bottom:26px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,#7b5ac9,#d0a95b);box-shadow:0 0 28px rgba(190,152,255,.2);font-size:22px}.brand strong{display:block;letter-spacing:.12em;font-size:15px}.brand span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.sidebar nav{display:grid;gap:7px}.nav-btn{border:0;text-align:left;padding:11px 13px;border-radius:11px;background:transparent;color:var(--muted)}.nav-btn:hover,.nav-btn.active{background:#2b2341;color:#fff}.sidebar-foot{margin-top:auto;color:#80788f;font-size:12px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ok);margin-right:6px;box-shadow:0 0 10px var(--ok)}
main{min-width:0;padding:0 32px 48px}.topbar{height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(92,79,120,.35);margin-bottom:28px}.topbar h1{margin:0;font-size:25px;letter-spacing:-.02em}.topbar p{margin:5px 0 0;color:var(--muted);font-size:13px}.top-actions{display:flex;gap:9px}
button{border:1px solid var(--line);background:var(--panel2);color:var(--text);padding:9px 13px;border-radius:10px;transition:.15s transform,.15s border-color,.15s background}button:hover{border-color:#6c5b8c;transform:translateY(-1px)}button.primary{background:linear-gradient(135deg,#8b69d7,#a982dd);border-color:#9f7ce4;color:#fff;font-weight:700}button.gold{background:linear-gradient(135deg,#9a7531,#d3a950);border-color:#d4ae5b;color:#21180b;font-weight:800}button.danger{background:#351921;border-color:#67303d;color:#ffbbc3}button.ghost{background:transparent}.small{font-size:12px;padding:6px 9px}.tiny{font-size:11px;padding:5px 8px}
.grid{display:grid;gap:16px}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:linear-gradient(180deg,rgba(35,29,54,.96),rgba(25,21,40,.96));border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.card h2,.card h3{margin-top:0}.metric{padding:18px}.metric .label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.metric .value{font-size:29px;font-weight:800;margin-top:7px}.metric .hint{font-size:12px;color:#817890;margin-top:4px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 12px}.section-head h2{margin:0;font-size:18px}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.muted{color:var(--muted)}.subtle{color:#837a95;font-size:12px}.accent{color:var(--gold2)}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}.table{width:100%;border-collapse:collapse;min-width:720px;background:rgba(23,19,38,.7)}.table th,.table td{padding:11px 12px;border-bottom:1px solid #302841;text-align:left;font-size:13px}.table th{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#a89fb8;background:#211b32;position:sticky;top:0}.table tr:last-child td{border-bottom:0}.table tr:hover td{background:rgba(100,76,143,.08)}
.badge{display:inline-flex;align-items:center;gap:5px;border:1px solid #54456e;background:#29213d;color:#dcd2eb;border-radius:999px;padding:4px 8px;font-size:11px}.badge.ok{border-color:#2e7457;background:#17362a;color:#92e5bb}.badge.warn{border-color:#765f2f;background:#3b2f16;color:#f2d47f}.badge.danger{border-color:#7d3745;background:#3b1c25;color:#ff9daa}.badge.bye{border-color:#715d8d;background:#2e2640;color:#d7c9ee}.ink{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:4px}.ink.Amber{background:var(--amber)}.ink.Amethyst{background:var(--amethyst)}.ink.Emerald{background:var(--emerald)}.ink.Ruby{background:var(--ruby)}.ink.Sapphire{background:var(--sapphire)}.ink.Steel{background:var(--steel)}
form{display:grid;gap:13px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-row.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}label{display:grid;gap:6px;color:#bdb4cd;font-size:12px}input,select,textarea{width:100%;background:#100d19;border:1px solid #403652;border-radius:10px;color:#fff;padding:10px 11px;outline:none}input:focus,select:focus,textarea:focus{border-color:#8f6fd0;box-shadow:0 0 0 3px rgba(143,111,208,.12)}textarea{min-height:130px;resize:vertical}input[type=file]{padding:8px}
.tournament-card{position:relative;overflow:hidden}.tournament-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(var(--gold),#8564ca)}.tournament-card .name{font-size:18px;font-weight:800}.tournament-card .meta{display:flex;gap:12px;flex-wrap:wrap;margin:10px 0 15px;color:var(--muted);font-size:12px}.tournament-card .actions{display:flex;gap:8px}
.tabs{display:flex;gap:5px;overflow:auto;padding:4px;background:#151121;border:1px solid #342b47;border-radius:13px;margin-bottom:18px}.tab{white-space:nowrap;border:0;background:transparent;color:#aaa0bd;padding:9px 12px}.tab.active{background:#302642;color:white}.hero{padding:22px;border:1px solid #4a3d60;border-radius:20px;background:linear-gradient(120deg,rgba(48,37,72,.95),rgba(31,24,47,.9));display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}.hero h2{margin:0 0 5px}.hero p{margin:0;color:var(--muted)}
.player{display:flex;align-items:center;gap:11px}.avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;background:linear-gradient(135deg,#54406f,#a883cf);display:grid;place-items:center;font-weight:800;flex:0 0 auto}.avatar.lg{width:64px;height:64px}.round-card{margin-bottom:13px}.round-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.match-list{display:grid;gap:8px}.match{display:grid;grid-template-columns:minmax(130px,1fr) 62px minmax(130px,1fr) auto;align-items:center;gap:10px;padding:10px 12px;background:#151120;border:1px solid #332a47;border-radius:11px}.match .side:last-of-type{text-align:right}.score{font-weight:900;text-align:center;color:var(--gold2)}
.flash{padding:11px 14px;border-radius:11px;margin-bottom:16px;border:1px solid #3d694f;background:#173024;color:#a9e8bf}.flash.error{border-color:#703746;background:#351b23;color:#ffc0c8}
.deck-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:13px}.deck-card{background:#12101a;border:1px solid #372d49;border-radius:12px;overflow:hidden;position:relative}.deck-card img{display:block;width:100%;aspect-ratio:488/681;object-fit:cover;background:#0b0910}.deck-card .qty{position:absolute;top:7px;right:7px;background:rgba(15,13,24,.92);border:1px solid #6b5983;border-radius:999px;padding:3px 7px;font-weight:900}.deck-card .caption{padding:8px;font-size:11px}.image-error{aspect-ratio:488/681;display:grid;place-items:center;text-align:center;padding:10px;color:#7e748e;background:#0d0b13;font-size:11px}.deck-summary{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 16px}.search-results{display:grid;gap:8px;max-height:500px;overflow:auto}.search-result{display:flex;gap:10px;align-items:center;padding:9px;border:1px solid #3a304c;border-radius:10px;background:#171322}.search-result img{width:50px;border-radius:6px}.search-result .grow{flex:1}
.bracket{display:grid;grid-template-columns:repeat(4,minmax(190px,1fr));gap:20px;overflow:auto;padding-bottom:10px}.bracket-col{display:grid;gap:12px;align-content:start}.bracket-col h3{font-size:13px;color:var(--gold2);text-transform:uppercase;letter-spacing:.08em}.bracket-match{background:#161220;border:1px solid #3b3050;border-radius:12px;padding:10px}.bracket-side{padding:7px;border-bottom:1px solid #2e263d}.bracket-side:last-child{border-bottom:0}.bracket-side.winner{color:#9de5bb;font-weight:800}
.empty{padding:35px;text-align:center;border:1px dashed #463b58;border-radius:14px;color:#8c829b}.warning-box{border:1px solid #775e2f;background:#352c18;color:#f2d386;padding:11px 13px;border-radius:10px;margin:12px 0}.danger-box{border:1px solid #6f3340;background:#351b23;color:#ffb0ba;padding:11px 13px;border-radius:10px;margin:12px 0}
dialog{width:min(980px,94vw);max-height:90vh;overflow:auto;border:1px solid #564569;border-radius:18px;background:#171322;color:#fff;padding:0;box-shadow:0 30px 90px rgba(0,0,0,.6)}dialog::backdrop{background:rgba(5,4,9,.72);backdrop-filter:blur(4px)}#modalBody{padding:20px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.modal-head h2{margin:0}.close{border:0;background:transparent;font-size:20px}
@media(max-width:950px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:14px 18px}.sidebar nav{display:flex;overflow:auto}.sidebar-foot{display:none}.brand{margin-bottom:12px}main{padding:0 18px 35px}.topbar{height:auto;padding:20px 0}.grid.cols-4{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:1fr 1fr}.bracket{grid-template-columns:repeat(4,220px)}}
@media(max-width:640px){.topbar{align-items:flex-start;gap:15px;flex-direction:column}.top-actions{width:100%}.top-actions button{flex:1}.grid.cols-2,.grid.cols-3,.grid.cols-4,.form-row,.form-row.cols-3{grid-template-columns:1fr}.hero{align-items:flex-start;flex-direction:column}.match{grid-template-columns:1fr 46px 1fr}.match .actions{grid-column:1/-1}.sidebar nav{margin-left:-5px}.nav-btn{padding:8px 9px}}

.quantity-controls{display:grid;grid-template-columns:32px minmax(42px,1fr) 32px;gap:4px;padding:7px}.quantity-controls input{min-width:0;text-align:center}.deck-card img{aspect-ratio:5/7;object-fit:contain}.grow{flex:1;min-width:0}
[hidden]{display:none!important}.auth-card{max-width:520px;margin:24px auto}.check-label{display:flex;align-items:center;gap:9px;margin:9px 0}.check-label input{width:auto}fieldset{border:1px solid var(--line);border-radius:10px}button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
