:root{--bg:#100e14;--surface:#19161f;--surface-2:#221e2a;--surface-3:#2d2837;--border:#302a3b;--text:#efeaf6;--muted:#9d95ad;--accent:#f6a;--accent-hover:#ff80b9;--on-accent:#22070f;--team-0:#4fa8ff;--team-1:#ff5f73;--good:#46d39a;--warn:#ffbf47;--danger:#ff5f73;--shadow:0 10px 30px #00000059;--radius:12px;--radius-small:8px;--header-h:50px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#f5f3f8;--surface:#fff;--surface-2:#f1edf6;--surface-3:#e6e0ee;--border:#e1dbe9;--text:#1d1824;--muted:#6b6378;--accent:#db3f89;--accent-hover:#c5307a;--on-accent:#fff;--team-0:#1f76d6;--team-1:#dc3550;--good:#16945f;--warn:#b87900;--danger:#d42f48;--shadow:0 10px 30px #28143c1f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}:root[data-theme=light]{--bg:#f5f3f8;--surface:#fff;--surface-2:#f1edf6;--surface-3:#e6e0ee;--border:#e1dbe9;--text:#1d1824;--muted:#6b6378;--accent:#db3f89;--accent-hover:#c5307a;--on-accent:#fff;--team-0:#1f76d6;--team-1:#dc3550;--good:#16945f;--warn:#b87900;--danger:#d42f48;--shadow:0 10px 30px #28143c1f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);flex-direction:column;min-height:100vh;margin:0;font:15px/1.5 Rubik,system-ui,-apple-system,Segoe UI,sans-serif;display:flex}#root{flex-direction:column;min-height:100vh;display:flex}main{flex:1}a{color:inherit}h1,h2,h3{margin:0;font-weight:600;line-height:1.2}button,input,select{font:inherit;color:inherit}input,select{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-small);outline:none;min-height:36px;padding:7px 10px;transition:border-color .15s}input:focus-visible,select:focus-visible{border-color:var(--accent)}input[type=checkbox]{width:18px;height:18px;min-height:0;accent-color:var(--accent);cursor:pointer;padding:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--muted)}.small{font-size:13px}.warn{color:var(--warn)}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 4px;font-size:12px;font-weight:600}.btn{border-radius:var(--radius-small);border:1px solid var(--border);background:var(--surface-2);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;min-height:36px;padding:7px 14px;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s,transform 50ms;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-3)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--danger);filter:brightness(1.1)}.btn-large{min-height:44px;padding:10px 22px;font-size:16px}.btn-small{min-height:28px;padding:3px 10px;font-size:13px}.icon-btn{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;font-size:15px;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.icon-btn:disabled{opacity:.4;cursor:default}.link-btn{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-weight:500;text-decoration:none}.link-btn:hover{text-decoration:underline}.chip-btn{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:500}.chip-btn:hover{background:var(--surface-3)}.chip-btn.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.segmented{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;gap:3px;padding:3px;display:inline-flex}.segmented button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:7px;padding:6px 16px;font-weight:500}.segmented button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #00000040}.pill{background:var(--surface-3);color:var(--muted);vertical-align:middle;border-radius:999px;margin-left:8px;padding:1px 9px;font-size:12px;font-weight:600;display:inline-block}.pill-live{background:color-mix(in srgb, var(--good) 20%, transparent);color:var(--good)}.pill-done{background:var(--surface-3)}.pill-expired{background:color-mix(in srgb, var(--warn) 20%, transparent);color:var(--warn)}.pill-you{background:var(--accent);color:var(--on-accent);font-size:13px}.site-header{z-index:20;height:var(--header-h);background:color-mix(in srgb, var(--bg) 85%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);align-items:center;gap:24px;padding:0 24px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.01em;align-items:center;gap:8px;font-size:17px;font-weight:700;text-decoration:none;display:flex}.brand-accent,.logo{color:var(--accent)}.logo{width:22px;height:22px}.site-nav{flex:1;gap:4px;display:flex}.header-tools{align-items:center;gap:8px;display:flex}.header-mode select{min-height:34px;padding:5px 10px;font-weight:500}.site-nav a{border-radius:var(--radius-small);color:var(--muted);padding:6px 12px;font-weight:500;text-decoration:none}.site-nav a:hover,.site-nav a.active{color:var(--text);background:var(--surface-2)}.theme-btn{border:1px solid var(--border);cursor:pointer;color:var(--muted);background:0 0;border-radius:999px;padding:4px 12px;font-size:13px}.site-footer{text-align:center;color:var(--muted);padding:8px 16px 14px;font-size:13px}.page{width:100%;max-width:1280px;margin:0 auto;padding:20px 24px 16px}.page-explore{width:fit-content;min-width:min(100%,960px);max-width:none}.page-explore.has-tray,.match-page.has-confirm{padding-bottom:96px}.section-title{margin:20px 0 12px;font-size:22px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.card h2{margin-bottom:12px;font-size:17px}.card-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.card-head h2{margin:0}.empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:12px;padding:56px 16px;display:flex}.empty h2{color:var(--text);font-size:22px}.steps{text-align:left;gap:12px;max-width:560px;margin:8px 0 0;padding-left:22px;display:grid}.steps strong{color:var(--text)}.loading-block{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:12px;padding:64px 16px;display:flex}.banner{border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:14px 16px;display:flex}.banner p{flex:320px;margin:0}.banner-warn{background:color-mix(in srgb, var(--warn) 14%, var(--surface));border:1px solid color-mix(in srgb, var(--warn) 40%, transparent)}.form-error{color:var(--danger);margin:8px 0 0;font-size:14px}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field>span{color:var(--muted);font-size:13px;font-weight:500}.spinner{border:3px solid var(--surface-3);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin;display:inline-block}.spinner-small{vertical-align:-2px;border-width:2px;width:14px;height:14px}@keyframes spin{to{transform:rotate(360deg)}}.player-bar{margin-bottom:14px}.player-chips{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.player-chip{background:var(--surface);border:1px solid var(--border);border-radius:14px;align-items:center;gap:10px;min-width:220px;max-width:100%;padding:6px 6px 6px 8px;display:flex;position:relative}.avatar{object-fit:cover;background:var(--surface-3);border-radius:10px;flex-shrink:0;width:36px;height:36px}.chip-body{flex-direction:column;flex:1;min-width:0;display:flex}.chip-name{white-space:nowrap;text-overflow:clip;font-weight:600;text-decoration:none;overflow:hidden}.chip-name:hover{color:var(--accent)}.chip-status{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.chip-error{color:var(--danger);max-width:220px}.chip-progress{background:var(--surface-3);border-radius:2px;height:3px;margin-top:3px;display:block;overflow:hidden}.chip-progress span{background:var(--accent);height:100%;transition:width .3s;display:block}.chip-progress .indeterminate{animation:1.2s ease-in-out infinite slide}@keyframes slide{0%{transform:translate(-100%)}to{transform:translate(350%)}}.toolbar{flex-wrap:wrap;align-items:center;gap:10px 18px;margin:18px 0 10px;display:flex}.toolbar .page-explore{width:fit-content;min-width:min(100%,960px);max-width:none}.page-explore.has-tray,.match-page.has-confirm{padding-bottom:96px}.section-title{margin:0 auto 0 0}.toolbar-count{color:var(--muted);white-space:nowrap}.toolbar-count strong{color:var(--text);font-size:18px}.combined-picker{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;display:flex}.table-frame{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:max-content;min-width:100%}table.maps{border-collapse:separate;border-spacing:0;min-width:100%}.maps th{top:var(--header-h);z-index:5;background:var(--surface-2);text-align:left;color:var(--muted);white-space:nowrap;border-bottom:1px solid var(--border);height:52px;padding:0 10px;font-size:12px;font-weight:600;position:sticky}.maps th:first-child{border-top-left-radius:var(--radius)}.maps th:last-child{border-top-right-radius:var(--radius)}.th-inner{align-items:center;gap:8px;display:flex}.col-num .th-inner,.col-count .th-inner{justify-content:center}td.col-num,td.col-count{text-align:center}.maps th.col-num,.maps td.col-num,.maps th.col-count,.maps td.col-count,.maps .col-check+.col-cover,.maps .col-check+.col-map,.maps .col-lead+.col-cover,.maps .col-lead+.col-map{border-left:1px solid color-mix(in srgb, var(--border) 70%, transparent)}.maps td{border-bottom:1px solid var(--border);vertical-align:middle;padding:6px 10px}.maps tbody tr:last-child td{border-bottom:0}.maps tbody tr:hover td{background:var(--surface-2)}.maps tbody tr.selected td{background:color-mix(in srgb, var(--accent) 10%, var(--surface))}.th-sort{cursor:pointer;font:inherit;color:inherit;background:0 0;border:0;align-items:center;gap:4px;max-width:100%;padding:0;display:inline-flex}.th-sort:hover,.th-sort.active{color:var(--text)}.th-name{text-overflow:clip;font-size:13px;overflow:hidden}.col-title .th-name,.col-num .th-name,.col-cover .th-name,.col-map .th-name,.col-lead .th-name{text-transform:uppercase;letter-spacing:.04em;font-size:12px}.sort-arrow{font-size:9px}.sort-arrow:empty{display:none}.col-check{text-align:center;width:40px;padding-right:0!important}.maps th.col-check{width:auto}.top-input{width:50px}.col-cover{width:64px;padding-left:5px!important;padding-right:5px!important}.maps th.col-cover .th-inner,.maps th.col-map .th-inner{justify-content:center}.col-lead,.maps th.col-lead{text-align:center}.maps th.col-num,.maps th.col-count{padding:0 14px}.cover{object-fit:cover;background:var(--surface-3);border-radius:6px;width:54px;height:40px;display:block}.cover-missing{background:linear-gradient(135deg, var(--surface-3), var(--surface-2))}.col-title{width:320px;min-width:320px;max-width:320px}.map-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:15px;font-weight:500;line-height:1.3;text-decoration:none;display:-webkit-box;overflow:hidden}.map-title:hover .map-title-song{color:var(--accent)}.map-title-diff{color:var(--muted)}.col-num{white-space:nowrap;font-variant-numeric:tabular-nums}.col-count{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.maps th.col-count .th-sort{white-space:nowrap}.col-combined{background:color-mix(in srgb, var(--accent) 5%, transparent)}.maps th.col-combined{background:color-mix(in srgb, var(--accent) 8%, var(--surface-2))}.count{font-weight:500}.count.zero{color:var(--muted);opacity:.6}.col-combined .count{font-weight:700}.stars{font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:3px;padding:1px 8px 1px 6px;font-size:13px;font-weight:600;display:inline-flex}.stars svg{width:12px;height:12px}.table-more{text-align:center;color:var(--muted);padding:16px;font-size:13px}.num-input{text-align:center;width:54px;min-height:32px;padding:5px 4px;font-size:14px}.maps thead input:focus-visible{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);outline:none}.range .num-input[inputmode=numeric]{width:60px}.num-input.invalid{border-color:var(--danger)}.range{align-items:center;gap:4px;display:flex}.range-dash{color:var(--muted)}.search-input{width:100%;min-width:120px;min-height:32px;padding:5px 10px;font-size:14px}.tray{z-index:30;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;align-items:center;gap:14px;width:max-content;max-width:calc(100vw - 32px);padding:10px 12px 10px 18px;animation:.2s ease-out rise;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}@keyframes rise{0%{opacity:0;transform:translate(-50%,20px)}}.tray-count{white-space:nowrap}.tray-warn{color:var(--warn)}.tray-toggle{color:var(--muted);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;font-size:14px;display:flex}.dialog{border:1px solid var(--border);background:var(--surface);color:var(--text);width:min(520px,100vw - 32px);box-shadow:var(--shadow);border-radius:16px;padding:22px}.dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c}.dialog form{flex-direction:column;gap:14px;display:flex}.dialog h2{font-size:20px}.dialog p{margin:0}.dialog-maps{background:var(--surface-2);border-radius:var(--radius-small);max-height:240px;margin:0;padding:8px 12px;font-size:14px;list-style:none;overflow:auto}.dialog-maps li{white-space:nowrap;text-overflow:ellipsis;padding:3px 0;overflow:hidden}.dialog-map-stars{width:48px;color:var(--muted);font-variant-numeric:tabular-nums;display:inline-block}.dialog-actions{justify-content:flex-end;gap:8px;display:flex}.toasts{top:calc(var(--header-h) + 12px);z-index:50;flex-direction:column;gap:8px;max-width:min(380px,100vw - 32px);display:flex;position:fixed;right:16px}.toast{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;padding:10px 14px;font-size:14px;animation:.2s ease-out fade-in}.toast-error{border-left:4px solid var(--danger)}@keyframes fade-in{0%{opacity:0;transform:translateY(-6px)}}.pool-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.pool-header h1{font-size:28px}.pool-header p{margin:6px 0 0}.pool-actions{gap:8px;display:flex}.pool-bottom{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:18px;margin-top:22px;display:grid}.match-setup{flex-direction:column;gap:16px;display:flex}.match-setup h2,.match-setup>p{margin:0}.setup-teams{grid-template-columns:1fr 1fr;gap:12px;display:grid}.team-fields{border:1px solid var(--border);border-radius:var(--radius-small);flex-direction:column;gap:10px;min-width:0;margin:0;padding:10px 12px 12px;display:flex}.team-fields legend{padding:0 4px;font-size:13px;font-weight:600}.team-fields.team-0{border-color:color-mix(in srgb, var(--team-0) 45%, var(--border))}.team-fields.team-0 legend{color:var(--team-0)}.team-fields.team-1{border-color:color-mix(in srgb, var(--team-1) 45%, var(--border))}.team-fields.team-1 legend{color:var(--team-1)}.setup-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;display:grid}.stepper{border:1px solid var(--border);border-radius:var(--radius-small);background:var(--surface-2);align-items:center;width:max-content;display:inline-flex}.stepper button{cursor:pointer;background:0 0;border:0;width:36px;height:34px;font-size:18px}.stepper button:disabled{opacity:.35;cursor:default}.stepper output{text-align:center;font-variant-numeric:tabular-nums;min-width:32px;font-weight:600}.flip-result{font-size:13px;font-weight:600}.team-text-0{color:var(--team-0);font-weight:600}.team-text-1{color:var(--team-1);font-weight:600}.match-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.match-row{border-radius:var(--radius-small);background:var(--surface-2);grid-template-columns:1fr auto 1fr auto;align-items:center;gap:4px 10px;padding:8px 10px;text-decoration:none;display:grid}.match-row:hover{background:var(--surface-3)}.match-row>:nth-child(3){text-align:right}.match-row .pill{margin:0}.match-row .small{grid-column:1/-1}.match-score{font-variant-numeric:tabular-nums;font-weight:700}.col-lead{width:72px}.pool-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.category-bar{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip-add{width:30px;padding:4px 0;font-size:16px;line-height:1}.category-new{border-radius:999px;width:140px;min-height:28px;padding:3px 10px;font-size:13px}.category-select{min-height:30px;padding:3px 6px;font-size:13px;font-weight:600}.maps .section-row td{background:var(--surface-2);color:var(--muted);border-left:0;padding:6px 10px;font-size:13px;font-weight:600}.pool-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin:18px 0 0;padding:0;list-style:none;display:grid}.pool-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:transform .15s,border-color .15s;position:relative;overflow:hidden}.pool-card:hover{border-color:color-mix(in srgb, var(--accent) 50%, var(--border));transform:translateY(-2px)}.pool-card-link{text-decoration:none;display:block}.pool-card-covers{background:var(--surface-3);grid-template-columns:repeat(4,1fr);height:72px;display:grid}.pool-card-covers .cover{border-radius:0;width:100%;height:72px}.pool-card-body{padding:12px 14px}.pool-card-body h2{font-size:16px}.pool-card-body p{margin:4px 0 0}.pool-card-remove{color:#fff;background:#00000080;position:absolute;top:6px;right:6px}.match-page{max-width:1500px;position:relative}.match-topline{pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;top:20px;left:24px;right:24px}.match-topline>*{pointer-events:auto}.conn{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.conn-dot{background:var(--warn);border-radius:50%;width:8px;height:8px}.conn-live .conn-dot{background:var(--good);box-shadow:0 0 0 3px color-mix(in srgb, var(--good) 25%, transparent)}.match-head{flex-direction:column;gap:10px;max-width:760px;margin:0 auto 18px;display:flex}.scoreboard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:12px 18px;display:grid}.sb-team{min-width:0}.sb-team.team-0{grid-area:1/1}.sb-team.team-1{text-align:right;grid-area:1/3}.sb-score{text-align:center;font-variant-numeric:tabular-nums;grid-area:1/2;font-size:30px;font-weight:700;line-height:1}.sb-dash{color:var(--muted);margin:0 10px}.sb-meta{color:var(--muted);margin-top:6px;font-size:12px;font-weight:500}.sb-name{text-overflow:clip;white-space:nowrap;font-size:18px;font-weight:700;overflow:hidden}.team-0 .sb-name{color:var(--team-0)}.team-1 .sb-name{color:var(--team-1)}.sb-players{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.sb-pips{gap:4px;margin-top:6px;display:flex}.team-1 .sb-pips{justify-content:flex-end}.pip{border:2px solid var(--surface-3);border-radius:50%;width:11px;height:11px}.team-0 .pip.on{background:var(--team-0);border-color:var(--team-0)}.team-1 .pip.on{background:var(--team-1);border-color:var(--team-1)}.sb-winner .sb-name:after{content:" 🏆"}.dot{background:var(--muted);vertical-align:1px;border-radius:50%;flex-shrink:0;width:9px;height:9px;margin-right:6px;display:inline-block}.dot-0{background:var(--team-0)}.dot-1{background:var(--team-1)}.phase{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);padding:12px 16px;position:relative}.phase h2{flex-wrap:wrap;align-items:center;gap:6px;font-size:18px;display:flex}.phase p{margin:4px 0 0}.phase-choose{border-left:3px solid var(--accent)}.phase-choose[data-team="0"]{border-left-color:var(--team-0)}.phase-choose[data-team="1"]{border-left-color:var(--team-1)}.phase-choose[data-phase=ban] h2{color:#ff8e9c}.phase-step{color:var(--muted);background:var(--surface-2);border-radius:999px;padding:1px 10px;font-size:13px;font-weight:500}.phase-lobby,.phase-done{text-align:center}.phase-lobby h2,.phase-done h2{justify-content:center}.ready-row{grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;display:grid}.ready-btn{border-radius:var(--radius-small);border:1px solid var(--border);background:var(--surface-2);cursor:pointer;flex-direction:column;align-items:center;gap:2px;padding:10px;display:flex}.ready-btn:hover:not(:disabled){background:var(--surface-3)}.ready-btn:disabled{cursor:default}.ready-btn.is-you{border-color:var(--accent)}.ready-name{font-size:16px;font-weight:600}.ready-state{color:var(--muted);font-size:13px}.ready-btn.is-ready{border-color:var(--good)}.ready-btn.is-ready .ready-state{color:var(--good);font-weight:600}.phase-playing{border-left:3px solid var(--accent);align-items:center;gap:14px;display:flex}.phase-thumb{border-radius:var(--radius-small);flex-shrink:0;width:120px;height:68px}.phase-content{flex:1;min-width:0}.phase-playing h2{font-size:16px}.phase-playing .eyebrow{margin-bottom:2px}.phase-meta{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.phase-winner{flex-direction:column;align-items:stretch;gap:6px;min-width:150px;display:flex}.win-btn{border-radius:var(--radius-small);border:1px solid var(--border);background:var(--surface-2);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;justify-content:flex-start;align-items:center;padding:7px 12px;font-weight:600;display:flex;overflow:hidden}.win-btn:hover:not(:disabled){background:var(--surface-3);border-color:var(--accent)}.win-btn:disabled{opacity:.5;cursor:default}.match-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:20px;display:grid}.match-side{top:calc(var(--header-h) + 16px);flex-direction:column;gap:14px;display:flex;position:sticky}.match-side .card{padding:14px}.match-side .card h2{margin-bottom:10px;font-size:15px}.match-side .card>p{margin:8px 0 10px}.seat-list{flex-direction:column;gap:4px;display:flex}.seat-option{border-radius:var(--radius-small);cursor:pointer;text-align:left;color:var(--muted);background:0 0;border:1px solid #0000;align-items:center;padding:5px 10px;font-weight:500;display:flex}.seat-option:hover{background:var(--surface-2);color:var(--text)}.seat-option.active{background:var(--surface-2);border-color:var(--accent);color:var(--text)}.board{flex-direction:column;gap:18px;display:flex}.board-summary{margin:4px 0 0}.board-section h3{color:var(--muted);align-items:center;gap:8px;margin-bottom:8px;font-size:14px;font-weight:600;display:flex}.slot-chip{background:var(--surface-3);color:var(--text);letter-spacing:.02em;font-variant-numeric:tabular-nums;border-radius:6px;padding:1px 7px;font-size:12px;font-weight:700;display:inline-block}.card-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;display:grid}.map-card{border-radius:var(--radius);background:var(--surface-2);border:2px solid var(--border);isolation:isolate;flex-direction:column;justify-content:space-between;min-height:110px;transition:transform .12s,border-color .12s,box-shadow .12s,opacity .2s;display:flex;position:relative;overflow:hidden}.map-card-top{z-index:3;pointer-events:none;justify-content:space-between;align-items:center;gap:6px;min-height:30px;padding:8px 8px 0;display:flex;position:relative}.map-card-bg{z-index:-2;border-radius:0;width:100%;height:100%;position:absolute;inset:0}.map-card:before{content:"";z-index:-1;background:linear-gradient(#0a080e33,#0a080ee0);position:absolute;inset:0}.map-card-slot{color:#fff;background:#0a080ebf;flex-shrink:0}.map-card-result{z-index:3;pointer-events:none;white-space:nowrap;color:#fff;background:#0a080eeb;border-radius:999px;align-items:center;max-width:calc(100% - 16px);padding:3px 11px;font-size:13px;font-weight:600;display:inline-flex;position:absolute;top:calc(50% + 24px);left:50%;transform:translate(-50%);box-shadow:0 2px 8px #00000073}.map-card-result-center{top:50%;transform:translate(-50%,-50%)}.map-card-result .dot{width:7px;height:7px;margin-right:5px}.map-card-result-live{background:var(--accent);color:var(--on-accent)}.map-card-body{color:#fff;pointer-events:none;padding:8px 10px 10px;position:relative}.map-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.map-card-link{color:#fff;pointer-events:auto;background:#0a080ebf;border-radius:6px;flex-shrink:0;place-items:center;width:24px;height:24px;font-size:13px;text-decoration:none;display:inline-grid}.map-card-link:hover{background:var(--accent);color:var(--on-accent)}.map-card-top .map-card-link:first-child,.map-card-slot+.map-card-link{margin-left:auto}.map-card-diff{color:#ffffffbf;white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.map-card-meta{color:#ffffffd9;font-variant-numeric:tabular-nums;align-items:center;gap:8px;margin-top:5px;font-size:12px;display:flex}.map-card-hit{z-index:1;cursor:pointer;background:0 0;border:0;position:absolute;inset:0}.map-card.clickable:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-2px)}.map-card-pending{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 35%, transparent)}.map-card-done .map-card-bg,.map-card-done .map-card-body{filter:grayscale();opacity:.5}.map-card-mark{z-index:3;pointer-events:none;border-radius:50%;place-items:center;width:36px;height:36px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 10px #0006}.map-card-mark svg{fill:none;stroke:#fff;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.mark-ban{background:#e5484d}.mark-played{background:#2fb170}.map-card-playing{border-color:var(--accent);animation:1.6s ease-in-out infinite glow}@keyframes glow{50%{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 30%, transparent)}}.map-card-tiebreaker:not(.map-card-done){border-color:#e7b84a}.status-pill{color:#fff;white-space:nowrap;text-overflow:ellipsis;background:#0a080ed9;border-radius:999px;align-items:center;min-width:0;max-width:100%;margin-left:auto;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex;overflow:hidden}.status-pill .dot{width:7px;height:7px;margin:0 5px 0 0}.status-pill>*,.map-card-result>*{flex-shrink:0}.status-name{text-overflow:clip;white-space:nowrap;min-width:0;overflow:hidden;flex-shrink:1!important}.status-sep{opacity:.6;margin:0 5px}.map-card-done .status-pill{opacity:1}.timeline-note{color:var(--muted);margin:-4px 0 8px;font-size:12px}.timeline-note:before{content:"↑ "}.timeline{max-height:420px;margin:0 -12px 0 0;padding:0 10px 0 0;font-size:14px;list-style:none;position:relative;overflow:auto}.tl-item{gap:10px;padding:6px 0 8px;display:flex;position:relative}.tl-item:before{content:"";background:var(--border);width:2px;position:absolute;top:16px;bottom:-6px;left:5px}.tl-item:last-child:before{display:none}.tl-dot{border:2px solid var(--surface);background:var(--muted);z-index:1;border-radius:50%;flex-shrink:0;width:12px;height:12px;margin-top:4px;position:relative}.tl-dot.dot-0{background:var(--team-0)}.tl-dot.dot-1{background:var(--team-1)}.tl-dot-tb{background:#e7b84a}.tl-dot-start{background:var(--surface-3)}.tl-body{flex:1;min-width:0}.tl-body a{text-decoration:none}.tl-body a:hover{text-decoration:underline}.tl-label{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700;display:block}.tl-ban .tl-label{color:#ff8e9c}.tl-result{background:#2fb17029;border-radius:999px;align-items:center;gap:5px;margin-top:4px;padding:2px 9px 2px 4px;font-size:13px;font-weight:600;display:inline-flex}.tl-check{color:#fff;background:#2fb170;border-radius:50%;place-items:center;width:16px;height:16px;font-size:10px;display:inline-grid}.tl-result-live{background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent);padding:2px 9px}.tl-latest>.tl-body{background:var(--surface-2);border-radius:var(--radius-small);margin:-4px 0 0 -2px;padding:4px 8px 6px}.confirm-bar{z-index:30;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;align-items:center;gap:12px;width:min(640px,100vw - 32px);padding:10px 12px;animation:.2s ease-out rise;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.confirm-text{flex:1;min-width:0}@media (width<=980px){.pool-bottom,.match-layout{grid-template-columns:1fr}.match-side{position:static}.match-topline{margin-bottom:10px;position:static}}@media (width<=760px){:root{--header-h:50px}.site-header{gap:12px}.brand span{display:none}.site-nav{gap:0;min-width:0}.site-nav a{white-space:nowrap;padding:6px 8px}.header-mode select{max-width:104px;padding:4px 6px}.theme-btn{padding:4px 8px}.page{padding-top:16px}.player-chip,.add-player{flex:100%}.add-player input{flex:1;width:auto}.table-frame{width:auto}.toolbar .page-explore{width:fit-content;min-width:min(100%,960px);max-width:none}.page-explore.has-tray,.match-page.has-confirm{padding-bottom:96px}.section-title{flex:100%}table.maps,.maps tbody,.maps thead{display:block}.maps thead tr{background:var(--surface-2);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px 12px;padding:8px 12px;display:flex}.maps th{background:0 0;border:0;height:auto;padding:2px 0;position:static}.maps th.col-cover,.maps th.col-check:empty{display:none}.maps thead tr{gap:8px 16px}.maps th.col-title{flex:100%}.maps th,.maps th.col-count .th-sort{width:auto;min-width:0;max-width:none}.maps tbody tr{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:2px 12px;min-height:64px;padding:10px 12px 10px 78px;display:flex;position:relative}.maps tbody tr:has(.col-check){padding-left:110px}.maps td,.maps th.col-num,.maps th.col-count{border:0;padding:0}.maps td.col-check{width:auto;position:absolute;top:22px;left:12px}.maps td.col-cover{width:auto;position:absolute;top:12px;left:12px}.maps tbody tr:has(.col-check) td.col-cover{left:44px}.maps td.col-title{flex:100%;width:auto;min-width:0;max-width:none}.maps td.col-num,.maps td.col-count{background:0 0;width:auto;min-width:0;max-width:none;font-size:13px}.maps td.col-count:before{content:attr(data-label) " ";color:var(--muted)}.maps td.col-num[data-label=BPM]:after{content:" BPM";color:var(--muted)}.tray{flex-wrap:wrap;justify-content:flex-end;gap:8px 10px;width:auto;animation:none;left:16px;right:16px;transform:none}.tray-count{flex:1}.setup-teams{grid-template-columns:1fr}.scoreboard{gap:10px;padding:14px}.sb-name{font-size:17px}.sb-score{font-size:30px}.sb-dash{margin:0 6px}.phase-playing{flex-wrap:wrap}.phase-thumb{width:88px;height:50px}.phase-winner{flex-direction:row;flex:100%}.phase-winner .win-btn{flex:1}.phase-winner>span{align-self:center}.confirm-bar{flex-wrap:wrap}.confirm-bar .cover{display:none}.confirm-text{flex:100%}.confirm-bar .btn{flex:1}}
