:root{--bg:#0b0d12;--text:#e9ecf1;--muted:#a8b0bf;--border:rgba(255,255,255,.1);--accent:#7aa2ff;--danger:#ff5f7a;--ok:#33d69f;--shadow: 0 10px 30px rgba(0,0,0,.35);--radius:18px;--gap:14px}*{box-sizing:border-box}html{min-height:100%;background:radial-gradient(1200px 800px at 30% 10%,rgba(122,162,255,.18),transparent 55%),radial-gradient(900px 700px at 80% 30%,rgba(51,214,159,.14),transparent 55%),var(--bg);background-repeat:no-repeat;background-attachment:fixed}body{margin:0;min-height:100vh;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;color:var(--text);background:transparent;color-scheme:dark}header{padding:14px 14px 0;max-width:1280px;margin:0 auto}header .top{display:flex;gap:10px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap}h1{font-size:18px;margin:0;font-weight:700;letter-spacing:.2px}main{padding:14px;max-width:1280px;margin:0 auto 18px;display:grid;grid-template-columns:1fr;gap:var(--gap)}@media(min-width:900px){main{grid-template-columns:1.05fr .95fr;align-items:start}main.no-right-panels{grid-template-columns:1fr}}.left-col{display:flex;flex-direction:column;gap:var(--gap);min-width:0}.card{background:linear-gradient(180deg,#ffffff0a,#ffffff05);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.card .hd{padding:12px 12px 10px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px}.card .hd .title{font-weight:700;font-size:13px;letter-spacing:.2px;color:var(--text)}.card .bd{padding:12px}.grid{display:grid;grid-template-columns:1fr;gap:var(--gap)}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}button{appearance:none;border:1px solid var(--border);background:#ffffff0a;color:var(--text);padding:10px 12px;border-radius:14px;font-weight:700;font-size:13px;cursor:pointer;transition:transform .06s ease,background .2s ease,border-color .2s ease,opacity .2s ease;-webkit-user-select:none;user-select:none;touch-action:manipulation}button:active{transform:translateY(1px) scale(.99)}button.primary{background:linear-gradient(180deg,#7aa2ff38,#7aa2ff1f);border-color:#7aa2ff59}button.danger{background:linear-gradient(180deg,#ff5f7a33,#ff5f7a1a);border-color:#ff5f7a52}button.ok{background:linear-gradient(180deg,#33d69f33,#33d69f1a);border-color:#33d69f52}button:disabled{opacity:.55;cursor:not-allowed}input[type=text],input[type=email],input[type=password],input[type=url],select,input[type=range],input[type=file],input[type=number],textarea{width:100%;padding:10px 12px;border-radius:14px;border:1px solid var(--border);background:#0000002e;color:var(--text);outline:none;font-weight:600}input[type=text]::placeholder,input[type=email]::placeholder,input[type=password]::placeholder,input[type=url]::placeholder,textarea::placeholder{color:#a8b0bfbf}select{background-color:#0000002e;color:var(--text)}select option{background-color:#0b0d12;color:#e9ecf1}.small{font-size:12px;color:var(--muted);line-height:1.35}.pill{display:inline-block;padding:4px 8px;border-radius:999px;border:1px solid var(--border);background:#ffffff08;font-weight:700;font-size:11px;color:#e9ecf1d9}.alert{margin-top:10px;padding:10px 12px;border-radius:14px;border:1px solid rgba(255,95,122,.32);background:#ff5f7a1a;color:#ffe1e6f2;font-weight:800;font-size:12px}.tabs-hd{align-items:center}.tabs{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tab{padding:8px 10px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;color:#e9ecf1e6;font-weight:800;font-size:13px;cursor:pointer}.tab:hover{background:#ffffff0f}.tab.active{background:linear-gradient(180deg,#7aa2ff38,#7aa2ff1f);border-color:#7aa2ff59}.collapsible-hd{cursor:pointer;-webkit-user-select:none;user-select:none}.collapsible-hd:focus{outline:2px solid rgba(122,162,255,.35);outline-offset:2px}.hd-right{display:flex;align-items:center;gap:10px}.chev{width:26px;height:26px;display:grid;place-items:center;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;flex:0 0 auto}.chev:before{content:"";width:8px;height:8px;border-right:2px solid rgba(233,236,241,.85);border-bottom:2px solid rgba(233,236,241,.85);transform:rotate(45deg);transition:transform .18s ease;display:block}.card.collapsed .chev:before{transform:rotate(-45deg)}.card.collapsed .bd{display:none}.card.collapsed .hd{border-bottom:none}.modal-backdrop{position:fixed;inset:0;background:#0000008c;display:none;align-items:center;justify-content:center;padding:16px;z-index:100}.modal{width:min(520px,100%);border:1px solid rgba(255,255,255,.1);background:#0f121cf5;border-radius:18px;box-shadow:0 18px 50px #0000008c;overflow:hidden}.modal-hd{padding:12px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between;gap:10px}.modal-title{font-weight:900;font-size:13px}.modal-bd{padding:12px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;padding:12px;border-top:1px solid rgba(255,255,255,.1)}.m-two{display:grid;grid-template-columns:1fr;gap:10px}@media(min-width:520px){.m-two{grid-template-columns:1fr 1fr}}.m-btn{width:100%;padding:12px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;font-weight:900}.m-btn.win{border-color:#33d69f59;background:#33d69f1a}.m-score{margin-top:10px;display:grid;grid-template-columns:1fr;gap:10px}@media(min-width:520px){.m-score{grid-template-columns:1fr 1fr}}.m-score label{font-size:12px;color:var(--muted);font-weight:700}.m-err{margin-top:10px;color:#ffe1e6f2;font-weight:900;font-size:12px;display:none}.wheel-wrap{display:flex;flex-direction:column;gap:12px;align-items:center;padding:12px}.wheel-area{width:min(86vw,460px);aspect-ratio:1/1;position:relative;display:grid;place-items:center}canvas{width:100%;height:100%;border-radius:50%;background:radial-gradient(circle at 30% 30%,#ffffff0d,#ffffff05);border:1px solid var(--border)}.pointer{position:absolute;top:-2px;left:50%;transform:translate(-50%);width:0;height:0;border-left:14px solid transparent;border-right:14px solid transparent;border-top:24px solid rgba(255,255,255,.9);filter:drop-shadow(0 8px 10px rgba(0,0,0,.45));z-index:3}.center-cap{position:absolute;width:16%;aspect-ratio:1/1;border-radius:50%;background:radial-gradient(circle at 30% 30%,#ffffff38,#ffffff1a);border:1px solid var(--border);box-shadow:0 12px 24px #00000059;display:grid;place-items:center;font-weight:800;letter-spacing:.4px;color:#ffffffd9;-webkit-user-select:none;user-select:none;z-index:4}.center-cap.clickable{cursor:pointer;transition:transform .1s ease,box-shadow .2s ease,background .2s ease,opacity .2s ease}.center-cap.clickable:hover{box-shadow:0 14px 30px #00000073;background:radial-gradient(circle at 30% 30%,#ffffff47,#ffffff24)}.center-cap.clickable:active{transform:scale(.96)}.btns{width:100%;display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.result{width:100%;text-align:center;padding:12px;border-radius:16px;background:#ffffff08;border:1px dashed rgba(255,255,255,.14)}.result .label{font-size:12px;color:var(--muted);margin-bottom:8px}.result .name{font-size:clamp(22px,4.2vw,34px);font-weight:900;letter-spacing:.3px;line-height:1.15;word-break:break-word}.history{width:100%;padding:12px;border-radius:16px;background:#ffffff08;border:1px dashed rgba(255,255,255,.14)}.history-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.history-title{font-weight:900;font-size:12px;letter-spacing:.2px;color:var(--muted)}.history-list{display:flex;flex-direction:column;gap:8px}.history-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border-radius:14px;border:1px solid var(--border);background:#ffffff08}.history-item .idx{font-size:12px;color:var(--muted);font-weight:800;flex:0 0 auto}.history-item .who{font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.names{display:flex;flex-direction:column;gap:10px;margin-top:10px}.name-item{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.name-extra input{border-color:#ff5f7a99!important;box-shadow:0 0 0 2px #ff5f7a29,0 0 18px #ff5f7a2e}.teams-wrap{padding:12px;display:flex;flex-direction:column;gap:12px}.teams-controls{display:flex;gap:10px;align-items:center}#teamSizeInput{max-width:140px}.teams-board{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width:520px){.teams-board{grid-template-columns:1fr 1fr}}.team-card{border:1px solid rgba(255,255,255,.1);background:#ffffff08;border-radius:16px;padding:12px}.team-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.team-title .name{font-weight:900;letter-spacing:.2px}.team-title .count{font-size:12px;color:var(--muted)}.team-members{display:flex;flex-direction:column;gap:8px}.member{padding:10px;border-radius:12px;background:#0000001f;border:1px solid rgba(255,255,255,.08);font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sound-list{margin-top:10px;display:flex;flex-direction:column;gap:8px}.sound-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border-radius:14px;border:1px solid var(--border);background:#ffffff08}.sound-meta{min-width:0;display:flex;flex-direction:column;gap:2px}.sound-meta .t{font-weight:800;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sound-meta .s{font-size:12px;color:var(--muted)}.panel-bank{display:none}.t-wrap{padding:12px;display:flex;flex-direction:column;gap:12px}.t-grid{display:grid;grid-template-columns:1fr;gap:12px;align-items:start}@media(min-width:900px){.t-grid{grid-template-columns:1.05fr .95fr}}.two-cols{display:grid;grid-template-columns:1fr;gap:10px}@media(min-width:520px){.two-cols{grid-template-columns:1fr 1fr}}.t-card{border:1px solid rgba(255,255,255,.1);background:#ffffff08;border-radius:16px;overflow:hidden;align-self:start}.t-card-hd{padding:12px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between;gap:10px}.t-card-title{font-weight:900;letter-spacing:.2px;font-size:13px}.t-card-bd{padding:12px}.t-participants{display:flex;flex-direction:column;gap:10px}.t-p-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.t-p-tag{font-size:11px;padding:4px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:#0000001f;color:#e9ecf1d9;font-weight:800}.t-bracket-board{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;padding:4px 2px}.bracket{display:flex;gap:18px;align-items:flex-start;min-width:760px;padding-bottom:4px}.bracket.bracket-double{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);grid-template-rows:auto auto;gap:18px;align-items:start;min-width:760px;padding-bottom:4px}.round{display:flex;flex-direction:column;gap:12px;min-width:220px}.round-title{position:sticky;top:0;z-index:2;padding:8px 10px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#0f121ceb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-weight:900;font-size:12px;letter-spacing:.2px;color:#e9ecf1e6}.match{border:1px solid rgba(255,255,255,.1);background:#0000001f;border-radius:14px;padding:10px;cursor:pointer;transition:transform .08s ease,background .15s ease}.match:hover{background:#00000029}.match:active{transform:scale(.99)}.slot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#ffffff05;font-weight:800}.slot+.slot{margin-top:8px}.slot .n{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot .s{font-weight:900;color:#e9ecf1d9}.slot.winner{border-color:#33d69f59;background:#33d69f1a}.slot.bye{opacity:.65}.slot.reorder{cursor:grab}.slot.reorder:active{cursor:grabbing}.slot.reorder.drag-over{border-color:#7aa2ff73;box-shadow:0 0 0 2px #7aa2ff24}.bracket-span{width:100%}@media(min-width:900px){.bracket-span{grid-column:1 / -1}}.t-manual-teams{display:grid;grid-template-columns:1fr;gap:12px;min-width:0}@media(min-width:900px){.t-manual-teams{grid-template-columns:minmax(280px,.85fr) minmax(320px,1.15fr);align-items:start}}.t-manual-hd{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}.t-manual-title{font-weight:900;letter-spacing:.2px;font-size:13px}.t-manual-sub{font-size:12px;color:var(--muted);font-weight:800}.t-unassigned{border:1px solid rgba(255,255,255,.1);background:#ffffff08;border-radius:16px;padding:12px;min-width:0}.t-unassigned-list{display:flex;flex-direction:column;gap:8px;min-height:80px;border-radius:14px;padding:6px;border:1px dashed rgba(255,255,255,.1);background:#00000014}.t-unassigned-list.drag-over{border-color:#7aa2ff73;box-shadow:0 0 0 2px #7aa2ff24}.t-drag-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#0000001f;cursor:grab;-webkit-user-select:none;user-select:none}.t-drag-item:active{cursor:grabbing}.t-drag-item.dragging{opacity:.6}.t-drag-name{font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.t-drag-tag{font-size:11px;padding:4px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;color:#e9ecf1d9;font-weight:900;flex:0 0 auto}.t-teams-builder{border:1px solid rgba(255,255,255,.1);background:#ffffff08;border-radius:16px;padding:12px;min-width:0}.t-teams-builder-grid{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width:520px){.t-teams-builder-grid{grid-template-columns:1fr 1fr}}.t-team-build-card{border:1px solid rgba(255,255,255,.1);background:#0000001a;border-radius:16px;padding:12px;min-width:0}.t-team-build-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.t-team-build-title .name{font-weight:900;letter-spacing:.2px}.t-team-build-title .count{font-size:12px;color:var(--muted);font-weight:800}.t-team-slots{display:flex;flex-direction:column;gap:10px}.t-slot{border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#ffffff05;padding:10px}.t-slot.drag-over{border-color:#7aa2ff73;box-shadow:0 0 0 2px #7aa2ff24}.t-slot-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.t-slot-label{font-size:12px;color:var(--muted);font-weight:900}.t-slot-clear{padding:6px 10px;border-radius:10px;font-weight:900}.t-slot-clear:disabled{opacity:.4}.t-slot-body{display:grid;grid-template-columns:1fr;gap:10px}@media(min-width:520px){.t-slot-body{grid-template-columns:1fr 1fr;align-items:center}}.t-slot-current{border-radius:14px;border:1px dashed rgba(255,255,255,.14);padding:10px;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#0000001a}.t-slot-current.filled{border-style:solid;cursor:grab}.t-slot-empty{color:#e9ecf1b3;font-weight:900}.t-slot-select{width:100%}.t-seeds-grid{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width:520px){.t-seeds-grid{grid-template-columns:1fr 1fr}}.t-team-name-input{width:100%;padding:8px 10px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#00000024;color:var(--text);font-weight:900;min-width:0}.t-team-name-input::placeholder{color:#a8b0bfbf}.t-card,.t-card-bd,.t-participants,.t-manual-teams,.t-unassigned,.t-teams-builder,.t-team-build-card,.t-slot-body{min-width:0}#viewTournament{position:relative;z-index:1}#viewTournament button{position:relative;z-index:2}
