:root{color-scheme:dark;--bg:#000;--surface:#161616;--text:#f7f7f5;--muted:#b2b2b2;--border:#3c3c3c;--gold:#d5b56a;--field:#101010;--notice:#201d15;--error:#ffb5ac;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:16px}
:root[data-theme=light]{color-scheme:light;--bg:#fff;--surface:#f5f5f5;--text:#171717;--muted:#595959;--border:#c9c9c9;--field:#fff;--notice:#f7f0df;--error:#9f2424}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);line-height:1.5}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button[hidden],[hidden]{display:none!important}.header,main,footer{max-width:1160px;margin:auto;padding-inline:32px}.header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:28px;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:16px;font-size:2rem;font-weight:900;letter-spacing:-.08em;text-decoration:none}.brand span{font-size:.875rem;max-width:105px;font-weight:500;line-height:1.3;letter-spacing:0}.quiet{border:1px solid var(--border);color:var(--text);background:transparent;border-radius:8px;padding:10px 15px;min-height:44px}.quiet:hover{background:var(--surface)}.test-notice{color:var(--muted);font-size:.875rem;padding-block:18px}.workspace{display:grid;grid-template-columns:300px minmax(0,1fr);gap:56px;padding-block:14px 56px}.player-card{background:var(--gold);color:#17130b;border-radius:18px;padding:23px;min-height:244px;display:flex;flex-direction:column}.card-top,.card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.875rem}.league-mark{font-weight:900;letter-spacing:-.07em;font-size:1.4rem}.player-card h1{font-size:2.15rem;line-height:1.15;letter-spacing:-.04em;margin:22px 0 12px;overflow-wrap:anywhere}.player-card p{font-size:.875rem;margin:0 0 22px}.card-foot{border-top:1px solid #8d7239;padding-top:14px;margin-top:auto}.sidebar nav{display:grid;margin-block:28px 24px;gap:4px}.nav-item{display:flex;align-items:center;justify-content:space-between;border:0;border-left:3px solid transparent;background:transparent;color:var(--muted);padding:15px 16px;text-align:left;min-height:50px}.nav-item span{font-size:.875rem;opacity:.65}.nav-item.selected{color:var(--text);border-color:var(--gold);background:var(--surface)}.channel{display:block;color:var(--muted);font-size:.875rem;padding:8px 16px;text-underline-offset:5px}.section-heading{margin-block:24px 28px}h2{font-size:1.8rem;line-height:1.2;letter-spacing:-.025em;margin:0 0 12px}h3{font-size:1.125rem;margin:0 0 8px}.section-heading p,.form-divider p,.muted,.empty p{color:var(--muted);margin:0;max-width:62ch}.notice{padding:14px 18px;background:var(--notice);border-left:3px solid var(--gold);border-radius:0 6px 6px 0;font-size:.875rem}.notice.error{color:var(--error);border-color:var(--error)}#retry{margin-top:12px}fieldset{border:0;padding:0;margin:0;min-width:0}legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px}.form-grid label{display:flex;flex-direction:column;gap:8px;font-size:.875rem;font-weight:600;min-width:0}.wide{grid-column:1/-1}input,select{width:100%;min-width:0;min-height:50px;border:1px solid var(--border);border-radius:8px;background:var(--field);color:var(--text);padding:12px 14px;font-size:1rem}input::placeholder{color:var(--muted);opacity:1}small{font-size:.875rem;font-weight:400;color:var(--muted);line-height:1.4}fieldset:disabled input,fieldset:disabled select{opacity:.7}.form-divider{border-top:1px solid var(--border);margin-top:30px;padding-top:24px;margin-bottom:20px}.form-divider p{font-size:.875rem}.primary{margin-top:28px;border:0;border-radius:8px;background:var(--gold);color:#17130b;padding:14px 24px;min-height:52px;font-weight:700}.primary:hover{filter:brightness(1.08)}.saved-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.badge{font-size:.875rem;padding:6px 10px;border:1px solid var(--border);border-radius:6px}dl{margin:20px 0 26px}dl div{display:grid;grid-template-columns:160px minmax(0,1fr);gap:20px;padding:14px 0;border-bottom:1px solid var(--border)}dt{color:var(--muted);font-size:.875rem}dd{margin:0;overflow-wrap:anywhere}.empty{border:1px solid var(--border);border-radius:12px;padding:32px}.logout{margin-top:28px}footer{display:flex;justify-content:space-between;gap:18px;padding-block:24px;color:var(--muted);border-top:1px solid var(--border);font-size:.875rem}
@media(max-width:800px){.header,main,footer{padding-inline:20px}.header{padding-top:max(20px,var(--tg-safe-area-inset-top,0px));padding-bottom:18px}.workspace{grid-template-columns:1fr;gap:12px;padding-top:0}.sidebar{display:contents}.player-card{min-height:190px;padding:20px}.player-card h1{font-size:1.85rem;margin-top:12px}.player-card h1 br{display:none}.sidebar nav{display:flex;overflow-x:auto;margin:8px 0 12px;gap:0}.nav-item{flex:1;white-space:nowrap;justify-content:center;padding:14px 10px;font-size:.875rem;border-left:0;border-bottom:3px solid transparent}.nav-item span{display:none}.channel{display:none}.content{min-width:0}.section-heading{margin-top:22px}h2{font-size:1.6rem}footer{padding-bottom:max(24px,var(--tg-safe-area-inset-bottom,0px))}.primary{width:100%}}
@media(max-width:420px){.form-grid{grid-template-columns:1fr}.header{gap:12px}.brand{font-size:1.7rem;gap:10px}.brand span{font-size:.75rem;max-width:86px}.header .quiet{font-size:.875rem;padding:9px}dl div{grid-template-columns:1fr;gap:4px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.tournament-list{display:grid;gap:18px;margin-top:22px}.tournament-card{padding:24px;border:1px solid var(--border);border-radius:12px}.tournament-card h3{font-size:1.3rem;margin-top:10px}.tournament-card p{margin-block:10px}.tournament-card .badge{display:table}.tournament-card .quiet{margin-block:8px}.fee{font-weight:650}.tournament-card .channel{padding-left:0}button:disabled{cursor:not-allowed}
.admin-section{border:1px solid var(--border);border-radius:10px;padding:18px;margin-bottom:22px}.admin-section summary{cursor:pointer;font-weight:650;min-height:32px}.admin-section[open] summary{margin-bottom:22px}.admin-section .form-grid{margin-top:16px}#notifications .notice{margin-top:14px}summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
textarea{display:block;width:100%;margin:10px 0 18px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--field);color:var(--text);font:inherit;resize:vertical}textarea:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.table-scroll{overflow:auto;max-height:480px;margin-block:18px}table{border-collapse:collapse;width:100%;text-align:left}th,td{padding:12px;border-bottom:1px solid var(--border);overflow-wrap:anywhere}th{background:var(--surface);position:sticky;top:0}.tournament-card>label{display:block;margin-block:14px}.tournament-card>.quiet{margin-right:10px}
