:root{--bg:#f4f7fb;--panel:#fff;--line:#dbe3ef;--line2:#e9eef5;--ink:#182238;--muted:#7f8b9e;--navy:#2e354f;--cyan:#11a9d7;--fw:#e34e62;--mf:#4bc77f;--df:#397ceb;--gk:#efb94c;--shadow:0 10px 30px rgba(31,46,73,.08);--result-sticky-top:112px}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR","Segoe UI",sans-serif}
button,input,select{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}
.app-shell{min-height:100vh}
.topbar{position:sticky;top:0;z-index:60;height:58px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 18px}
.brand-wrap,.top-actions,.switch-label,.boost-control,.segmented,.search-subbar,.results-controls,.pager{display:flex;align-items:center}
.brand-wrap{gap:10px}
.brand-mark{width:34px;height:34px;border-radius:10px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:950}
.brand{font-size:14px;font-weight:950;letter-spacing:.05em}
.db-status{font-size:12px;color:var(--muted);margin-top:2px}
.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#aab3c0;margin-right:5px}
.db-status.ok .status-dot{background:#36c77a}
.db-status.bad .status-dot{background:#ef5968}
.top-actions{gap:12px}
.switch-label{gap:7px;font-size:12px;font-weight:800;color:#5d687a}
.switch{width:38px;height:22px;border:0;border-radius:20px;background:#dce3ed;padding:2px;transition:.15s}
.switch span{display:block;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 5px rgba(0,0,0,.16);transition:.15s}
.switch.is-on{background:#7fd3eb}
.switch.is-on span{transform:translateX(16px)}
.switch.is-disabled{opacity:.45;cursor:not-allowed}
.ghost-btn,.secondary-btn,.primary-btn{border:1px solid var(--line);border-radius:9px;font-weight:850}
.ghost-btn{background:#fff;color:#596579;padding:8px 11px}
.primary-btn{background:var(--navy);border-color:var(--navy);color:#fff;padding:10px 22px}
.secondary-btn{background:#eef2f7;color:#536074;padding:10px 16px}
.primary-btn.large{min-width:120px}
.compact-btn{padding:7px 9px;font-size:12px}
.boost-bar{position:sticky;top:58px;z-index:55;background:#fff;border-bottom:1px solid var(--line);min-height:54px;padding:8px 18px;display:flex;align-items:center;gap:18px;box-shadow:0 4px 14px rgba(30,42,68,.04)}
.boost-control{gap:7px}
.boost-label{font-size:13px;font-weight:900;color:#677386}
.boost-control select{height:34px;border:1px solid #d7dfeb;border-radius:7px;background:#fff;color:#303a4f;font-weight:800;padding:0 9px}
.segmented{border:1px solid #d6ddea;border-radius:8px;overflow:hidden}
.seg{height:32px;min-width:42px;border:0;border-right:1px solid #d6ddea;background:#fff;color:#697487;font-weight:850}
.seg:last-child{border-right:0}
.seg.is-active{background:var(--navy);color:#fff}
.boost-summary{margin-left:auto;text-align:right;display:grid;grid-template-columns:auto auto;column-gap:8px;align-items:center}
.boost-summary span{font-size:12px;color:#8a95a6;font-weight:800}
.boost-summary strong{font-size:18px}
.boost-summary small{grid-column:1/3;font-size:12px;color:#9ba5b3}
main{padding:16px 18px 34px}
.search-hero{max-width:1500px;margin:0 auto 12px}
.search-box{display:flex;border:2px solid var(--navy);border-radius:12px;background:#fff}
.search-box input{flex:1;min-width:0;height:56px;border:0;outline:0;padding:0 18px;font-size:18px;font-weight:750}
.search-box .primary-btn{min-width:150px;font-size:15px}
.search-subbar{justify-content:space-between;margin-top:7px;color:#8b96a7;font-size:13px;font-weight:750}
.switch-label.compact{font-size:12px}
.filter-board,.results-section{max-width:1500px;margin:0 auto}
.filter-board{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:visible}
.filter-row{display:grid;grid-template-columns:116px minmax(0,1fr);border-bottom:1px solid var(--line2);min-height:78px}
.filter-row:last-of-type{border-bottom:1px solid var(--line2)}
.filter-label{display:flex;align-items:center;justify-content:center;background:#fafbfd;border-right:1px solid var(--line2);font-size:16px;font-weight:950;color:#253046;padding:12px}
.filter-content{min-width:0;padding:16px 20px}
.class-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.trait-toolbar{display:flex;gap:9px;flex-wrap:wrap}
.picker-btn{min-height:40px;border:1px solid #d6dfeb;background:#fff;border-radius:9px;padding:0 13px;display:inline-flex;align-items:center;gap:10px;color:#4e5a6d}
.picker-btn span{font-weight:850;white-space:nowrap}
.picker-btn b{min-width:26px;text-align:center;background:#edf2f7;border-radius:99px;padding:4px 8px;color:#5b687b}
.danger-picker{border-color:#efc6cb;background:#fffafa}
.danger-picker b{background:#fff0f2;color:#bd4f5a}
.applied-filter-chips,.active-filters{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
.filter-chip,.stat-filter-chip,.active-filter{display:inline-flex;align-items:center;gap:6px;min-height:28px;border:1px solid #dce4ee;border-radius:99px;background:#f6f8fb;color:#566276;padding:4px 9px;font-size:12px;font-weight:800}
.filter-chip img{width:20px;height:16px;object-fit:contain}
.filter-chip button,.stat-filter-chip button{border:0;background:transparent;color:#8994a5;font-weight:950;padding:0 1px}
.filter-chip.danger,.active-filter.danger{border-color:#efc4ca;background:#fff4f5;color:#a4444f}
.filter-chip.gold{border-color:#e7c45b;background:#fff9db;color:#765a00}
.position-content{scrollbar-width:thin}
.position-groups{display:grid;gap:7px;min-width:max-content}
.position-group{--group:#999;display:flex;align-items:stretch;gap:7px;min-width:max-content}
.position-group.group-fw{--group:var(--fw)}
.position-group.group-mf{--group:var(--mf)}
.position-group.group-df{--group:var(--df)}
.position-group.group-gk{--group:var(--gk)}
.position-group-button,.position-chip{border-radius:6px;font-size:13px;font-weight:900;white-space:nowrap}
.position-group-button{border:1px solid #d9e0ea;border-left:6px solid var(--group);background:#fff;color:#778194;display:flex;align-items:center;justify-content:center;gap:6px;padding:0 12px}
.position-group-code{color:var(--group);font-weight:950}
.position-buttons{display:flex;gap:7px;flex-wrap:nowrap}
.position-chip{border:1px solid transparent;background:#e8ebf1;color:#9097a4;text-align:center;padding:0 10px}
.position-chip:hover{background:#dfe4ec;color:#697282}
.position-group-button.is-active,.position-chip.is-active{background:color-mix(in srgb,var(--group) 10%,#fff);border-color:color-mix(in srgb,var(--group) 55%,#d9e0ea);color:color-mix(in srgb,var(--group) 72%,#222b3d);box-shadow:inset 3px 0 0 var(--group)}
.grid-basic{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.2fr) minmax(320px,1.35fr);gap:14px}
.field{min-width:0}
.field>span,.metric-title,.field-title-row>span{display:block;font-size:13px;font-weight:900;color:#667287;margin-bottom:6px}
.field select,.field input,.metric input,.stat-filter-composer select,.stat-filter-composer input{height:40px;border:1px solid #d7dfeb;border-radius:8px;background:#fff;color:#333e53;padding:0 10px;outline:none;min-width:0}
.trait-min-control select{border:1px solid #d7dfeb;border-radius:8px;background:#fff;color:#333e53;outline:none;min-width:0}
.field select,.field input{width:100%}
.field-title-row{display:flex;justify-content:space-between;align-items:flex-end;gap:8px;margin-bottom:6px}
.field-title-row>span,.field-title-row .metric-title{margin:0}
.field-title-row small{font-size:12px;color:#8c97a8;font-weight:800;text-align:right;white-space:nowrap}
.autocomplete{position:relative}
.autocomplete>input{padding-right:36px}
.autocomplete>button{position:absolute;right:6px;top:6px;width:28px;height:28px;border:0;border-radius:7px;background:#f1f4f8;color:#8994a4}
.suggestions{display:none;position:absolute;z-index:80;top:44px;left:0;right:0;max-height:260px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow)}
.suggestions.is-open{display:block}
.suggestion{display:flex;justify-content:space-between;gap:10px;padding:9px 10px;cursor:pointer}
.suggestion b{font-size:12px}
.suggestion small{font-size:12px;color:#8a95a5}
.body-filter-control,.foot-buttons{display:flex;gap:6px}
.body-filter-control button,.foot-buttons button{height:40px;border:1px solid #d7dfeb;background:#fff;border-radius:9px;color:#5a6678;font-weight:900;padding:0 16px}
.body-filter-control button.is-active,.foot-buttons button.is-active{background:var(--navy);border-color:var(--navy);color:#fff}
.body-unique-toggle.is-active{background:#fff7d8!important;border-color:#e9c65e!important;color:#765900!important}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:14px 16px}
.metric{min-width:0}
.range-pair{display:grid;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);align-items:center;gap:5px}
.range-pair span{text-align:center;color:#929cab;font-size:12px}
.range-pair input{width:100%}
.weak-control{display:flex;align-items:center;gap:7px}
.weak-values{display:flex;gap:5px;flex-wrap:nowrap}
.weak-values button,.weak-plus{width:36px;height:36px;border-radius:9px;border:1px solid #d6dfeb;background:#fff;color:#586477;font-weight:950}
.weak-values button.is-active{background:var(--navy);color:#fff;border-color:var(--navy)}
.weak-plus{font-size:20px}
.weak-plus.is-active{background:#ddf5fc;border-color:#85d5ec;color:#079dcc}
.stat-filter-composer{display:grid;grid-template-columns:minmax(190px,1.5fr) minmax(90px,.6fr) 16px minmax(90px,.6fr) 42px;gap:7px;align-items:center;max-width:850px}
.stat-filter-composer select,.stat-filter-composer input{width:100%}
.stat-filter-composer>span{text-align:center;color:#929cab}
.stat-filter-add{height:40px;border:1px dashed #89d8ef;border-radius:9px;background:#eaf9fd;color:#09a5d4;font-size:22px;font-weight:950}
.stat-filter-chip b{color:#273247}
.trait-toolbar{align-items:stretch}
.trait-picker{min-width:150px}
.trait-min-control{height:40px;display:inline-flex;align-items:center;gap:7px;border:1px solid #d9e0ea;border-radius:9px;padding:0 10px;color:#738095;font-size:12px;font-weight:850}
.trait-min-control select{width:58px;height:32px;padding:0 6px;font-weight:900}
.trait-min-control.is-disabled{opacity:.45}
.filter-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px}
.active-filters{margin:0}
.filter-action-buttons{display:flex;gap:8px;flex:0 0 auto}
.results-section{margin-top:14px}
.results-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding:0 2px 8px}
.result-title{display:flex;align-items:baseline;gap:5px}
.result-title strong{font-size:23px}
.result-title span{font-size:13px;font-weight:850;color:#6f7a8c}
.result-sub{display:flex;gap:10px;margin-top:3px;font-size:12px;color:#8b96a6;font-weight:750}
.results-controls{gap:10px;justify-content:flex-end;flex-wrap:wrap}
.results-controls label{font-size:13px;font-weight:800;color:#6b778a}
.results-controls select{height:34px;border:1px solid #d7dfeb;border-radius:8px;background:#fff;padding:0 8px}
.asset-inline{font-size:12px;color:#9aa4b2;font-weight:750}
.asset-inline.is-ready{color:#3aa873}
.results-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow)}
.result-scroll{overflow:auto}
.player-table th,.player-table td{border-right:1px solid var(--line2);border-bottom:1px solid var(--line2)}
.player-table th:last-child,.player-table td:last-child{border-right:0}
.head-cell{background:#f5f7fa;color:#596579;font-size:12px;font-weight:950;text-align:center}
.head-cell.sortable{cursor:pointer}
.head-cell.sortable:hover{background:#edf3f8}
.sort-mark{margin-left:4px;color:#9aa4b2}
.cell{background:#fff}
.player-cell{text-align:left}
.sticky-first{position:sticky;left:0;z-index:4;background:#fff}
.head-cell.sticky-first{z-index:8;background:#f5f7fa}
.player-main{height:100%;display:flex;align-items:center;cursor:pointer;min-width:0}
.player-photo{flex:0 0 66px;border-radius:7px;background:linear-gradient(#f7f8fb,#eef2f6);display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.player-photo img{max-width:100%;max-height:100%;object-fit:contain}
.player-copy{flex:1}
.season-icon{max-width:104px;height:19px;object-fit:contain;object-position:left center}
.player-name{font-weight:950;color:#182238;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.position-overalls{display:flex;align-items:center}
.pos-line{display:inline-flex;align-items:baseline;font-weight:950}
.pos-line b.pos-fw{color:var(--fw)}
.pos-line b.pos-mf{color:var(--mf)}
.pos-line b.pos-df{color:var(--df)}
.pos-line b.pos-gk{color:var(--gk)}
.pos-line em{font-style:normal;color:#202a3e;font-weight:900}
.meta-divider{width:1px;height:14px;background:#d8dee8}
.foot-meta{color:#778195;font-weight:650}
.foot-strong{font-weight:950;color:#303b4f}
.foot-dash{margin:0 2px;color:#a2aab6}
.ovr-number{color:#172136}
.stat-number{font-weight:950}
.trait-text-fallback{padding:3px}
.no-trait{color:#aab2bf}
.pager{justify-content:center;gap:6px;margin-top:10px}
.pager button{width:34px;height:32px;border:1px solid #d7dfeb;border-radius:8px;background:#fff;color:#5c687a;font-weight:900}
.pager button:disabled{opacity:.35}
.pager span{min-width:88px;text-align:center;font-size:12px;font-weight:850;color:#667285}
.empty-state{padding:60px;text-align:center;color:#7e899b}
.empty-state b,.empty-state span{display:block}
.empty-state span{font-size:12px;margin-top:6px}
.modal-backdrop,.drawer-backdrop{position:fixed;inset:0;z-index:100;background:rgba(24,31,47,.34)}
.modal-backdrop{display:grid;place-items:center;padding:18px}
.picker-modal{width:min(720px,96vw);max-height:86vh;background:#fff;border-radius:14px;box-shadow:0 22px 70px rgba(19,29,51,.25);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden}
.picker-head{display:flex;justify-content:space-between;gap:14px;padding:17px 18px 10px}
.picker-head h2{margin:0;font-size:17px}
.picker-head p{margin:4px 0 0;color:#8792a3;font-size:12px;line-height:1.45}
.icon-btn{width:34px;height:34px;border:0;border-radius:9px;background:#f1f4f8;color:#687487;font-size:20px}
.picker-search{padding:0 18px 10px}
.picker-search input{width:100%;height:40px;border:1px solid #d7dfeb;border-radius:9px;padding:0 11px}
.picker-list{overflow:auto;padding:0 10px 8px}
.picker-option{display:grid;grid-template-columns:24px 48px minmax(0,1fr);align-items:center;gap:8px;min-height:50px;padding:6px 9px;border-radius:8px;cursor:pointer}
.picker-option:hover,.picker-option.is-selected{background:#f3f7fb}
.picker-image{max-width:44px;height:28px;object-fit:contain}
.trait-picker-image{width:28px;height:28px}
.picker-text{min-width:0}
.picker-text b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.picker-text small{font-size:12px;color:#8d97a6}
.new-tag{background:#f4c438;color:#6e5300;border-radius:99px;padding:2px 5px;font-size:12px}
.picker-foot{display:flex;justify-content:flex-end;gap:8px;padding:11px 18px;border-top:1px solid var(--line2)}
.drawer-backdrop{display:flex;justify-content:flex-end}
.drawer{width:min(480px,94vw);height:100%;background:#fff;box-shadow:-16px 0 50px rgba(25,37,58,.18);overflow:auto;font-size:15px;line-height:1.45}
.drawer-head{position:sticky;top:0;z-index:2;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px}
.drawer-player-head{display:flex;gap:10px;align-items:center;flex:1;min-width:0}
.drawer-avatar{width:52px;height:58px;flex:0 0 52px;background:#f3f5f8;border-radius:9px;overflow:hidden;display:grid;place-items:end center}
.drawer-avatar img{max-width:100%;max-height:100%}
.drawer-identity{min-width:0}
.drawer-name{font-weight:950;font-size:20px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drawer-meta,.drawer-bio{font-size:13px;color:#5f6d81;margin-top:3px;line-height:1.35;overflow-wrap:anywhere}
.drawer-header-actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}
.drawer-ovr{text-align:right;line-height:1.1}
.drawer-ovr small{display:block;font-size:12px;font-weight:850;color:#5f6d81}
.drawer-ovr strong{display:block;font-size:30px;font-weight:950;color:var(--navy);font-variant-numeric:tabular-nums}
.drawer-body{padding:14px}
.drawer-boost{background:#eff8fb;border:1px solid #d7eff6;border-radius:9px;padding:11px;color:#26758d;font-size:13px;font-weight:850}
.drawer-boost-controls{display:flex;flex-wrap:wrap;gap:10px}
.drawer-adjust{flex:1 1 110px;min-width:0}
.drawer-adjust label{display:block;margin-bottom:5px;font-size:13px;line-height:1.25}
.drawer-adjust-fields{display:flex;align-items:center;gap:5px}
.drawer-adjust-fields select{min-width:0;height:34px;border:1px solid #bedde7;border-radius:7px;background:#fff;color:#303a4f;font-size:14px;font-weight:800;padding:0 6px}
.drawer-adjust-fields select{flex:1;width:100%}
.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:12px}
.summary-box{border:1px solid var(--line);border-radius:9px;padding:10px 5px;text-align:center;min-width:0}
.summary-box span{display:block;font-size:13px;color:#5f6d81;line-height:1.3}
.summary-box strong{display:block;margin-top:4px;font-size:15px;line-height:1.3;overflow-wrap:anywhere}
.drawer-section{margin-top:20px}
.drawer-section h3{font-size:18px;margin:0 0 10px;color:var(--navy)}
.trait-pills{display:flex;gap:7px;flex-wrap:wrap}
.trait-pill{display:inline-flex;align-items:center;gap:5px;border:1px solid #dce4ee;border-radius:99px;padding:6px 9px;font-size:13px;font-weight:800}
.trait-pill img{width:22px;height:22px;object-fit:contain}
.trait-pill.gold{background:#fff8da;border-color:#e7c65e}
.stat-group{margin-top:12px}
.stat-group-title{font-size:13px;font-weight:950;color:#596579;margin-bottom:5px}
.stat-tiles,.drawer-stats-list{display:grid;grid-template-columns:1fr;gap:0}
.stat-tile{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #edf1f5;padding:8px 3px;font-size:15px}
.stat-tile strong{font-size:15px;flex:0 0 auto;font-variant-numeric:tabular-nums}
.club-history-list{list-style:none;margin:0;padding:0}
.club-history-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 3px;border-bottom:1px solid #edf1f5}
.club-history-name{min-width:0;overflow-wrap:anywhere;font-size:15px}
.club-history-period{flex:0 0 auto;color:#5f6d81;font-size:13px;white-space:nowrap}
.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:150;background:#242d42;color:#fff;border-radius:9px;padding:9px 13px;font-size:13px;font-weight:800;box-shadow:var(--shadow)}
@media(max-width:1180px){
.grid-basic{grid-template-columns:1fr 1.2fr}
.body-filter-field{grid-column:1/3}
.metric-grid{grid-template-columns:repeat(3,minmax(160px,1fr))}
.player-table col.col-player{width:272px}
}
@media(max-width:820px){
.topbar{position:relative;height:auto;min-height:56px;flex-wrap:wrap;gap:8px;padding:9px 12px}
.boost-bar{position:relative;top:auto;flex-wrap:wrap;padding:8px 12px}
.boost-summary{margin-left:0}
.filter-row{display:block}
.filter-label{justify-content:flex-start;border-right:0;border-bottom:1px solid var(--line2);padding:9px 13px}
.filter-content{padding:12px 13px}
.grid-basic{grid-template-columns:1fr}
.body-filter-field{grid-column:auto}
.metric-grid{grid-template-columns:repeat(2,minmax(145px,1fr))}
.search-box .primary-btn{min-width:92px}
.results-toolbar{align-items:flex-start;flex-direction:column}
.results-controls{justify-content:flex-start}
/* v6: keep the floating results header available at narrow split-screen widths. */
.stat-filter-composer{grid-template-columns:minmax(150px,1fr) 80px 12px 80px 40px}

}
@media(max-width:520px){
main{padding:10px 8px 24px}
.search-box input{height:50px;font-size:15px}
.metric-grid{grid-template-columns:1fr}
.body-filter-control{flex-wrap:wrap}
.class-toolbar,.trait-toolbar{align-items:stretch}
.picker-btn,.trait-min-control{flex:1 1 145px}
.stat-filter-composer{grid-template-columns:1fr 1fr 12px 1fr 40px}
.player-photo{width:58px;height:70px;flex-basis:58px}
.player-name{font-size:14px}
}
@media(max-width:440px){
.drawer-head{gap:8px;padding:10px 11px}
.drawer-player-head{gap:8px}
.drawer-avatar{width:44px;height:52px;flex-basis:44px}
.drawer-name{font-size:18px}
.drawer-header-actions{gap:6px}
.drawer-ovr strong{font-size:27px}
.drawer-header-actions .icon-btn{width:30px;height:30px}
.drawer-body{padding:12px}
.drawer-adjust{flex-basis:calc(50% - 5px)}
.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.club-history-list li{align-items:flex-start;gap:8px}
.club-history-period{font-size:12px}
}
.results-card{overflow:hidden}
.result-scroll{overflow-x:auto;overflow-y:visible;max-width:100%;scrollbar-width:thin}
.player-table{border-collapse:separate;border-spacing:0;table-layout:fixed;background:#fff}
.head-cell{height:48px;padding:3px 4px;white-space:normal;line-height:1.15}
.basic-head{font-size:12px}
.dynamic-head{position:relative;cursor:grab;user-select:none}
.dynamic-head:active{cursor:grabbing}
.dynamic-head.is-dragging{opacity:.42;background:#eaf5fb}
.dynamic-head.is-drag-over{box-shadow:inset 3px 0 0 var(--cyan)}
.column-head-inner{position:relative;height:40px;display:flex;align-items:center;justify-content:center}
.column-label{display:block;max-width:100%;font-weight:950;text-align:center}
.column-sort-btn,.column-remove-btn{position:absolute;top:9px;width:20px;height:22px;border:0;border-radius:5px;background:transparent;color:#929dad;font-size:12px;font-weight:950;padding:0}
.column-sort-btn{right:20px}
.column-remove-btn{right:1px}
.column-sort-btn:hover,.column-sort-btn.is-active{background:#e6f7fc;color:#0aa3d2}
.column-remove-btn:hover{background:#fff0f2;color:#d14c59}
.trait-head-inner{flex-direction:column;gap:3px}
.trait-head .column-label{font-size:12px}
.gold-priority-btn{height:22px;border:1px solid #d7dfeb;border-radius:6px;background:#fff;color:#788497;padding:0 6px;font-size:12px;font-weight:900;white-space:nowrap}
.gold-priority-btn:hover{background:#fff9df;border-color:#e8c65f;color:#8a6500}
.gold-priority-btn.is-active{background:#f2c33c;border-color:#dda900;color:#5e4700}
.player-row{height:108px}
.cell{height:108px;padding:5px 6px}
.season-line{height:20px;display:flex;align-items:center;min-width:0}
.season-logo-crop{width:25px;height:19px;display:inline-flex;align-items:center;justify-content:flex-start;overflow:hidden;flex:0 0 25px}
.season-logo-crop .season-icon{height:19px;width:auto;max-width:none;object-fit:contain;object-position:left center}
.season-name-badge{display:inline-flex;align-items:center;height:20px;max-width:105px;padding:0 6px;border-radius:4px;background:#313750;color:#fff;font-size:12px;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.player-name{margin-top:3px}
.salary-cell,.num-cell,.total-cell,.physical-cell{text-align:center;font-variant-numeric:tabular-nums;font-weight:950}
.salary-cell{font-size:13px}
.num-cell{font-size:14px}
.ovr-number{font-size:15px}
.total-cell{font-size:13px}
.trait-cell{position:relative;text-align:center;padding:2px}
.trait-icon-wrap{position:absolute;left:var(--tx);top:var(--ty);display:grid;place-items:center;z-index:1}
.trait-icon-wrap.is-gold{z-index:3}
.trait-icon{object-fit:contain;filter:drop-shadow(0 1px 1px rgba(25,33,48,.08))}
.trait-text-fallback{display:none;place-items:center;border:1px solid #d9c06e;background:#fff7cf;border-radius:50%;font-size:12px;font-weight:950;color:#705300}
.sticky-result-header{position:fixed;top:var(--result-sticky-top);z-index:50;display:none;overflow:hidden;border:0;border-bottom:1px solid var(--line);background:#f5f7fa;box-shadow:0 4px 12px rgba(28,42,65,.08)}
.sticky-result-header.is-visible{display:block}
.sticky-result-scroll{width:100%;overflow:hidden}
.sticky-result-scroll .player-table{transform-origin:left top}
.sticky-result-header .sticky-first{position:relative;left:auto;z-index:8;background:#f5f7fa}
.filter-top-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);border-bottom:1px solid var(--line2)}
.top-filter-panel{display:grid;grid-template-columns:116px minmax(0,1fr);min-width:0;background:#fff}
.top-filter-panel.position-panel{border-right:1px solid var(--line2)}
.top-filter-panel .filter-label{border-bottom:0}
.top-filter-panel .filter-content{min-height:100%;padding:14px 18px}
.class-compact-content{display:flex;flex-direction:column;justify-content:flex-start}
.class-filter-chips{margin-top:8px;max-height:72px;overflow:auto;scrollbar-width:thin}
.position-content{overflow-x:auto;overflow-y:hidden}
.position-group-button,.position-chip{height:40px}
.position-chip{width:78px}
.position-group-button{min-width:98px}
.picker-modal.is-season-picker{width:min(1180px,96vw)}
.picker-list.is-season-grid{display:flex;flex-wrap:wrap;align-content:flex-start;gap:8px;padding:4px 14px 14px}
.season-picker-option{appearance:none;width:max-content;max-width:330px;min-width:150px;min-height:54px;display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid #e0e6ee;border-radius:10px;background:#fff;color:var(--ink);text-align:left;position:relative}
.season-picker-option:hover{background:#f7f9fc;border-color:#cfd9e6}
.season-picker-option.is-selected{background:#f0f6fb;border-color:#9fc8e5;box-shadow:inset 0 0 0 1px #9fc8e5}
.season-picker-image{width:42px;max-width:42px;height:34px;flex:0 0 42px;object-fit:contain}
.season-picker-copy{min-width:0;display:flex;flex-direction:column;gap:2px}
.season-picker-copy b{font-size:12px;font-weight:950;line-height:1.2;white-space:nowrap}
.season-picker-copy small{font-size:12px;font-weight:750;color:#8d98a8;white-space:nowrap}
.season-selected-mark{margin-left:2px;color:#0aa5d4;font-size:12px;font-weight:950}
.player-table col.col-player{width:300px}
.player-table col.col-filler{width:0}
.filler-head{background:#f5f7fa;padding:0;border-right:0!important}
.filler-cell{background:#fff;padding:0;border-right:0!important}
.add-column-toolbar{border-color:#9dd8e9;background:#edfaff;color:#079bc8}
.player-main{gap:8px;overflow:visible}
.player-photo{width:60px;height:72px;flex-basis:60px}
.player-copy{min-width:0;overflow:visible}
.season-line{gap:6px}
.position-overalls{margin-top:4px;gap:4px;overflow:visible;white-space:nowrap;min-width:0}
.pos-line{gap:2px;flex:0 0 auto;font-size:12px}
.meta-divider{flex:0 0 1px;margin:0 2px}
.foot-meta{flex:0 0 auto;font-size:12px;white-space:nowrap}
.player-name{font-size:15px}
.trait-cell{overflow:visible}
.trait-honeycomb{position:relative;margin:0 auto}
.floating-trait-tooltip{position:fixed;z-index:1000;max-width:min(320px,80vw);padding:6px 9px;border-radius:7px;background:#20283a;color:#fff;font-size:12px;font-weight:850;line-height:1.25;white-space:nowrap;box-shadow:0 8px 24px rgba(25,33,48,.2);pointer-events:none}
.column-head-inner{padding:0 34px 0 5px}
.column-label{font-size:12px;line-height:1.2;overflow-wrap:normal;word-break:keep-all;white-space:normal}
.trait-head-inner{padding:2px 20px 2px 3px}
@media(max-width:1120px){
.filter-top-grid{grid-template-columns:1fr;grid-template-areas:"class" "position"}
.top-filter-panel{grid-template-columns:116px minmax(0,1fr)}
.top-filter-panel.class-panel{grid-area:class;border-bottom:1px solid var(--line2)}
.top-filter-panel.position-panel{grid-area:position;border-right:0}
.class-filter-chips{max-height:none}
}
@media(max-width:820px){
.top-filter-panel{display:block}
.top-filter-panel .filter-label{justify-content:flex-start;border-right:0;border-bottom:1px solid var(--line2);padding:9px 13px}
.top-filter-panel .filter-content{padding:12px 13px}
.picker-modal.is-season-picker{width:min(96vw,760px)}
.season-picker-option{max-width:100%}
.player-table col.col-player{width:286px}
}
@media(max-width:520px){
.season-picker-option{width:100%;max-width:none}
.player-table col.col-player{width:276px}
}
.row-tuning{margin-top:5px;display:flex;align-items:center;gap:5px;width:max-content;max-width:100%;position:relative;z-index:2}
.row-tuning:before{content:'개별';font-size:12px;font-weight:900;color:#9aa4b3;letter-spacing:.02em}
.row-enhance{height:23px;min-width:49px;border:1px solid #d4dce7;border-radius:5px;background:#fff;color:#475369;padding:0 17px 0 6px;font-size:12px;font-weight:900;outline:0}
.row-enhance:focus{border-color:#83cde3;box-shadow:0 0 0 2px rgba(17,169,215,.08)}
.row-teamcolor{height:23px;min-width:78px;border:1px solid #d4dce7;border-radius:5px;background:#fff;color:#475369;padding:0 18px 0 6px;font-size:12px;font-weight:900;outline:0}
.row-teamcolor:focus{border-color:#83cde3;box-shadow:0 0 0 2px rgba(17,169,215,.08)}
.drawer-boost small{display:block;margin-top:8px;font-size:13px;font-weight:750;line-height:1.45;color:#6d91a0}
.trait-icon-wrap{width:27px;height:27px}
.trait-icon{width:27px;height:27px}
.trait-text-fallback{width:25px;height:25px}
.price-slider{--price-from:0%;--price-to:100%;position:relative;margin-top:1px}
.price-slider-track{position:absolute;left:0;right:0;top:13px;height:5px;border-radius:99px;background:linear-gradient(to right,#e2e8f0 0 var(--price-from),var(--cyan) var(--price-from) var(--price-to),#e2e8f0 var(--price-to) 100%)}
.price-slider input{position:absolute;inset:0;width:100%;height:30px;margin:0;background:none;pointer-events:none;appearance:none;-webkit-appearance:none}
.price-slider input::-webkit-slider-runnable-track{height:5px;background:transparent}
.price-slider input::-webkit-slider-thumb{width:17px;height:17px;margin-top:-6px;border:3px solid var(--navy);border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(26,39,61,.2);pointer-events:auto;appearance:none;-webkit-appearance:none;cursor:grab}
.price-slider input::-moz-range-track{height:5px;background:transparent}
.price-slider input::-moz-range-thumb{width:12px;height:12px;border:3px solid var(--navy);border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(26,39,61,.2);pointer-events:auto;cursor:grab}
.price-cell{text-align:center;font-variant-numeric:tabular-nums}
.price-cell strong{display:block;color:#172136;font-size:12px;font-weight:950;white-space:nowrap}
.price-cell small{display:block;margin-top:3px;color:#98a2b1;font-size:12px;font-weight:850}
.price-pending{color:#9aa5b4;font-size:12px;font-weight:800}
.player-row[hidden]{display:none}
@media(max-width:820px){
.row-tuning{gap:4px}
.row-tuning:before{display:none}
.row-enhance{min-width:47px}
.row-teamcolor{min-width:72px}
}
.weak-plus:disabled{cursor:default;opacity:.34;background:#f5f7fa;color:#aeb7c3;border-color:#e2e8f0;box-shadow:none}
.picker-modal.is-trait-picker{width:min(980px,96vw)}
.picker-list.is-trait-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:4px 14px 14px;align-content:start}
.trait-picker-option{min-width:0;min-height:62px;display:grid;grid-template-columns:34px minmax(0,1fr) 18px;gap:8px;align-items:center;padding:8px 9px;border:1px solid #e2e7ef;border-radius:10px;background:#fff;text-align:left}
.trait-picker-option:hover{background:#f8fafc;border-color:#ccd7e4}
.trait-picker-option.is-selected{background:#eef8fc;border-color:#77cbe4;box-shadow:inset 0 0 0 1px #77cbe4}
.trait-picker-option .trait-picker-image{width:32px;height:32px;object-fit:contain}
.trait-picker-option .picker-text{min-width:0}
.trait-picker-option .picker-text b{display:flex;align-items:center;gap:4px;min-width:0;font-size:12px;line-height:1.2;white-space:normal;overflow:visible;text-overflow:clip}
.trait-picker-option .picker-text small{display:block;margin-top:4px;font-size:12px;color:#8b96a6}
.trait-selected-mark{width:18px;height:18px;display:grid;place-items:center;border-radius:50%;color:#0aa5d4;font-size:12px;font-weight:950}
.trait-picker-option:not(.is-selected) .trait-selected-mark{color:transparent}
.new-tag{flex:0 0 auto;margin-left:0}
.trait-honeycomb{width:102px}
@media(max-width:920px){
.picker-list.is-trait-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:680px){
.picker-list.is-trait-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:440px){
.picker-list.is-trait-grid{grid-template-columns:1fr}
}
.price-error{display:flex;align-items:center;gap:12px;justify-content:space-between;margin:0 0 10px;padding:10px 12px;border:1px solid #edd5aa;border-radius:8px;background:#fff9ef;color:#80541d;font-size:12px;line-height:1.6}
.price-error.hidden{display:none}
.price-error button{flex-shrink:0}
#priceFilterInfo{display:block;color:#7a8592}
@media(max-width:640px){
.price-error{align-items:flex-start;flex-direction:column;gap:6px}
}
.search-box{overflow:visible}
.search-entry{position:relative;flex:1;min-width:0}
.search-entry>input{width:100%;border-radius:10px 0 0 10px}
.search-box .primary-btn{border-radius:0 9px 9px 0}
.search-entry .suggestions{top:calc(100% + 8px)}
.suggestion{width:100%;align-items:center;border:0;border-bottom:1px solid var(--line2);background:#fff;color:var(--ink);text-align:left}
.suggestion:last-child{border-bottom:0}
.suggestion:hover,.suggestion.is-active{background:#edf8fc}
.suggestion mark{background:none;color:#0789b2}
.suggestion b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.suggestion small{flex-shrink:0}
.weak-foot-metric{width:max-content;max-width:100%}
.weak-foot-metric .field-title-row{display:grid;grid-template-columns:1fr 36px;gap:7px}
.weak-foot-metric .field-title-row small{justify-self:center;text-align:center}
.price-range-editor{display:grid;grid-template-columns:minmax(145px,190px) minmax(160px,1fr) minmax(145px,190px);align-items:center;gap:24px}
.price-field{display:grid;gap:5px;min-width:0;color:#667287;font-size:12px;font-weight:850}
.price-input-wrap{position:relative;display:block}
.price-input-wrap input{width:100%;height:42px;border:1px solid #d7dfeb;border-radius:8px;background:#fff;padding:0 34px 0 11px;color:#253046;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;outline:0}
.price-input-wrap input:focus{border-color:#11a9d7;box-shadow:0 0 0 3px #11a9d712}
.price-input-wrap>span{position:absolute;right:11px;top:14px;color:#8d98a8;font-size:12px;font-style:normal;pointer-events:none}
.price-field output{min-height:15px;color:#068db8;font-size:12px}
.price-track-area{min-width:0}
.price-range-caption,.price-range-note{display:flex;justify-content:space-between;gap:8px;color:#8c97a8;font-size:12px}
.price-scale{display:flex;justify-content:space-between;gap:8px;color:#8c97a8}
.price-range-caption{margin-bottom:2px}
.price-range-caption strong{color:#667287;font-weight:850}
.price-range-caption span{font-size:12px}
.price-slider{height:30px;margin:0 9px}
.price-slider input{border:0;border-radius:0;padding:0;outline:0;box-shadow:none}
.price-slider input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px #11a9d733}
.price-slider input:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px #11a9d733}
.price-scale{font-size:12px;padding:0 3px}
.price-range-note{margin-top:9px;flex-wrap:wrap}
#priceFilterInfo{font-size:12px;min-height:0}
.picker-modal.is-column-picker{width:min(720px,94vw);max-height:min(760px,88vh);grid-template-rows:auto auto auto minmax(0,1fr) auto;border:1px solid #e9edf3;border-radius:20px}
.is-column-picker .picker-head{padding:24px 24px 18px;align-items:center}
.is-column-picker .picker-head h2{font-size:20px;letter-spacing:-.6px}
.is-column-picker .picker-head p{font-size:12px;color:#8992a2;margin-top:7px}
.is-column-picker .icon-btn{width:32px;height:32px;background:#f5f6f9;border-radius:50%;font-size:21px}
.is-column-picker .picker-search{padding:0 24px 16px;position:relative}
.is-column-picker .picker-search:before{content:'';position:absolute;width:11px;height:11px;border:1.5px solid #929dac;border-radius:50%;top:14px;left:39px;pointer-events:none}
.is-column-picker .picker-search:after{content:'';position:absolute;width:6px;height:1.5px;background:#929dac;transform:rotate(45deg);top:26px;left:49px;pointer-events:none}
.is-column-picker .picker-search input{height:44px;padding-left:40px;background:#f6f8fb;border-color:transparent;border-radius:11px;font-size:13px}
.is-column-picker .picker-search input:focus{background:#fff;border-color:#91cfe1;outline:2px solid #11a9d712}
.column-tabs{display:flex;gap:5px;flex-wrap:wrap;padding:0 24px 18px;border-bottom:1px solid #edf0f5}
.column-tabs.hidden{display:none}
.column-tab{appearance:none;border:0;border-radius:7px;background:transparent;padding:7px 10px;color:#7b8798;font-size:12px;font-weight:750}
.column-tab:hover{background:#f4f6f9;color:#2c364b}
.column-tab.is-active{color:#fff;background:#303b52}
.picker-list.is-column-list{padding:18px 24px 24px;overscroll-behavior:contain;scrollbar-width:thin}
.column-group+.column-group{margin-top:20px}
.column-group-title{display:flex;align-items:center;gap:7px;margin:0 0 8px;font-size:12px;font-weight:800;color:#8994a5}
.column-group-title small{color:#adb6c2;font-size:12px;font-weight:600}
.column-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px}
.column-option{appearance:none;display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;min-height:43px;padding:10px 12px;border:1px solid transparent;border-radius:9px;background:#f7f8fb;color:#384359;text-align:left;font-size:12px;font-weight:650;transition:background .12s,border-color .12s}
.column-option:hover{background:#edf2f7}
.column-option.is-selected{background:#edf8fc;border-color:#b5e0ec;color:#087fa3}
.column-option:focus-visible,.column-tab:focus-visible{outline:2px solid #42b6d7;outline-offset:2px}
.column-option-check{display:grid;place-items:center;flex:0 0 17px;width:17px;height:17px;border:1px solid #d1d9e4;border-radius:5px;background:#fff;color:transparent;font-size:12px;font-weight:850}
.column-option.is-selected .column-option-check{border-color:#119fc7;background:#119fc7;color:#fff}
.is-column-picker .picker-foot{padding:16px 24px;background:#fcfdff;align-items:center}
.is-column-picker .picker-foot .secondary-btn{background:transparent;border-color:transparent;color:#8b96a6;padding:0 10px}
.is-column-picker .picker-foot .primary-btn{min-height:38px;min-width:110px;border-radius:9px}
#pickerSelection{align-self:center;margin-right:auto;color:#8b96a6;font-size:12px}
.picker-foot button{font-size:12px}
.picker-foot button:disabled{opacity:.4;cursor:default}
.picker-empty{grid-column:1/-1;padding:24px;text-align:center;color:#8b96a6;font-size:12px}
.picker-search input:focus{outline:2px solid #11a9d72b;outline-offset:1px;border-color:#6cc4df}
button.column-label{appearance:none;border:0;background:none;padding:0;color:inherit;cursor:pointer}
button.column-label:hover{color:#079bc8}
@media(max-width:680px){
.price-range-editor{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}
.price-track-area{grid-column:1/-1;grid-row:2}
}
@media(max-width:380px){
.column-options{grid-template-columns:1fr}
.is-column-picker .picker-head{padding:18px 18px 14px}
.is-column-picker .picker-search{padding-right:18px;padding-left:18px}
.is-column-picker .picker-search:before{left:33px}
.is-column-picker .picker-search:after{left:43px}
.column-tabs,.picker-list.is-column-list{padding-right:18px;padding-left:18px}
.is-column-picker .picker-foot{padding:12px 18px}
.price-input-wrap input{font-size:12px;padding-left:8px}
}
.price-filter-toggle{display:inline-flex;align-items:center;gap:6px;color:#546276;font-size:12px;font-weight:750;cursor:pointer}
.price-filter-toggle input{width:14px;height:14px;margin:0;accent-color:#099fc8}
.price-range-note #priceFilterInfo{margin-right:auto;align-self:center}
.market-progress{--market-color:#11a9d7;margin:0 0 14px;padding:16px 18px;background:#f4fafc;border:1px solid #dceef4;border-radius:12px}
.market-topline{display:flex;align-items:center;gap:8px}
.market-topline strong{font-size:12px;color:#3c5166;font-weight:800}
.market-topline #marketEta{margin-left:auto;font-size:12px;font-weight:800;color:#058cb5;font-variant-numeric:tabular-nums}
.market-status-dot{width:7px;height:7px;flex-shrink:0;border-radius:50%;background:var(--market-color)}
.market-progress progress{appearance:none;display:block;width:100%;height:5px;margin:12px 0 9px;overflow:hidden;border:0;border-radius:9px;background:#e4edf2;color:var(--market-color)}
.market-progress progress::-webkit-progress-bar{background:#e4edf2;border-radius:9px}
.market-progress progress::-webkit-progress-value{background:var(--market-color);border-radius:9px;transition:width .3s}
.market-progress progress::-moz-progress-bar{background:var(--market-color);border-radius:9px}
.market-bottomline{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#8594a3;line-height:1.5}
#marketCount{white-space:nowrap;font-variant-numeric:tabular-nums;color:#5f788d}
.market-progress.is-ready{--market-color:#26a37f;padding:12px 16px;background:#f7fbf9;border-color:#deeee6}
.market-progress.is-ready progress,.market-progress.is-ready #marketHint{display:none}
.market-progress.is-ready #marketEta{color:#208568}
.market-progress.is-ready .market-bottomline{margin-top:5px}
.market-progress.is-paused{--market-color:#d19a43;background:#fffbf3;border-color:#eddfc5}
.market-progress.is-paused #marketEta{color:#aa782d}
@media(max-width:640px){.market-bottomline{flex-direction:column;gap:3px}.market-topline{flex-wrap:wrap}.market-topline #marketEta{font-size:12px}}

/* v22: 강화 범위 검색 */
.enhance-range-metric .field-title-row{align-items:center}.mini-check{display:flex;align-items:center;gap:4px;font-size:12px;color:#6f7a8c;font-weight:800}.mini-check input{margin:0}.enhance-range-pair select{width:100%;height:34px;border:1px solid #d7dfeb;border-radius:7px;background:#fff;padding:0 8px;font-weight:800;color:#303a4f}.metric-help{display:block;margin-top:5px;font-size:12px;color:#98a2b2;line-height:1.35}.row-range-grade{display:inline-flex;align-items:center;height:25px;padding:0 8px;border:1px solid #d5deea;border-radius:6px;background:#f6f8fb;color:#37445a;font-size:12px;font-weight:900}

/* v22 light UI: 체형 보조문구를 고유 버튼 바로 위에 배치 */
.body-filter-control{align-items:flex-end}
.body-base-buttons{display:flex;gap:6px;flex-wrap:wrap}
.body-unique-stack{display:flex;flex-direction:column;align-items:center;gap:4px}
.body-filter-field #bodyHelper{font-size:12px;line-height:1;color:#8c97a8;font-weight:850;white-space:nowrap}
.body-unique-stack .body-unique-toggle{min-width:76px}

/* Same selection/+ interaction as weak foot; fit six stars into its grid cell. */
.skill-control{gap:5px}
.skill-control .weak-values{flex:1;min-width:0;gap:3px}
.skill-control .weak-values button{flex:1;min-width:0;width:auto;padding:0 1px;font-size:12px}
.skill-control .weak-plus{flex:0 0 30px;width:30px}
.skill-control button:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.tie-sort-open.is-active{border-color:#079bc8;background:#edfaff;color:#079bc8}
.tie-sort-modal{grid-template-rows:auto auto minmax(0,1fr) auto}
.tie-sort-composer>div{display:flex;gap:8px;margin-top:8px}
.tie-sort-composer select{flex:1;min-width:0;height:38px;border:1px solid #d7dfeb;border-radius:9px;padding:0 9px;background:#fff}
.tie-sort-body{overflow:auto;padding:0 18px 10px}
.tie-sort-block{display:flex;align-items:center;gap:7px;min-height:48px;margin-bottom:7px;padding:8px;border:1px solid #e2e7ef;border-radius:9px;background:#fff}
.tie-sort-block strong{flex:1;min-width:60px;font-size:12px;overflow-wrap:anywhere}
.tie-sort-number{color:#8792a3;font-size:12px;min-width:16px;text-align:center}
.tie-sort-handle{cursor:grab;color:#8792a3;font-size:17px;user-select:none}
.tie-sort-block select{max-width:115px;height:32px;border:1px solid #d7dfeb;border-radius:7px;background:#fff;font-size:12px}
.tie-sort-block .icon-btn{flex:0 0 27px;width:27px;height:29px;font-size:16px}
.tie-sort-block button:disabled,.tie-sort-composer button:disabled{opacity:.35;cursor:default}
.tie-sort-block.is-locked{background:#f6f8fb}
.tie-sort-locked{font-size:12px;color:#8792a3}
.tie-sort-info,.tie-sort-empty{font-size:12px;color:#8792a3;line-height:1.6;padding:5px 0}
#tieSortList{min-height:44px}
@media(max-width:520px){.tie-sort-block{flex-wrap:wrap}.tie-sort-block strong{flex-basis:calc(100% - 68px)}.tie-sort-block.is-locked strong{flex-basis:auto}}

/* Readable captions retain the original filter layout. */
.metric-title,.field-title-row,.boost-label{font-size:14px;color:#59677c}
.metric-help,.boost-summary small,.drawer-boost small{font-size:12px;color:#607386;line-height:1.5}
.drawer-bio{font-size:14px;color:#526177}
.drawer-adjust-fields select:focus-visible{outline:2px solid #0a9ecb;outline-offset:2px}

/* Comparison stays inside the existing player column and uses independent, session-only snapshots. */
.player-copy{position:relative}
.player-copy .season-line{padding-right:62px}
.compare-add{position:absolute;right:0;top:0;min-width:55px;height:22px;padding:0 5px;border:1px solid #cbdde8;border-radius:6px;background:#f4fafc;color:#447186;font-size:11px;font-weight:850;white-space:nowrap}
.compare-add:hover,.compare-add.is-selected{border-color:#62bfd9;background:#e7f7fc;color:#087e9e}
.compare-add:focus-visible,.comparison-bar button:focus-visible,.comparison-modal button:focus-visible,.comparison-modal select:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.comparison-bar{position:fixed;z-index:85;bottom:16px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;width:max-content;max-width:calc(100vw - 24px);padding:10px 13px;border:1px solid #d3e4ec;border-radius:12px;background:#fff;box-shadow:0 8px 30px rgba(25,39,65,.18)}
.comparison-bar>strong{flex:0 0 auto;color:var(--navy);font-size:13px}
.comparison-chips{display:flex;align-items:center;gap:6px;min-width:0;overflow-x:auto}
.comparison-chip{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;padding:5px 7px;border:1px solid #dce6ef;border-radius:7px;background:#f6f9fc;font-size:12px;color:#536176}
.comparison-chip>span{max-width:175px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.comparison-chip button{width:20px;height:20px;padding:0;border:0;border-radius:4px;background:transparent;color:#68798e;font-size:17px}
.comparison-bar-actions{display:flex;gap:6px;flex:0 0 auto}
.has-comparison main{padding-bottom:120px}
.comparison-backdrop{z-index:110}
.comparison-modal{display:flex;flex-direction:column;width:min(1100px,96vw);max-height:90vh;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 22px 70px rgba(19,29,51,.25)}
.comparison-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}
.comparison-head h2{font-size:20px;margin:0;color:var(--navy)}
.comparison-head p{margin:5px 0 0;color:#758397;font-size:12px;line-height:1.5}
.comparison-head .icon-btn{flex:0 0 34px}
.comparison-scroll{min-height:0;overflow:auto;overscroll-behavior:contain}
.comparison-table{width:100%;min-width:calc(96px + var(--comparison-count)*235px);border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:14px}
.comparison-table th,.comparison-table td{padding:10px 12px;border-right:1px solid var(--line2);border-bottom:1px solid var(--line2);text-align:center;vertical-align:top;background:#fff;overflow-wrap:anywhere}
.comparison-table tr>*:last-child{border-right:0}
.comparison-table tr>th:first-child{position:sticky;left:0;width:96px;padding-left:8px;padding-right:8px;z-index:2;background:#f7f9fc;color:#637188;font-size:13px;text-align:left;font-weight:850;white-space:nowrap;word-break:keep-all;overflow-wrap:normal}
.comparison-table thead th{position:sticky;top:0;z-index:3;background:#fff}
.comparison-table thead th:first-child{z-index:4}
.comparison-player{position:relative;min-height:155px;padding:0 18px 4px}
.comparison-player>img{display:block;width:56px;height:64px;object-fit:contain;margin:0 auto 5px;border-radius:7px;background:#f2f5f9}
.comparison-actions{position:absolute;top:0;right:0;display:flex;align-items:center;gap:6px}
.comparison-class-icon{display:block;width:22px;height:22px;object-fit:contain}
.comparison-remove{width:25px;height:25px;padding:0;border:0;border-radius:6px;background:#f1f4f8;color:#728096;font-size:20px}
.comparison-season{font-size:12px;color:#78869a;font-weight:800}
.comparison-name{display:block;font-size:16px;margin-top:2px;color:var(--ink)}
.comparison-bio{display:block;margin-top:4px;color:#7c8899;font-size:12px;font-weight:650}
.comparison-status{display:block;margin-top:6px;font-size:12px;color:#7a899c;font-weight:650}
.comparison-status.is-error{color:#b46159}
.comparison-settings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:8px}
.comparison-settings label{min-width:0;color:#738297;font-size:12px;font-weight:800;text-align:left}
.comparison-settings select{display:block;width:100%;height:32px;margin-top:4px;padding:0 5px;border:1px solid #d4e0ea;border-radius:6px;background:#fff;color:#37445a;font-size:13px}
.comparison-traits{display:flex;justify-content:center;flex-wrap:wrap;gap:5px}
.comparison-traits .trait-pill{font-size:12px;padding:4px 7px}
.comparison-traits .trait-icon{width:18px;height:18px;flex:0 0 18px;object-fit:contain}
.comparison-stat-value{position:relative;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;font-variant-numeric:tabular-nums}
.comparison-delta{position:absolute;left:100%;margin-left:7px;display:inline-flex;align-items:center;gap:3px;color:#169c45;font-size:12px;font-weight:800;line-height:1}
.comparison-table td.comparison-best{background:#edf8fb;box-shadow:inset 0 -1px #c6eaf2}
@media(max-width:680px){
.comparison-bar{width:calc(100vw - 20px);flex-wrap:wrap;gap:7px;padding:9px 10px;bottom:10px}
.comparison-chips{order:3;flex-basis:100%;width:100%}
.comparison-bar-actions{margin-left:auto}
.comparison-chip>span{max-width:160px}
.comparison-backdrop{padding:8px}
.comparison-modal{width:100%;max-height:94vh;border-radius:11px}
.comparison-head{padding:12px}
.comparison-head h2{font-size:18px}
.comparison-table{min-width:calc(96px + var(--comparison-count)*225px)}
.comparison-table tr>th:first-child{width:96px}
.comparison-table th,.comparison-table td{padding:9px}
}

.comparison-positions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px;margin-top:5px}

/* Both comparison views share entries; normal result column widths stay unchanged. */
#compareModeToggle.is-active{border-color:#79c7de;background:#edf9fd;color:#087f9f}
.player-row.is-comparison-row,.is-comparison-row .cell{height:150px}
.comparison-row-controls{margin-top:6px;cursor:default}
.comparison-row-controls .comparison-settings{margin-top:0;gap:4px}
.comparison-row-controls .comparison-settings label{font-size:12px}
.comparison-row-controls .comparison-settings select{height:29px;font-size:12px;padding:0 3px}
.is-comparison-mode .head-cell.sortable{cursor:default}
.comparison-player{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;align-items:start;min-height:0;padding:0}
.comparison-player>img{width:64px;height:80px;margin:0;border-radius:9px}
.comparison-identity{min-width:0;min-height:80px;text-align:left;display:flex;flex-direction:column;justify-content:space-between}
.comparison-season{line-height:14px;padding-right:60px}
.comparison-name{font-size:17px;line-height:20px;margin-top:1px;padding-right:60px}
.comparison-positions{justify-content:flex-start;column-gap:10px;row-gap:2px;margin-top:2px;line-height:1.1}
.comparison-positions .pos-line{gap:4px;font-size:18px}
.comparison-positions .pos-line em{font-size:22px;letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.comparison-bio{font-size:13px;line-height:16px;margin-top:2px;color:#69788d}
.comparison-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:12px;text-align:center;border:1px solid #e4eaf1;border-radius:9px;overflow:hidden;background:#f7f9fc}
.comparison-summary>div{min-width:0;padding:6px 3px;border:0;border-right:1px solid #e4eaf1;border-bottom:1px solid #e4eaf1;border-radius:0;background:transparent}
.comparison-summary>div:nth-child(4n){border-right:0}
.comparison-summary>div>span{display:block;font-size:12px;color:#67768b;font-weight:650;line-height:1.25}
.comparison-summary>div>strong{display:block;margin-top:3px;font-size:14px;color:#27364e;line-height:1.3;font-variant-numeric:tabular-nums}
.comparison-table thead th{padding:10px}
@media(max-width:680px){
.comparison-bar-actions{gap:4px}
.comparison-bar-actions .compact-btn{padding:7px 6px}
.comparison-summary{gap:0}
.comparison-player{grid-template-columns:50px minmax(0,1fr);gap:7px}
.comparison-player>img{width:50px;height:80px}
.comparison-summary>div>strong{font-size:14px}
}

.comparison-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
.comparison-summary>div:last-child{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:7px;border:0;background:#fff}
.comparison-summary>div:last-child>span{font-size:13px;white-space:nowrap}
.comparison-summary>div:last-child>strong{margin-top:0;white-space:nowrap}

/* The internal three-stage order moves as one nonremovable block. */
.tie-sort-block.is-base{background:#f3f7fb;border-color:#cbd9e8}
.tie-sort-base-order{display:block;margin-top:4px;font-size:12px;font-weight:750;color:#6f7d92;line-height:1.5}
#tieSortPlacement{flex:0 0 145px;font-size:13px}
@media(max-width:520px){
.tie-sort-composer>div{flex-wrap:wrap}
#tieSortItem{flex-basis:100%}
#tieSortPlacement{flex:1}
.tie-sort-block.is-base strong{flex-basis:auto}
}

/* v27.11: small, scoped additions to the existing UI. */
.picker-gold-only{min-height:34px;padding:5px 15px;border:1px solid #dfae36;border-radius:9px;background:#fff9e5;color:#986513;font-size:15px;font-weight:950;cursor:pointer}
.picker-gold-only.is-active{background:linear-gradient(#f9d96c,#e9b72c);color:#543900;border-color:#c68f0a;box-shadow:0 0 0 2px #ffeaa5}
.picker-gold-only:focus-visible,.row-grade-trigger:focus-visible,.row-grade-option:focus-visible{outline:2px solid #0a9ecb;outline-offset:2px}
.drawer-price-section{padding:12px 14px;border:1px solid #dce4ee;border-radius:10px;background:#fcfdff}
.drawer-price-section h3{font-size:16px;display:flex;align-items:center;gap:9px}
.drawer-price-section h3 small{font-size:12px;font-weight:750;color:#728095}
.drawer-price-section>strong{font-size:20px;font-weight:950;color:#19253e;font-variant-numeric:tabular-nums}
.row-grade-trigger{height:25px;display:inline-flex;align-items:center;gap:3px;padding:0 3px 0 0;border:1px solid #d4dce7;background:white;border-radius:5px;cursor:pointer}
.grade-arrow{font-size:14px;color:#65748a;font-weight:900;margin-right:2px}
.grade-badge{display:inline-flex;align-items:center;justify-content:center;min-width:31px;height:23px;padding:0 4px;font-size:13px;font-weight:950;line-height:1;border-radius:2px;color:#f3f6fc;background:#424b57;border:1px solid #9098a5;text-shadow:0 1px 1px #0004}
.grade-badge-2,.grade-badge-3,.grade-badge-4{background:linear-gradient(135deg,#d6966b,#a75f43);color:#653a2a;border-color:#ad664b;text-shadow:none}
.grade-badge-5,.grade-badge-6,.grade-badge-7{background:linear-gradient(140deg,#e1e5eb,#a4adbc);color:#49515b;border-color:#a1a9b6;text-shadow:none}
.grade-badge-8,.grade-badge-9,.grade-badge-10{background:linear-gradient(140deg,#ffe35c,#e1a909);color:#775500;border-color:#d3ad27;text-shadow:none}
.grade-badge-11,.grade-badge-12,.grade-badge-13{background:linear-gradient(135deg,#fa6c43 0%,#edfd57 23%,#5ad9e7 52%,#6660d9 72%,#fa78bf 100%);color:#152448;border-color:#80b7eb;text-shadow:0 1px 2px #fff}
.row-grade-menu{position:fixed;z-index:2000;display:grid;grid-template-columns:repeat(2,37px);gap:3px;padding:5px;border:1px solid #b8c4d5;border-radius:8px;background:#fff;box-shadow:0 10px 28px #18243e42;max-height:85vh;overflow:auto}
.row-grade-option{display:flex;align-items:center;justify-content:center;padding:1px;border:0;border-radius:3px;background:#f4f6f9;cursor:pointer}
.row-grade-option:hover{background:#e2f4fb}
.row-range-grade{height:23px;font-size:11px;padding:0 5px}
.player-name{overflow:visible;text-overflow:clip}

.grade-badge{position:relative;overflow:hidden;min-width:49px;height:25px;padding:0;flex:0 0 49px}
.grade-badge-image{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}
.row-grade-menu{grid-template-columns:repeat(2,54px)}
.row-grade-option{padding:2px}


/* v27.12: preserve the original readable sizing while aligning numeric controls. */
.metric-grid .range-pair select,
.metric-grid .weak-values button,
.metric-grid .weak-plus,
.metric-grid .foot-buttons button{height:40px;border-radius:9px;font-size:14px;font-weight:900}
.metric-grid .range-pair select{font-size:14px;padding:0 8px}
.metric-grid .weak-control{width:100%;gap:5px}
.metric-grid .weak-values{flex:1 1 auto;min-width:0;gap:4px}
.metric-grid .weak-values button{flex:1 1 0;min-width:0;width:auto;padding:0 2px}
.metric-grid .weak-plus{flex:0 0 34px;width:34px;font-size:20px}
.metric-grid .weak-foot-metric{width:auto;max-width:none}
.metric-grid .weak-foot-metric .field-title-row{display:flex;justify-content:space-between;gap:7px}
.metric-grid .weak-foot-metric .field-title-row small{text-align:right}
.metric-grid .foot-buttons button{min-width:0}
.body-unique-stack{align-items:flex-end}
.body-filter-field .body-unique-stack #bodyHelper{display:block;width:100%;text-align:right;line-height:1.25;margin:0 0 4px;font-size:12px}
.drawer-identity{flex:1;min-width:0}
.drawer-titleline{display:flex;align-items:center;flex-wrap:wrap;column-gap:9px;row-gap:3px;min-width:0;line-height:1.25}
.drawer-titleline .drawer-name{display:inline;flex:0 1 auto;min-width:0;overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}
.drawer-season{display:inline-flex;align-items:center;flex-wrap:wrap;gap:5px;min-width:0;max-width:100%;font-size:20px;font-weight:950;color:#34435d;overflow-wrap:anywhere}
.drawer-season img{width:21px;height:21px;flex:0 0 21px;object-fit:contain}
.drawer-season img[hidden]{display:none}
@media(max-width:440px){.drawer-season{font-size:18px}.drawer-season img{width:19px;height:19px;flex-basis:19px}}

/* v27.13: keep the physique selection buttons on the same baseline as
   country/club controls; the helper must not add a second control row. */
.body-filter-control{align-items:center}
.body-unique-stack{position:relative;display:block;flex:0 0 auto;align-self:auto}
.body-filter-field .body-unique-stack #bodyHelper{
  position:absolute;right:0;bottom:calc(100% + 8px);
  width:max-content;margin:0;text-align:right;line-height:1.25;
  pointer-events:none
}
@media(min-width:521px){.body-filter-control{flex-wrap:nowrap}}
/* v27.13: match the season badge label to result rows and show only
   position codes (with the same FW/MF/DF/GK colors) under the player name. */
.drawer-season{flex-wrap:nowrap;white-space:nowrap}
.drawer-meta .drawer-position{font-weight:900;white-space:nowrap}
.drawer-meta .pos-fw{color:var(--fw)}
.drawer-meta .pos-mf{color:var(--mf)}
.drawer-meta .pos-df{color:var(--df)}
.drawer-meta .pos-gk{color:var(--gk)}
.drawer-position-separator{color:#9ca6b7}


/* v27.14: compact photo-aligned player summaries without shrinking labels. */
.player-row:not(.is-comparison-row),
.player-row:not(.is-comparison-row) > .cell{height:104px}
.player-row:not(.is-comparison-row) > .player-cell{padding-top:3px;padding-bottom:3px}
.player-main{align-items:center}
.player-photo{width:82px;height:96px;flex:0 0 82px}
.player-copy{display:flex;flex-direction:column;justify-content:center;gap:1px}
.player-copy .season-line{height:19px}
.player-copy .player-name{margin-top:0;line-height:19px}
.player-copy .position-overalls{margin-top:1px;min-height:18px;line-height:18px}
.player-copy .row-tuning{margin-top:2px;min-height:25px}
/* Slightly closer staggered trait tiles; a pale edge keeps adjacent emblems distinct. */
.trait-honeycomb{width:95px}
.trait-icon-wrap{width:26px;height:26px}
.trait-icon{width:26px;height:26px;filter:drop-shadow(0 0 1px rgba(255,255,255,.96)) drop-shadow(0 1px 1px rgba(25,33,48,.13))}
.trait-text-fallback{width:24px;height:24px}
@media(max-width:520px){
  .player-photo{width:77px;height:94px;flex-basis:77px}
}
/* Status belongs between boost controls and the total, including sticky mode. */
.tie-sort-indicator{flex:0 1 auto;margin-left:auto;white-space:nowrap;padding:5px 9px;border:1px solid #dde4ee;border-radius:7px;background:#f5f7fa;color:#788498;font-size:12px;font-weight:850}
.tie-sort-indicator.is-active{color:#8a6400;background:#fff7d9;border-color:#e8cb73}
.tie-sort-indicator + .boost-summary{margin-left:0}
@media(max-width:850px){
  .boost-bar{flex-wrap:wrap;gap:9px 12px}
  .tie-sort-indicator{margin-left:auto}
}
/* A pair uses a centered axis and VS. Three players retain a side-label column. */
.comparison-player{grid-template-columns:64px minmax(0,1fr);align-items:center;min-height:82px}
.comparison-player>img{width:64px;height:82px}
.comparison-identity{min-height:82px;gap:4px;justify-content:center}
.comparison-headline{display:flex;align-items:flex-start;justify-content:space-between;gap:7px;min-width:0}
.comparison-headline .comparison-name{flex:1 1 auto;min-width:0;margin:0;padding:0;text-align:left;overflow-wrap:anywhere;word-break:keep-all;line-height:1.2;font-size:17px}
.comparison-headline .comparison-actions{position:static;display:flex;flex:0 0 auto;align-items:center;gap:4px;max-width:58%}
.comparison-headline .comparison-season{padding:0;color:#586982;font-size:12px;font-weight:950;white-space:nowrap}
.comparison-headline .comparison-class-icon{width:20px;height:20px;flex:0 0 20px}
.comparison-headline .comparison-remove{width:23px;height:23px;flex:0 0 23px}
.comparison-table.is-duel{min-width:812px}
.comparison-table.is-duel tr>*:first-child{width:calc((100% - 112px)/2)}
.comparison-table.is-duel tr>*:last-child{width:calc((100% - 112px)/2)}
.comparison-table.is-duel tr>*:nth-child(2){width:112px;min-width:112px}
.comparison-table.is-duel tr>th:first-child{position:sticky;left:auto;width:auto;padding:10px;z-index:3;background:#fff;white-space:normal}
.comparison-table.is-duel tr>th:nth-child(2){background:#f5f7fa;color:#5f6d83;font-size:13px;font-weight:900;white-space:nowrap;text-align:center;vertical-align:middle;padding:9px 5px;border-right:1px solid var(--line2)}
.comparison-table.is-duel thead th.comparison-vs{font-size:28px;letter-spacing:2px;font-weight:950;color:#8795aa;vertical-align:middle}
.comparison-table.is-duel .comparison-duel-row td{vertical-align:middle}
.comparison-table.is-duel .comparison-duel-row td:first-child{text-align:right;padding-right:32px}
.comparison-table.is-duel .comparison-duel-row td:last-child{text-align:left;padding-left:32px}
.comparison-table.is-duel .comparison-duel-row td:first-child .comparison-stat-value{justify-content:flex-end}
.comparison-table.is-duel .comparison-duel-row td:last-child .comparison-stat-value{justify-content:flex-start}
.comparison-table.is-duel .comparison-duel-row td:first-child .comparison-delta{left:auto;right:100%;margin:0 7px 0 0}
.comparison-table.is-duel .comparison-duel-row td:last-child .comparison-delta{left:100%;right:auto;margin:0 0 0 7px}
.comparison-table.is-duel .comparison-duel-row .comparison-traits{justify-content:flex-start}
.comparison-table.is-duel .comparison-duel-row td:first-child .comparison-traits{justify-content:flex-end}
@media(max-width:680px){
 .comparison-table.is-duel{min-width:812px}
 .comparison-headline .comparison-name{font-size:15px}
 .comparison-player{grid-template-columns:50px minmax(0,1fr);gap:6px}
 .comparison-player>img{width:50px;height:80px}
}
/* Keep three complete comparison cards legible; scroll horizontally on small screens. */
.comparison-table:not(.is-duel){min-width:calc(96px + var(--comparison-count)*315px)}

/* v27.15: 3-player cards need room for three positions on one line.
   Keep the existing two-player VS layout and allow horizontal scrolling on small screens. */
.comparison-modal:has(.comparison-table:not(.is-duel)){width:min(1480px,98vw)}
.comparison-table:not(.is-duel){min-width:calc(96px + var(--comparison-count)*380px)}
.comparison-table:not(.is-duel) .comparison-positions{flex-wrap:nowrap;column-gap:8px;white-space:nowrap}
.comparison-table:not(.is-duel) .comparison-positions .pos-line{font-size:17px;gap:3px}
.comparison-table:not(.is-duel) .comparison-positions .pos-line em{font-size:20px}

/* Result-row grade icon is deliberately more compact than its 12-item picker.
   Use the saved space for slightly more readable player text. */
.player-row:not(.is-comparison-row) .row-grade-trigger{height:24px;gap:2px;padding-right:3px}
.player-row:not(.is-comparison-row) .row-grade-trigger .grade-badge{min-width:36px;width:36px;height:20px;flex-basis:36px;font-size:12px}
.player-row:not(.is-comparison-row) .row-grade-trigger .grade-arrow{font-size:13px;margin-right:1px}
.player-row:not(.is-comparison-row) .player-copy .player-name{font-size:16px;line-height:20px}
.player-row:not(.is-comparison-row) .position-overalls .pos-line{font-size:13px}
.player-row:not(.is-comparison-row) .player-copy .row-tuning{min-height:24px}

/* FCOSearch approved green logo patch v2 */
.fco-green-logo-stack{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}
.fco-green-logo{display:block;width:176px;height:auto;max-height:40px;object-fit:contain;border-radius:7px}
.fco-green-logo-stack .db-status{font-size:10px;line-height:12px;margin-top:0;white-space:nowrap}
@media(max-width:550px){.fco-green-logo{width:144px}.fco-green-logo-stack .db-status{font-size:9px;line-height:11px}}

/* v9: compact light footer, same surface palette as the search page. */
.fco-footer-v9{margin-top:30px;background:var(--bg);color:var(--ink);border-top:1px solid var(--line);position:relative;isolation:isolate}
.fco-footer-v9 .fco-footer-inner{max-width:1500px;margin:0 auto;padding:34px 22px 20px}
.fco-footer-v9 .fco-footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px 35px}
.fco-footer-v9 .fco-footer-wordmark{font-size:17px;letter-spacing:-.9px;font-weight:950;display:flex;align-items:center;width:max-content;color:#1b273a;line-height:1.2}
.fco-footer-v9 .fco-footer-wordmark>span:first-child{color:#36c978}
.fco-footer-v9 .fco-footer-spark{width:6px;height:6px;background:#3ace85;border-radius:50%;margin:0 0 0 5px;box-shadow:0 0 0 3px #3ace851c}
.fco-footer-v9 .fco-footer-message h2{font-size:clamp(20px,2.3vw,26px);line-height:1.38;letter-spacing:-1px;font-weight:900;margin:13px 0 0;color:#17243b}
.fco-footer-v9 .fco-footer-message h2 span{color:#279968}
.fco-footer-v9 .fco-donate-trigger{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:47px;border:1px solid #b7e8d0;border-radius:13px;background:#e6f9ee;color:#126b47;padding:11px 17px;font-size:13px;font-weight:850;transition:background .18s,border-color .18s,transform .18s}
.fco-footer-v9 .fco-donate-trigger:hover{background:#d3f5e2;border-color:#8fdfb6;transform:translateY(-1px)}
.fco-footer-v9 .fco-donate-heart{font-size:22px;line-height:1}
.fco-footer-v9 .fco-donate-arrow{font-size:16px;font-weight:850}
.fco-footer-v9 .fco-footer-legal{border-top:1px solid var(--line);margin-top:28px;padding-top:15px;display:flex;align-items:center;flex-wrap:wrap;gap:5px 18px;font-size:10px;line-height:1.6;color:#77869a}
.fco-footer-v9 .fco-footer-legal span{min-width:0}
.fco-donate-backdrop[hidden]{display:none!important}
.fco-donate-backdrop{position:fixed;inset:0;background:rgba(18,31,48,.58);z-index:2200;display:grid;place-items:center;padding:18px;overscroll-behavior:contain}
.fco-donate-dialog{position:relative;width:min(100%,438px);max-height:calc(100dvh - 36px);overflow-y:auto;overscroll-behavior:contain;border-radius:22px;background:#fff;color:#182238;padding:31px 30px 25px;box-shadow:0 22px 65px #111f3655;border:1px solid #dbe6ef;text-align:left;outline:none}
.fco-donate-close{position:absolute;top:17px;right:18px;width:34px;height:34px;border:0;background:#f1f5fa;color:#657186;border-radius:10px;font-size:24px;line-height:1}
.fco-donate-close:hover{background:#e7eef5;color:#192a41}
.fco-donate-symbol{width:48px;height:48px;display:grid;place-items:center;color:#178457;background:#e9f8ee;border-radius:15px;font-size:29px;margin-bottom:18px}
.fco-donate-eyebrow{font-size:10px;font-weight:950;letter-spacing:1.2px;color:#269968}
.fco-donate-dialog h2{font-size:24px;letter-spacing:-.9px;line-height:1.35;margin:7px 0 12px;font-weight:950}
.fco-donate-desc{font-size:13px;line-height:1.7;color:#69778b;margin:0 0 23px}
.fco-donate-account{display:flex;flex-direction:column;gap:7px;background:#f5f8fc;border:1px solid #dfe7ef;border-radius:14px;padding:18px 19px}
.fco-donate-account span{font-size:12px;font-weight:800;color:#627087}
.fco-donate-account strong{font-size:clamp(20px,5.5vw,25px);letter-spacing:.2px;font-variant-numeric:tabular-nums;user-select:all;overflow-wrap:anywhere}
.fco-donate-copy{margin-top:12px;width:100%;display:flex;justify-content:center;align-items:center;gap:8px;min-height:48px;background:#28354f;border:1px solid #28354f;color:#fff;border-radius:12px;font-size:14px;font-weight:850}
.fco-donate-copy:hover{background:#19253d}
.fco-donate-result{min-height:19px;margin:9px 0 0;font-size:12px;font-weight:750;color:#19805b}
.fco-donate-note{font-size:11px;line-height:1.65;color:#8492a5;margin:11px 0 0;text-align:center}
.fco-donate-trigger:focus-visible,.fco-donate-copy:focus-visible,.fco-donate-close:focus-visible{outline:3px solid #2bc987;outline-offset:3px}
@media(max-width:700px){
  .fco-footer-v9{margin-top:20px}
  .fco-footer-v9 .fco-footer-inner{padding:28px 18px 19px}
  .fco-footer-v9 .fco-footer-top{align-items:flex-start;flex-direction:column;gap:21px}
  .fco-footer-v9 .fco-footer-legal{margin-top:23px;display:flex;flex-direction:column;align-items:flex-start;gap:3px}
  .fco-footer-v9 .fco-footer-message h2{font-size:22px}
  .fco-footer-v9 .fco-donate-trigger{min-height:44px}
  .fco-donate-dialog{padding:29px 21px 21px}
}
@media(prefers-reduced-motion:reduce){.fco-footer-v9 .fco-donate-trigger{transition:none}}

/* v28.4: unobtrusive real server-progress banner, accessible on mobile */
.fco-db-live{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);max-width:min(520px,calc(100vw - 24px));width:100%;z-index:1200;background:#0e1c29;border:1px solid #396a59;border-radius:14px;box-shadow:0 12px 38px #0008;color:#e7f4f0;padding:14px 16px;font-size:13px}
.fco-db-live[hidden]{display:none!important}
.fco-db-live-head{display:flex;justify-content:space-between;gap:12px;font-weight:850}
.fco-db-live-head span:first-child{color:#81e3af}
.fco-db-live p{margin:7px 0 10px;color:#b8c9d0;line-height:1.6}
.fco-db-track{height:8px;background:#354450;border-radius:99px;overflow:hidden}
.fco-db-track>div{height:100%;width:0%;background:#39cf8d;transition:width .3s ease}
@media(max-width:520px){.fco-db-live{bottom:8px;padding:12px}}
@media(prefers-reduced-motion:reduce){.fco-db-track>div{transition:none}}

/* v8: minimal public header; keep hidden technical IDs in the DOM for existing JS. */
.tie-sort-indicator,.boost-summary small{display:none!important}
.db-status[hidden],.search-subbar[hidden],.result-sub[hidden],.asset-inline[hidden],.market-progress[hidden]{display:none!important}
.topbar .top-actions{display:flex;align-items:center;flex-wrap:nowrap;gap:13px;min-width:0}
.header-update-times{display:flex;align-items:center;flex:0 0 auto;gap:12px;color:#728096;font-size:11px;font-weight:750;white-space:nowrap;font-variant-numeric:tabular-nums}
.header-update-times .header-price-time{border-left:1px solid #dce4ee;padding-left:12px}
.topbar .top-actions>.switch-label{flex:0 0 auto;white-space:nowrap}
.topbar .top-actions>#clearAllTop{flex:0 0 auto}
@media(max-width:820px){
  .topbar .top-actions{flex:1 1 100%;width:100%;justify-content:flex-start;gap:11px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;padding-bottom:2px}
  .topbar .top-actions::-webkit-scrollbar{display:none}
  .header-update-times{font-size:10px;gap:9px}
  .header-update-times .header-price-time{padding-left:9px}
}
@media(max-width:640px){
  .topbar .top-actions>#clearAllTop{display:none} /* Same filter reset remains at filter bottom. */
}
@media(max-width:500px){
  /* Mobile: show both switches without requiring horizontal scrolling. */
  .topbar .top-actions{flex-wrap:wrap;overflow:visible;row-gap:8px}
  .topbar .header-update-times{flex-basis:100%;flex-wrap:nowrap}
}
