:root{--ink-950:#111827;--ink-900:#172033;--ink-800:#1f2a44;--ink-700:#31415f;--ink-500:#66758f;--ink-300:#aeb9cb;--line:#dbe4f0;--line-soft:#e8eef6;--paper:#fbfcff;--surface:#fff;--wash:#f4f7fb;--self:#2f6df6;--enemy:#d64b63;--success:#138a5b;--warning:#b7791f;--purple:#755bd6;--radius-sm:6px;--radius-md:8px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px}*{box-sizing:border-box}html,body{background:var(--wash);height:100%;color:var(--ink-900);margin:0;font-family:IBM Plex Sans,Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;overflow:hidden}button,input,textarea,select{font:inherit}button:focus-visible,.ant-btn:focus-visible,.ant-select-selector:focus-visible,.player-chip:focus-visible{outline-offset:2px;outline:2px solid #2f6df680}.app-shell{height:100vh;display:flex;overflow:hidden}.app-sider{border-right:1px solid #1e293b;position:relative;background:#0f172a!important}.brand{color:#f8fafc;align-items:center;gap:10px;height:56px;padding:0 16px;font-size:15px;font-weight:700;display:flex}.brand-mark{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#1d4ed8 100%);border-radius:6px;place-items:center;width:28px;height:28px;display:grid}.ant-menu-dark{padding:8px;background:0 0!important}.ant-menu-dark .ant-menu-item{color:#94a3b8;border-radius:6px;height:40px;margin:3px 0;font-size:13px}.ant-menu-dark .ant-menu-item .ant-menu-item-icon{color:#64748b}.ant-menu-dark .ant-menu-item-selected{font-weight:600;box-shadow:0 2px 8px #2563eb59;color:#fff!important;background:#2563eb!important}.ant-menu-dark .ant-menu-item-selected .ant-menu-item-icon{color:#fff}.sider-collapse-trigger{position:absolute;bottom:16px;left:16px}.collapse-btn{color:#94a3b8;cursor:pointer;background:#1e293b;border:1px solid #334155;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;transition:all .15s;display:flex}.collapse-btn:hover{color:#f8fafc;background:#334155}.rotate-180{transform:rotate(180deg)}.topbar{color:#0f172a;background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;height:56px;padding:0 20px;display:flex}.topbar-control{align-items:center;gap:8px;display:flex}.topbar-label{color:#64748b;white-space:nowrap;font-size:13px}.topbar-select{min-width:180px}.topbar-select--sm{min-width:130px}.topbar-right{align-items:center;display:flex}.topbar-link-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:13px;display:inline-flex}.topbar-link-btn:hover{color:#2563eb;background:#f1f5f9}.topbar-user{color:#334155;align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.avatar-circle{color:#64748b;background:#e2e8f0;border-radius:50%;place-items:center;width:24px;height:24px;display:grid}.topbar-logout-btn{color:#475569;border-color:#cbd5e1;height:30px;padding:0 10px;font-size:12px}.app-content{min-height:calc(100vh - 64px);padding:var(--space-4);background:linear-gradient(#f7f9fd 0%,#f1f5fb 100%);overflow:auto}.page-stack,.canvas-stack,.form-stack{width:100%}.page-title-row{align-items:baseline;gap:var(--space-4);border-bottom:1px solid var(--line-soft);min-height:44px;padding-bottom:var(--space-3);display:flex}.page-title-row h2{color:var(--ink-950);margin:0;font-size:22px;line-height:1.2}.page-title-row span,.muted{color:var(--ink-500)}.section-card,.battle-strip-card,.metric-card,.rank-card,.team-stat{border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:none}.section-card .ant-card-head{border-bottom-color:var(--line-soft);min-height:44px;padding:0 var(--space-4)}.section-card .ant-card-head-title{color:var(--ink-900);font-size:14px;font-weight:800}.section-card .ant-card-body{padding:var(--space-4)}.battle-strip-card{background:var(--surface);overflow:hidden}.battle-strip-card .ant-card-body{grid-template-columns:1.25fr 1.25fr repeat(4,minmax(0,1fr));padding:0;display:grid}.battle-info-item{min-height:76px;padding:var(--space-3) var(--space-4);border-right:1px solid var(--line-soft);flex-direction:column;justify-content:center;display:flex}.battle-info-item:last-child{border-right:0}.battle-info-item span{color:var(--ink-500);font-size:12px}.battle-info-item strong{margin-top:var(--space-1);color:var(--ink-950);white-space:nowrap;text-overflow:ellipsis;font-size:20px;overflow:hidden}:is(.tone-self,.positive) .tone-warning{color:var(--warning)!important}:is(.tone-self,.positive) .workbench-page{gap:var(--space-3);display:grid}:is(.tone-self,.positive) .workbench-grid{align-items:stretch}:is(.tone-self,.positive) .workbench-panel{height:100%}:is(.tone-self,.positive) .context-strip{gap:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);grid-template-columns:repeat(6,minmax(0,1fr));display:grid;overflow:hidden}:is(.tone-self,.positive) .context-strip__item{min-height:68px;padding:var(--space-3) var(--space-4);border-right:1px solid var(--line-soft);flex-direction:column;justify-content:center;display:flex}:is(.tone-self,.positive) .context-strip__item:last-child{border-right:0}:is(.tone-self,.positive) .context-strip__item span{color:var(--ink-500);font-size:12px}:is(.tone-self,.positive) .context-strip__item strong{margin-top:var(--space-1);color:var(--ink-950);white-space:nowrap;text-overflow:ellipsis;font-size:18px;overflow:hidden}:is(.tone-self,.positive) .pool-toolbar{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}:is(.tone-self,.positive) .squad-grid{gap:var(--space-2);display:grid}:is(.tone-self,.positive) .squad-lane{border:1px solid var(--line-soft);border-radius:var(--radius-sm);padding:var(--space-2);background:#ffffffb8}:is(.tone-self,.positive) .squad-lane__head{margin-bottom:var(--space-2);color:var(--ink-700);justify-content:space-between;align-items:center;font-weight:700;display:flex}:is(.tone-self,.positive) .squad-lane__head small{color:var(--ink-500);font-weight:500}:is(.tone-self,.positive) .squad-slot-grid{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}:is(.tone-self,.positive) .squad-slot{border:1px dashed var(--line);border-radius:var(--radius-sm);background:#fbfcff;min-height:54px}:is(.tone-self,.positive) .squad-slot--empty{opacity:.75}:is(.tone-self,.positive) .player-chip--selected{border-color:var(--self);background:#eaf2ff;box-shadow:inset 0 0 0 1px #2f6df640}:is(.tone-self,.positive) .quality-row__detail{color:var(--ink-500);margin-top:2px;display:block}:is(.tone-self,.positive) .preview-hint{margin:var(--space-3) 0 0}:is(.tone-self,.positive) .workbench-footer{justify-content:space-between}:is(.tone-self,.positive) .player-explorer-list{gap:var(--space-2);max-height:620px;display:grid;overflow:auto}:is(.tone-self,.positive) .player-explorer-item{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);padding:var(--space-2) var(--space-3);text-align:left;cursor:pointer}:is(.tone-self,.positive) .player-explorer-item:hover{background:#f6f9ff;border-color:#a9c5ff}:is(.tone-self,.positive) .player-explorer-item--selected{border-color:var(--self);background:#eaf2ff}:is(.tone-self,.positive) .player-explorer-item__head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}:is(.tone-self,.positive) .player-explorer-item__head strong{color:var(--ink-900);font-size:13px}:is(.tone-self,.positive) .player-explorer-item__head span{color:var(--self);font-size:12px;font-weight:800}:is(.tone-self,.positive) .player-explorer-item small{margin-top:var(--space-1);color:var(--ink-500);display:block}:is(.tone-self,.positive) .player-dossier{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--line-soft);border-radius:var(--radius-md);background:#f9fbff;align-items:flex-start;display:flex}:is(.tone-self,.positive) .player-dossier h3{margin:0 0 var(--space-1);font-size:22px}:is(.tone-self,.positive) .player-dossier p{margin:0 0 var(--space-2);color:var(--ink-500)}:is(.tone-self,.positive) .player-dossier__tags{gap:var(--space-2);flex-wrap:wrap;display:flex}:is(.tone-self,.positive) .player-dossier__tags span{border:1px solid var(--line);color:var(--ink-700);background:#fff;border-radius:999px;padding:2px 10px;font-size:12px}:is(.tone-self,.positive) .metric-tile--highlight{background:#fff8e8}:is(.tone-self,.positive) .metric-tile small{margin-top:var(--space-1);color:var(--warning);font-size:11px}:is(.tone-self,.positive) .rank-strip{gap:var(--space-2);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}:is(.tone-self,.positive) .rank-strip__item{border:1px solid var(--line-soft);border-radius:var(--radius-sm);padding:var(--space-2);background:#fbfcff}:is(.tone-self,.positive) .rank-strip__item span{color:var(--ink-500);font-size:12px}:is(.tone-self,.positive) .rank-strip__item strong{margin:var(--space-1) 0;color:var(--ink-950);font-size:14px;display:block}:is(.tone-self,.positive) .mini-chart__title{margin-bottom:var(--space-2);color:var(--ink-700);font-weight:700}:is(.tone-self,.positive) .detail-link{padding-left:0}.tone-self,.positive{color:var(--self)!important}.tone-enemy,.enemy-text,.negative{color:var(--enemy)!important}.metric-card{background:linear-gradient(#fff 0%,#f9fbff 100%);height:118px}.metric-card .ant-card-body{height:100%;padding:var(--space-4)}.metric-card__head{color:var(--ink-900);margin-bottom:var(--space-3);justify-content:space-between;align-items:center;font-weight:800;display:flex}.metric-card__head svg{color:var(--ink-300)}.metric-card__row{justify-content:space-between;align-items:center;line-height:1.8;display:flex}.metric-card__row span{color:var(--ink-500);font-size:12px}.metric-card__row strong{font-size:15px}.metric-card__row--self strong{color:var(--self)}.metric-card__row--enemy strong{color:var(--enemy)}.table-tools{justify-content:flex-end}.table-tools .ant-input-search{width:220px}.data-table .ant-table{color:var(--ink-800)}.data-table .ant-table-thead>tr>th{color:var(--ink-700);background:#f6f8fc;font-weight:800}.data-table .ant-table-tbody>tr>td{border-bottom-color:var(--line-soft)}.is-selected-row>td{background:#eaf2ff!important}.icon-button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);height:32px;color:var(--ink-700);align-items:center;gap:var(--space-2);padding:0 var(--space-3);cursor:pointer;display:inline-flex}.upload-symbol{color:var(--self)}.fixed-action-bar{z-index:8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);justify-content:flex-end;gap:var(--space-3);background:#f4f7fbf0;display:flex;position:sticky;bottom:0}.player-card{min-height:260px;padding:var(--space-4);border:1px solid var(--line-soft);border-radius:var(--radius-md);background:#f9fbff}.avatar-mark{background:var(--ink-900);color:#fff;width:48px;height:48px;margin-bottom:var(--space-3);border-radius:12px;place-items:center;font-weight:800;display:grid}.player-card h3{margin:0 0 var(--space-2);font-size:22px}.player-card p{color:var(--ink-500)}.player-card dl{gap:var(--space-3);grid-template-columns:70px 1fr;display:grid}.player-card dt{color:var(--ink-500)}.player-card dd{margin:0;font-weight:800}.metric-grid-detail{border:1px solid var(--line-soft);border-radius:var(--radius-md);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.metric-tile{min-height:86px;padding:var(--space-3);border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);flex-direction:column;justify-content:center;display:flex}.metric-tile span{color:var(--ink-500);font-size:12px}.metric-tile strong{color:var(--self);margin-top:var(--space-1);font-size:19px}.score-total{color:var(--self);margin-bottom:var(--space-4);font-size:34px;font-weight:900;line-height:1}.rank-card .ant-card-body{padding:var(--space-3)}.rank-card span,.rank-card small{color:var(--ink-500)}.rank-card strong{color:var(--ink-950);margin:var(--space-2) 0;font-size:18px;display:block}.insight{border-radius:var(--radius-md);padding:var(--space-3);border:1px solid var(--line)}.insight p{margin:var(--space-1) 0 0;color:var(--ink-500)}.insight-strength{background:#eefaf4}.insight-risk{background:#fff7e8}.insight-suggestion{background:#edf4ff}.team-stat .ant-card-body{gap:var(--space-1);flex-direction:column;min-height:96px;display:flex}.team-stat strong{font-size:16px}.team-stat span{color:var(--ink-950);font-size:22px;font-weight:900}.team-stat small{color:var(--ink-500)}.team-blue{background:#eef5ff}.team-green{background:#effaf5}.team-purple{background:#f4f1ff}.team-slate{background:#f8fafc}.team-lane{border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-3)}.team-lane-green{background:#fbfffd;border-color:#95d6b5}.team-lane-purple{background:#fcfbff;border-color:#c5b8ff}.team-lane-slate{background:#f8fafc}.team-lane__head{margin-bottom:var(--space-3);justify-content:space-between;display:flex}.player-chip-grid{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.player-chip{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-sm);padding:var(--space-2);text-align:left;cursor:pointer}.player-chip:hover{background:#f6f9ff;border-color:#a9c5ff}.player-chip span,.player-chip small{display:block}.player-chip small{color:var(--ink-500);margin-top:var(--space-1)}.quality-row{padding:var(--space-2) 0;border-bottom:1px solid var(--line-soft);justify-content:space-between;display:flex}.wide-control,.form-stack .ant-select,.form-stack .ant-input,.score-actions{width:100%}.context-grid{align-items:center;gap:var(--space-4);grid-template-columns:1.3fr repeat(3,1fr);display:grid}.context-grid strong{color:var(--self);font-size:28px}.context-grid b{color:var(--self);font-size:20px}.scope-list{gap:var(--space-2);margin-top:var(--space-3);flex-direction:column;display:flex}.scope-list label{padding:var(--space-2) 0;border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;display:flex}.weight-slider{width:160px}.formula-bar{margin-top:var(--space-3);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:#f8fbff;font-weight:800}.mini-chart .echarts-for-react{height:210px!important}.empty-card{place-items:center;min-height:300px;display:grid}.login-shell{background:linear-gradient(90deg,#111827f5,#1f2a44e6),repeating-linear-gradient(135deg,#1f2a44 0 1px,#111827 1px 14px);grid-template-columns:minmax(0,1fr) 410px;align-items:center;gap:56px;min-height:100vh;padding:60px 8vw;display:grid}.login-copy h1{font-size:clamp(42px,7vw,82px);line-height:.95;color:#f8fbff!important}.login-copy .ant-typography{color:#c6d3e6;font-size:18px}.login-ribbon{color:#dbeafe;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-6);background:#2f6df62e;border:1px solid #93c5fd4d;display:inline-flex}.login-card{box-shadow:0 30px 90px #00000047}@media (width<=1200px){.battle-strip-card .ant-card-body,.context-grid,.player-chip-grid,.metric-grid-detail{grid-template-columns:repeat(2,minmax(0,1fr))}}.context-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.rank-strip{grid-template-columns:1fr}@media (width<=800px){.login-shell{grid-template-columns:1fr}.topbar{height:auto;padding:var(--space-3);flex-direction:column;align-items:flex-start;overflow:visible}.topbar>.ant-space:first-child{overflow:visible;flex-wrap:wrap!important}.topbar-control,.topbar-control--scheme{grid-template-columns:1fr}.battle-select,.scheme-mini{min-width:220px}.battle-strip-card .ant-card-body,.metric-grid-detail{grid-template-columns:1fr}.battle-info-item{border-right:0;border-bottom:1px solid var(--line-soft)}.player-chip-grid{grid-template-columns:1fr}}.squad-grid--assignment{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.squad-lane--bodyguard{background:linear-gradient(#fffaf0 0%,#fff7e3 100%);border:1px solid #e8a83859;box-shadow:inset 0 0 0 1px #e8a8381f}.squad-slot--filled{border-style:solid;border-color:var(--line-soft);background:#fdfefe}.squad-slot{border-radius:6px;min-width:0;min-height:38px;transition:border-color .14s,background .14s,box-shadow .14s}.squad-slot--empty{background:#ffffff8a;border:1px dashed #7d91af6b}.squad-slot--empty .slot-placeholder{min-height:38px;color:var(--ink-400);font-size:11px}.squad-slot--active,.player-chip-grid--active{box-shadow:inset 0 0 0 1px #2f6df638;border-color:var(--self)!important;background:#eef4ff!important}.slot-placeholder,.reserve-empty{min-height:44px;color:var(--ink-500);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:12px;display:flex}.player-chip--draggable{border:1px solid var(--line);text-align:center;cursor:grab;background:#fff;border-radius:6px;width:100%;min-height:36px;padding:6px 10px;transition:border-color .14s,box-shadow .14s,transform .14s}.player-chip--draggable:active{cursor:grabbing}.player-chip--draggable span{color:var(--ink-900);font-size:13px;font-weight:600;display:block}.player-chip--draggable small{color:var(--ink-500);margin-top:2px;font-size:11px;display:block}.player-chip-grid--reserve{border:1px dashed var(--line);border-radius:var(--radius-md);min-height:120px;padding:var(--space-2);background:#fbfcff}.assignment-page{flex-direction:column;gap:12px;min-height:0;display:flex}.assignment-page__live{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.assignment-page__header{justify-content:space-between;align-items:center;gap:16px;padding-bottom:2px;display:flex}.assignment-page__header h2{margin:0;font-size:20px;font-weight:800}.assignment-page__header p{margin:4px 0 0}.assignment-empty{min-height:240px;color:var(--ink-500);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);place-items:center;display:grid}.assignment-stat-strip{border:1px solid var(--line);background:var(--surface);border-radius:8px;flex-wrap:wrap;align-self:flex-start;gap:0;display:inline-flex;overflow:hidden}.assignment-stat-pill{border-right:1px solid var(--line-soft);color:var(--ink-500);background:#fff;align-items:center;gap:8px;padding:7px 14px;font-size:13px;display:inline-flex}.assignment-stat-pill:last-child{border-right:0}.assignment-stat-pill strong{color:var(--ink-900);font-size:15px}.assignment-stat-pill--self strong{color:var(--self)}.assignment-stat-pill--warning strong{color:var(--warning)}.assignment-pool,.assignment-side,.assignment-canvas{min-width:0}.assignment-pool,.assignment-settings,.assignment-quality{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px;box-shadow:0 5px 18px #23375a0a}.assignment-pool,.assignment-side>*{position:sticky;top:14px}.assignment-panel-head{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.assignment-pool-list{flex-direction:column;gap:8px;min-height:420px;max-height:calc(100vh - 320px);padding-right:2px;display:flex;overflow:auto}.assignment-canvas{gap:var(--space-3);flex-direction:column;display:flex}.assignment-canvas__hint{border-radius:var(--radius-md);border:1px dashed var(--line);background:#f8fafc;padding:8px 12px;font-size:12px}.assignment-side{gap:var(--space-3);flex-direction:column;display:flex}.field-label{color:var(--ink-500);margin-bottom:-4px;font-size:12px;display:block}.quality-check{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:8px;padding:8px 0;display:flex}.quality-check:last-child{border-bottom:0}.quality-check strong{font-size:13px;display:block}.quality-check__detail{color:var(--ink-500);margin-top:2px;font-size:12px;display:block}.team-lane-red,.team-lane-blue,.team-lane-green{border-radius:10px;position:relative;overflow:hidden}.team-lane-red:before,.team-lane-blue:before,.team-lane-green:before{content:"";opacity:.75;background:currentColor;width:3px;position:absolute;inset:0 auto 0 0}.team-lane-red{color:#c23b3b;background:#fff8f8;border-color:#f0b4b4}.team-lane-red .team-lane__head strong,.team-lane-red .team-lane__count{color:#c23b3b}.team-lane-blue{color:#2f6df6;background:#f8fbff;border-color:#9fc1ff}.team-lane-blue .team-lane__head strong,.team-lane-blue .team-lane__count{color:#2f6df6}.team-lane-green{color:#138a5b;background:#f7fcf9;border-color:#95d6b5}.team-lane-green .team-lane__head strong,.team-lane-green .team-lane__count{color:#138a5b}.team-lane-red .squad-lane,.team-lane-blue .squad-lane,.team-lane-green .squad-lane{background:#ffffffb8}.team-lane-red .player-chip--draggable{background:#fff5f5;border-color:#f0c8c8}.team-lane-blue .player-chip--draggable{background:#f4f8ff;border-color:#c5d8ff}.team-lane-green .player-chip--draggable{background:#f3fbf6;border-color:#b8e2cb}.player-chip--selected{box-shadow:0 0 0 2px #2f6df62e;border-color:var(--self)!important}.pool-toolbar{justify-content:space-between;gap:8px;display:flex}@media (width<=1280px){.assignment-workspace{grid-template-columns:220px minmax(0,1fr)}.assignment-pool,.assignment-side>*{position:static}.assignment-side{grid-column:1/-1;grid-template-columns:1fr 1fr;display:grid}.squad-grid--3{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}@media (prefers-reduced-motion:reduce){.squad-slot,.player-chip--draggable{transition:none}}@media (width<=900px){.assignment-page__header{flex-direction:column;align-items:flex-start}.assignment-workspace,.assignment-side{grid-template-columns:1fr}}.preview-row{border:1px solid var(--line-soft);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);background:#fbfcff}.preview-row span,.preview-row small{display:block}.preview-row strong{margin:4px 0;display:block}.assignment-page{background:#f8fafc;flex-direction:column;gap:12px;min-height:100%;display:flex}.assignment-page__header{justify-content:space-between;align-items:center;padding:4px 0;display:flex}.header-title-area{align-items:baseline;gap:12px;display:flex}.header-title-area h2{color:#0f172a;margin:0;font-size:18px;font-weight:700}.header-desc{color:#64748b;font-size:12px}.action-btn{color:#334155;border-color:#cbd5e1;border-radius:6px;align-items:center;gap:4px;height:32px;font-size:13px;display:inline-flex}.action-btn--primary{box-shadow:0 1px 3px #2563eb33;color:#fff!important;background:#2563eb!important;border-color:#2563eb!important}.assignment-stat-strip{background:#fff;border:1px solid #e2e8f0;border-radius:6px;align-items:center;width:fit-content;display:flex;overflow:hidden}.stat-item{border-right:1px solid #f1f5f9;align-items:center;gap:8px;padding:6px 14px;font-size:13px;display:flex}.stat-item:last-child{border-right:none}.stat-label{color:#64748b}.stat-value{color:#0f172a;font-weight:700}.stat-value--green{color:#16a34a}.stat-value--red{color:#dc2626}.assignment-workspace{grid-template-columns:210px minmax(0,1fr) 250px;align-items:start;gap:12px;display:grid}.assignment-pool{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:10px;padding:12px;display:flex}.pool-header strong{color:#0f172a;font-size:14px}.pool-controls{flex-direction:column;gap:8px;display:flex}.pool-search-input,.pool-profession-select{width:100%}.pool-search-input .ant-input{font-size:12px}.input-search-icon{color:#94a3b8}.assignment-pool-list{flex-direction:column;gap:6px;min-height:380px;max-height:520px;display:flex;overflow-y:auto}.reserve-empty-box{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 10px 40px;display:flex}.box-illustration{opacity:.85;margin-bottom:12px}.empty-title{color:#475569;margin:0;font-size:13px;font-weight:600}.empty-sub{color:#94a3b8;margin:4px 0 0;font-size:11px}.refresh-btn{color:#334155;border-color:#cbd5e1;margin-top:4px;font-size:12px}.assignment-canvas{flex-direction:column;gap:12px;max-height:calc(100vh - 170px);padding-right:4px;display:flex;overflow-y:auto}.team-lane{border-radius:8px;flex-direction:column;gap:10px;padding:12px;display:flex}.team-lane--red{background:#fff5f5;border:1px solid #fecaca}.team-pill-badge--red{color:#dc2626;background:#fee2e2}.team-lane--blue{background:#f0f5ff;border:1px solid #bfdbfe}.team-pill-badge--blue{color:#2563eb;background:#dbeafe}.team-lane--green{background:#f6ffed;border:1px solid #bbf7d0}.team-pill-badge--green{color:#16a34a;background:#dcfce7}.team-pill-badge{border-radius:12px;align-items:center;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.squad-grid{gap:10px;display:grid}.squad-grid--3{grid-template-columns:repeat(3,1fr)}.squad-grid--2{grid-template-columns:repeat(2,1fr)}.squad-card{background:#fff;border:1px solid #e2e8f0;border-radius:6px;flex-direction:column;gap:8px;padding:8px;display:flex}.squad-card-header{justify-content:space-between;align-items:center;font-size:12px;display:flex}.squad-title{color:#1e293b;font-weight:600}.squad-count{color:#94a3b8;font-size:11px}.squad-slot-grid-2col{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.squad-slot{border-radius:4px;min-height:28px}.squad-slot--empty{background:#f8fafc;border:1px dashed #cbd5e1;justify-content:center;align-items:center;display:flex}.slot-placeholder{color:#cbd5e1;font-size:11px}.player-tag-card{color:#1e293b;cursor:grab;background:#fff;border:1px solid #e2e8f0;border-radius:4px;justify-content:center;align-items:center;width:100%;height:28px;padding:0 4px;font-size:12px;transition:all .12s;display:flex}.player-tag-card:hover{color:#2563eb;border-color:#93c5fd;box-shadow:0 1px 3px #0000000d}.player-tag-card--selected{color:#2563eb;background:#eff6ff;border-color:#2563eb;font-weight:600}.canvas-operation-hint{color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:6px;padding:8px 12px;font-size:12px;display:flex}.hint-icon{color:#3b82f6;flex-shrink:0}.assignment-side{flex-direction:column;gap:12px;display:flex}.side-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:12px}.side-card-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.side-card-header strong{color:#0f172a;font-size:14px}.collapse-toggle-btn{color:#2563eb;padding:0;font-size:12px}.settings-form{flex-direction:column;gap:10px;display:flex}.form-field{flex-direction:column;gap:4px;display:flex}.form-field label{color:#64748b;font-size:12px}.full-select{width:100%}.settings-action-row{gap:8px;margin-top:4px;display:flex}.apply-btn{flex:1;font-size:12px;background:#2563eb!important}.clear-btn{flex:1;font-size:12px}.quality-list{flex-direction:column;gap:8px;display:flex}.quality-item{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding-bottom:6px;font-size:12px;display:flex}.quality-item:last-child{border-bottom:none;padding-bottom:0}.quality-item--total{padding-top:4px;font-weight:600}.quality-name{color:#334155;min-width:60px}.quality-ratio{color:#64748b;font-weight:500}.quality-status{color:#16a34a;align-items:center;gap:3px;font-size:11px;display:inline-flex}.check-icon{color:#16a34a}.team-analysis-page{flex-direction:column;gap:14px;display:flex}.page-header-row{justify-content:space-between;align-items:center;display:flex}.page-header-row h2{color:#0f172a;margin:0;font-size:18px;font-weight:700}.team-metrics-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.analysis-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.card-icon-title{color:#64748b;align-items:center;gap:6px;font-size:12px;display:flex}.card-icon--blue{color:#2563eb}.card-icon--amber{color:#f59e0b}.card-icon--green{color:#16a34a}.card-icon--purple{color:#7c3aed}.card-big-num{color:#0f172a;font-size:20px;font-weight:800}.card-sub-text{color:#94a3b8;font-size:11px}.charts-two-col{grid-template-columns:1.4fr 1fr;gap:12px;display:grid}.charts-three-col{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px;display:grid}@media (width<=1100px){.charts-two-col,.charts-three-col,.team-cards-grid{grid-template-columns:1fr}}.chart-box{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:12px}.chart-box-title{color:#1e293b;margin-bottom:8px;font-size:13px}.team-cards-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.team-stat-card{border-radius:8px;flex-direction:column;gap:8px;padding:12px;display:flex}.team-stat-card--red{background:#fff5f5;border:1px solid #fecaca}.team-stat-card--blue{background:#f0f5ff;border:1px solid #bfdbfe}.team-stat-card--green{background:#f6ffed;border:1px solid #bbf7d0}.team-stat-header{justify-content:space-between;align-items:center;display:flex}.team-stat-header strong{color:#0f172a;font-size:14px}.team-stat-body{flex-direction:column;gap:4px;font-size:12px;display:flex}.stat-row{color:#475569;justify-content:space-between;display:flex}.stat-row strong{color:#0f172a}.top-player-box{border-top:1px dashed #cbd5e1;flex-direction:column;gap:2px;margin-top:6px;padding-top:6px;display:flex}.top-title{color:#d97706;font-size:11px;font-weight:600}.top-name{color:#1e293b;font-weight:600}.top-val{color:#64748b;font-size:11px}.players-page{flex-direction:column;gap:12px;height:100%;display:flex}.players-page-header{justify-content:space-between;align-items:center;display:flex}.current-player-strip{background:#fff;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:8px;padding:4px 12px;font-size:12px;display:flex}.strip-label{color:#64748b}.strip-name{color:#0f172a;font-size:13px}.players-workspace{grid-template-columns:240px minmax(0,1fr) 270px;align-items:start;gap:12px;display:grid}.player-explorer-panel{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:10px;padding:12px;display:flex}.panel-head strong{color:#0f172a;font-size:13px}.filter-stack{flex-direction:column;gap:6px;display:flex}.select-row{gap:6px;display:flex}.half-select{flex:1}.player-list-scroll{flex-direction:column;gap:4px;max-height:calc(100vh - 270px);display:flex;overflow-y:auto}.player-item-row{cursor:pointer;border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;transition:all .12s;display:flex}.player-item-row:hover{background:#f8fafc;border-color:#e2e8f0}.player-item-row--selected{background:#eff6ff!important;border-color:#93c5fd!important}.rank-badge{color:#64748b;background:#f1f5f9;border-radius:4px;flex-shrink:0;place-items:center;width:24px;height:24px;font-size:11px;font-weight:700;display:grid}.rank-badge--1{color:#d97706;background:#fef3c7}.rank-badge--2{color:#475569;background:#f1f5f9}.rank-badge--3{color:#c2410c;background:#ffedd5}.player-row-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.player-row-top{justify-content:space-between;align-items:center;display:flex}.player-row-name{color:#0f172a;font-size:12px;font-weight:600}.player-row-score{color:#2563eb;font-size:12px;font-weight:700}.player-row-sub{color:#94a3b8;gap:4px;font-size:10px;display:flex}.player-dossier-main{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:14px}.dossier-content{flex-direction:column;gap:14px;display:flex}.dossier-card-head{border-bottom:1px solid #f1f5f9;align-items:center;gap:12px;padding-bottom:12px;display:flex}.avatar-large{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);border-radius:10px;place-items:center;width:48px;height:48px;font-size:20px;font-weight:800;display:grid}.head-info{flex-direction:column;gap:2px;display:flex}.name-line{align-items:center;gap:8px;display:flex}.name-line h3{color:#0f172a;margin:0;font-size:16px;font-weight:700}.guild-line{color:#64748b;margin:0;font-size:12px}.badge-row{gap:6px;margin-top:2px;display:flex}.dossier-badge{color:#475569;background:#f1f5f9;border-radius:4px;padding:1px 6px;font-size:11px}.metrics-grid-8col{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.metric-tile-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;flex-direction:column;gap:3px;padding:8px 10px;display:flex}.metric-tile-card--top{background:#f0fdf4;border-color:#bbf7d0}.tile-title{color:#64748b;font-size:11px}.tile-value{color:#0f172a;font-size:15px;font-weight:800}.tile-percent{flex-direction:column;gap:2px;display:flex}.tile-percent small{color:#16a34a;font-size:10px;font-weight:600}.scatter-box{border:1px solid #f1f5f9;border-radius:6px;padding:8px}.box-title{color:#334155;font-size:12px;font-weight:600}.player-analysis-side{flex-direction:column;gap:12px;display:flex}.side-box{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px}.box-head{color:#0f172a;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:13px;display:flex}.insights-stack{flex-direction:column;gap:6px;display:flex}.insight-card{border-radius:6px;padding:6px 8px;font-size:11px}.insight-card--strength{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.insight-card--risk{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.insight-card--suggestion{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.insight-card strong{margin-bottom:2px;display:block}.insight-card p{margin:0}.text-red{color:#dc2626;font-weight:600}.text-green{color:#16a34a;font-weight:600}.chip-logo-img{object-fit:cover;border-radius:50%;flex-shrink:0;width:16px;height:16px}.list-logo-img{object-fit:cover;border-radius:50%;flex-shrink:0;width:18px;height:18px}.avatar-logo-img{object-fit:contain;border-radius:8px;width:38px;height:38px}.player-chip--draggable,.player-tag-card{justify-content:center!important;align-items:center!important;gap:5px!important;display:inline-flex!important}.team-analysis-redesign{background-color:#f8fafc;flex-direction:column;gap:16px;height:100%;padding:16px 20px;display:flex;overflow-y:auto}.redesign-top-bar{background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.top-bar-left h2{color:#0f172a;margin:0;font-size:17px;font-weight:700}.top-bar-right{align-items:center;gap:16px;display:flex}.control-group{align-items:center;gap:8px;display:flex}.control-label{color:#64748b;font-size:13px}.top-select{width:140px}.update-time-tag{color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:flex}.spin-icon{animation:8s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.team-cards-row{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.summary-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:14px 16px;transition:transform .2s,box-shadow .2s;box-shadow:0 1px 3px #00000008}.summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000f}.summary-card-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.head-left{align-items:center;gap:8px;display:flex}.card-team-icon{border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.card-team-icon--blue{color:#2563eb;background:#dbeafe}.card-team-icon--purple{color:#8b5cf6;background:#f3e8ff}.card-team-icon--red{color:#ef4444;background:#fee2e2}.card-team-icon--amber{color:#f97316;background:#fef3c7}.card-team-title{color:#0f172a;font-size:15px;font-weight:700}.badge-pill{border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.badge-pill--blue{color:#2563eb;background:#eff6ff}.badge-pill--purple{color:#8b5cf6;background:#faf5ff}.badge-pill--red{color:#ef4444;background:#fef2f2}.badge-pill--amber{color:#f97316;background:#fff7ed}.summary-metrics-strip{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.metric-col{flex-direction:column;gap:2px;display:flex}.m-label{color:#94a3b8;font-size:11px}.m-val{color:#0f172a;font-size:13px;font-weight:700}.sparkline-box{align-items:flex-end;gap:2px;height:16px;margin-top:4px;display:flex}.spark-bar{border-radius:1px;flex:1}.spark-bar--blue{background:#3b82f6}.spark-bar--amber{background:#f97316}.spark-bar--green{background:#10b981}.section-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:16px 20px;box-shadow:0 1px 3px #00000008}.section-head{align-items:center;gap:6px;margin-bottom:14px;display:flex}.section-title{color:#0f172a;font-size:15px;font-weight:700}.info-icon{color:#94a3b8;cursor:pointer}.core-comparison-body{gap:20px;display:flex}.comparison-table-wrapper{flex-direction:column;flex:1;gap:12px;display:flex}.table-header-row{color:#475569;border-bottom:1px solid #f1f5f9;grid-template-columns:180px repeat(4,1fr);gap:12px;padding-bottom:8px;font-size:13px;font-weight:600;display:grid}.col-team-header{justify-content:center;align-items:center;gap:4px;display:flex}.table-data-row{border-bottom:1px dashed #f1f5f9;grid-template-columns:180px repeat(4,1fr);align-items:center;gap:12px;padding:8px 0;display:grid}.col-metric-name{flex-direction:column;gap:2px;display:flex}.dot-title{align-items:center;gap:6px;font-size:13px;display:flex}.metric-dot{border-radius:50%;width:8px;height:8px}.dot-blue{background:#2563eb}.dot-purple{background:#8b5cf6}.dot-red{background:#ef4444}.dot-amber{background:#f97316}.dot-green{background:#10b981}.metric-desc{color:#94a3b8;margin-left:14px;font-size:11px}.col-team-cell{flex-direction:column;align-items:flex-start;gap:4px;padding:0 4px;display:flex}.cell-num{color:#1e293b;font-size:12px;font-weight:700}.bar-track{background:#f1f5f9;border-radius:4px;width:100%;height:8px;overflow:hidden}.bar-fill{border-radius:4px;height:100%;transition:width .3s}.bar-fill--blue{background:#2563eb}.bar-fill--purple{background:#8b5cf6}.bar-fill--red{background:#ef4444}.bar-fill--amber{background:#f97316}.key-insights-card{background:#f8fafc;border:1px solid #f1f5f9;border-radius:8px;flex-direction:column;gap:12px;width:320px;padding:14px 16px;display:flex}.insights-title{color:#0f172a;font-size:14px;font-weight:700}.insights-list{flex-direction:column;gap:10px;display:flex}.insight-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:flex-start;gap:10px;padding:10px;display:flex}.insight-icon-box{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.icon-box--blue{color:#2563eb;background:#eff6ff}.icon-box--amber{color:#f97316;background:#fff7ed}.icon-box--green{color:#16a34a;background:#f0fdf4}.insight-text{flex-direction:column;gap:2px;display:flex}.it-title{color:#0f172a;font-size:13px}.it-sub{color:#64748b;margin:0;font-size:11px}.bottom-two-columns{grid-template-columns:1fr 1.1fr;gap:16px;display:grid}.insight-two-sub{grid-template-columns:1fr 1fr;gap:14px;display:grid}.sub-box{background:#f8fafc;border:1px solid #f1f5f9;border-radius:8px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.sub-title{color:#334155;font-size:13px;font-weight:700}.rank-table{flex-direction:column;gap:6px;display:flex}.rank-th,.rank-tr{grid-template-columns:40px 1fr 60px;align-items:center;font-size:12px;display:grid}.rank-th{color:#94a3b8;padding-bottom:4px}.rank-tr{background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:6px 8px}.medal-badge{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:inline-flex}.medal-gold{background:#f59e0b}.medal-silver{background:#94a3b8}.medal-bronze{background:#d97706}.medal-normal{color:#475569;background:#cbd5e1}.rank-team-col{color:#1e293b;font-weight:600}.rank-score-col{color:#2563eb;text-align:right;font-weight:700}.strength-list{flex-direction:column;gap:8px;display:flex}.strength-row{background:#fff;border:1px solid #e2e8f0;border-radius:6px;justify-content:space-between;align-items:center;padding:6px 10px;font-size:12px;display:flex}.s-tag{border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-weight:600;display:flex}.s-tag--blue{color:#2563eb;background:#eff6ff}.s-tag--amber{color:#f97316;background:#fff7ed}.s-tag--green{color:#16a34a;background:#f0fdf4}.s-dot{border-radius:50%;width:6px;height:6px}.s-team{color:#334155;align-items:center;gap:4px;display:flex}.s-val{color:#0f172a;font-weight:700}.efficiency-body{gap:14px;display:flex}.chart-wrapper-box{flex:1}.efficiency-text-box{background:#f8fafc;border:1px solid #f1f5f9;border-radius:8px;flex-direction:column;gap:10px;width:220px;padding:12px 14px;display:flex}.eff-title{color:#0f172a;font-size:13px;font-weight:700}.eff-list{flex-direction:column;gap:8px;display:flex}.eff-item{align-items:flex-start;gap:8px;display:flex}.eff-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:4px}.eff-item strong{color:#1e293b;font-size:12px;display:block}.eff-item p{color:#64748b;margin:0;font-size:11px;line-height:1.3}
