:root{--bg:#0b0f17;--card:#121a27;--text:#e7eefc;--muted:#9bb0d1;--accent:#6ea8ff;--danger:#ff5a6a;}
*{box-sizing:border-box} body{margin:0;font-family:system-ui;background:radial-gradient(1200px 600px at 20% 0%, #18233a 0%, var(--bg) 60%);color:var(--text);}
.header{padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(10,15,24,.7);position:sticky;top:0;backdrop-filter:blur(10px)}
.title{font-weight:900}
.auth{display:flex;gap:10px;align-items:center;margin-top:10px;flex-wrap:wrap}
.badge{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);padding:6px 10px;border-radius:999px;font-size:12px;color:var(--muted)}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.tab{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.06);color:var(--text);padding:8px 10px;border-radius:10px;cursor:pointer;font-weight:700}
.tab.active{border-color:rgba(110,168,255,.7);box-shadow:0 0 0 2px rgba(110,168,255,.18) inset}
.wrap{padding:18px;max-width:1200px;margin:0 auto}
.grid{display:grid;grid-template-columns:1fr;gap:14px}
@media(min-width:900px){.grid.cols2{grid-template-columns:1fr 1fr}}
.card{background:linear-gradient(180deg, rgba(18,26,39,.95), rgba(18,26,39,.82));border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:14px;box-shadow:0 8px 30px rgba(0,0,0,.25)}
h2{margin:0 0 10px;font-size:14px;color:var(--muted)}
input{width:100%;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.25);color:var(--text);outline:none;margin:6px 0}
.row{display:flex;gap:10px;align-items:center}
.row>*{flex:1}
.btn{border:0;background:linear-gradient(180deg, rgba(110,168,255,1), rgba(88,132,255,1));color:#071021;padding:10px 12px;border-radius:12px;cursor:pointer;font-weight:900}
.btn.secondary{background:rgba(255,255,255,.08);color:var(--text);border:1px solid rgba(255,255,255,.12)}
.btn.danger{background:linear-gradient(180deg, rgba(255,90,106,1), rgba(220,60,85,1));color:#22050a}
.btn:disabled{opacity:.5;cursor:not-allowed}
.status{margin-top:10px;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.22);color:var(--muted);min-height:20px}
.list{margin:10px 0 0;padding:0;list-style:none;max-height:280px;overflow:auto}
.list li{display:flex;justify-content:space-between;align-items:center;padding:10px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);margin-bottom:8px;gap:10px}
.hidden{display:none}
.winner{font-size:18px;font-weight:900;margin-top:8px}
.small{font-size:12px;color:var(--muted)}
canvas{width:100%;max-width:520px;aspect-ratio:1/1;background:rgba(0,0,0,.18);border-radius:16px;border:1px solid rgba(255,255,255,.1);display:block}
.ticketBtn{width:100%;border:0;cursor:pointer;padding:14px;border-radius:16px;font-weight:900;background:
  radial-gradient(18px 18px at 12px 50%, transparent 98%, rgba(0,0,0,0) 100%),
  radial-gradient(18px 18px at calc(100% - 12px) 50%, transparent 98%, rgba(0,0,0,0) 100%),
  linear-gradient(180deg, rgba(255,210,90,1), rgba(255,165,70,1));}
.ticketInner{background:rgba(255,255,255,.25);border:1px dashed rgba(0,0,0,.25);border-radius:12px;padding:10px;text-align:center}
.modalBack{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:16px}
.modal{max-width:520px;width:100%;background:linear-gradient(180deg, rgba(18,26,39,.98), rgba(18,26,39,.88));border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:14px}
