@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url('./fonts/InterVariable.woff2') format('woff2')}
@font-face{font-family:Pretendard;font-style:normal;font-weight:100 900;font-display:swap;src:url('./fonts/PretendardVariable.woff2') format('woff2')}
:root{color-scheme:light;--bg:#f4f5f7;--surface:#fff;--surface-muted:#eceef2;--surface-hover:#f7f8fa;--surface-selected:#edf3ff;--ink:#20232a;--muted:#657080;--line:#dfe3e9;--control-line:#cbd1db;--accent:#3469da;--accent-light:#e8efff;--accent-button:#3668d4;--accent-button-hover:#2858bf;--success:#287550;--accepted-bg:#e5f3ea;--hold-ink:#94682b;--hold-bg:#fff3df;--danger:#b33d55;--error-bg:#ffedf1;--shadow:0 12px 36px #1d233014;--radius:12px;font-family:Inter,Pretendard,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:16px;color:var(--ink);font-synthesis:none;letter-spacing:-.15px}
:root[data-theme=dark]{color-scheme:dark;--bg:#17191e;--surface:#22252b;--surface-muted:#2c3038;--surface-hover:#292d34;--surface-selected:#27354f;--ink:#f0f2f6;--muted:#a2aab8;--line:#353941;--control-line:#484e59;--accent:#91b1ff;--accent-light:#2b3b59;--accent-button:#4876df;--accent-button-hover:#5987ee;--success:#a8dab8;--accepted-bg:#293e32;--hold-ink:#edcb8d;--hold-bg:#403725;--danger:#f4a3b4;--error-bg:#442e36;--shadow:0 12px 36px #0003}
*{box-sizing:border-box}body{margin:0;background:var(--bg);line-height:1.55}button,input,select,textarea{font:inherit;letter-spacing:inherit}button{cursor:pointer;color:inherit;transition:background .16s,border-color .16s,box-shadow .16s}button:disabled{cursor:default;opacity:.55}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.85}button,input,select,textarea{border-radius:8px}em{font-style:normal}input[type=checkbox]{accent-color:var(--accent);width:18px;height:18px;margin:0;flex-shrink:0}input,textarea,select{color:var(--ink)}
.shell{max-width:2000px;min-height:100dvh;margin:auto}.header{display:flex;align-items:center;justify-content:space-between;padding:18px 40px;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none!important}.brand-mark{display:grid;place-items:center;width:42px;height:42px;color:var(--accent)}.brand-mark svg{width:40px;height:40px;stroke-width:2.6}.brand h1{font-size:21px;letter-spacing:-.7px;font-weight:730;line-height:1.25;margin:0}.brand>div>span{display:block;font-size:13px;color:var(--muted);margin-top:2px}.header-actions{display:flex;align-items:center;gap:18px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--control-line);background:var(--surface);color:var(--ink);padding:11px 17px;min-height:44px;font-size:14px;font-weight:580;white-space:nowrap;line-height:1.4;border-radius:8px}.button:hover{background:var(--surface-hover)}.button.primary,.osu-login{background:var(--accent-button);border-color:var(--accent-button);color:#fff}.button.primary:hover,.osu-login:hover{background:var(--accent-button-hover);border-color:var(--accent-button-hover)}.button.primary>span{font-size:22px;font-weight:400;line-height:1}.button.quiet{background:transparent;border-color:transparent;color:var(--muted)}.button.danger{color:var(--danger)}.text-button{border:0;background:transparent;color:var(--muted);padding:9px 0;font-size:13px;min-height:44px}.text-button:hover{color:var(--accent)}.icon-button{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;border-radius:8px;min-height:44px;min-width:44px;color:var(--muted)}.icon-button:hover{background:var(--surface-muted)}
/* Public home */
.login-screen{max-width:1260px;margin:0 auto;padding:88px 40px 48px}.landing-hero{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:64px;min-height:400px}.landing-copy{min-width:0}.landing-eyebrow{display:inline-flex;gap:9px;align-items:center;font-size:14px;font-weight:570;color:var(--muted);margin-bottom:22px}.landing-eyebrow>span{width:7px;height:7px;border-radius:50%;background:var(--accent)}.landing-copy h2{font-size:52px;font-weight:740;line-height:1.22;letter-spacing:-2.3px;margin:0 0 23px;word-break:keep-all}.landing-copy h2 em{color:var(--accent)}.landing-description{font-size:18px;color:var(--muted);line-height:1.9;letter-spacing:-.3px;margin:0 0 27px;word-break:keep-all}.landing-account-hint{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--muted)}.landing-account-hint svg{width:17px;height:17px}.login-note{font-size:14px;color:var(--muted);line-height:1.7;margin:0 0 19px}.login-note:empty{display:none}.login-actions{display:grid;gap:10px;max-width:290px;margin:24px 0 16px}.landing-preview{position:relative;border:1px solid var(--control-line);border-radius:16px;background:var(--surface);box-shadow:0 22px 60px #111a2a15;overflow:hidden;transform:rotate(-1deg)}.landing-preview::before{content:'';display:block;height:3px;background:linear-gradient(90deg,#93b8f2 0 22%,#f0d18f 22% 40%,#e3a5ae 40% 58%,#bba7e4 58% 78%,#aad09b 78%)}.preview-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 20px;border-bottom:1px solid var(--line)}.preview-brand{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:650}.preview-brand svg{width:24px;height:24px;color:var(--accent);stroke-width:2.4}.preview-dots{display:flex;gap:5px}.preview-dots i{height:5px;width:5px;border-radius:50%;background:var(--control-line)}.preview-body{padding:27px 24px 24px}.preview-heading{display:flex;flex-direction:column;gap:5px;margin-bottom:20px}.preview-heading strong{font-size:21px;letter-spacing:-.6px;font-weight:650}.preview-heading>span{color:var(--muted);font-size:13px}.preview-picks{display:flex;gap:7px;margin:0 0 20px}.preview-pick{display:grid;place-items:center;height:31px;flex:1;min-width:0;border-radius:5px;font-size:13px;font-weight:680;color:#222630}.preview-nm{background:#bfd3f4}.preview-hd{background:#f2e1af}.preview-hr{background:#ecc0c8}.preview-dt{background:#d2c2e8}.preview-fm{background:#bddbae}.preview-map{display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:9px;padding:16px 13px;margin-top:11px;min-width:0}.preview-map>div:nth-child(2),.preview-decision>div{min-width:0;flex:1}.preview-map strong,.preview-decision strong{display:block;font-size:15px;font-weight:600;letter-spacing:-.3px}.preview-map span:not(.preview-check),.preview-decision div>span{display:block;color:var(--muted);font-size:13px;margin-top:4px}.preview-rhythm{display:flex;align-items:center;justify-content:center;gap:3px;min-width:47px;height:44px;border-radius:7px;overflow:hidden}.preview-rhythm i{display:block;width:7px;border-radius:6px;background:currentColor}.preview-rhythm i:first-child{height:16px}.preview-rhythm i:nth-child(2){height:29px}.preview-rhythm i:last-child{height:21px}.rhythm-blue{background:#87a8e421;color:#7092d1}.rhythm-rose{background:#d3a3b223;color:#c68c9d}.preview-check{margin-left:auto;color:var(--success);font-size:18px}.preview-decision{display:flex;align-items:center;gap:12px;margin-top:22px;padding-top:19px;border-top:1px solid var(--line)}.preview-team{display:flex;width:47px;flex-shrink:0}.preview-team i{display:block;width:21px;height:21px;border-radius:50%;background:#9bb4dd;border:2px solid var(--surface);margin-right:-8px}.preview-team i:nth-child(2){background:#d8b0bb}.preview-team i:nth-child(3){background:#b6ceac}.preview-final{font-size:13px;font-weight:600;color:var(--success);background:var(--accepted-bg);padding:5px 9px;border-radius:5px}.landing-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:73px;padding:31px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.landing-features article{position:relative;padding:0 35px}.landing-features article:first-child{padding-left:0}.landing-features article+article{border-left:1px solid var(--line)}.feature-number{display:block;font-size:13px;letter-spacing:.5px;font-weight:600;color:var(--accent);margin-bottom:10px}.landing-features h3{font-size:20px;font-weight:650;letter-spacing:-.6px;margin:0 0 8px}.landing-features p{font-size:15px;line-height:1.8;color:var(--muted);margin:0;word-break:keep-all}.local-dev-panel{max-width:470px;margin:24px 0 0;padding:0;text-align:left;color:var(--muted);font-size:13px}.local-dev-panel summary{padding:9px 0;cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px}.local-dev-panel summary::before{content:'›';font-size:20px;line-height:1;transition:transform .15s}.local-dev-panel[open] summary::before{transform:rotate(90deg)}.local-dev-panel[open]{padding:0 18px 18px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.local-dev-panel[open] summary{padding-top:15px}.local-dev-panel p{font-size:13px;line-height:1.8;margin:8px 0 0}.local-dev-actions{display:grid;grid-template-columns:1fr auto;align-items:end;gap:12px;margin-top:14px}.local-dev-actions label{display:grid;gap:7px;font-size:13px}.local-dev-actions select{width:100%;min-height:44px}.local-dev-note{font-size:13px}.pool-home{max-width:1180px;margin:0 auto;padding:60px 40px 100px}.pool-home-heading{margin-bottom:29px}.pool-home-heading h2{font-size:34px;font-weight:690;letter-spacing:-1.1px;margin:0 0 9px}.pool-home-heading p{font-size:16px;color:var(--muted);margin:0}.pool-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px}.pool-card{display:flex;align-items:center;gap:17px;text-align:left;min-width:0;min-height:160px;border:1px solid var(--line);background:var(--surface);padding:25px;border-radius:12px;box-shadow:0 3px 10px #00000004}.pool-card:hover{border-color:var(--accent);box-shadow:var(--shadow)}.pool-card-mark{display:grid;place-items:center;width:55px;height:55px;border-radius:12px;color:var(--accent);background:var(--accent-light);font-size:24px;font-weight:650;flex-shrink:0}.pool-card-content{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}.pool-card-content strong{font-size:23px;font-weight:650;line-height:1.3}.pool-description{font-size:14px;color:var(--muted)}.pool-role{font-size:13px;color:var(--accent);margin-top:7px}.pool-card-arrow{font-size:23px;color:var(--muted)}.pool-empty{grid-column:1/-1;padding:42px 24px;border:1px dashed var(--control-line);border-radius:10px;font-size:16px;color:var(--muted)}
/* Workspace */
.workspace{display:block}.round-sidebar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 40px 0;min-width:0}.rounds{display:flex;gap:7px;overflow:auto;scrollbar-width:thin;padding:0 0 5px;min-width:0}.round{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);background:var(--surface);color:var(--muted);text-align:left;min-height:44px;padding:10px 14px;border-radius:8px;white-space:nowrap;font-size:14px;font-weight:530;flex-shrink:0}.round:hover{background:var(--surface-hover);color:var(--ink)}.round.active{color:var(--accent);background:var(--accent-light);border-color:var(--accent);font-weight:630}.round-count{display:grid;place-items:center;min-width:22px;height:22px;padding:0 5px;font-size:13px;border-radius:4px;background:var(--surface-muted);color:var(--muted);font-variant-numeric:tabular-nums}.round.active .round-count{background:var(--surface);color:var(--accent)}.sidebar-bottom{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:13px;white-space:nowrap;flex-shrink:0}.sidebar-bottom .icon-button{min-width:36px;min-height:44px}.sidebar-bottom svg{width:18px;height:18px}.sync-dot{width:6px;height:6px;border-radius:50%;background:var(--success);flex-shrink:0}main{min-width:0;padding:26px 40px 100px}.workspace-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.workspace-intro h2{margin:0 0 7px;font-size:32px;font-weight:680;line-height:1.3;letter-spacing:-1px}.workspace-intro p{color:var(--muted);font-size:14px;margin:0;line-height:1.8}.tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);margin-bottom:20px}.tab{position:relative;border:0;background:transparent;color:var(--muted);padding:0 1px 12px;min-height:44px;font-size:15px;font-weight:550;border-radius:0}.tab.active{color:var(--ink);font-weight:650}.tab.active::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:2px;background:var(--accent)}.tab>span{font-size:13px;margin-left:6px;background:var(--surface-muted);border-radius:5px;padding:2px 6px;color:var(--muted)}.toolbar{display:flex;gap:10px;margin-bottom:12px;align-items:center}.search{display:flex;align-items:center;gap:10px;flex:1;min-width:160px;height:46px;border:1px solid var(--control-line);background:var(--surface);border-radius:8px;padding:0 14px;color:var(--muted)}.search input{min-width:0;flex:1;outline:0;background:none;border:0;height:100%;color:var(--ink);font-size:15px}.search svg{width:18px;height:18px}.search:focus-within{border-color:var(--accent)}kbd{font:inherit;font-size:13px;width:23px;height:23px;display:grid;place-items:center;border:1px solid var(--line);border-radius:4px;color:var(--muted)}select{background:var(--surface);border:1px solid var(--control-line);color:var(--ink);min-height:44px;padding:10px 31px 10px 12px;font-size:14px}.select-wrap select{width:138px}.filter-button{padding:11px 14px}.range-panel{display:flex;align-items:end;flex-wrap:wrap;gap:16px;border:1px solid var(--line);background:var(--surface);padding:20px;border-radius:10px;margin:0 0 16px}.range-panel fieldset{margin:0;padding:0;border:0;flex:1;min-width:148px;max-width:205px}.range-panel legend{font-size:13px;color:var(--muted);margin-bottom:8px}.range-panel fieldset>div{display:flex;align-items:center;gap:7px}.range-panel input[type=number]{width:65px;min-width:0;flex:1;border:1px solid var(--control-line);background:var(--surface);color:var(--ink);padding:10px;font-size:15px;min-height:44px}.check-label{display:flex;align-items:center;gap:8px;min-height:44px;font-size:13px}.filter-help{flex-basis:100%;font-size:13px;line-height:1.8;color:var(--muted);margin:0}.view-options{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:14px 0 20px}.mod-switcher,.layout-toggle{display:inline-flex;border:1px solid var(--line);padding:3px;border-radius:8px;background:var(--surface);gap:2px;flex-shrink:0}.mod-switcher button,.layout-toggle button{border:0;background:transparent;color:var(--muted);min-height:36px;padding:7px 13px;font-size:13px;border-radius:5px;white-space:nowrap}.mod-switcher button.active,.layout-toggle button.active{background:var(--accent-light);color:var(--accent);font-weight:650}.mod-switcher button:hover,.layout-toggle button:hover{color:var(--ink)}.layout-toggle button svg{width:18px;height:18px}.view-toggle button{padding:8px 11px}.list-options{display:flex;align-items:center;gap:10px}.sort select{min-height:44px;border:0;background:transparent;color:var(--muted);max-width:147px;padding-left:5px;font-size:13px}.list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 15px;color:var(--muted);font-size:14px}.list-heading p{margin:0;color:var(--ink);font-weight:550}.list-heading>span{font-size:13px}
/* Candidate cards */
.candidate-grid{display:grid}.candidate-card{--pick-bg:#c5d6f4;--pick-ink:#263b67;display:flex;flex-direction:column;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden;transition:border-color .15s,box-shadow .15s;box-shadow:0 2px 5px #00000008}.candidate-card:hover{border-color:var(--control-line);box-shadow:var(--shadow)}.candidate-card.checked{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.card-pick-hd{--pick-bg:#f2e4b6;--pick-ink:#605028}.card-pick-hr{--pick-bg:#ebc2c9;--pick-ink:#6a3541}.card-pick-dt{--pick-bg:#d3c6e8;--pick-ink:#53416d}.card-pick-fm{--pick-bg:#bfd8b3;--pick-ink:#345831}.card-pick-tb{--pick-bg:#d4d6db;--pick-ink:#3e424a}.card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 12px 0 17px;min-height:44px;background:var(--pick-bg);color:var(--pick-ink)}.card-top .pick-badge{background:transparent!important;color:inherit!important;font-size:16px;font-weight:650;padding:0;line-height:1.4;border-radius:0}.card-top .pick-badges{gap:10px}.card-top .compare-check input{accent-color:#526fa6;color-scheme:light}.card-body{display:flex;flex-direction:column;flex:1;padding:19px 18px 16px;min-width:0}.card-identity{display:flex;align-items:flex-start;justify-content:space-between;gap:13px;min-height:97px;margin-bottom:13px}.card-song{flex:1;min-width:0}.card-art{width:76px;height:60px;object-fit:cover;display:block;flex-shrink:0;border-radius:5px;background:var(--surface-muted);margin-top:4px}.card-round{color:var(--muted);font-size:13px;margin:0 0 6px;line-height:1.5}.card-title{font-size:19px;font-weight:650;letter-spacing:-.5px;line-height:1.4;margin:0 0 5px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-artist{font-size:14px;color:var(--muted);margin:0 0 7px;line-height:1.5;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-difficulty{font-size:13px;color:var(--muted);line-height:1.5;margin:0;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 17px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.card-metrics>div{min-width:0}.card-metrics dt{font-size:13px;color:var(--muted);font-weight:500;margin-bottom:5px}.card-metrics dd{font-size:18px;letter-spacing:-.4px;font-weight:600;margin:0;white-space:nowrap}.card-metrics>div:first-child dd{color:var(--accent)}.card-metrics dd small{font-size:13px;padding-left:2px;color:var(--muted)}.card-metrics-empty{font-size:14px;color:var(--muted);margin:0 0 16px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.card-note{font-size:14px;line-height:1.8;color:var(--ink);margin:0 0 16px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-details{font-size:13px;color:var(--muted);margin:0 0 12px}.card-details summary{cursor:pointer;display:inline-flex;align-items:center;gap:7px;list-style:none;min-height:29px}.card-details summary::after{content:'⌄';font-size:14px}.card-details[open] summary::after{transform:rotate(180deg)}.card-detail-list{margin:7px 0 0;padding:11px;background:var(--surface-muted);border-radius:6px;font-size:13px;line-height:1.75}.card-detail-list>div+div{margin-top:5px}.card-detail-list dt{font-weight:500}.card-detail-list dd{margin:0;color:var(--ink);overflow-wrap:anywhere}.card-bottom{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:13px;border-top:1px solid var(--line)}.card-bottom a{font-size:13px;font-weight:550;margin-left:auto}.card-footer{padding:10px 18px;background:var(--surface-hover);border-top:1px solid var(--line);display:flex;align-items:center;justify-content:flex-end;gap:8px}.card-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.card-actions .button{font-size:14px;min-height:40px;padding:9px 13px;box-shadow:none}.card-actions .button.primary{color:var(--accent);background:var(--accent-light);border-color:transparent}.card-actions .button.quiet{border-color:var(--line);color:var(--muted)}.pick-badges{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.pick-badge{display:inline-block;padding:5px 8px;font-size:13px;line-height:1.2;font-weight:650;border-radius:5px;color:#29416b;background:#ccdcf7;font-variant-numeric:tabular-nums}.pick-hd{color:#6d5624;background:#f3e5b9}.pick-hr{color:#703846;background:#edc8cf}.pick-dt{color:#554273;background:#d9ccec}.pick-fm{color:#395a30;background:#c8dfb9}.pick-tb{color:#4b4e54;background:#d9dbe0}.status-badge{display:inline-block;color:var(--muted);font-size:13px;font-weight:550;background:var(--surface-muted);border-radius:5px;padding:4px 8px;white-space:nowrap}.status-badge.accepted{color:var(--success);background:var(--accepted-bg)}.status-badge.hold{color:var(--hold-ink);background:var(--hold-bg)}.non-fa-badge{display:inline-block;font-size:13px;line-height:1.45;border:1px solid var(--line);padding:3px 6px;color:var(--hold-ink);border-radius:5px}.compare-check{display:flex;justify-content:center;align-items:center;min-width:36px;min-height:36px;flex-shrink:0;cursor:pointer}.compare-check input{width:18px;height:18px;cursor:pointer}.metric-origin{font-size:13px;color:var(--muted);line-height:1.7;margin-bottom:12px}
/* Tables and comparison */
.table-frame{border:1px solid var(--line);border-radius:10px;overflow:auto;background:var(--surface)}.candidate-table{width:100%;border-collapse:collapse;table-layout:fixed}.candidate-table th{font-size:13px;text-align:left;font-weight:550;color:var(--muted);background:var(--surface-hover);border-bottom:1px solid var(--line)}.candidate-table td{border-bottom:1px solid var(--line)}.candidate-table tr:last-child td{border-bottom:0}.candidate-table tbody tr:hover{background:var(--surface-hover)}.candidate-table tr.checked{background:var(--surface-selected)}.number{text-align:right!important;font-variant-numeric:tabular-nums}.song-title{display:block;color:var(--ink);font-weight:650;font-size:17px;line-height:1.5;overflow-wrap:anywhere}.song-artist{display:block;font-size:14px;color:var(--muted);margin-top:4px;overflow-wrap:anywhere}.map-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:13px;color:var(--muted);margin-top:8px}.map-meta a{text-decoration:underline;text-underline-offset:3px}.kind-note{font-size:13px;border:1px solid var(--line);border-radius:4px;padding:1px 5px}.round-label,.basis-note{display:block;font-size:13px;color:var(--muted);margin-top:7px;line-height:1.65;font-weight:400;overflow-wrap:anywhere}.edit-button{background:transparent;border:0;color:var(--muted);font-size:14px;min-height:44px;padding:9px 3px}.edit-button:hover{color:var(--accent)}.empty{text-align:center;background:var(--surface);border:1px dashed var(--control-line);border-radius:11px;color:var(--muted);padding:65px 20px}.empty strong{display:block;color:var(--ink);font-size:21px;font-weight:650;margin-bottom:9px;letter-spacing:-.5px}.empty p{font-size:15px;line-height:1.8;margin-bottom:23px}.empty .button{margin:3px}.slot-view{display:grid;grid-template-columns:190px minmax(0,1fr);gap:22px}.slot-nav{align-self:start;background:var(--surface);border:1px solid var(--line);border-radius:9px;min-width:0}.slot-nav-title{padding:15px 14px;font-size:15px;font-weight:600;border-bottom:1px solid var(--line)}.slot-nav-title>span{display:block;font-size:13px;color:var(--muted);margin-top:4px;font-weight:400}#slotButtons{padding:6px}.slot-button{display:flex;gap:8px;align-items:center;width:100%;border:0;background:transparent;padding:11px 9px;min-height:44px;text-align:left;border-radius:7px}.slot-button:hover{background:var(--surface-hover)}.slot-button.active{background:var(--accent-light);color:var(--accent)}.slot-button strong{font-size:14px;min-width:33px}.slot-style{font-size:13px;flex:1;color:var(--muted)}.slot-number{font-size:13px;color:var(--muted)}.slot-main{min-width:0}.slot-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.slot-title-row h2{margin:0;font-weight:680;letter-spacing:-.7px}.slot-title-row h2 span{font-size:15px;font-weight:400;color:var(--muted);margin-left:12px}.slot-description{font-size:14px;color:var(--muted);line-height:1.8;margin:0 0 18px}.compare-scroll{overflow:auto;border:1px solid var(--line);background:var(--surface);border-radius:9px;max-width:100%;overscroll-behavior-x:contain}.comparison-table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:500px}.comparison-table th,.comparison-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 16px;text-align:left;vertical-align:top;overflow-wrap:anywhere;font-size:15px}.comparison-table th:last-child,.comparison-table td:last-child{border-right:0}.comparison-table tr:last-child th,.comparison-table tr:last-child td{border-bottom:0}.comparison-table .row-label{width:90px;font-size:13px;font-weight:500;color:var(--muted);background:var(--surface-hover);position:sticky;left:0;z-index:1}.comparison-table .candidate-head{font-weight:400;padding:19px 16px}.candidate-head .pick-badges{margin-bottom:12px}.compare-metric{font-variant-numeric:tabular-nums;font-weight:550}.compare-note{font-size:14px!important;font-weight:400;color:var(--muted);white-space:pre-line;line-height:1.8}.compare-actions{display:flex;gap:6px;flex-wrap:wrap}.compare-actions .button{font-size:14px;padding:10px 12px}.compare-limit{font-size:13px;color:var(--muted);margin:12px 0}.slot-overflow-select{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:17px}.slot-overflow-select label{display:flex;align-items:center;gap:8px;background:var(--surface);padding:11px;border:1px solid var(--line);border-radius:7px;font-size:14px}.compare-bar{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);width:min(810px,calc(100% - 32px));padding:12px 16px;border:1px solid var(--control-line);border-radius:11px;background:var(--surface);box-shadow:0 6px 40px #10182233;display:flex;gap:14px;align-items:center;z-index:9}.compare-bar>span{white-space:nowrap;font-size:14px}.compare-bar strong{color:var(--accent)}#compareNames{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px;color:var(--muted)}
/* Account */
.account-area{position:relative;display:flex;align-items:center;gap:8px}.profile-button{display:inline-flex;align-items:center;justify-content:center;gap:11px;border:0;background:transparent;padding:6px 8px;color:var(--ink);min-height:44px}.profile-button:hover,.profile-button[aria-expanded=true]{background:var(--surface-muted)}.profile-portrait{position:relative;width:38px;height:38px;display:block;flex-shrink:0;overflow:hidden;border-radius:50%}.profile-fallback{width:38px;height:38px;display:grid;place-items:center;background:var(--accent-light);color:var(--accent);font-size:15px;font-weight:650;border-radius:50%}.account-avatar{position:absolute;inset:0;width:38px;height:38px;object-fit:cover;border-radius:50%}.profile-label{font-size:15px;font-weight:600;line-height:1.4;text-align:left}.profile-label small{display:block;color:var(--muted);font-size:13px;font-weight:400}.profile-chevron{font-size:13px;color:var(--muted)}.profile-menu{position:absolute;top:calc(100% + 12px);right:0;width:330px;max-width:calc(100vw - 28px);padding:15px 19px;border:1px solid var(--line);background:var(--surface);border-radius:12px;box-shadow:0 14px 45px #0003;z-index:20}.profile-menu-heading{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--muted)}.profile-menu-close{display:grid;place-items:center;border:0;background:transparent;color:var(--muted);font-size:26px;min-height:40px;min-width:40px;margin-right:-7px}.profile-identity{padding:9px 0 16px;border-bottom:1px solid var(--line)}.profile-identity strong{display:block;font-size:21px;font-weight:650;overflow-wrap:anywhere}.profile-identity>span{display:block;font-size:14px;color:var(--muted);margin-top:4px}.profile-identity small{display:block;color:var(--muted);font-size:13px;margin-top:9px;line-height:1.7}.profile-settings{display:grid;gap:13px;padding:18px 0}.profile-settings label,.profile-setting-row{display:flex;justify-content:space-between;align-items:center;gap:9px;font-size:14px}.profile-settings select{width:157px;min-width:0;min-height:44px;font-size:13px}.profile-menu-actions{border-top:1px solid var(--line);padding-top:8px;display:grid;gap:2px}.profile-menu-link{display:flex;align-items:center;min-height:44px;width:100%;text-align:left;background:transparent;border:0;color:var(--ink);font-size:14px;padding:10px 7px;border-radius:6px}.profile-menu-link:hover{background:var(--surface-muted);text-decoration:none}.logout-link{color:var(--danger);margin-top:4px;border-top:1px solid var(--line);border-radius:0;padding-top:13px}.account-note{color:var(--muted);font-size:13px;line-height:1.7;margin:10px 3px 3px}
/* Dialogs and forms */
dialog{width:min(680px,calc(100% - 32px));max-height:calc(100dvh - 48px);padding:28px;overflow:auto;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 80px #0004}dialog::backdrop{background:#10131b9c;backdrop-filter:blur(3px)}.wide-dialog{width:min(1320px,calc(100% - 40px))}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:22px}.dialog-head h2{font-size:25px;font-weight:650;letter-spacing:-.8px;margin:0}.close-button{border:0;min-width:44px;min-height:44px;color:var(--muted);background:transparent;font-size:28px;line-height:1}.close-button:hover{background:var(--surface-muted)}.dialog-sub,dialog>p{font-size:15px;line-height:1.8;color:var(--muted)}.round-context{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:11px 14px;background:var(--surface-muted);border-radius:8px;font-size:13px;color:var(--muted);margin-bottom:20px}.round-context strong{color:var(--ink);font-weight:600}.entry-tabs{display:flex;gap:7px;margin:0 0 20px;padding:4px;background:var(--surface-muted);border-radius:8px}.entry-tabs button{flex:1;border:0;background:transparent;color:var(--muted);min-height:44px;font-size:15px}.entry-tabs button.active{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 2px 5px #0000000d}.link-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-bottom:17px}.link-entry label{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:14px;font-weight:550}.link-entry input,.form-grid input,.form-grid select,.form-grid textarea{min-width:0;width:100%;padding:12px;border:1px solid var(--control-line);color:var(--ink);background:var(--surface);font-size:15px;min-height:46px;font-weight:400}.metadata-preview{padding:17px;border:1px solid var(--line);background:var(--surface-hover);border-radius:9px;margin-bottom:22px}.metadata-preview p{font-size:14px;margin:9px 0 4px;line-height:1.8}.metadata-preview small{font-size:13px;color:var(--muted)}#difficultyChoiceWrap{display:block;font-size:14px;margin-bottom:17px}#difficultyChoiceWrap select{display:block;width:100%;margin-top:8px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}.form-grid label{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:14px;font-weight:550}.form-grid textarea{resize:vertical;line-height:1.65}.span-two{grid-column:span 2}.form-grid small{font-size:13px;color:var(--muted);font-weight:400;line-height:1.7}.required{color:var(--accent)}.form-slots{border:0;padding:0;margin:0;min-width:0}.form-slots legend{font-size:14px;margin-bottom:10px;font-weight:550}.form-slots>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.form-slots label{display:flex;flex-direction:row;align-items:center;padding:11px 10px;border:1px solid var(--line);border-radius:6px;font-size:14px;font-weight:500;min-height:44px;gap:8px}.form-slots label:has(input:checked){border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.form-slots input{width:17px;height:17px;min-height:0;padding:0;margin:0;accent-color:var(--accent)}.form-grid .fa-policy-field{display:grid;grid-template-columns:18px 1fr;align-items:center;gap:7px 10px;background:var(--surface-muted);padding:14px;border-radius:8px}.fa-policy-field input{width:18px;height:18px;min-height:0;padding:0}.fa-policy-field small{grid-column:2;font-size:13px}.dialog-actions{display:flex;justify-content:flex-end;align-items:center;gap:9px;margin-top:25px;padding-top:20px;border-top:1px solid var(--line)}.dialog-actions>span{flex:1}.error{font-size:14px;line-height:1.8;padding:13px;background:var(--error-bg);color:var(--danger);border-radius:8px}.file-picker{display:flex;flex-direction:column;gap:12px;border:1px dashed var(--control-line);background:var(--surface-muted);padding:20px;border-radius:9px;font-size:14px;font-weight:550}.file-picker input{width:100%;min-width:0;font-size:14px;font-weight:400}.file-picker input::file-selector-button{border:1px solid var(--control-line);background:var(--surface);color:var(--ink);border-radius:6px;padding:10px 12px;font:inherit;cursor:pointer;margin-right:12px}.file-picker>span{color:var(--muted);font-size:13px;font-weight:400;line-height:1.7}.custom-file-wrap{margin-bottom:20px}.upload-state{font-size:13px;color:var(--muted);line-height:1.8;margin:9px 0 0}.upload-state:empty{display:none}.import-notes p,#importPreview{font-size:14px;color:var(--muted);line-height:1.8}#importPreview ul{max-height:220px;overflow:auto;padding-left:20px}.export-options{display:grid;gap:11px;margin:23px 0}.export-options .button{justify-content:flex-start;padding:17px}.help-list{font-size:15px;line-height:1.9;color:var(--muted);padding-left:22px}.help-list li{margin-bottom:14px}.member-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:14px 0;font-size:15px}.member-row>div{flex:1;min-width:0}.member-row small{display:block;color:var(--muted);font-size:13px;margin-top:4px}.member-row select{max-width:120px;min-height:44px}.member-row .text-button{font-size:13px}.muted{font-size:13px;color:var(--muted);line-height:1.8}.toast{position:fixed;bottom:96px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);z-index:30;color:var(--surface);background:var(--ink);padding:13px 19px;border-radius:9px;font-size:14px;line-height:1.7;text-align:center;box-shadow:var(--shadow)}.toast .text-button{color:inherit;text-decoration:underline;margin-left:9px}footer{display:flex;align-items:center;flex-wrap:wrap;gap:18px;font-size:13px;color:var(--muted);padding:22px 0 0;margin-top:24px;border-top:1px solid var(--line)}footer a{color:var(--muted)}footer #helpButton{margin-left:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:15px;padding:11px;background:var(--surface);z-index:50}.skip-link:focus{top:10px}
@media(max-width:1320px){.round-sidebar{align-items:flex-start;flex-direction:column;gap:4px}.rounds{max-width:100%}.sidebar-bottom{align-self:flex-end}.landing-hero{gap:38px}.landing-copy h2{font-size:46px}.landing-description{font-size:17px}}
@media(max-width:1050px){.header{padding:18px 28px}.round-sidebar{padding-left:28px;padding-right:28px}main{padding:22px 28px 100px}.login-screen{padding:62px 32px 40px}.landing-hero{gap:28px}.landing-copy h2{font-size:40px;letter-spacing:-1.6px}.landing-description{font-size:16px}.desktop-break{display:none}.preview-body{padding:23px 17px}.preview-map{gap:10px;padding:14px 10px}.preview-map strong,.preview-decision strong{font-size:14px}.landing-features{margin-top:58px}.landing-features article{padding:0 24px}.slot-view{grid-template-columns:172px minmax(0,1fr);gap:17px}.slot-style{font-size:13px}.pool-home{padding-left:28px;padding-right:28px}}
@media(max-width:800px){.landing-hero{grid-template-columns:1fr;gap:39px}.login-screen{max-width:620px;padding:44px 28px 40px}.landing-copy h2{font-size:44px;letter-spacing:-1.7px}.landing-description{font-size:17px}.landing-preview{transform:none}.landing-account-hint{font-size:14px}.landing-features{margin-top:38px;padding:27px 0}.landing-features article{padding:0 16px}.landing-features h3{font-size:17px}.landing-features p{font-size:14px}.landing-features br{display:none}.preview-body{padding:24px}.preview-map{padding:16px 13px;gap:13px}.preview-map strong,.preview-decision strong{font-size:15px}.slot-view{grid-template-columns:minmax(0,1fr)}.slot-nav{background:transparent;border:0}.slot-nav-title{padding:0 0 10px;border:0;display:flex;justify-content:space-between;align-items:center}.slot-nav-title>span{margin:0}#slotButtons{display:flex;gap:7px;overflow:auto;padding:0 0 5px}.slot-button{width:auto;flex-shrink:0;border:1px solid var(--line);background:var(--surface);padding:10px 13px}.slot-button.active{border-color:var(--accent)}.slot-style{display:none}.slot-button strong{min-width:0}.slot-title-row h2 span{font-size:14px}}
@media(max-width:620px){.header{padding:15px 18px;gap:10px}.brand{gap:8px}.brand-mark{width:33px;height:33px}.brand-mark svg{width:33px;height:33px}.brand h1{font-size:17px;letter-spacing:-.5px}.brand>div>span{font-size:13px}.header-actions{gap:5px}.osu-login{font-size:13px;padding:11px 13px}.profile-label{display:none}.profile-button{gap:4px;padding:5px}.profile-chevron{display:none}.login-screen{padding:40px 22px 36px}.landing-eyebrow{font-size:13px;margin-bottom:18px}.landing-copy h2{font-size:37px;letter-spacing:-1.6px;margin-bottom:18px;line-height:1.25}.landing-description{font-size:16px;margin-bottom:22px}.landing-account-hint{align-items:flex-start;font-size:13px;line-height:1.7}.landing-account-hint svg{margin-top:3px}.landing-hero{gap:30px}.preview-top{padding:14px 16px}.preview-body{padding:21px 17px}.preview-heading strong{font-size:20px}.preview-rhythm{min-width:39px;height:41px}.preview-map{gap:10px;padding:15px 11px}.preview-map strong,.preview-decision strong{font-size:14px}.preview-map span:not(.preview-check),.preview-decision div>span{font-size:13px}.preview-decision{gap:9px}.preview-team{width:40px}.preview-final{padding:5px 7px}.landing-features{grid-template-columns:1fr;gap:23px;margin-top:31px;padding:26px 0}.landing-features article,.landing-features article:first-child{padding:0 0 0 39px;border:0;min-height:56px}.feature-number{position:absolute;left:0;top:3px}.landing-features h3{font-size:19px;margin:0 0 5px}.landing-features p{font-size:14px}.landing-features br{display:none}.local-dev-panel{margin-top:16px}.local-dev-actions{grid-template-columns:1fr}.local-dev-actions .button{width:100%}.pool-home{padding:37px 20px 90px}.pool-home-heading h2{font-size:28px}.pool-home-heading p{font-size:15px}.pool-list{grid-template-columns:1fr}.pool-card{min-height:145px;padding:22px}.round-sidebar{padding:17px 18px 0;gap:4px}.rounds{max-width:100%;gap:7px}.round{font-size:13px;padding:10px 12px;min-height:44px}.round-count{font-size:13px;min-width:20px}.sidebar-bottom{font-size:13px;align-self:flex-start}.sidebar-bottom .icon-button{min-width:44px}main{padding:18px 18px 100px}.workspace-intro{align-items:flex-start;margin-bottom:22px;gap:10px}.workspace-intro h2{font-size:26px;letter-spacing:-.8px}.workspace-intro p{font-size:13px;line-height:1.8;max-width:225px}.workspace-intro>.button{font-size:14px;padding:11px 13px;min-height:44px}.workspace-intro>.button>span{font-size:19px}.tabs{margin-bottom:17px}.toolbar{flex-wrap:wrap;gap:8px;margin-bottom:9px}.search{flex-basis:100%;height:46px}.search input{font-size:16px}.search kbd{display:none}.toolbar .select-wrap{flex:1;min-width:0}.select-wrap select{width:100%;padding-left:11px;font-size:13px}.filter-button{font-size:13px;padding:11px 12px}.view-options{gap:7px;margin:11px 0 16px}.mod-switcher{padding:2px;gap:0}.mod-switcher button{font-size:13px;min-height:38px}.list-options{gap:3px}.sort select{padding:8px 22px 8px 4px;font-size:13px;max-width:99px;min-height:44px}.view-toggle{padding:2px}.view-toggle button{min-width:38px;min-height:38px;padding:7px}.view-toggle button svg{width:17px;height:17px}.candidate-card{border-radius:10px}.card-body{padding:18px}.card-title{font-size:19px}.card-metrics dd{font-size:19px}.card-art{width:76px;height:60px}.card-footer{padding:9px 18px}.card-actions .button{min-height:44px;font-size:14px}.compare-check{min-height:44px;min-width:44px}.list-heading{font-size:14px}.list-heading>span{font-size:13px}.range-panel{padding:16px;gap:12px}.range-panel fieldset{min-width:calc(50% - 12px);max-width:none}.range-panel input{font-size:16px!important}.comparison-table .row-label{width:80px;font-size:13px}.comparison-table th,.comparison-table td{padding:13px 11px;font-size:14px}.candidate-head .song-title{font-size:16px}.slot-title-row h2 span{display:block;margin:5px 0 0}.slot-title-row .button{font-size:13px}.compare-bar{width:calc(100% - 24px);bottom:12px;gap:8px;padding:9px 12px}.compare-bar>span{font-size:14px}#compareNames{display:none}.compare-bar #clearCompare{margin-left:auto}.compare-bar .button{font-size:14px;padding:10px 12px}dialog,.wide-dialog{padding:21px;width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:12px}.dialog-head h2{font-size:23px}.form-grid{gap:17px}.form-grid input,.form-grid select,.form-grid textarea,.link-entry input{font-size:16px}.form-slots>div{grid-template-columns:repeat(3,minmax(0,1fr))}.form-slots label{font-size:14px;padding:10px 8px;gap:7px}.form-slots input{min-height:0}.link-entry{grid-template-columns:minmax(0,1fr)}.link-entry>.button{justify-self:end}.profile-menu{right:-2px;width:320px}.member-row{flex-wrap:wrap}.member-row>div{flex-basis:40%}.member-row select{max-width:105px;font-size:13px}.empty{padding:50px 18px}.empty strong{font-size:20px}.empty p{font-size:14px}footer{gap:12px;font-size:13px;padding-top:15px;margin-top:19px}.file-picker{padding:16px}.file-picker input{font-size:13px}.dialog-actions{gap:7px}.dialog-actions .button{padding:11px 13px}}
@media(max-width:390px){.brand>div>span{display:none}.brand h1{font-size:16px}.header{gap:7px;padding:15px}.osu-login{padding:10px 11px}.login-screen{padding:35px 19px}.landing-copy h2{font-size:33px;letter-spacing:-1.4px}.preview-map strong,.preview-decision strong{font-size:13px}.preview-team{display:none}.mod-switcher button{padding:8px 8px}.view-options{flex-wrap:wrap}.list-options{margin-left:auto}.workspace-intro h2{font-size:24px}.workspace-intro>.button{font-size:13px;padding:11px 10px}.list-heading>span{max-width:140px;text-align:right}.dialog-actions .button{padding:11px 10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
.card-actions .button[data-edit]{color:var(--ink);font-weight:550}
.compare-actions .button[data-edit]{color:var(--ink);font-weight:550}
.edit-button[data-edit]{color:var(--ink);font-weight:550}
:root[data-theme=dark] .card-actions .button[data-edit]{color:#fff}
:root[data-theme=dark] .compare-actions .button[data-edit]{color:#fff}
:root[data-theme=dark] .edit-button[data-edit]{color:#fff}
@media(max-width:620px){.view-options{flex-wrap:wrap}.mod-switcher{display:grid;grid-template-columns:auto repeat(6,minmax(0,1fr));width:100%;max-width:100%;min-width:0;flex-basis:100%}.mod-switcher button{min-width:0;padding:8px 5px}.list-options{margin-left:auto}}
.edit-needed-badge,.needs-edit-badge{display:inline-block;font-size:13px;line-height:1.45;font-weight:550;padding:4px 8px;border-radius:5px;color:var(--hold-ink);background:var(--hold-bg);white-space:nowrap}
.card-actions .button[data-edit-needed]{color:var(--ink);font-size:14px;font-weight:550}
.compare-actions .button[data-edit-needed]{color:var(--ink);font-size:14px;font-weight:550}
button[data-edit-needed]{color:var(--ink);font-size:14px;font-weight:550}
.card-actions .button[data-edit-needed][aria-pressed=true]{color:var(--hold-ink);background:var(--hold-bg);border-color:var(--hold-ink)}
.compare-actions .button[data-edit-needed][aria-pressed=true]{color:var(--hold-ink);background:var(--hold-bg);border-color:var(--hold-ink)}
button[data-edit-needed][aria-pressed=true]{color:var(--hold-ink);background:var(--hold-bg);border-color:var(--hold-ink)}
.form-grid .edit-needed-field{display:grid;grid-template-columns:18px 1fr;align-items:center;gap:7px 10px;border:1px solid var(--line);padding:14px;border-radius:8px}.edit-needed-field input{width:18px;height:18px;min-height:0;padding:0}.edit-needed-field small{grid-column:2;font-size:13px}
.custom-file-wrap .file-picker{min-width:0}.custom-file-wrap .file-picker>span,.upload-state{overflow-wrap:anywhere}.custom-file-wrap .file-replace-hint{margin-top:-5px;font-size:13px}
.song-card .card-identity{min-height:0;margin-bottom:16px}.song-card .card-note{margin-bottom:15px}.song-card .card-body{padding-bottom:16px}.song-entry #artistField{grid-column:span 2}
@media(max-width:620px){.tabs{gap:21px;overflow-x:auto;scrollbar-width:thin}.tab{flex-shrink:0;font-size:14px}.entry-tabs{gap:4px}.entry-tabs button{padding:8px;font-size:14px}}
/* Keep table actions readable without shrinking the song column. */
.candidate-table th{position:relative}.candidate-table .compare-check{min-width:36px;min-height:44px;width:36px;margin:auto}.candidate-table .compare-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:7px}.candidate-table .row-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:7px}.candidate-table .compare-actions .button{min-height:40px;font-size:14px;padding:9px 11px;border:1px solid var(--control-line);border-radius:7px;background:var(--surface);color:var(--ink);white-space:nowrap}.candidate-table .row-actions .button{min-height:40px;font-size:14px;padding:9px 11px;border:1px solid var(--control-line);border-radius:7px;background:var(--surface);color:var(--ink);white-space:nowrap}.candidate-table .edit-button{min-height:40px;font-size:14px;padding:9px 11px;border:1px solid var(--control-line);border-radius:7px;background:var(--surface);color:var(--ink);white-space:nowrap}.candidate-table .edit-button:hover{background:var(--surface-hover)}
:root[data-theme=dark] .candidate-table .edit-button{color:#fff}.candidate-table button[data-edit-needed][aria-pressed=true]{color:var(--hold-ink);background:var(--hold-bg);border-color:var(--hold-ink)}
.song-table .candidate-table th:nth-child(n+4):nth-child(-n+7){display:none}
.workspace-intro-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;flex-shrink:0}
.pool-settings-dialog{width:min(800px,calc(100% - 32px))}.pool-settings-rows{display:grid;gap:17px;margin:22px 0}.pool-setting-row{padding:18px;border:1px solid var(--line);background:var(--surface-hover);border-radius:9px}.pool-setting-top{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.pool-setting-top label{display:grid;gap:7px;flex:1;min-width:140px;font-size:15px}.pool-setting-top label:has(input[type=checkbox]){display:flex;align-items:center;gap:8px;flex:0 0 auto;min-height:44px;min-width:0}.pool-setting-top input[type=text],.pool-setting-top select{width:100%;min-width:0;padding:11px 12px;min-height:44px;border:1px solid var(--control-line);background:var(--surface);font-size:15px}.pool-setting-top .button{flex-shrink:0}.pool-slot-counts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px;margin-top:17px}.pool-slot-counts label{display:grid;gap:7px;font-size:15px;min-width:0}.pool-slot-counts input{width:100%;min-width:0;padding:10px;border:1px solid var(--control-line);background:var(--surface);min-height:44px;font-size:15px}.pool-setting-row .muted{margin:12px 0 0;font-size:14px}.settings-state{font-size:15px;line-height:1.7;color:var(--muted);margin:17px 0 0}.settings-state:empty{display:none}
.round-guide{border:1px solid var(--line);background:var(--surface);border-radius:10px;margin:0 0 25px;padding:18px 20px}.round-guide-summary{display:flex;flex-wrap:wrap;align-items:center;gap:9px 26px;font-size:15px;line-height:1.75}.round-guide-summary>div,.round-guide-summary>p{margin:0}.round-guide-summary strong{font-weight:600;color:var(--ink)}.round-guide-summary span{color:var(--muted)}.round-guide-details{margin-top:12px;font-size:15px}.round-guide-details summary{cursor:pointer;color:var(--accent);min-height:36px;line-height:36px}.round-guide-columns{display:grid;grid-template-columns:1.1fr 1fr;gap:30px;padding-top:16px;border-top:1px solid var(--line);margin-top:10px}.round-guide-columns h3{font-size:16px;font-weight:600;margin:0 0 12px}.round-guide-styles,.round-guide-policies{font-size:15px;line-height:1.85;color:var(--muted)}.round-guide-styles ul,.round-guide-policies ul{margin:0;padding-left:20px}.round-guide-styles li+li,.round-guide-policies li+li{margin-top:7px}.round-guide-styles p,.round-guide-policies p{margin:0 0 10px}.round-guide-styles strong,.round-guide-policies strong{color:var(--ink);font-weight:550}.editor-pick-guide{padding:14px 16px;border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--surface-hover);border-radius:7px;margin:0 0 21px;font-size:15px;line-height:1.8;color:var(--muted)}.editor-pick-guide strong{color:var(--ink);font-weight:600}.editor-pick-guide p{margin:0}.editor-pick-guide p+p{margin-top:8px}
@media(min-width:851px) and (max-width:1150px){.candidate-table th{padding-left:9px;padding-right:9px}.candidate-table td{padding-left:9px;padding-right:9px}}
@media(max-width:620px){.workspace-intro-actions{flex-direction:column;align-items:stretch;gap:7px}.workspace-intro-actions .button{font-size:14px;padding:10px 12px}.round-guide{padding:15px 16px;margin-bottom:22px}.round-guide-summary{display:grid;gap:7px}.round-guide-columns{grid-template-columns:1fr;gap:21px}.pool-settings-dialog{width:calc(100% - 24px)}.pool-setting-row{padding:15px}.pool-setting-top{gap:11px}.pool-slot-counts{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.pool-setting-top input[type=text],.pool-setting-top select,.pool-slot-counts input{font-size:16px}.candidate-table .compare-actions .button{min-height:44px}.candidate-table .row-actions .button{min-height:44px}.candidate-table .edit-button{min-height:44px}}
.round-context>label{display:flex;align-items:center;gap:12px;flex:1;font-size:14px;color:var(--ink)}.round-context select{flex:1;min-width:0}.pool-setting-actions{display:flex;align-items:center;gap:5px}.pool-setting-actions .button{padding:10px;min-width:40px}.pool-setting-row.inactive{background:var(--surface-muted)}
.pool-guidance-editor{margin-top:17px;padding-top:13px;border-top:1px solid var(--line);font-size:15px}.pool-guidance-editor summary{cursor:pointer;line-height:1.8;min-height:35px;color:var(--accent)}.pool-guidance-editor label{display:grid;gap:8px;font-size:15px;min-width:0}.pool-guidance-editor input,.pool-guidance-editor textarea{width:100%;min-width:0;min-height:44px;padding:12px;border:1px solid var(--control-line);background:var(--surface);color:var(--ink);font-size:15px;font-weight:400}.pool-guidance-editor textarea{resize:vertical;line-height:1.8}.pool-guidance-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:15px}.pool-guidance-styles{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.pool-guidance-editor .guidance-edit-hint{font-size:14px;line-height:1.8;color:var(--muted);margin:11px 0 0}.pool-guidance-global{margin-top:25px}.pool-guidance-global>label{margin-top:14px}
@media(max-width:620px){.pool-guidance-fields,.pool-guidance-styles{grid-template-columns:1fr}.pool-guidance-fields .span-two{grid-column:auto}.pool-guidance-editor input,.pool-guidance-editor textarea{font-size:16px}}
.workspace-tabs{margin:0 40px;padding-top:16px;min-width:0;max-width:calc(100% - 80px)}
@media(max-width:1050px){.workspace-tabs{margin-left:28px;margin-right:28px;max-width:calc(100% - 56px)}}
@media(max-width:620px){.workspace-tabs{margin-left:18px;margin-right:18px;max-width:calc(100% - 36px);padding-top:15px;overflow-x:auto}}
:root{--header-height:90px}
.header{position:sticky;top:0;height:var(--header-height);min-height:var(--header-height);z-index:30;background:var(--bg)}
.workspace-tabs{position:sticky;top:var(--header-height);z-index:20;background:var(--bg)}
@media(max-width:620px){:root{--header-height:80px}}
/* Candidate detail and team feedback */
.candidate-card{cursor:pointer}.candidate-title-button{border:0;background:transparent;color:var(--ink);padding:0;border-radius:3px;text-align:left;font-family:inherit;font-weight:650;line-height:1.4;letter-spacing:-.4px;white-space:normal;overflow-wrap:anywhere;cursor:pointer}.card-title-button{border:0;background:transparent;color:var(--ink);padding:0;border-radius:3px;text-align:left;font-family:inherit;font-weight:650;line-height:1.4;letter-spacing:-.4px;white-space:normal;overflow-wrap:anywhere;cursor:pointer}.table-title-button{border:0;background:transparent;color:var(--ink);padding:0;border-radius:3px;text-align:left;font-family:inherit;font-weight:650;line-height:1.4;letter-spacing:-.4px;white-space:normal;overflow-wrap:anywhere;cursor:pointer}.card-title .candidate-title-button{font-size:19px}.card-title-button{font-size:19px}.song-title .candidate-title-button{font-size:17px}.table-title-button{font-size:17px}.candidate-title-button:hover{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.card-title-button:hover{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.table-title-button:hover{color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.candidate-detail-dialog{width:min(1000px,calc(100% - 32px));padding:30px}.detail-heading{align-items:flex-start;margin-bottom:23px}.detail-heading>div{min-width:0;flex:1}.detail-heading h2{font-size:26px;font-weight:650;line-height:1.4;letter-spacing:-.7px;overflow-wrap:anywhere}.detail-heading .close-button{flex-shrink:0;margin-top:-4px;margin-right:-5px}.detail-subtitle{font-size:15px;line-height:1.8;color:var(--muted);margin:8px 0 0;overflow-wrap:anywhere}.detail-subtitle:empty{display:none}.detail-content{min-width:0}.detail-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:19px}.detail-cover{display:block;max-width:100%;width:100%;height:170px;object-fit:cover;border-radius:8px;margin:0 0 21px;background:var(--surface-muted)}.detail-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:19px;border:1px solid var(--line);border-radius:9px;background:var(--surface-hover);margin:0 0 23px}.detail-metrics>div{min-width:0}.detail-metrics dt{font-size:14px;font-weight:500;color:var(--muted);margin-bottom:6px}.detail-metrics dd{font-size:23px;font-weight:600;line-height:1.4;letter-spacing:-.5px;margin:0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.detail-metrics dd small{font-size:14px;color:var(--muted);margin-left:4px}.detail-metrics dd .basis-note{font-size:13px;letter-spacing:0;font-weight:400}.detail-section{margin:0 0 23px}.detail-section h3{font-size:16px;line-height:1.5;font-weight:600;margin:0 0 9px}.detail-section p{font-size:15px;line-height:1.9;margin:0;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.detail-facts{display:grid;margin:0 0 23px;padding:17px 19px;border:1px solid var(--line);border-radius:8px;font-size:15px;line-height:1.8}.detail-facts>div{display:grid;grid-template-columns:104px minmax(0,1fr);gap:14px}.detail-facts dt{color:var(--muted);font-size:14px;font-weight:500}.detail-facts dd{margin:0;font-size:15px;overflow-wrap:anywhere}.detail-facts p{margin:0;overflow-wrap:anywhere}.detail-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:9px;padding-top:19px;border-top:1px solid var(--line);margin-top:22px}.detail-actions:empty{display:none}.detail-actions .compare-actions{flex:1}.detail-actions button[data-edit]{color:var(--ink)}:root[data-theme=dark] .detail-actions button[data-edit]{color:#fff}.detail-actions .button.danger{background:var(--error-bg);border-color:var(--danger);color:var(--danger)}.detail-delete-confirm{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:9px;padding:14px;border:1px solid var(--danger);border-radius:8px;background:var(--error-bg);width:100%;font-size:14px;line-height:1.8}.detail-delete-confirm p,.detail-delete-confirm>span{flex-basis:100%;margin:0;color:var(--danger)}
.candidate-feedback{margin-top:28px;border-top:1px solid var(--line);padding-top:23px}.feedback-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.feedback-heading h3{font-size:19px;font-weight:650;letter-spacing:-.4px;margin:0}.feedback-heading h3>span{display:inline-grid;place-items:center;font-size:13px;font-weight:550;background:var(--surface-muted);color:var(--muted);min-width:25px;min-height:24px;border-radius:5px;margin-left:6px;padding:2px 6px}.feedback-form label{display:grid;gap:9px;font-size:15px;font-weight:550}.feedback-form textarea{width:100%;min-width:0;padding:13px;border:1px solid var(--control-line);background:var(--surface);font-size:15px;line-height:1.8;resize:vertical;color:var(--ink)}.feedback-form-actions{display:flex;justify-content:flex-end;margin-top:11px}.feedback-state{font-size:14px;color:var(--muted);line-height:1.8;margin:13px 0 0}.feedback-state:empty{display:none}.feedback-list{margin-top:21px}.feedback-item{padding:18px 0;border-top:1px solid var(--line);font-size:15px;min-width:0}.feedback-author{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:15px;font-weight:600;min-width:0}.feedback-author a,.feedback-author strong{font-weight:600;color:var(--ink);overflow-wrap:anywhere}.feedback-role,.feedback-role-badge{font-size:13px;font-weight:550;color:var(--accent);background:var(--accent-light);border-radius:4px;padding:3px 7px;line-height:1.5}.feedback-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:13px;color:var(--muted);line-height:1.7;margin-top:7px}.feedback-meta time{font-size:13px}.feedback-body{font-size:15px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0 0;color:var(--ink)}.feedback-delete{border:0;background:transparent;min-height:40px;padding:8px 0;font-size:13px;color:var(--danger);font-weight:550;cursor:pointer}.feedback-delete:hover{text-decoration:underline;text-underline-offset:3px}.feedback-empty{font-size:15px;line-height:1.8;color:var(--muted);padding:23px 18px;border:1px dashed var(--control-line);border-radius:8px;background:var(--surface-hover);text-align:center;margin:0}
@media(max-width:620px){.candidate-detail-dialog{width:calc(100% - 24px);padding:21px}.detail-heading h2{font-size:23px}.detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;padding:16px}.detail-metrics dd{font-size:22px}.detail-facts{padding:15px}.detail-facts>div{grid-template-columns:80px minmax(0,1fr);gap:10px}.detail-cover{height:135px}.detail-actions{justify-content:stretch}.detail-actions .button{flex:1}.detail-actions .compare-actions{flex-basis:100%;justify-content:flex-end}.detail-delete-confirm .button{flex:1}.feedback-form textarea{font-size:16px}.feedback-form-actions .button{min-height:44px}.feedback-author{font-size:15px}.feedback-empty{padding:20px 15px}}
.detail-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}.detail-facts>div{min-width:0}
@media(max-width:620px){.detail-facts{grid-template-columns:minmax(0,1fr);gap:11px}}
/* One captain summary per candidate, readable directly on the card. */
.card-feedback{border-radius:8px;margin:0 0 16px;min-width:0}.card-feedback-heading{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600;color:var(--accent);margin-bottom:8px}.card-feedback-body{font-size:14px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;color:var(--ink)}.card-feedback-author{font-size:13px;line-height:1.7;color:var(--muted);margin:9px 0 0;overflow-wrap:anywhere}.card-feedback-action{font-weight:550;border:0;background:transparent;cursor:pointer}.card-feedback-action:hover{text-decoration:underline;text-underline-offset:3px}.row-feedback{font-size:14px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink);margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.row-feedback-body{font-size:14px;line-height:1.8;margin:0}.row-feedback-author{font-size:13px;color:var(--muted);margin-top:6px}
.captain-feedback-summary{padding:17px 18px;border:1px solid var(--line);border-radius:8px;background:var(--surface-hover);min-width:0}.captain-feedback-body{font-size:15px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink);margin:0}.captain-feedback-author{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:13px;line-height:1.8;color:var(--muted);margin-top:12px}.captain-feedback-author a,.captain-feedback-author strong{font-weight:550;color:var(--ink)}.captain-feedback-dialog{width:min(620px,calc(100% - 32px))}.feedback-edit-candidate{font-size:17px;font-weight:600;color:var(--ink);line-height:1.6;overflow-wrap:anywhere;margin:0 0 20px}.feedback-edit-label{display:grid;gap:9px;font-size:15px;font-weight:550}.feedback-edit-label textarea{width:100%;min-width:0;padding:13px;font-size:15px;line-height:1.8;border:1px solid var(--control-line);background:var(--surface);color:var(--ink);resize:vertical}
@media(max-width:620px){.captain-feedback-dialog{width:calc(100% - 24px)}.feedback-edit-label textarea{font-size:16px}.captain-feedback-summary{padding:15px}}
/* Browse every slot candidate before selecting a small comparison. */
.slot-title-row h2{font-size:24px}.slot-candidate-list{display:grid;gap:12px;min-width:0}.slot-candidate-select{align-items:flex-start;cursor:pointer;min-width:0}.slot-candidate-select>input{margin-top:5px;width:18px;height:18px;flex-shrink:0}.slot-candidate-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;border:0;background:transparent;color:var(--ink);font-size:17px;font-weight:600;line-height:1.4;letter-spacing:-.3px;text-align:left;padding:0;white-space:normal;overflow-wrap:anywhere}.slot-candidate-title:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.slot-candidate-note,.slot-candidate-feedback{font-size:14px;line-height:1.8;color:var(--muted);margin:0;min-width:0;white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.slot-candidate-feedback{color:var(--ink);background:var(--surface-hover);padding:9px 11px;border-radius:6px}.slot-candidate-note strong,.slot-candidate-feedback strong{font-weight:550;color:var(--ink)}
@media(max-width:620px){.slot-title-row h2{font-size:24px}}.slot-candidate-select{display:grid;place-items:center;align-self:start;width:36px;min-height:44px;gap:0}.slot-candidate-select>input{margin:0}.slot-candidate-context{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:13px;color:var(--muted)}.slot-candidate-notes{grid-column:2/-1;display:grid;gap:8px;min-width:0}.slot-candidate-note,.slot-candidate-feedback{grid-column:auto}
@media(max-width:620px){.slot-candidate-select{width:28px}.slot-candidate-notes{grid-column:2;grid-row:4}}
/* Slot candidates stay side by side in a single horizontal rail. */body[data-view=slot] .slot-nav{align-items:center;gap:18px;min-width:0}body[data-view=slot] .slot-nav-title{border:0;flex-shrink:0}body[data-view=slot] .slot-nav-title>span{margin:0}body[data-view=slot] #slotButtons{flex-wrap:nowrap;overflow-x:auto;min-width:0;flex:1;scrollbar-width:thin}body[data-view=slot] .slot-button{flex-shrink:0;gap:9px}body[data-view=slot] .slot-button.active{border-color:var(--accent)}body[data-view=slot] .slot-button strong{min-width:0}body[data-view=slot] .slot-style{display:none}body[data-view=slot] .slot-title-row{margin-bottom:4px}body[data-view=slot] .slot-title-row h2{font-size:23px}body[data-view=slot] .slot-title-row>[data-add]{display:none}body[data-view=slot] .slot-description{font-size:14px;line-height:1.6}
.slot-rail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;color:var(--muted);min-height:36px;margin-bottom:10px}.slot-rail-toolbar>div{display:flex;gap:6px}.slot-rail-toolbar button{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;padding:7px 10px;border:1px solid var(--control-line);background:var(--surface);font-size:16px;color:var(--ink);border-radius:7px}.slot-rail-toolbar button:hover{background:var(--surface-hover)}.slot-candidate-rail{display:flex;min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:0 0 12px;scroll-snap-type:x proximity;overscroll-behavior-x:contain;scrollbar-width:thin}.slot-candidate-card{display:flex;flex-direction:column;flex:0 0 330px;width:330px;min-width:0;height:380px;padding:16px;border:1px solid var(--line);background:var(--surface);border-radius:10px;overflow:hidden;scroll-snap-align:start}.slot-candidate-card .slot-candidate-title{font-size:17px;line-height:1.4}.slot-candidate-card .slot-candidate-artist{font-size:14px;line-height:1.4;color:var(--muted);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.slot-candidate-card .slot-candidate-difficulty{font-size:14px;line-height:1.4;color:var(--muted);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.slot-candidate-card .slot-candidate-context{font-size:13px;line-height:1.4;gap:6px;margin-top:2px}.slot-candidate-card .slot-candidate-notes{display:flex;flex-direction:column;grid-column:auto;grid-row:auto;gap:7px;flex:1;min-height:0;overflow:hidden}.slot-candidate-card .slot-candidate-note{font-size:14px;line-height:1.6;grid-column:auto;grid-row:auto;margin:0}.slot-candidate-card .slot-candidate-feedback{font-size:14px;line-height:1.6;grid-column:auto;grid-row:auto;margin:0}.slot-candidate-card .slot-candidate-note{-webkit-line-clamp:2;flex-shrink:0}.slot-candidate-card .slot-candidate-feedback{min-height:0}
@media(max-width:620px){body[data-view=slot] .slot-nav-title{margin-bottom:8px}body[data-view=slot] .slot-title-row h2 span{display:inline;margin:0 0 0 8px}.slot-rail-toolbar{font-size:13px;gap:8px}.slot-rail-toolbar button{min-height:40px;min-width:40px}.slot-candidate-card{flex-basis:calc(100vw - 54px);width:calc(100vw - 54px);max-width:330px;min-width:260px;padding:14px}}
.card-feedback{text-align:center}.slot-candidate-card .slot-candidate-feedback strong{margin-bottom:4px}
/* Keep pick navigation on the left while candidates scroll horizontally. */
body[data-view=slot] .slot-view{grid-template-columns:170px minmax(0,1fr);gap:18px}body[data-view=slot] .slot-nav{display:block;align-self:start;width:100%;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}body[data-view=slot] .slot-nav-title{display:flex;align-items:center;justify-content:space-between;gap:6px;white-space:normal;font-size:14px;padding:4px 6px 9px;border-bottom:1px solid var(--line)}body[data-view=slot] .slot-nav-title>span{font-size:13px;line-height:1.4}body[data-view=slot] #slotButtons{display:grid;gap:2px;overflow:visible;padding:6px 0 0;width:100%;max-width:100%}body[data-view=slot] .slot-button{width:100%;min-height:28px;height:28px;padding:4px 8px;font-size:14px;justify-content:space-between;border:0;background:transparent;line-height:1.4}body[data-view=slot] .slot-button:hover{background:var(--surface-hover)}body[data-view=slot] .slot-button.active{background:var(--accent-light)}body[data-view=slot] .slot-button strong{font-size:14px;line-height:1.3}body[data-view=slot] .slot-number{font-size:13px}body[data-view=slot] .slot-description{margin-bottom:8px}
/* Accepted maps follow the pool's configured round and pick order. */
.accepted-view{min-width:0}.accepted-round{min-width:0}.accepted-round+.accepted-round{margin-top:31px}.accepted-round-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px}.accepted-round-heading h2{font-size:24px;font-weight:650;line-height:1.4;letter-spacing:-.6px;margin:0}.accepted-round-heading>span,.accepted-round-heading p{font-size:14px;color:var(--muted);margin:0}.accepted-slot-grid{display:grid;gap:16px;min-width:0}.accepted-pool-grid{display:grid;gap:16px;min-width:0}.accepted-slot-card{--pick-bg:#c5d6f4;--pick-ink:#263b67;display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:9px;background:var(--surface);overflow:hidden}.accepted-slot-card.card-pick-hd{--pick-bg:#f2e4b6;--pick-ink:#605028}.accepted-slot-card.card-pick-hr{--pick-bg:#ebc2c9;--pick-ink:#6a3541}.accepted-slot-card.card-pick-dt{--pick-bg:#d3c6e8;--pick-ink:#53416d}.accepted-slot-card.card-pick-fm{--pick-bg:#bfd8b3;--pick-ink:#345831}.accepted-slot-card.card-pick-tb{--pick-bg:#d4d6db;--pick-ink:#3e424a}.accepted-slot-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:39px;padding:8px 14px;background:var(--pick-bg);color:var(--pick-ink);font-size:16px;font-weight:650}.accepted-slot-body{display:flex;flex-direction:column;flex:1;min-width:0;padding:14px}.accepted-slot-identity{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;min-width:0;padding:15px 14px 14px}.accepted-slot-identity:has(img){grid-template-columns:minmax(0,1fr) 64px;column-gap:11px}.accepted-slot-body .accepted-slot-identity{padding:0;margin-bottom:13px}.accepted-slot-identity>div{grid-column:1;min-width:0}.accepted-slot-identity>span{grid-column:1;min-width:0}.accepted-map-title{grid-column:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;border:0;background:transparent;color:var(--ink);font-size:17px;font-family:inherit;font-weight:650;line-height:1.4;letter-spacing:-.4px;text-align:left;white-space:normal;overflow-wrap:anywhere;padding:0}.accepted-map-title:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.accepted-slot-identity>span{font-size:14px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.accepted-map-artist{font-size:14px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.accepted-map-difficulty{font-size:14px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.accepted-map-art{grid-column:2;grid-row:1/span 3;display:block;width:64px;height:52px;object-fit:cover;border-radius:5px;background:var(--surface-muted)}.accepted-slot-art{grid-column:2;grid-row:1/span 3;display:block;width:64px;height:52px;object-fit:cover;border-radius:5px;background:var(--surface-muted)}.accepted-slot-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:auto 14px 13px;padding-top:11px;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}.accepted-slot-body .accepted-slot-metrics{margin:auto 0 0}.accepted-slot-metrics>div{min-width:0}.accepted-slot-metrics dt{font-size:13px;color:var(--muted);line-height:1.4;margin-bottom:4px}.accepted-slot-metrics dd{font-weight:600;line-height:1.4;margin:0;letter-spacing:-.3px}.accepted-slot-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:7px;margin-top:auto;padding:10px 14px;border-top:1px solid var(--line);min-height:44px;font-size:13px}.accepted-slot-bottom a{font-size:13px;font-weight:550}.accepted-slot-empty{display:grid;place-items:center;flex:1;min-height:136px;font-size:15px;color:var(--muted);padding:20px;margin:0}.accepted-slot-card.empty-slot{background:var(--surface-hover)}
@media(max-width:620px){body[data-view=slot] .slot-view{grid-template-columns:minmax(0,1fr);gap:12px}body[data-view=slot] .slot-nav{padding:0;border:0;background:transparent}body[data-view=slot] .slot-nav-title{padding:0 0 8px;border:0;justify-content:flex-start;gap:12px}body[data-view=slot] #slotButtons{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:7px;padding:0 0 6px}body[data-view=slot] .slot-button{width:auto;min-height:44px;height:44px;padding:9px 12px;border:1px solid var(--line);background:var(--surface);gap:9px}.accepted-slot-grid{gap:14px}.accepted-pool-grid{gap:14px}.accepted-round-heading{gap:10px;margin-bottom:14px}.accepted-round-heading h2{font-size:22px}.accepted-round-heading>span,.accepted-round-heading p{font-size:13px}.accepted-round+.accepted-round{margin-top:26px}}
/* Feedback labels sit outside the centered body box. */
.card-feedback{padding:0;border:0;background:transparent}.card-feedback-heading{text-align:left;justify-content:flex-start;margin:0 0 8px}.card-feedback-content{display:grid;place-items:center;min-height:70px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-hover);text-align:center;min-width:0}.card-feedback-body{text-align:center;margin:0}.slot-candidate-card .slot-candidate-feedback{display:block;padding:0;background:transparent;text-align:left;overflow:visible;-webkit-line-clamp:unset}.slot-candidate-card .slot-candidate-feedback strong{display:block;text-align:left;font-size:13px;line-height:1.3;color:var(--accent);margin:0 0 4px}
/* Fit the complete desktop slot workspace into a 720px-high viewport. */
@media(min-width:621px){body[data-view=slot] .slot-view{gap:16px}body[data-view=slot] .slot-nav{padding:6px}body[data-view=slot] .slot-nav-title{min-height:28px;padding:3px 4px 7px;font-size:14px}body[data-view=slot] #slotButtons{gap:0;padding-top:4px}body[data-view=slot] .slot-button{height:24px;min-height:24px;padding:3px 7px;font-size:14px;line-height:1.2}body[data-view=slot] .slot-button strong{line-height:1.2}body[data-view=slot] .slot-title-row{margin-bottom:3px}body[data-view=slot] .slot-title-row h2{font-size:20px;line-height:1.3}body[data-view=slot] .slot-title-row h2 span{font-size:14px}body[data-view=slot] .slot-description{font-size:14px;line-height:1.4;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.slot-rail-toolbar{min-height:32px;height:32px;margin-bottom:6px}.slot-rail-toolbar button{min-height:32px;min-width:32px;height:32px;padding:5px 8px;font-size:15px}.slot-candidate-card{height:330px;padding:12px}.slot-candidate-card .slot-candidate-title{grid-column:1/-1;font-size:17px;line-height:1.25}.slot-candidate-card .slot-candidate-artist{grid-column:1;font-size:14px;line-height:1.4}.slot-candidate-card .slot-candidate-difficulty{grid-column:2;font-size:13px;line-height:1.4}.slot-candidate-card .slot-candidate-context{grid-column:1/-1;gap:5px;margin-top:0}.slot-candidate-card .status-badge{font-size:13px;line-height:1.25;padding:2px 5px}.slot-candidate-card .edit-needed-badge{font-size:13px;line-height:1.25;padding:2px 5px}.slot-candidate-card .non-fa-badge{font-size:13px;line-height:1.25;padding:2px 5px}.slot-candidate-card .slot-candidate-notes{gap:6px}.slot-candidate-card .slot-candidate-note{font-size:14px;line-height:1.4}}
@media(min-width:621px) and (min-height:850px){.slot-candidate-card{height:380px}.slot-candidate-card .slot-candidate-notes{gap:8px}}
@media(max-width:620px){.slot-candidate-card{height:345px}.slot-candidate-card .slot-candidate-notes{gap:6px}}
/* Keep feedback controls beside their label and deletion targets readable. */
.card-feedback-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;min-width:0;text-align:left}
.card-feedback-header .card-feedback-heading{margin:0;text-align:left}
.card-feedback-action{flex-shrink:0;font-size:13px;min-height:32px;padding:4px 0;color:var(--accent)}
.bulk-delete-list{max-height:260px;overflow:auto;margin:16px 0;padding:0;list-style:none;border:1px solid var(--line);border-radius:8px}
.bulk-delete-list li{padding:11px 14px;overflow-wrap:anywhere}.bulk-delete-list li+li{border-top:1px solid var(--line)}
.bulk-delete-list strong{display:block}.bulk-delete-list span{color:var(--muted);font-size:14px}
.captain-feedback-body{text-align:center}

/* Sheet synchronization status and conflict review. */
.sheet-sync-open{font-size:13px;min-height:36px;white-space:nowrap}.sheet-sync-dialog{width:min(920px,calc(100% - 32px))}.sheet-sync-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.sheet-sync-toolbar strong{font-size:17px}.sheet-sync-pending,.sheet-sync-empty{font-size:15px;line-height:1.8;color:var(--muted)}.sheet-sync-conflicts{display:grid;gap:20px;margin-top:22px;min-width:0}.sheet-sync-conflict{border:1px solid var(--line);border-radius:9px;padding:18px;min-width:0}.sheet-sync-conflict h3{font-size:18px;margin:0 0 14px;overflow-wrap:anywhere}.sheet-sync-field h4{font-size:14px;margin:15px 0 8px}.sheet-sync-field dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.sheet-sync-field dl>div{border:1px solid var(--line);background:var(--surface-hover);border-radius:6px;padding:12px;min-width:0}.sheet-sync-field dt{font-size:13px;color:var(--muted);margin-bottom:7px}.sheet-sync-field dd{font-size:14px;line-height:1.7;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.sheet-sync-choices{display:flex;gap:9px;flex-wrap:wrap;margin-top:17px}@media(max-width:620px){.sheet-sync-field dl{grid-template-columns:minmax(0,1fr)}.sheet-sync-conflict{padding:14px}.sheet-sync-choices .button{flex:1;min-width:0}.sheet-sync-toolbar .button{min-height:44px}}
.sr-value{display:inline-flex;align-items:baseline;gap:2px;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:-.35px}
.sr-star{font-size:.68em;line-height:1;flex-shrink:0;color:var(--muted)}
.accepted-slot-metrics dd{font-size:clamp(15px,1.1vw,17px);white-space:nowrap;overflow-wrap:normal}

/* Candidate artwork and team notes form one compact card. */
.candidate-grid{align-items:start;gap:18px}
.media-card{border-radius:9px;background:var(--surface);box-shadow:0 3px 12px #0000000b}
.media-card .card-top{min-height:38px;padding:6px 10px 6px 12px;background:var(--surface-hover);color:var(--ink);gap:10px}
.media-card .card-top-context{display:flex;align-items:center;gap:8px;min-width:0}
.media-card .card-top-end{display:flex;align-items:center;min-width:0}
.media-card .card-top-context{flex:1}.media-card .card-top-end{flex-shrink:0;gap:5px}
.media-card .card-top .pick-badges{gap:4px;flex-shrink:0}
.media-card .card-top .pick-badge{font-size:13px;font-weight:700;line-height:1.3;padding:3px 7px;border-radius:5px;color:var(--pick-ink)!important;background:var(--pick-bg)!important}
.media-card .card-round{font-size:12px;line-height:1.3;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}
.media-card .card-top .status-badge{font-size:12px;padding:3px 6px;line-height:1.4}
.media-card .card-top .compare-check{width:25px;min-width:25px;height:25px;min-height:25px}
.media-card .card-top .compare-check input{width:16px;height:16px;margin:0;accent-color:var(--accent)}
.card-hero{position:relative;display:flex;align-items:flex-end;min-width:0;height:160px;isolation:isolate;overflow:hidden;background:linear-gradient(130deg,#283b59,#182135 50%,#252740)}
.card-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}.card-bg[hidden]{display:none}
.card-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0c14243d 0%,#0b102175 28%,#090f22d9 68%,#0a1121f0 100%)}
.card-hero.no-background::before{content:'';position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 20% 10%,#42608c55,transparent 65%),linear-gradient(135deg,transparent 35%,#a4baff12 35%,#a4baff12 36%,transparent 36%,transparent 60%,#a4baff0c 60%,#a4baff0c 61%,transparent 61%)}
.card-hero-content{display:flex;flex-direction:column;gap:8px;width:100%;min-width:0;padding:11px 14px 10px;color:#f6f8ff}
.card-hero-identity{min-width:0}.media-card .card-hero-artist{font-size:13px;font-weight:500;line-height:1.4;margin:0 0 4px;color:#d2ddee;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.media-card .card-title{font-size:17px;font-weight:700;line-height:1.35;letter-spacing:-.35px;margin:0 0 5px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#fff}
.media-card .card-title-link{color:inherit;font:inherit;text-align:left;border:0;padding:0;background:transparent;text-decoration:none;line-height:inherit;letter-spacing:inherit}
.media-card .card-title-button{color:inherit;font:inherit;text-align:left;border:0;padding:0;background:transparent;text-decoration:none;line-height:inherit;letter-spacing:inherit}
.media-card .card-title-link:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.media-card .card-title-button:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.media-card .card-title-link:focus-visible{outline:2px solid #b2c9ff;outline-offset:3px;border-radius:2px}
.media-card .card-title-button:focus-visible{outline:2px solid #b2c9ff;outline-offset:3px;border-radius:2px}
.media-card .card-difficulty{font-size:13px;line-height:1.4;margin:0;color:#c1d1e9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;text-shadow:0 1px 4px #0008}
.card-hero-tools{display:flex;justify-content:flex-end;align-items:center;gap:7px}
.card-hero-detail{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:32px;border:1px solid #91acd33a;border-radius:6px;padding:6px 8px;background:#071122b8;color:#e3ecfc;font-size:12px;font-family:inherit;font-weight:550;line-height:1.3;cursor:pointer;transition:background .15s,border-color .15s}
.card-preview{border:1px solid #91acd33a;border-radius:6px;background:#071122b8;color:#e3ecfc;font-size:12px;font-family:inherit;font-weight:550;line-height:1.3;cursor:pointer;transition:background .15s,border-color .15s}
.card-hero-detail:hover{background:#263b60d9;border-color:#bfd2ef99}
.card-preview:not(:disabled):hover{background:#263b60d9;border-color:#bfd2ef99}
.card-preview:disabled{color:#a3b0c5;background:#0e17229e;opacity:.65;cursor:default}
.card-preview.playing{color:#fff;border-color:#9ab9ffb3;background:#355da5d9}
.card-preview.loading .card-preview-icon{opacity:.65}
.card-preview-icon{display:inline-flex;width:16px;height:16px;flex-shrink:0}.card-preview-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}
.media-card .card-metrics{margin:0;padding:10px 14px 11px;border-top:0;border-bottom:1px solid var(--line);gap:10px}
.media-card .card-metrics dt{font-size:12px;font-weight:500;line-height:1.3;margin-bottom:4px}.media-card .card-metrics dd{font-size:17px;line-height:1.3;letter-spacing:-.35px;white-space:nowrap}

.media-card .card-metrics-empty{margin:0;padding:11px 14px;border-top:0;border-bottom:1px solid var(--line);font-size:13px}
.media-card .card-body{display:flex;flex-direction:column;gap:12px;flex:0 1 auto;padding:12px 14px 13px;min-height:0}
.media-card .card-body:empty{display:none}.card-note-section{min-width:0;margin:0}
.card-note-section h4{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:12px;font-weight:550;line-height:1.4;margin:0 0 4px}
.media-card .card-note{font-size:14px;line-height:1.55;margin:0;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;-webkit-line-clamp:3;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
.media-card .card-feedback{margin:0;padding:0;border:0;background:transparent;text-align:left}
.media-card .card-feedback-header{margin-bottom:4px;gap:8px;min-height:24px}
.media-card .card-feedback-heading{font-size:12px;line-height:1.4;font-weight:650;letter-spacing:0;color:var(--accent);text-align:left}
.media-card .card-feedback-action{font-size:12px;min-height:24px;padding:2px 0;line-height:1.4}
.media-card .card-feedback-content{min-height:39px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface-hover)}
.media-card .card-feedback-body{font-size:14px;line-height:1.5;margin:0;text-align:center;white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.media-card .card-notes-more{font-size:12px;min-height:25px;padding:3px 0;margin-top:2px}
.media-card .card-flags{display:flex;flex-wrap:wrap;gap:5px;padding:0 14px 10px}
.media-card .card-flags .edit-needed-badge{font-size:12px;line-height:1.4;padding:2px 5px}
.media-card .card-flags .non-fa-badge{font-size:12px;line-height:1.4;padding:2px 5px}
.media-card .card-footer{padding:9px 12px;border-top:1px solid var(--line);background:var(--surface-hover);justify-content:flex-end;margin-top:auto}
.media-card .card-actions{gap:5px;justify-content:flex-end}.media-card .card-actions .button{font-size:13px;min-height:33px;padding:6px 9px;line-height:1.4;border-radius:6px;color:var(--ink)}
:root[data-theme=dark] .media-card{background:#192234;border-color:#354156}:root[data-theme=dark] .media-card .card-top{background:#202a3b}:root[data-theme=dark] .media-card .card-footer{background:#202a3b}
:root[data-theme=dark] .media-card .card-metrics{border-color:#354156}
:root[data-theme=dark] .media-card .card-footer{border-color:#354156}:root[data-theme=dark] .media-card .card-feedback-content{border-color:#354156;background:#202b3e}
:root[data-theme=dark] .media-card .card-note{color:#e4ebf8}:root[data-theme=dark] .media-card .card-actions .button[data-edit]{color:#fff}
@media(max-width:800px){.candidate-grid{gap:15px}}
@media(max-width:620px){.candidate-grid{gap:15px}.card-hero{height:160px}.card-hero-detail{min-height:36px;padding:7px 9px}.media-card .card-title{font-size:18px}.media-card .card-actions .button{min-height:37px}.media-card .card-feedback-action{min-height:32px}}

/* Captain decisions are available directly on each recommendation. */
.status-select{font-family:inherit;font-size:13px;font-weight:600;line-height:1.4;min-height:29px;width:auto;max-width:120px;padding:4px 23px 4px 8px;border:1px solid #718aa34a;border-radius:6px;background-color:var(--surface-hover);color:var(--ink);cursor:pointer}
.status-select.testing,.status-badge.testing{background-color:#2a456c;color:#bfd5ff}.status-select.accepted{background-color:#244e3c;color:#b3efce}.status-select.hold{background-color:#594c2d;color:#f4d295}
.status-select:disabled{cursor:wait;opacity:.7}.status-select option{background:var(--surface);color:var(--ink)}.media-card .status-select{font-size:12px;min-height:26px;padding:3px 22px 3px 7px;max-width:105px}.card-hero-identity{text-shadow:0 2px 7px #000b}

.candidate-delete-dialog{width:min(460px,calc(100% - 32px))}#candidateDeleteName{white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;line-height:1.65;color:var(--ink);margin:12px 0 22px}

/* Selected maps keep the pick grid and use the same artwork and preview controls. */
.accepted-slot-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr))}
.accepted-pool-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr))}
.accepted-slot-card{height:230px;min-height:230px;max-height:230px}
.accepted-slot-card.empty-slot{height:230px;min-height:230px;max-height:230px}
.accepted-slot-card.media-card{height:230px;min-height:230px;max-height:230px}
.accepted-slot-card>.accepted-slot-top{flex:0 0 39px;height:39px;min-height:39px;max-height:39px;padding:6px 12px}
.accepted-slot-card.media-card .card-hero{height:135px;flex-shrink:0}
.accepted-slot-card.media-card .card-hero-content{gap:8px;padding:10px 12px 9px}
.accepted-slot-card.media-card .card-hero-artist{font-size:12px;margin-bottom:3px}
.accepted-slot-card.media-card .card-title{font-size:16px;line-height:1.3;margin-bottom:3px}
.accepted-slot-card.media-card .card-difficulty{font-size:12px;line-height:1.3}
.accepted-slot-card.media-card .card-hero-tools{gap:6px}
.accepted-slot-card.media-card .card-hero-detail{min-height:28px;padding:5px 6px;font-size:11px}
.accepted-slot-card.media-card .card-preview{font-size:11px}
.accepted-slot-card.media-card .card-preview-icon{width:14px;height:14px}
.accepted-slot-card.media-card .accepted-slot-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;flex:0 0 54px;height:54px;min-height:54px;max-height:54px;margin:0;padding:8px 10px;border-top:0;gap:10px}
.accepted-slot-card.media-card .accepted-slot-metrics dt{font-size:12px;line-height:1.25;margin-bottom:2px}
.accepted-slot-card.media-card .accepted-slot-metrics dd{font-size:16px;line-height:1.25;white-space:nowrap;overflow-wrap:normal}
@media(max-width:620px){.accepted-slot-card.media-card .card-hero{height:135px}.accepted-slot-card.media-card .card-hero-detail{min-height:34px;font-size:12px;padding:6px 8px}.accepted-slot-card.media-card .card-preview{font-size:12px}}

/* Pick comparison uses the same artwork card in a horizontal rail. */
.slot-candidate-rail{align-items:flex-start;gap:18px;padding-bottom:12px}
.slot-candidate-rail>.slot-candidate-card.media-card{flex:0 0 330px;padding:0;overflow:hidden;scroll-snap-align:start}
@media(max-width:620px){.slot-candidate-rail{gap:14px}.slot-candidate-rail>.slot-candidate-card.media-card{padding:0}}

/* Keep the shared filter row steady while card/table controls are unavailable in slot view. */
body[data-view=slot] .view-toggle{visibility:hidden;pointer-events:none}

.view-options{min-height:48px}
.workspace{overflow-anchor:none}

.accepted-slot-card .accepted-slot-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.accepted-slot-top .status-select{font-size:12px;min-height:26px;padding-top:3px;padding-bottom:3px}

/* Recommendation cards keep the same height regardless of text and permissions. */
.candidate-card.media-card>.card-top{flex:0 0 38px;height:38px;min-height:38px;max-height:38px;overflow:hidden}
.candidate-card.media-card .card-top .pick-badges{flex-wrap:nowrap;white-space:nowrap;overflow:hidden;min-width:0;flex-shrink:1}
.candidate-card.media-card .card-title{-webkit-line-clamp:1}
.candidate-card.media-card>.card-metrics{flex:0 0 54px;height:54px;min-height:54px;max-height:54px;overflow:hidden}
.candidate-card.media-card>.card-metrics-empty{align-content:center;flex:0 0 54px;height:54px;min-height:54px;max-height:54px;margin:0;padding:8px 14px;overflow:hidden;display:flex;align-items:center;font-size:13px}
.candidate-card.media-card>.song-metrics-spacer{border-bottom:0}
.candidate-card.media-card>.card-body{display:flex;flex:1 1 0;min-height:0;overflow:hidden}
.candidate-card.media-card>.card-body:empty{display:flex;flex:1 1 0;min-height:0;overflow:hidden}
.candidate-card.media-card .card-note-section{flex:0 0 auto;min-height:0}
.candidate-card.media-card .card-note-section h4{line-height:1.3}
.candidate-card.media-card .card-note{font-size:14px;-webkit-line-clamp:2}
.candidate-card.media-card .has-opinion .card-note-section{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px}
.candidate-card.media-card .has-opinion .card-note{-webkit-line-clamp:1}
.candidate-card.media-card .card-feedback{flex:0 0 auto;margin-top:auto}
.candidate-card.media-card .card-feedback-header{height:24px;min-height:24px;margin-bottom:3px}
.candidate-card.media-card .card-feedback-action{min-height:24px;padding:2px 0}
.candidate-card.media-card>.card-footer{display:flex;align-items:center;flex:0 0 50px;margin:0;overflow:hidden}
.candidate-card.media-card .card-actions{flex-wrap:nowrap;gap:5px}
.candidate-card.media-card .card-actions .button{flex-shrink:0;font-size:13px;padding:6px 8px}
.card-hero>.card-flags{position:absolute;inset:8px 8px auto auto;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:4px;max-width:calc(100% - 16px);margin:0;padding:0;z-index:1;pointer-events:none}
.card-hero>.card-flags .edit-needed-badge{font-size:11px;line-height:1.3;padding:3px 5px;background:#172032e6;border-color:#8696af66;box-shadow:0 1px 4px #0004}
.card-hero>.card-flags .non-fa-badge{font-size:11px;line-height:1.3;padding:3px 5px;background:#172032e6;border-color:#8696af66;box-shadow:0 1px 4px #0004}
.slot-candidate-rail>.media-card .card-footer{margin-top:0}
/* Playback state and pick names do not change control widths. */
.card-preview{display:inline-flex;align-items:center;justify-content:center;gap:0;width:36px;min-width:36px;max-width:36px;flex:0 0 36px;height:32px;min-height:32px;max-height:32px;padding:5px}
.accepted-slot-card.media-card .card-preview{width:36px;min-width:36px;max-width:36px;flex-basis:36px;height:32px;min-height:32px;max-height:32px;padding:5px}
.pick-badge{width:44px;min-width:44px;max-width:44px;flex:0 0 44px;text-align:center;white-space:nowrap}
.accepted-slot-top>strong{display:inline-block;width:44px;min-width:44px;max-width:44px;flex:0 0 44px;text-align:center;white-space:nowrap}
@media(max-width:620px){.candidate-card.media-card .card-actions .button{min-height:36px}.candidate-card.media-card .card-feedback-action{min-height:24px}}
@media(max-width:620px){.card-preview{width:44px;min-width:44px;max-width:44px;flex-basis:44px;height:44px;min-height:44px;max-height:44px;padding:10px}.accepted-slot-card.media-card .card-preview{width:36px;min-width:36px;max-width:36px;flex-basis:36px;height:32px;min-height:32px;max-height:32px;padding:5px}}

/* A shorter, wider recommendation card keeps statistics and both text rows readable. */
.candidate-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr))}
.candidate-card.media-card{height:432px;min-height:432px;max-height:432px}
.slot-candidate-rail>.slot-candidate-card.media-card{height:432px;min-height:432px;max-height:432px}
.candidate-card.media-card>.card-hero{flex:0 0 140px;height:140px;min-height:140px}
.slot-candidate-rail>.media-card .card-hero{flex:0 0 140px;height:140px;min-height:140px}
.candidate-card.media-card .card-hero-content{gap:6px;padding:9px 12px 8px}
.candidate-card.media-card>.card-metrics{padding-right:10px;padding-left:10px}
.candidate-card.media-card>.card-metrics-empty{padding-right:10px;padding-left:10px;gap:8px}
.candidate-card.media-card>.card-body{gap:4px;padding:12px 12px 8px}
.candidate-card.media-card>.card-body:empty{gap:4px;padding:12px 12px 8px}
.slot-candidate-rail>.media-card .card-body{gap:4px;padding:12px 12px 8px}
.candidate-card.media-card .card-note-section h4{margin-bottom:4px}
.candidate-card.media-card .card-note{line-height:1.4}
.candidate-card.media-card .has-opinion .card-note-section h4{margin:0}
.candidate-card.media-card .card-feedback{min-height:67px}
.candidate-card.media-card .card-feedback-heading{font-size:12px;font-weight:550;line-height:1.3;color:var(--muted);text-align:left}
.candidate-card.media-card .card-feedback-content{display:flex;place-items:normal;align-items:center;height:40px;min-height:40px;padding:0;border:0;border-radius:0;background:transparent;text-align:left;overflow:hidden}
.candidate-card.media-card .card-feedback-body{width:100%;font-size:14px;line-height:1.4;max-height:40px;text-align:left;-webkit-line-clamp:2}
:root[data-theme=dark] .candidate-card.media-card .card-feedback-content{border:0;background:transparent}
.candidate-card.media-card>.card-footer{flex-basis:46px;height:46px;min-height:46px;max-height:46px;padding:4px 12px}
.slot-candidate-rail>.slot-candidate-card.media-card{flex-basis:380px;width:380px}
@media(max-width:620px){.slot-candidate-rail>.slot-candidate-card.media-card{flex-basis:100%;width:100%;min-width:0;max-width:380px}}
.candidate-card.media-card.song-card{height:310px;min-height:310px;max-height:310px}
.candidate-card.media-card.song-card>.card-body{padding:12px 14px}
.candidate-card.media-card.song-card>.card-body:empty{padding:12px 14px}

/* Give each statistic an equal share of the card, with its label above the value. */
.candidate-card.media-card>.card-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-content:center;width:100%;gap:0;margin:0;padding:6px 0}
.accepted-slot-card.media-card>.accepted-slot-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-content:center;width:100%;gap:0;margin:0;padding:6px 0}
.candidate-card.media-card .card-metrics>div{min-width:0;text-align:center}
.accepted-slot-card.media-card .accepted-slot-metrics>div{min-width:0;text-align:center}
.candidate-card.media-card .card-metrics dt{text-align:center}
.candidate-card.media-card .card-metrics dd{text-align:center}
.accepted-slot-card.media-card .accepted-slot-metrics dt{text-align:center}
.accepted-slot-card.media-card .accepted-slot-metrics dd{text-align:center}
.candidate-card.media-card .card-metrics .sr-value{color:var(--accent)}
.accepted-slot-card.media-card .accepted-slot-metrics .sr-value{color:var(--accent)}

/* Short display copy is centered vertically; longer detail text can grow. */
.text-display{display:flex;align-items:center;min-height:40px;min-width:0}
.text-display>p{width:100%;min-width:0;margin:0}
.text-display>span{width:100%;min-width:0;margin:0}
.status-select.pending,.status-badge.pending{background-color:var(--surface-muted);color:var(--muted)}
.editing-entry #metadataPreview{border:0;border-radius:0;background:transparent;padding:0;margin:7px 0;font-size:14px;color:var(--muted)}
.custom-difficulty-dialog{width:min(560px,calc(100% - 32px))}
.custom-difficulty-dialog .dialog-head{margin-bottom:12px}
.custom-difficulty-dialog .dialog-sub{margin:0 0 18px}
.custom-difficulty-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:10px}
.custom-difficulty-buttons button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:100%;min-height:60px;padding:14px;border:1px solid var(--control-line);border-radius:8px;background:var(--surface-hover);color:var(--ink);font-size:15px;font-weight:600;line-height:1.5;text-align:center;overflow-wrap:anywhere}
.custom-difficulty-buttons button:hover,.custom-difficulty-buttons button[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-light);color:var(--accent)}
.custom-difficulty-buttons button small{font-size:12px;font-weight:400;color:var(--muted)}

/* List rows use their own compact structure instead of card spacing. */
.candidate-table{min-width:1080px}
.candidate-table th{padding:12px 10px}
.candidate-table th:nth-child(1){width:44px}.candidate-table th:nth-child(2){width:96px}.candidate-table th:nth-child(4){width:68px}.candidate-table th:nth-child(5){width:94px}.candidate-table th:nth-child(6){width:64px}.candidate-table th:nth-child(7){width:58px}.candidate-table th:nth-child(8){width:108px}.candidate-table th:nth-child(9){width:224px}
.candidate-table tbody .candidate-row{height:112px}
.candidate-table td{padding:10px;font-size:14px;vertical-align:middle}
.candidate-table td:first-child{padding:4px}
.candidate-table .table-identity{display:flex;flex-direction:column;gap:1px;min-width:0}
.candidate-table .table-song-title{display:block;width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;line-height:22px}
.candidate-table .table-title-button{display:block;width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;line-height:22px}
.candidate-table .table-byline{display:flex;align-items:center;gap:6px;min-width:0;min-height:24px;font-size:13px;line-height:18px;color:var(--muted)}
.candidate-table .table-byline-text{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.candidate-table .table-recommendation{display:flex;align-items:center;gap:6px;min-width:0;height:20px;font-size:13px;line-height:20px}
.candidate-table .table-note-label{flex-shrink:0;color:var(--muted);font-size:12px}
.candidate-table .table-note-body{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
.candidate-table .table-detail{flex-shrink:0;min-height:24px;padding:2px 4px;font-size:12px;line-height:18px}
.candidate-table .edit-needed-badge{flex-shrink:0;font-size:11px;line-height:16px;padding:2px 5px}
.candidate-table .non-fa-badge{flex-shrink:0;font-size:11px;line-height:16px;padding:2px 5px}
.candidate-table .table-feedback{display:flex;align-items:center;gap:6px;min-width:0;height:20px;font-size:13px;line-height:20px}
.candidate-table .table-feedback-label{flex-shrink:0;color:var(--muted);font-size:12px}
.candidate-table .table-feedback-body{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
.candidate-table .table-row-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:4px;min-width:0}
.candidate-table .table-row-actions .button{flex-shrink:0;min-height:32px;padding:6px 8px;font-size:13px;line-height:18px;border:1px solid var(--control-line);border-radius:6px;background:var(--surface);color:var(--ink)}
.candidate-table .table-row-actions .button:hover{background:var(--surface-hover)}
.candidate-table .table-row-actions .button.primary{background:var(--accent-button);border-color:var(--accent-button);color:#fff}
.candidate-table .table-row-actions .button.danger{color:var(--danger)}
.candidate-table .table-row-actions button[data-edit-needed][aria-pressed=true]{color:var(--hold-ink);background:var(--hold-bg);border-color:var(--hold-ink)}
.candidate-table .table-status .status-select{min-height:32px;max-width:100%;padding:5px 22px 5px 7px;font-size:13px;line-height:20px}
.candidate-table .table-status .status-badge{font-size:12px;white-space:nowrap}
.candidate-table .table-pick .pick-badges{gap:4px;flex-wrap:wrap}
.candidate-table .table-pick .round-label{display:block;margin-top:4px;font-size:12px;line-height:16px}
.candidate-table .number{white-space:nowrap;font-variant-numeric:tabular-nums}
.candidate-table th.number{text-align:center!important}
.candidate-table td.number{text-align:center!important}
.candidate-table th:nth-child(8){text-align:center!important}
.candidate-table td.table-status{text-align:center!important}
.candidate-table .table-status .status-select{text-align:center}
.candidate-table td.metric{overflow:hidden;text-overflow:ellipsis}
.candidate-table .metric .sr-value{color:var(--accent)}
.song-table .candidate-table{min-width:700px}
.song-table .candidate-table .song-row td{display:table-cell}
.song-table .candidate-table .song-row{height:92px}
@media(max-width:620px){.candidate-table .table-row-actions .button{min-height:40px}.candidate-table .table-detail{min-height:40px}.candidate-table tbody .candidate-row{height:126px}.song-table .candidate-table .song-row{height:100px}}
.candidate-card.media-card .card-note-content{height:40px;min-height:40px;overflow:hidden}
.candidate-card.media-card .has-opinion .card-note-content{height:20px;min-height:20px}
.comparison-table .compare-note{vertical-align:middle}


/* Deleted recommendations stay separate from the working board. */
.file-update-badge{display:inline-flex;align-items:center;flex-shrink:0;padding:2px 6px;border:1px solid var(--accent);border-radius:4px;color:var(--accent);font-size:11px;line-height:18px;white-space:nowrap;background:var(--surface)}
.file-updates-button{color:var(--accent);border-color:var(--accent)}
.file-updates-dialog{width:min(720px,calc(100vw - 32px))}
.file-updates-list{max-height:56vh;overflow:auto}
.file-update-row{padding:16px 0;border-bottom:1px solid var(--line)}
.file-update-row-head strong{display:block;overflow-wrap:anywhere}
.file-update-row-head p,.file-update-meta{margin:6px 0 12px;color:var(--muted);font-size:13px;line-height:1.5}
.file-update-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
.file-changes{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}
.file-changes th,.file-changes td{padding:8px;text-align:center;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.file-changes thead th{color:var(--muted);font-weight:500}
.file-changes th:first-child{width:20%}
.file-review-state{margin-top:12px;color:var(--muted);font-size:13px}
.trash-dialog{width:min(680px,calc(100vw - 32px))}.trash-toolbar,.trash-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.trash-list{max-height:50vh;overflow:auto}.trash-row{padding:12px 0;border-bottom:1px solid var(--line)}.trash-row>div{min-width:0}.trash-row strong{display:block;overflow-wrap:anywhere}.trash-row p{margin:5px 0 0;font-size:13px;color:var(--muted)}.trash-row .button{flex-shrink:0}.trash-confirm{margin-top:16px;padding:12px;background:var(--surface-muted);border-radius:8px}.trash-confirm p{margin:0}
.slot-button{--pick-bg:#c5d6f4;--pick-ink:#263b67}
.slot-button.card-pick-hd{--pick-bg:#f2e4b6;--pick-ink:#605028}
.slot-button.card-pick-hr{--pick-bg:#ebc2c9;--pick-ink:#6a3541}
.slot-button.card-pick-dt{--pick-bg:#d3c6e8;--pick-ink:#53416d}
.slot-button.card-pick-fm{--pick-bg:#bfd8b3;--pick-ink:#345831}
.slot-button.card-pick-tb{--pick-bg:#d4d6db;--pick-ink:#3e424a}
.slot-button strong{display:inline-grid;place-items:center;flex:0 0 44px;width:44px;min-width:44px;height:20px;border-radius:4px;background:var(--pick-bg);color:var(--pick-ink);line-height:1.2}
.slot-button.active{background:color-mix(in srgb,var(--pick-bg) 17%,var(--surface));box-shadow:inset 2px 0 0 var(--pick-bg)}

/* Linked map preview uses the same cropped artwork and four-column metrics as cards. */
#metadataPreview:has(.editor-map-preview){padding:0;overflow:hidden;border:1px solid var(--line);border-radius:9px;margin:0 0 22px;background:var(--media-card-bg,var(--surface-hover));font-size:16px}
.editor-map-preview{min-width:0}
.editor-map-hero{position:relative;display:flex;align-items:center;min-width:0;height:140px;min-height:140px;isolation:isolate;background:linear-gradient(130deg,#283b59,#182135 50%,#252740);color:#f6f8ff;overflow:hidden}
.editor-map-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0c14243d 0%,#0b102175 28%,#090f22d9 68%,#0a1121f0 100%)}
.editor-map-artwork{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center}
.editor-map-info{width:100%;min-width:0;padding:26px 12px 12px}
.editor-map-info p{margin:0;font-size:13px;line-height:1.4;overflow-wrap:anywhere}
.editor-map-artist{color:#d2ddee;margin-bottom:4px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}
.editor-map-title{font-size:17px;line-height:1.35;font-weight:700;letter-spacing:-.35px;margin:0 0 5px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;color:#fff}
.editor-map-title a{color:inherit;font:inherit;text-decoration:none}
.editor-map-title a:hover{text-decoration:underline;text-underline-offset:3px}
.editor-map-info .editor-map-credit{color:#c1d1e9;margin:0;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 4px #0008}
.editor-map-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;min-height:54px;padding:6px 0;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}
.editor-map-metrics>div{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.editor-map-metrics dt{color:var(--muted);font-size:12px;line-height:1.25;margin:0 0 2px}
.editor-map-metrics dd{color:var(--ink);font-size:18px;font-weight:600;line-height:1.3;margin:0;white-space:normal;overflow-wrap:anywhere}
.editor-map-metrics .sr-value{color:var(--accent);display:inline-flex;align-items:baseline;gap:2px;white-space:nowrap}
.editor-map-metrics .sr-star{font-size:11px;color:var(--muted)}
.bpm-indicator{position:relative;display:inline-block;white-space:nowrap;cursor:help}
.bpm-asterisk{position:absolute;inset-inline-start:100%;top:-.15em;margin-inline-start:1px;font-size:.65em;font-weight:600;line-height:1;color:var(--muted)}
.bpm-indicator:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}
.bpm-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);z-index:30;width:max-content;padding:7px 10px;border-radius:6px;background:var(--ink);color:var(--surface);box-shadow:var(--shadow);font-size:12px;font-weight:500;line-height:1.5;letter-spacing:0;visibility:hidden;opacity:0;pointer-events:none}
.bpm-indicator:not([data-bpm-dismissed]):hover .bpm-tooltip,.bpm-indicator:not([data-bpm-dismissed]):focus .bpm-tooltip{visibility:visible;opacity:1;pointer-events:auto}
.bpm-tooltip::after{content:'';position:absolute;top:100%;left:0;width:100%;height:10px}
.candidate-table td.metric:has(.bpm-indicator){overflow:visible}
.editor-map-notes{padding:0 14px 10px;color:var(--muted);font-size:12px;line-height:1.5}
.editor-map-notes p{margin:4px 0 0;font-size:12px;line-height:1.5}
.editor-map-badges{position:absolute;top:12px;left:16px;z-index:1;display:flex;gap:6px}
.editor-map-fa{display:inline-flex;align-items:center;min-height:22px;padding:2px 7px;border-radius:4px;background:#315b95;color:#fff;font-size:11px;font-weight:600;line-height:1.3}
/* Map identity typography is shared by previews, recommendations, comparison and accepted cards. */
.media-card .card-hero-artist,.accepted-slot-card.media-card .card-hero-artist{font-size:13px;line-height:1.4;margin-bottom:4px}
.media-card .card-title,.accepted-slot-card.media-card .card-title{font-size:17px;font-weight:700;line-height:1.35;letter-spacing:-.35px;margin-bottom:5px;-webkit-line-clamp:1}
.media-card .card-difficulty,.accepted-slot-card.media-card .card-difficulty{font-size:13px;line-height:1.4;margin:0}
.accepted-slot-card.media-card .accepted-slot-metrics dd{font-size:18px;line-height:1.3}
.candidate-card.media-card .card-metrics dt,.accepted-slot-card.media-card .accepted-slot-metrics dt{font-size:12px;line-height:1.25;margin-bottom:2px}
.candidate-card.media-card .card-metrics dd{font-size:18px;line-height:1.3}
@media(max-width:620px){.editor-map-title,.media-card .card-title,.accepted-slot-card.media-card .card-title{font-size:18px}.editor-map-badges{left:12px}}
#candidateForm>.link-entry{grid-template-columns:minmax(0,1fr)}
