/* Clash Scope — CWL V3. Ported from UITR/Clash Scope - CWL.html, scoped to
   .cwl-v3 so brand vars don't leak. Theme-token aware (light/dark + accent)
   exactly like war-v3.css. */
.cwl-v3 {
    --accent:var(--app-accent,#FF5247); --accent-deep:var(--app-accent-deep,#F0344F); --accent-2:var(--app-accent,#FF8A3D);
    --grad:linear-gradient(135deg,var(--accent-2) 0%,var(--accent) 46%,var(--accent-deep) 100%);
    --accent-tint:var(--app-accent-soft,#FFF1EA); --accent-tint-2:var(--app-accent-soft,#FFE1D7);
    --ink:var(--app-ink,#171520); --ink-2:var(--app-ink-soft,#403B4C); --muted:var(--app-mute,#7E7889); --faint:var(--app-fade,#A7A2B0);
    --bg:var(--app-canvas,#F4F5F8); --card:var(--app-surface,#FFFFFF); --border:var(--app-line,#E7E8EE); --border-2:var(--app-line-soft,#EFF0F4);
    --green:#16B981; --green-tint:#EAFBF3; --green-bd:#BFEFD8; --green-deep:#0E9466;
    --amber:#F59E0B; --amber-tint:#FEF3E2; --amber-deep:#B45309;
    --blue:#2563EB; --blue-tint:#E8F0FE; --purple:#7C3AED;
    --star:#FFB020; --enemy:#6D5BD0;
    --r:16px;
    font-family:var(--app-font-ui, system-ui, sans-serif);
    color:var(--ink);
}
[data-theme-mode="dark"] .cwl-v3 {
    --green-tint:#10241C; --green-bd:#1E4636; --amber-tint:#2A2012; --blue-tint:#15203A;
}
.cwl-v3 *{box-sizing:border-box;}
.cwl-v3 .sg{font-family:'Space Grotesk',sans-serif;}
.cwl-v3 button{font-family:inherit;cursor:pointer;}

.cwl-v3 .lab{font-family:'Space Grotesk';font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-deep);margin:0 0 5px;}
.cwl-v3 .cwl-lead{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.cwl-v3 .cwl-season{display:inline-flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--border);border-radius:11px;padding:0 12px;height:44px;transition:border-color .15s,box-shadow .15s;}
.cwl-v3 .cwl-season:hover{border-color:var(--accent);box-shadow:0 6px 14px -10px rgba(240,52,79,.5);}
.cwl-v3 .cwl-season-ic{display:grid;place-items:center;color:var(--accent-deep);font-size:15px;}
.cwl-v3 .cwl-season select{border:none;background:none;outline:none;font-family:'Space Grotesk';font-weight:700;font-size:13px;color:var(--ink);cursor:pointer;}
.cwl-v3 .crest{display:grid;place-items:center;border-radius:11px;flex:none;}
.cwl-v3 .card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);}
.cwl-v3 .sectitle{font-family:'Space Grotesk';font-weight:700;font-size:19px;margin:0;display:flex;align-items:center;gap:10px;color:var(--ink);}
.cwl-v3 .sectitle::before{content:"";width:4px;height:17px;border-radius:2px;background:var(--grad);}
.cwl-v3 .secrow{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:30px 2px 14px;flex-wrap:wrap;}
.cwl-v3 .secrow .hint{font-size:13px;color:var(--muted);}

/* HEADER */
.cwl-v3 .lghead{overflow:hidden;position:relative;margin-bottom:18px;}
.cwl-v3 .lghead::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--grad);}
.cwl-v3 .lgtop{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;padding:24px 28px 20px;background:linear-gradient(180deg,var(--accent-tint),transparent);}
@media(max-width:720px){.cwl-v3 .lgtop{grid-template-columns:1fr;}}
.cwl-v3 .rankmedal{display:flex;align-items:center;gap:16px;}
.cwl-v3 .medal{width:74px;height:74px;border-radius:18px;background:var(--grad);display:grid;place-items:center;flex:none;box-shadow:0 14px 30px -10px rgba(240,52,79,.55);position:relative;}
.cwl-v3 .medal .rk{font-family:'Space Grotesk';font-weight:700;font-size:30px;color:#fff;line-height:1;}
.cwl-v3 .medal .rkx{position:absolute;bottom:8px;font-size:9px;font-weight:700;color:rgba(255,255,255,.85);letter-spacing:.1em;}
.cwl-v3 .rankmedal .who .nm{font-family:'Space Grotesk';font-weight:700;font-size:24px;line-height:1.1;color:var(--ink);}
.cwl-v3 .rankmedal .who .sub{font-size:13px;color:var(--muted);margin-top:3px;}
.cwl-v3 .leaguechip{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;font-family:'Space Grotesk';background:var(--card);border:1px solid var(--border);border-radius:999px;padding:4px 12px;margin-top:8px;color:var(--ink-2);}
.cwl-v3 .hstats{display:flex;gap:26px;justify-content:center;}
@media(max-width:720px){.cwl-v3 .hstats{justify-content:flex-start;flex-wrap:wrap;}}
.cwl-v3 .hstat{text-align:center;}
.cwl-v3 .hstat .v{font-family:'Space Grotesk';font-weight:700;font-size:30px;line-height:1;color:var(--ink);}
.cwl-v3 .hstat .v.acc{color:var(--accent-deep);} .cwl-v3 .hstat .v.gd{color:var(--green-deep);}
.cwl-v3 .hstat .k{font-size:11px;color:var(--muted);font-weight:600;margin-top:5px;letter-spacing:.03em;}
.cwl-v3 .actions{display:flex;flex-direction:column;gap:8px;}
.cwl-v3 .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:700;font-size:13.5px;padding:10px 16px;border-radius:11px;border:1px solid transparent;white-space:nowrap;}
.cwl-v3 .btn-primary{background:var(--grad);color:#fff;box-shadow:0 8px 18px -10px rgba(240,52,79,.6);}
.cwl-v3 .btn-primary:hover{transform:translateY(-1px);}
.cwl-v3 .btn-soft{background:var(--card);color:var(--ink);border:1px solid var(--border);}
.cwl-v3 .btn-soft:hover{border-color:var(--accent);color:var(--accent-deep);}

/* race chart */
.cwl-v3 .chartcard{border:1px solid var(--border);border-radius:14px;overflow:hidden;}
.cwl-v3 .chartcard .ch{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid var(--border-2);flex-wrap:wrap;gap:8px;}
.cwl-v3 .chartcard .ch b{font-family:'Space Grotesk';font-size:13.5px;color:var(--ink);}
.cwl-v3 .chartcard .ch .leg{display:flex;gap:12px;font-size:11px;color:var(--muted);align-items:center;flex-wrap:wrap;}
.cwl-v3 .chartcard .ch .leg i{display:inline-block;width:14px;height:3px;border-radius:2px;vertical-align:middle;margin-right:4px;}
.cwl-v3 .racewrap{padding:14px 16px 6px;}
.cwl-v3 .racesvg{width:100%;height:230px;display:block;overflow:visible;}
.cwl-v3 .racesvg text{font-family:'Space Grotesk',sans-serif;}

/* STANDINGS */
.cwl-v3 .tablecard{overflow:hidden;}
.cwl-v3 .tblscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.cwl-v3 .cnrow{display:flex;align-items:center;gap:10px;}
.cwl-v3 .youtag{color:var(--accent-deep);font-size:11px;font-weight:700;}
.cwl-v3 .marg{font-family:'Space Grotesk';font-weight:700;font-size:12px;padding:2px 7px;border-radius:6px;}
.cwl-v3 .marg.pos{background:var(--green-tint);color:var(--green-deep);} .cwl-v3 .marg.neg{background:var(--accent-tint);color:var(--accent-deep);}
.cwl-v3 .stbl tr.sel td{box-shadow:inset 3px 0 0 var(--accent);}
.cwl-v3 .stbl{width:100%;border-collapse:collapse;min-width:760px;}
.cwl-v3 .stbl th{text-align:left;font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:700;padding:13px 14px;border-bottom:1px solid var(--border);white-space:nowrap;}
.cwl-v3 .stbl th.c,.cwl-v3 .stbl td.c{text-align:center;}
.cwl-v3 .stbl td{padding:12px 14px;border-bottom:1px solid var(--border-2);font-size:13.5px;vertical-align:middle;color:var(--ink);}
.cwl-v3 .stbl tr:last-child td{border-bottom:none;}
.cwl-v3 .stbl tr.us{background:linear-gradient(90deg,var(--accent-tint),transparent);}
.cwl-v3 .stbl tr.hov{background:var(--bg);cursor:pointer;}
.cwl-v3 .rkno{width:26px;height:26px;border-radius:8px;background:var(--bg);border:1px solid var(--border);display:grid;place-items:center;font-family:'Space Grotesk';font-weight:700;font-size:12px;color:var(--ink-2);flex:none;}
.cwl-v3 .rkno.top{background:var(--grad);color:#fff;border-color:transparent;}
.cwl-v3 .cn{font-weight:700;}
.cwl-v3 .cn .lv{font-size:11px;color:var(--muted);font-weight:500;}
.cwl-v3 .bignum{font-family:'Space Grotesk';font-weight:700;font-size:16px;}
.cwl-v3 .bonus{display:inline-flex;align-items:center;gap:4px;font-family:'Space Grotesk';font-weight:700;font-size:12px;color:var(--amber-deep);background:var(--amber-tint);border-radius:7px;padding:3px 8px;}
.cwl-v3 .num{font-family:'Space Grotesk';font-weight:700;}

/* CAMPAIGN */
.cwl-v3 .roundtabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;}
.cwl-v3 .rtab{display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 14px;border-radius:12px;border:1px solid var(--border);background:var(--card);min-width:74px;transition:all .15s;}
.cwl-v3 .rtab:hover{border-color:var(--accent);}
.cwl-v3 .rtab.on{background:var(--card);border-color:var(--accent);box-shadow:0 6px 16px -8px rgba(240,52,79,.4);}
.cwl-v3 .rtab .rr{font-family:'Space Grotesk';font-weight:700;font-size:11px;color:var(--muted);letter-spacing:.04em;}
.cwl-v3 .rtab.on .rr{color:var(--accent-deep);}
.cwl-v3 .rtab .rscore{font-family:'Space Grotesk';font-weight:700;font-size:15px;color:var(--ink);}
.cwl-v3 .rtab .rres{font-size:9.5px;font-weight:800;letter-spacing:.06em;padding:1px 7px;border-radius:5px;}
.cwl-v3 .rtab .rres.w{background:var(--green-tint);color:var(--green-deep);}
.cwl-v3 .rtab .rres.l{background:var(--accent-tint);color:var(--accent-deep);}

.cwl-v3 .roundpanel{overflow:hidden;}
.cwl-v3 .rphead{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,var(--accent-tint),transparent);flex-wrap:wrap;}
.cwl-v3 .rphead .vs{display:flex;align-items:center;gap:12px;}
.cwl-v3 .rphead .crest{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;flex:none;}
.cwl-v3 .rphead .tn{font-family:'Space Grotesk';font-weight:700;font-size:17px;color:var(--ink);}
.cwl-v3 .rphead .tm{font-size:12px;color:var(--muted);}
.cwl-v3 .rphead .score{font-family:'Space Grotesk';font-weight:700;font-size:24px;display:flex;align-items:center;gap:10px;}
.cwl-v3 .rphead .score .u{color:var(--accent-deep);} .cwl-v3 .rphead .score .o{color:var(--enemy);}
.cwl-v3 .rphead .score .vsx{font-size:13px;color:var(--faint);}
.cwl-v3 .reschip{font-family:'Space Grotesk';font-weight:700;font-size:12px;padding:5px 13px;border-radius:999px;}
.cwl-v3 .reschip.w{background:var(--green-tint);color:var(--green-deep);border:1px solid var(--green-bd);}
.cwl-v3 .reschip.l{background:var(--accent-tint);color:var(--accent-deep);border:1px solid var(--accent-tint-2);}

.cwl-v3 .mhead{display:grid;grid-template-columns:1fr 56px 1fr;background:var(--card);border-bottom:1px solid var(--border);font-family:'Space Grotesk';font-weight:700;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);}
.cwl-v3 .mhead div{padding:12px 16px;} .cwl-v3 .mhead .c{text-align:center;padding-left:4px;padding-right:4px;white-space:nowrap;} .cwl-v3 .mhead .them{text-align:right;}
.cwl-v3 .mrow{display:grid;grid-template-columns:1fr 56px 1fr;align-items:stretch;border-bottom:1px solid var(--border-2);min-height:64px;}
.cwl-v3 .mrow:last-child{border-bottom:none;}
.cwl-v3 .mside{display:flex;align-items:center;gap:10px;padding:10px 16px;min-width:0;}
.cwl-v3 .mside.them{flex-direction:row-reverse;text-align:right;}
.cwl-v3 .mside .nm{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink);}
.cwl-v3 .mside .meta{font-size:10.5px;color:var(--muted);display:flex;align-items:center;gap:5px;}
.cwl-v3 .mside.them .meta{flex-direction:row-reverse;}
.cwl-v3 .mmid{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:var(--bg);border-left:1px solid var(--border-2);border-right:1px solid var(--border-2);}
.cwl-v3 .mmid .mp{font-family:'Space Grotesk';font-weight:700;font-size:11px;color:var(--muted);}
.cwl-v3 .resdot{width:8px;height:8px;border-radius:50%;}
.cwl-v3 .thchip{font-family:'Space Grotesk';font-weight:700;font-size:10.5px;padding:1px 5px;border-radius:5px;}
.cwl-v3 .ministars{display:inline-flex;gap:1px;}
.cwl-v3 .ministars i{width:10px;height:10px;-webkit-mask:var(--starmask) center/contain no-repeat;mask:var(--starmask) center/contain no-repeat;background:var(--star);}
.cwl-v3 .ministars i.off{background:#DcDCE4;}
/* Three rounded stars cannot separate 2.50 from 2.67, and that difference is
   what orders the table — so the average is printed beside them. */
.cwl-v3 .defavg{display:block;margin-top:2px;font-size:10.5px;font-weight:600;color:var(--faint);font-variant-numeric:tabular-nums;}
.cwl-v3 .mrow[data-rdpos]{cursor:pointer;}
.cwl-v3 .byline{display:inline-flex;align-items:center;gap:4px;}
.cwl-v3 .mside.them .meta{justify-content:flex-end;}
.cwl-v3 .mdetail{grid-column:1/-1;background:var(--bg);border-top:1px dashed var(--border);display:none;}
.cwl-v3 .mdetail.on{display:block;}
.cwl-v3 .mdetail .dgrid{display:grid;grid-template-columns:1fr 1fr;}
@media(max-width:680px){.cwl-v3 .mdetail .dgrid{grid-template-columns:1fr;}}
.cwl-v3 .dcol{padding:12px 18px;} .cwl-v3 .dcol.r{border-left:1px solid var(--border);}
@media(max-width:680px){.cwl-v3 .dcol.r{border-left:none;border-top:1px solid var(--border);}}
.cwl-v3 .dcol h5{font-family:'Space Grotesk';font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;}
.cwl-v3 .atkline{display:flex;align-items:center;gap:9px;font-size:12.5px;padding:5px 0;color:var(--ink);}
.cwl-v3 .atkline .who{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cwl-v3 .atkline .who b{font-family:'Space Grotesk';color:var(--accent-deep);}
.cwl-v3 .atkline .pct{color:var(--muted);font-family:'Space Grotesk';font-weight:600;min-width:40px;text-align:right;}
.cwl-v3 .dcol .none{font-size:12px;color:var(--faint);font-style:italic;}
.cwl-v3 .rdnote{padding:11px 18px;font-size:12px;color:var(--faint);border-top:1px solid var(--border-2);text-align:center;}

/* ROUND PREP PLAN */
.cwl-v3 .roundview{display:flex;gap:6px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:4px;width:fit-content;margin-bottom:16px;flex-wrap:wrap;}
.cwl-v3 .roundview .rv{display:inline-flex;align-items:center;gap:7px;font-family:var(--app-font-ui);font-weight:600;font-size:13px;color:var(--ink-2);padding:8px 14px;border-radius:9px;border:none;background:none;cursor:pointer;}
.cwl-v3 .roundview .rv:hover{color:var(--accent-deep);}
.cwl-v3 .roundview .rv.on{background:var(--grad);color:#fff;box-shadow:0 6px 14px -7px rgba(240,52,79,.6);}
.cwl-v3 .roundview .rv svg{flex:none;}
.cwl-v3 .planner{padding:0;overflow:hidden;}
.cwl-v3 .planner-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid var(--border);flex-wrap:wrap;}
.cwl-v3 .planner-head .pl{display:flex;flex-direction:column;}
.cwl-v3 .planner-head .desc{font-size:12.5px;color:var(--muted);margin-top:3px;max-width:680px;}
.cwl-v3 .planmode{display:flex;gap:6px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:4px;}
.cwl-v3 .planmode .pm{display:inline-flex;align-items:center;gap:7px;font-family:var(--app-font-ui);font-weight:600;font-size:13px;color:var(--ink-2);padding:8px 14px;border-radius:9px;border:none;background:none;cursor:pointer;white-space:nowrap;}
.cwl-v3 .planmode .pm:hover{color:var(--accent-deep);}
.cwl-v3 .planmode .pm.on{background:var(--grad);color:#fff;box-shadow:0 6px 14px -7px rgba(240,52,79,.6);}
.cwl-v3 .planmode .pm svg{flex:none;}
.cwl-v3 .pagetabs{height:44px;align-items:stretch;}
.cwl-v3 .pagetabs .pm{font-size:14px;padding:0 18px;}
/* CWL Analytics — the same card and button as Sync beside it: plain planmode
   wrapper, plain .pm. Only the icon swap is its own. */
.cwl-v3 .cwl-anl svg{color:currentColor;}
/* Icon switcher — podium and chart slide-swap on a loop */
.cwl-v3 .cwl-anl-ico{position:relative;width:15px;height:15px;display:inline-block;overflow:hidden;flex:none;}
.cwl-v3 .cwl-anl-ico svg{position:absolute;top:0;left:0;width:15px;height:15px;}
.cwl-v3 .cwl-anl-ico .ic-chart{animation:cwlIcoChart 4.4s ease-in-out infinite;}
.cwl-v3 .cwl-anl-ico .ic-pod{animation:cwlIcoPod 4.4s ease-in-out infinite;}
@keyframes cwlIcoChart{0%,38%{transform:translateY(0);}50%,88%{transform:translateY(-110%);}100%{transform:translateY(0);}}
@keyframes cwlIcoPod{0%,38%{transform:translateY(110%);}50%,88%{transform:translateY(0);}100%{transform:translateY(110%);}}
.cwl-v3 .cwl-anl .cwl-anl-spark{font-size:11px;color:currentColor;margin-left:1px;opacity:.55;}
@media(prefers-reduced-motion:reduce){.cwl-v3 .cwl-anl-ico .ic-chart{animation:none;}.cwl-v3 .cwl-anl-ico .ic-pod{animation:none;display:none;}}
.cwl-v3 .planner-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;}
.cwl-v3 .mirror-mode{width:18px;height:18px;flex:none;display:grid;place-items:center;border-radius:6px;font-family:'Space Grotesk';font-weight:800;font-size:11px;line-height:1;background:var(--bg);border:1px solid var(--border);color:var(--ink-2);cursor:pointer;user-select:none;}
.cwl-v3 .mirror-mode:hover{border-color:var(--accent);color:var(--accent-deep);}
.cwl-v3 .mirror-mode.force{background:var(--accent-tint);border-color:var(--accent);color:var(--accent-deep);}
.cwl-v3 .tgt.prep{padding:9px 16px;align-items:flex-start;}
.cwl-v3 .tgt.prep .tnm{font-size:13px;}
.cwl-v3 .tgt.prep .ti{flex:1 1 auto;min-width:0;}
.cwl-v3 .tgt.prep .assign.prepchips{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;align-items:center;margin-left:auto;max-width:62%;flex:0 1 auto;}
.cwl-v3 .prepchips .assigned{padding:4px 9px;font-size:11px;gap:5px;white-space:nowrap;}
.cwl-v3 .prepchips .recbtn{padding:4px 10px;font-size:13px;font-weight:800;line-height:1;}
.cwl-v3 .allclear{padding:40px;text-align:center;color:var(--green-deep);grid-column:1/-1;}
.cwl-v3 .allclear .big{font-family:'Space Grotesk';font-weight:700;font-size:22px;margin-bottom:6px;}
.cwl-v3 .planbar{padding:14px 22px;border-top:1px solid var(--border);display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--bg);}
.cwl-v3 .planbar .pcount{font-family:'Space Grotesk';font-weight:700;font-size:13px;color:var(--ink);}
.cwl-v3 .planchips{display:flex;gap:8px;flex-wrap:wrap;flex:1;}
.cwl-v3 .pchip{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:600;background:var(--card);border:1px solid var(--border);border-radius:999px;padding:5px 11px;color:var(--ink);}
.cwl-v3 .pchip b{font-family:'Space Grotesk';} .cwl-v3 .pchip .ar{color:var(--accent-deep);}
.cwl-v3 .subtoggle{display:flex;gap:3px;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:3px;}
.cwl-v3 .subtoggle .sub{border:none;background:none;font-family:var(--app-font-ui);font-weight:600;font-size:12.5px;color:var(--ink-2);padding:7px 12px;border-radius:7px;cursor:pointer;}
.cwl-v3 .subtoggle .sub.on{background:var(--card);color:var(--accent-deep);box-shadow:0 2px 6px -2px rgba(0,0,0,.18);}
.cwl-v3 .pstatbar{display:flex;align-items:center;gap:22px;padding:13px 20px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,var(--accent-tint),transparent);flex-wrap:wrap;}
.cwl-v3 .pstat{display:flex;flex-direction:column;}
.cwl-v3 .pstat .pv{font-family:'Space Grotesk';font-weight:700;font-size:21px;line-height:1;color:var(--ink);}
.cwl-v3 .pstat .pk{font-size:11px;color:var(--muted);font-weight:600;margin-top:3px;}
.cwl-v3 .pstat.good .pv{color:var(--green-deep);} .cwl-v3 .pstat.warn .pv{color:var(--amber-deep);} .cwl-v3 .pstat.bad .pv{color:var(--accent-deep);}
.cwl-v3 .pstat-share{margin-left:auto;max-width:320px;}
.cwl-v3 .planhint{font-size:12px;color:var(--muted);line-height:1.4;}
.cwl-v3 .targets.prep3{display:grid;grid-template-columns:repeat(3,1fr);}
@media(max-width:980px){.cwl-v3 .targets.prep3{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.cwl-v3 .targets.prep3{grid-template-columns:1fr;}}
.cwl-v3 .tgt{display:flex;align-items:center;gap:13px;padding:13px 18px;border-bottom:1px solid var(--border-2);border-right:1px solid var(--border-2);}
.cwl-v3 .tgt.prep{align-items:flex-start;}
.cwl-v3 .tgt.is-dup{background:linear-gradient(90deg,var(--accent-tint),transparent);}
.cwl-v3 .tgt .pos{width:32px;height:32px;border-radius:9px;background:var(--enemy);color:#fff;display:grid;place-items:center;font-family:'Space Grotesk';font-weight:700;font-size:12px;flex:none;}
/* `.ti` collides with Tabler's icon-font class — force normal text font so
   the target-info text (tsub, prep-actual) doesn't render as blank icons. */
.cwl-v3 .tgt .ti{flex:1;min-width:0;font-family:var(--app-font-ui, system-ui, sans-serif) !important;}
.cwl-v3 .tgt .tnm{font-family:'Space Grotesk';font-weight:700;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink);}
.cwl-v3 .tgt .tsub{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:6px;margin-top:2px;}
.cwl-v3 .mirrortag{font-size:10px;font-weight:700;font-family:'Space Grotesk';color:var(--green-deep);background:var(--green-tint);border:1px solid var(--green-bd);padding:1px 6px;border-radius:5px;}
.cwl-v3 .diptag{font-size:10px;font-weight:700;font-family:'Space Grotesk';color:var(--amber-deep);background:var(--amber-tint);border:1px solid #F5E2BE;padding:1px 6px;border-radius:5px;}
.cwl-v3 .prep-actual{font-size:10.5px;font-weight:600;margin-top:5px;display:flex;align-items:center;gap:5px;color:var(--muted);}
.cwl-v3 .prep-actual .ministars{transform:scale(.82);transform-origin:left;}
.cwl-v3 .prep-actual.ok{color:var(--green-deep);} .cwl-v3 .prep-actual.bad{color:var(--accent-deep);} .cwl-v3 .prep-actual.none{color:var(--faint);}
.cwl-v3 .prep-actual b{font-weight:700;color:var(--ink);}
.cwl-v3 .tgt .assign{flex:none;}
.cwl-v3 .recbtn{font-size:12px;font-weight:700;font-family:'Space Grotesk';padding:7px 11px;border-radius:9px;border:1px dashed var(--accent);background:var(--accent-tint);color:var(--accent-deep);cursor:pointer;}
.cwl-v3 .recbtn:hover{background:var(--accent);color:#fff;border-style:solid;}
.cwl-v3 .assigned{font-size:12px;font-weight:700;font-family:'Space Grotesk';padding:7px 10px;border-radius:9px;background:var(--green-tint);color:var(--green-deep);border:1px solid var(--green-bd);display:inline-flex;align-items:center;gap:6px;cursor:pointer;}
.cwl-v3 .assigned.dup{background:var(--accent-tint);color:var(--accent-deep);border-color:var(--accent-tint-2);}
.cwl-v3 .assigned .rb{display:inline-grid;place-items:center;width:15px;height:15px;border-radius:5px;font-size:9px;font-weight:800;line-height:1;flex:none;background:var(--green-deep);color:#fff;}
.cwl-v3 .assigned.dup .rb{background:var(--accent-deep);}
.cwl-v3 .assigned .cn{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px;}
.cwl-v3 .assigned .x{opacity:.6;font-weight:800;cursor:pointer;} .cwl-v3 .assigned .x:hover{opacity:1;}
.cwl-v3 .rosterlist{padding:4px 0;}
.cwl-v3 .rosterhead{display:grid;grid-template-columns:200px 32px 1fr 60px;gap:10px;padding:9px 20px;font-family:'Space Grotesk';font-weight:700;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);}
.cwl-v3 .rosterrow{display:grid;grid-template-columns:24px 176px 32px 1fr 60px;gap:10px;align-items:center;padding:9px 20px;border-bottom:1px solid var(--border-2);font-size:13px;color:var(--ink);}
.cwl-v3 .rosterrow:last-child{border-bottom:none;}
.cwl-v3 .rosterrow.free{background:linear-gradient(90deg,var(--amber-tint),transparent);}
.cwl-v3 .rosterrow .pos-dot{width:24px;height:24px;border-radius:7px;background:var(--bg);border:1px solid var(--border);display:grid;place-items:center;font-family:'Space Grotesk';font-weight:700;font-size:11px;color:var(--ink-2);}
.cwl-v3 .rosterrow .rr-id{display:flex;align-items:center;gap:8px;min-width:0;}
.cwl-v3 .rosterrow .rr-n{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cwl-v3 .rosterrow .rr-arrow{color:var(--faint);}
.cwl-v3 .rosterrow .rr-tgt{color:var(--ink-2);} .cwl-v3 .rosterrow .rr-tgt b{font-family:'Space Grotesk';color:var(--ink);}
.cwl-v3 .rosterrow .free-t{color:var(--amber-deep);font-weight:600;}
.cwl-v3 .duptag{font-size:10px;font-weight:700;color:var(--accent-deep);}
.cwl-v3 .rosterrow .rr-act{text-align:right;} .cwl-v3 .rosterrow .rr-act.none{font-size:11px;color:var(--faint);}
@media(max-width:640px){.cwl-v3 .rosterhead{display:none;}.cwl-v3 .rosterrow{grid-template-columns:24px 1fr 50px;}.cwl-v3 .rosterrow .rr-arrow{display:none;}.cwl-v3 .rosterrow .rr-tgt{grid-column:2;}}

/* assign popover */
.cwl-v3 .apop,.apop.cwl-apop{position:fixed;width:280px;background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:0 24px 60px -18px rgba(0,0,0,.35);z-index:1065;overflow:hidden;display:none;}
.apop.cwl-apop.on{display:block;}
.apop.cwl-apop .ah{padding:12px 15px;border-bottom:1px solid var(--border);font-size:12px;color:var(--muted);}
.apop.cwl-apop .ah b{color:var(--ink);font-family:'Space Grotesk';}
.apop.cwl-apop .alist{max-height:300px;overflow-y:auto;}
.apop.cwl-apop .arow{display:flex;align-items:center;gap:10px;padding:9px 15px;border-bottom:1px solid var(--border-2);cursor:pointer;}
.apop.cwl-apop .arow:hover{background:var(--accent-tint);}
.apop.cwl-apop .ppos{width:24px;height:24px;border-radius:7px;background:var(--bg);border:1px solid var(--border);display:grid;place-items:center;font-family:'Space Grotesk';font-weight:700;font-size:11px;color:var(--ink-2);}
.apop.cwl-apop .an{font-weight:600;font-size:13px;display:flex;align-items:center;gap:6px;color:var(--ink);}
.apop.cwl-apop .ameta{font-size:11px;color:var(--muted);margin-top:2px;}
.apop.cwl-apop .pick{font-size:11px;font-weight:700;color:var(--accent-deep);}
.cwl-v3 .rel,.apop.cwl-apop .rel{font-size:9px;font-weight:700;font-family:'Space Grotesk';padding:1px 5px;border-radius:5px;}

/* PLAYERS */
.cwl-v3 .ptablecard{overflow:hidden;}
.cwl-v3 .ptbl{width:100%;border-collapse:collapse;min-width:720px;}
.cwl-v3 .ptbl th{text-align:left;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:700;padding:12px 13px;border-bottom:1px solid var(--border);white-space:nowrap;cursor:pointer;user-select:none;}
.cwl-v3 .ptbl th.c{text-align:center;} .cwl-v3 .ptbl th .ar{opacity:.4;font-size:9px;}
.cwl-v3 .ptbl th.sorted{color:var(--accent-deep);} .cwl-v3 .ptbl th.sorted .ar{opacity:1;}
.cwl-v3 .ptbl td{padding:11px 13px;border-bottom:1px solid var(--border-2);font-size:13px;color:var(--ink);}
.cwl-v3 .ptbl td.c{text-align:center;}
.cwl-v3 .ptbl tr:last-child td{border-bottom:none;}
.cwl-v3 .ptbl tr.bonus-row{background:linear-gradient(90deg,var(--amber-tint),transparent);}
.cwl-v3 .pn{display:flex;align-items:center;gap:9px;font-weight:700;}
.cwl-v3 .ppos{width:24px;height:24px;border-radius:7px;background:var(--bg);border:1px solid var(--border);display:grid;place-items:center;font-family:'Space Grotesk';font-weight:700;font-size:11px;color:var(--ink-2);flex:none;}
.cwl-v3 .medal-i{width:17px;height:17px;flex:none;}
.cwl-v3 .formbar{display:inline-flex;align-items:center;gap:7px;}
.cwl-v3 .formbar .tr{display:inline-flex;gap:2px;}
.cwl-v3 .formbar .tr i{width:7px;height:14px;border-radius:2px;background:var(--border);}
.cwl-v3 .formbar .tr i.s3{background:var(--green);} .cwl-v3 .formbar .tr i.s2{background:var(--amber);} .cwl-v3 .formbar .tr i.s1{background:var(--accent);} .cwl-v3 .formbar .tr i.s0{background:#D8D5E0;}
.cwl-v3 .avgpill{font-family:'Space Grotesk';font-weight:700;font-size:12px;padding:2px 8px;border-radius:7px;}
.cwl-v3 .ap-hi{background:var(--green-tint);color:var(--green-deep);} .cwl-v3 .ap-mid{background:var(--amber-tint);color:var(--amber-deep);} .cwl-v3 .ap-lo{background:var(--bg);color:var(--muted);}
/* ---- podium: the three the rule put on top, with the figures that did it ---- */
.cwl-v3 .podium{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.cwl-v3 .podcard{border:1px solid var(--border);border-radius:14px;background:var(--card);padding:15px 16px;display:flex;flex-direction:column;gap:11px;min-width:0;}
.cwl-v3 .podcard.p1{border-color:var(--accent-tint-2);background:linear-gradient(180deg,var(--accent-tint),var(--card) 62%);}
.cwl-v3 .podrk{font-family:'Space Grotesk';font-weight:700;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:7px;}
.cwl-v3 .podcard.p1 .podrk{color:var(--accent-deep);}
.cwl-v3 .podmvp{background:var(--accent-deep);color:#fff;border-radius:5px;padding:2px 6px;font-size:9px;letter-spacing:.08em;}
.cwl-v3 .podwho{display:flex;align-items:center;gap:10px;min-width:0;}
.cwl-v3 .podnm{min-width:0;}
.cwl-v3 .podnm b{display:block;font-size:14.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cwl-v3 .podnm span{display:flex;align-items:center;gap:5px;margin-top:2px;font-size:11px;color:var(--muted);}
.cwl-v3 .podfig{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border-top:1px solid var(--border-2);padding-top:10px;}
.cwl-v3 .podfig b{display:block;font-family:'Space Grotesk';font-weight:700;font-size:19px;line-height:1;}
.cwl-v3 .podfig span{display:block;margin-top:4px;font-size:9.5px;letter-spacing:.04em;color:var(--faint);}
.cwl-v3 .podsub{font-size:11px;color:var(--muted);}
.cwl-v3 .podtie{margin-top:10px;font-size:12.5px;color:var(--ink-2);border:1px dashed var(--border);border-radius:10px;padding:10px 12px;}
.cwl-v3 .podtie b{color:var(--accent-deep);}
@media (max-width:820px){ .cwl-v3 .podium{grid-template-columns:1fr;} }

.cwl-v3 .lineupnote{display:flex;gap:11px;align-items:flex-start;font-size:13px;color:var(--ink-2);line-height:1.5;padding:14px 16px;border-top:1px solid var(--border);background:var(--bg);}
/* A dead heat is stated, not settled quietly — the medal is a real reward. */
.cwl-v3 .tienote{border-top:1px dashed var(--border);color:var(--ink-2);}
.cwl-v3 .tienote b{color:var(--accent-deep);}
.cwl-v3 .lineupnote svg{flex:none;color:var(--amber-deep);margin-top:1px;}
.cwl-v3 .lineupnote b{color:var(--ink);}

/* TOP BAR: flat flex of [season][clan][pips][tabs]; tabs pushed right on desktop */
.cwl-v3 .cwl-topbar{display:flex;align-items:center;gap:12px;margin:8px 0 18px;flex-wrap:wrap;}
.cwl-v3 .cwl-topbar .pagetabs{margin-left:auto;}
.cwl-v3 .rail-div{display:none;}
@media(max-width:820px){
  /* row1: season + clan (clan fills); row2: Analytics + Sync; row3: tabs (full);
     row4: round pips */
  .cwl-v3 .cwl-season{order:1;flex:none;}
  .cwl-v3 .rail-clan{order:2;flex:1 1 auto;min-width:0;}
  .cwl-v3 .cwl-topbar-actions{order:3;margin-left:0 !important;flex:0 0 100%;flex-wrap:wrap;}
  .cwl-v3 .cwl-topbar-actions > .planmode{flex:1 1 auto;}
  .cwl-v3 .cwl-topbar-actions .pm{flex:1;justify-content:center;}
  .cwl-v3 .cwl-topbar-actions .pagetabs{flex:1 1 100%;}
  .cwl-v3 .rail-rounds{order:4;flex:0 0 100% !important;flex-wrap:nowrap !important;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px;}
  .cwl-v3 .rail-rounds::-webkit-scrollbar{height:0;}
  .cwl-v3 .rpip{flex:none;}
}
@media(max-width:760px){
  .cwl-v3 .scoreboard{grid-template-columns:1fr;text-align:center;gap:12px;padding:20px 16px;}
  .cwl-v3 .team{justify-content:center;}
  .cwl-v3 .team.them{flex-direction:row;text-align:center;}
  .cwl-v3 .center{min-width:0;}
}
@media(max-width:560px){
  /* Tighter toolbar buttons so Analytics + Sync fit two-up on a phone */
  .cwl-v3 .planmode .pm{font-size:12px;padding:7px 9px;gap:5px;}
  .cwl-v3 .pagetabs .pm{font-size:13px;padding:0 10px;}
  .cwl-v3 .secrow{margin:20px 2px 12px;}
  .cwl-v3 .sectitle{font-size:17px;}
}
.cwl-v3 .rail-clan{position:relative;z-index:1;display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 12px 0 6px;border-radius:11px;border:1px solid var(--border);background:var(--card);cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s;}
.cwl-v3 .rail-clan:hover{transform:translateY(-1px);border-color:var(--accent);box-shadow:0 8px 18px -10px rgba(240,52,79,.55);}
.cwl-v3 .rail-clan .rc-t{display:flex;flex-direction:column;text-align:left;min-width:0;}
.cwl-v3 .rail-clan .rc-t b{font-family:'Space Grotesk';font-weight:700;font-size:14px;color:var(--ink);line-height:1.1;white-space:nowrap;max-width:170px;overflow:hidden;text-overflow:ellipsis;}
.cwl-v3 .rail-clan .rc-t i{font-style:normal;font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;}
.cwl-v3 .rail-clan .rc-cv{color:var(--accent-deep);flex:none;}
.cwl-v3 .rail-div{width:1px;align-self:stretch;background:var(--border);margin:2px 0;z-index:1;}
.cwl-v3 .rail-rounds{position:relative;z-index:1;display:flex;gap:7px;flex:1;flex-wrap:wrap;}
.cwl-v3 .rpip{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:54px;height:44px;padding:0 12px;border-radius:11px;border:1px solid var(--border);background:var(--card);cursor:pointer;transition:transform .14s,border-color .14s,box-shadow .14s,background .14s;}
.cwl-v3 .rpip:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 8px 16px -8px rgba(240,52,79,.5);}
.cwl-v3 .rpip .rp-r{font-family:'Space Grotesk';font-weight:700;font-size:10px;letter-spacing:.04em;color:var(--muted);}
.cwl-v3 .rpip .rp-s{font-family:'Space Grotesk';font-weight:700;font-size:12.5px;color:var(--ink);}
.cwl-v3 .rpip.w .rp-r{color:var(--green-deep);} .cwl-v3 .rpip.l .rp-r{color:var(--accent-deep);}
.cwl-v3 .rpip.prep .rp-r{color:var(--amber-deep);} .cwl-v3 .rpip.prep .rp-s{font-size:10px;color:var(--amber-deep);text-transform:uppercase;letter-spacing:.04em;}
.cwl-v3 .rpip.on{border-color:var(--accent-deep);background:var(--grad);box-shadow:0 8px 20px -8px rgba(240,52,79,.7);animation:pipPulse 2.2s ease-in-out infinite;}
.cwl-v3 .rpip.on .rp-r,.cwl-v3 .rpip.on .rp-s{color:#fff;}
@keyframes pipPulse{0%,100%{box-shadow:0 8px 18px -10px rgba(240,52,79,.55)}50%{box-shadow:0 10px 26px -8px rgba(240,52,79,.9)}}
.cwl-v3 .rail-meta{position:relative;z-index:1;display:flex;gap:18px;flex-wrap:wrap;margin-left:auto;}
.cwl-v3 .rail-meta .rm{font-size:11px;color:var(--muted);} .cwl-v3 .rail-meta .rm b{font-family:'Space Grotesk';font-size:15px;color:var(--ink);margin-right:3px;}
@media(prefers-reduced-motion:reduce){.cwl-v3 .cwl-rail::before,.cwl-v3 .rail-scan,.cwl-v3 .rpip.on{animation:none;}}

/* CLAN SWITCHER */
.cwl-v3 .clanchips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px;}
.cwl-v3 .clanchip{display:flex;align-items:center;gap:10px;padding:9px 14px 9px 10px;border-radius:13px;border:1px solid var(--border);background:var(--card);transition:all .15s;text-align:left;}
.cwl-v3 .clanchip:hover{border-color:var(--accent);transform:translateY(-1px);}
.cwl-v3 .clanchip.on{border-color:var(--accent);box-shadow:0 8px 18px -10px rgba(240,52,79,.5);background:linear-gradient(180deg,var(--accent-tint),var(--card));}
.cwl-v3 .clanchip .cc-n{font-family:'Space Grotesk';font-weight:700;font-size:13px;line-height:1.1;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink);}
.cwl-v3 .clanchip .cc-r{font-size:11px;color:var(--muted);margin-top:1px;}
.cwl-v3 .clanchip.on .cc-r{color:var(--accent-deep);font-weight:600;}

/* COMPARE */
.cwl-v3 .cmpcard{overflow:hidden;}
.cwl-v3 .cmphead{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:14px;padding:18px 20px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,var(--accent-tint),transparent);}
@media(max-width:680px){.cwl-v3 .cmphead{grid-template-columns:1fr;}}
.cwl-v3 .cmpteam{display:flex;align-items:center;gap:11px;}
.cwl-v3 .cmpteam-b{display:flex;flex-direction:column;align-items:flex-end;gap:8px;}
.cwl-v3 .cmpteam-brow{display:flex;align-items:center;gap:11px;flex-direction:row-reverse;text-align:right;}
.cwl-v3 .cmpteam .ct-side,.cwl-v3 .cmpteam-brow .ct-side{width:22px;height:22px;border-radius:7px;background:var(--accent-deep);color:#fff;display:grid;place-items:center;font-family:'Space Grotesk';font-weight:700;font-size:11px;flex:none;}
.cwl-v3 .cmpteam-brow .ct-side.b{background:var(--enemy);}
.cwl-v3 .cmpteam .ct-n,.cwl-v3 .cmpteam-brow .ct-n{font-family:'Space Grotesk';font-weight:700;font-size:16px;line-height:1.1;color:var(--ink);}
.cwl-v3 .cmpteam .ct-r,.cwl-v3 .cmpteam-brow .ct-r{font-size:11.5px;color:var(--muted);}
.cwl-v3 .cmpvs{font-family:'Space Grotesk';font-weight:700;font-size:13px;color:var(--faint);padding-top:9px;}
.cwl-v3 .cmppick{border:none;background:none;font:inherit;text-align:inherit;cursor:pointer;border-radius:11px;padding:6px;margin:-6px;transition:background .15s;}
.cwl-v3 .cmppick:hover{background:var(--accent-tint);}
.cwl-v3 .cmpsel{font-family:var(--app-font-ui);font-weight:600;font-size:12px;padding:6px 9px;border-radius:9px;border:1px solid var(--border);background:var(--card);color:var(--ink);min-width:180px;max-width:240px;cursor:pointer;}
.cwl-v3 .h2h{font-size:12.5px;padding:10px 20px;border-bottom:1px solid var(--border-2);}
.cwl-v3 .h2h.w{background:var(--green-tint);color:var(--green-deep);} .cwl-v3 .h2h.l{background:var(--accent-tint);color:var(--accent-deep);} .cwl-v3 .h2h.none{color:var(--muted);background:var(--bg);}
.cwl-v3 .h2h b{font-family:'Space Grotesk';}
.cwl-v3 .cmpbody{padding:8px 20px;}
.cwl-v3 .cmprow{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:9px 0;border-bottom:1px solid var(--border-2);}
.cwl-v3 .cmprow:last-child{border-bottom:none;}
.cwl-v3 .cmprow .cl{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:700;text-align:center;padding:0 14px;}
.cwl-v3 .cmprow .ca{text-align:right;font-family:'Space Grotesk';font-weight:700;font-size:16px;color:var(--ink-2);}
.cwl-v3 .cmprow .cb{text-align:left;font-family:'Space Grotesk';font-weight:700;font-size:16px;color:var(--ink-2);}
.cwl-v3 .cmprow .win{color:var(--accent-deep);}
.cwl-v3 .cmpcols{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--border);}
@media(max-width:680px){.cwl-v3 .cmpcols{grid-template-columns:1fr;}}
.cwl-v3 .cmpcol{padding:14px 18px;} .cwl-v3 .cmpcol.r{border-left:1px solid var(--border);}
@media(max-width:680px){.cwl-v3 .cmpcol.r{border-left:none;border-top:1px solid var(--border);}}
.cwl-v3 .cmpcol h5,.cwl-v3 .cmpmix h5{font-family:'Space Grotesk';font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;}
.cwl-v3 .trow{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:12.5px;}
.cwl-v3 .trow .trn{flex:1;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink);}
.cwl-v3 .trow .trs{font-family:'Space Grotesk';font-weight:700;color:var(--accent-deep);}
.cwl-v3 .trow .trd{font-size:11px;color:var(--muted);min-width:54px;text-align:right;}
.cwl-v3 .cmpmix{padding:14px 18px;border-top:1px solid var(--border);}
.cwl-v3 .cmpth{display:grid;grid-template-columns:24px 1fr 54px 1fr 24px;align-items:center;gap:8px;padding:3px 0;}
.cwl-v3 .cmpth .ta{text-align:right;font-family:'Space Grotesk';font-weight:700;font-size:11px;color:var(--accent-deep);}
.cwl-v3 .cmpth .tb{text-align:left;font-family:'Space Grotesk';font-weight:700;font-size:11px;color:var(--enemy);}
.cwl-v3 .cmpth .tl{text-align:center;}
.cwl-v3 .cmpth .tbar{height:9px;background:var(--bg);border-radius:5px;overflow:hidden;display:flex;}
.cwl-v3 .cmpth .tbar.a{justify-content:flex-end;} .cwl-v3 .cmpth .tbar.a i{background:var(--accent);}
.cwl-v3 .cmpth .tbar i{display:block;height:100%;border-radius:5px;}
.cwl-v3 .cmpth .tbar.b i{background:var(--enemy);}
.cwl-v3 .mixleg{display:flex;gap:16px;justify-content:center;margin-top:10px;font-size:11px;color:var(--muted);}
.cwl-v3 .mixleg i{display:inline-block;width:12px;height:8px;border-radius:3px;vertical-align:middle;margin-right:5px;}
.cwl-v3 .mixleg i.a{background:var(--accent);} .cwl-v3 .mixleg i.b{background:var(--enemy);}

/* ===== War progress (scoreboard + momentum + scrub + kpis) — ported from war-v3 ===== */
.cwl-v3 .warhead{overflow:hidden;position:relative;margin-bottom:18px;}
.cwl-v3 .warhead::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--grad);}
.cwl-v3 .scoreboard{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;padding:26px 28px 22px;}
@media(max-width:760px){.cwl-v3 .scoreboard{grid-template-columns:1fr;gap:14px;}}
.cwl-v3 .team{display:flex;align-items:center;gap:14px;}
.cwl-v3 .team.them{flex-direction:row-reverse;text-align:right;}
.cwl-v3 .team .tn{font-family:'Space Grotesk';font-weight:700;font-size:20px;line-height:1.1;color:var(--ink);}
.cwl-v3 .team .tm{font-size:12.5px;color:var(--muted);margin-top:2px;}
.cwl-v3 .center{text-align:center;min-width:200px;}
.cwl-v3 .bigstars{font-family:'Space Grotesk';font-weight:700;font-size:40px;line-height:1;display:flex;align-items:center;justify-content:center;gap:14px;}
.cwl-v3 .bigstars .vs{font-size:16px;color:var(--faint);font-weight:600;}
.cwl-v3 .bigstars .us{color:var(--accent-deep);} .cwl-v3 .bigstars .th{color:var(--enemy);}
.cwl-v3 .destrline{font-size:12.5px;color:var(--muted);margin-top:8px;}
.cwl-v3 .destrline b{color:var(--ink);font-family:'Space Grotesk';}
.cwl-v3 .race{padding:0 28px 12px;display:grid;gap:9px;}
.cwl-v3 .racerow{display:grid;grid-template-columns:60px 1fr auto;gap:12px;align-items:center;font-size:12.5px;}
.cwl-v3 .racerow .rl{font-weight:700;font-family:'Space Grotesk';}
.cwl-v3 .racebar{height:12px;border-radius:7px;background:var(--bg);overflow:hidden;position:relative;}
.cwl-v3 .racebar i{position:absolute;left:0;top:0;bottom:0;border-radius:7px;transition:width .35s ease;}
.cwl-v3 .racebar.us i{background:var(--grad);} .cwl-v3 .racebar.them i{background:linear-gradient(90deg,#8B79E6,#6D5BD0);}
.cwl-v3 .racerow .rv{font-family:'Space Grotesk';font-weight:700;min-width:88px;text-align:right;color:var(--ink);}
.cwl-v3 .momentum{padding:8px 28px 6px;}
.cwl-v3 .mhead2{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:2px;flex-wrap:wrap;}
.cwl-v3 .mlead{font-family:'Space Grotesk';font-weight:600;font-size:13px;color:var(--ink-2);}
.cwl-v3 .mlead b{font-family:'Space Grotesk';font-weight:700;}
.cwl-v3 .mcap{font-size:11px;color:var(--faint);font-weight:500;}
.cwl-v3 .mchart-wrap{position:relative;}
.cwl-v3 .mchart{width:100%;height:104px;display:block;overflow:visible;}
.cwl-v3 .scrub{border-top:1px solid var(--border);padding:18px 28px 22px;background:linear-gradient(180deg,var(--accent-tint),transparent);}
.cwl-v3 .scrub-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;flex-wrap:wrap;}
.cwl-v3 .scrub-top .lt{display:flex;align-items:center;gap:12px;}
.cwl-v3 .iconbtn{width:40px;height:40px;border-radius:11px;border:1px solid var(--border);background:var(--card);display:grid;place-items:center;color:var(--ink);transition:all .15s;flex:none;}
.cwl-v3 .iconbtn:hover{border-color:var(--accent);color:var(--accent-deep);}
.cwl-v3 .iconbtn.play{background:var(--grad);color:#fff;border-color:transparent;box-shadow:0 8px 18px -8px rgba(240,52,79,.6);}
.cwl-v3 .scrub-state{font-family:'Space Grotesk';font-weight:700;font-size:15px;color:var(--ink);}
.cwl-v3 .scrub-state span{color:var(--muted);font-weight:500;font-size:12.5px;}
.cwl-v3 .pillbtns{display:flex;gap:8px;}
.cwl-v3 .pillbtn{font-size:12.5px;font-weight:600;padding:8px 13px;border-radius:9px;border:1px solid var(--border);background:var(--card);color:var(--ink-2);}
.cwl-v3 .pillbtn:hover{border-color:var(--accent);color:var(--accent-deep);}
.cwl-v3 input[type=range]{width:100%;-webkit-appearance:none;appearance:none;height:8px;border-radius:6px;background:var(--border);outline:none;}
.cwl-v3 input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--accent-deep);border:3px solid #fff;box-shadow:0 3px 8px rgba(240,52,79,.5);cursor:pointer;}
.cwl-v3 input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--accent-deep);border:3px solid #fff;cursor:pointer;}
.cwl-v3 .ticks{display:flex;justify-content:space-between;font-size:10.5px;color:var(--faint);margin-top:6px;font-weight:600;}
.cwl-v3 .kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:6px;}
@media(max-width:1080px){.cwl-v3 .kpis{grid-template-columns:repeat(3,1fr);}}
@media(max-width:560px){.cwl-v3 .kpis{grid-template-columns:repeat(2,1fr);}}
.cwl-v3 .kpi{padding:14px 15px;}
.cwl-v3 .kpi .k{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);}
.cwl-v3 .kpi .v{font-family:'Space Grotesk';font-weight:700;font-size:25px;line-height:1.05;margin-top:3px;color:var(--ink);}
.cwl-v3 .kpi .sub{font-size:11px;color:var(--faint);margin-top:2px;}
.cwl-v3 .kpi.hot{border-color:var(--accent-tint-2);background:linear-gradient(180deg,var(--accent-tint),var(--card));}
.cwl-v3 .kpi.hot .v{color:var(--accent-deep);}
.cwl-v3 .kpi.warn .v{color:var(--amber-deep);}
.cwl-v3 .kpi.good .v{color:var(--green-deep);}
@media(max-width:560px){.cwl-v3 .scoreboard{padding:20px 16px 18px;}.cwl-v3 .race{padding:0 16px 12px;}.cwl-v3 .momentum{padding:8px 16px 6px;}.cwl-v3 .scrub{padding:16px 16px 18px;}}

/* ===== War map (mind map) — ported from war-v3 ===== */
.cwl-v3 .wm-headtools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto;}
.cwl-v3 .wm-vtoggle{flex:none;}
.cwl-v3 .wm-filters{display:flex;gap:5px;flex-wrap:wrap;margin:0;}
.cwl-v3 .wm-chip{font-size:12px;font-weight:600;padding:5px 8px;border-radius:999px;cursor:pointer;border:1px solid var(--border);background:var(--card);color:var(--muted);display:inline-flex;align-items:center;gap:5px;line-height:1;}
.cwl-v3 .wm-chip svg{color:var(--cdot,var(--muted));display:block;flex:none;}
.cwl-v3 .wm-chip:hover{color:var(--ink);border-color:var(--faint);}
.cwl-v3 .wm-chip.on{color:var(--ink);background:var(--bg);border-color:var(--cdot,var(--border));}
.cwl-v3 .wm-chip.c-all{--cdot:var(--accent)} .cwl-v3 .wm-chip.c-on{--cdot:var(--green)} .cwl-v3 .wm-chip.c-off{--cdot:var(--amber)} .cwl-v3 .wm-chip.c-no{--cdot:var(--wm-red)}
.cwl-v3 .wm-chip .n{font-family:'Space Grotesk';font-size:11px;font-weight:700;}
.cwl-v3 .wm-card{padding:0;overflow:hidden;}
.cwl-v3 .warmap{position:relative;padding:0;}
.cwl-v3 .wm-cols{display:grid;grid-template-columns:1fr 80px 1fr;align-items:start;}
.cwl-v3 .wm-colhead{font-family:'Space Grotesk';font-weight:700;font-size:10.5px;letter-spacing:1.5px;text-transform:uppercase;padding:12px 22px;border-bottom:1px solid var(--border);color:var(--faint);}
.cwl-v3 .wm-ours .wm-colhead{text-align:right;}
.cwl-v3 .wm-rows{display:flex;flex-direction:column;}
.cwl-v3 .wm-ours .wm-rows{padding-right:22px;}
.cwl-v3 .wm-enemy .wm-rows{padding-left:22px;}
.cwl-v3 .wm-node{display:flex;align-items:center;gap:9px;min-height:64px;padding:5px 9px;border-bottom:1px solid var(--border-2);background:var(--card);cursor:pointer;position:relative;transition:border-color .14s,background .14s;}
.cwl-v3 .wm-rows .wm-node:last-child{border-bottom:none;}
.cwl-v3 .wm-ours .wm-node{flex-direction:row-reverse;text-align:right;}
.cwl-v3 .wm-node:hover{border-color:var(--faint);background:var(--bg);}
.cwl-v3 .wm-node .pos{font-family:'Space Grotesk';font-size:10px;color:var(--faint);width:22px;text-align:center;flex:none;}
.cwl-v3 .wm-node .th{font-family:'Space Grotesk';font-size:10px;font-weight:700;width:28px;height:22px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:6px;background:var(--bg);color:var(--ink-2);border:1px solid var(--border);}
.cwl-v3 .wm-node .nm{flex:1;min-width:0;font-weight:600;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink);}
.cwl-v3 .wm-node .stpip{display:flex;gap:1px;flex:none;}
.cwl-v3 .wm-node .stpip i{width:5px;height:5px;border-radius:50%;background:var(--border);}
.cwl-v3 .wm-node .stpip i.on{background:var(--star);}
.cwl-v3 .wm-node .sbadge{width:9px;height:9px;border-radius:50%;flex:none;}
.cwl-v3 .wm-node.s-ontarget .sbadge{background:var(--green);}
.cwl-v3 .wm-node.s-offtarget .sbadge{background:var(--amber);}
.cwl-v3 .wm-node.s-noattack{opacity:.5;}
.cwl-v3 .wm-node.s-noattack .sbadge{background:var(--wm-red);}
.cwl-v3 .wm-node.s-noattack .nm{color:var(--muted);}
.cwl-v3 .wm-enemy-node{cursor:default;}
.cwl-v3 .wm-enemy-node .sbadge{display:none;}
.cwl-v3 .wm-enemy-node.cleared .th{border-color:var(--green);color:var(--green-deep);}
.cwl-v3 .wm-links{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;overflow:visible;}
.cwl-v3 .wm-links path{fill:none;}
.cwl-v3 .wm-links .guide{stroke:var(--faint);stroke-width:1;stroke-dasharray:2 5;opacity:.4;}
.cwl-v3 .warmap.focused .wm-node{opacity:.3;}
.cwl-v3 .warmap.focused .wm-node.hl{opacity:1;border-color:var(--hlc,var(--accent));background:var(--bg);box-shadow:0 0 0 1px var(--hlc,var(--accent));}
.cwl-v3 .warmap.focused .wm-links .link{opacity:.08;}
.cwl-v3 .warmap.focused .wm-links .link.hl{opacity:1;}
.cwl-v3 .warmap.focused .wm-links .guide{opacity:.05;}
.cwl-v3 .warmap.focused .wm-links .guide.hl{opacity:.5;}
.cwl-v3 .warmap.filtered .wm-node.out{opacity:.13;}
.cwl-v3 .warmap.filtered .wm-links .link.out,.cwl-v3 .warmap.filtered .wm-links .guide.out{opacity:.04;}
.cwl-v3 .wm-detail{position:fixed;top:0;left:0;width:300px;max-width:92vw;max-height:80vh;z-index:1090;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 18px 50px -14px rgba(0,0,0,.5);display:none;flex-direction:column;overflow:hidden;}
.cwl-v3 .wm-detail.open{display:flex;}
.cwl-v3 .wm-detail .wd-h{display:flex;align-items:flex-start;gap:12px;padding:16px;border-bottom:1px solid var(--border);}
.cwl-v3 .wm-detail .wd-h .th{font-family:'Space Grotesk';font-size:13px;font-weight:700;width:38px;height:34px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:9px;background:var(--bg);color:var(--ink);border:1px solid var(--border);}
.cwl-v3 .wm-detail .wd-h .nm{font-family:'Space Grotesk';font-weight:700;font-size:18px;line-height:1.1;color:var(--ink);}
.cwl-v3 .wm-detail .wd-h .pos{font-family:'Space Grotesk';font-size:11px;color:var(--faint);margin-top:3px;}
.cwl-v3 .wm-detail .wd-h .x{margin-left:auto;background:var(--bg);border:1px solid var(--border);color:var(--muted);width:30px;height:30px;border-radius:8px;cursor:pointer;flex:none;}
.cwl-v3 .wm-detail .wd-body{padding:14px 16px;overflow:auto;display:flex;flex-direction:column;gap:14px;}
.cwl-v3 .wd-status{font-family:'Space Grotesk';font-weight:700;font-size:13px;padding:8px 12px;border-radius:9px;}
.cwl-v3 .wd-status.s-ontarget{background:var(--green-tint);color:var(--green-deep);}
.cwl-v3 .wd-status.s-offtarget{background:var(--amber-tint);color:var(--amber-deep);}
.cwl-v3 .wd-status.s-noattack{background:var(--accent-tint);color:var(--wm-red);}
.cwl-v3 .wd-lbl{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--faint);font-weight:700;margin-bottom:7px;}
.cwl-v3 .wd-mirror{font-weight:600;color:var(--ink);}
.cwl-v3 .wd-mirror span{font-family:'Space Grotesk';font-size:10px;color:var(--faint);}
.cwl-v3 .wd-atk{display:flex;align-items:center;gap:8px;font-size:12.5px;padding:7px 9px;border-radius:8px;background:var(--bg);border:1px solid var(--border);margin-bottom:6px;}
.cwl-v3 .wd-atk.on{border-color:var(--green-bd);background:var(--green-tint);}
.cwl-v3 .wd-atk .ar{color:var(--faint);}
.cwl-v3 .wd-atk .dn{flex:1;min-width:0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink);}
.cwl-v3 .wd-atk .dp{font-family:'Space Grotesk';font-size:10px;color:var(--faint);}
.cwl-v3 .wd-atk .pc{font-family:'Space Grotesk';font-size:11px;color:var(--muted);width:38px;text-align:right;}
.cwl-v3 .wd-atk .mt{font-size:9px;font-weight:700;color:var(--green-deep);}
.cwl-v3 .wd-none{font-size:12.5px;color:var(--wm-red);padding:8px;text-align:center;border:1px dashed var(--border);border-radius:8px;}
@media(max-width:680px){
  .cwl-v3 .wm-cols{grid-template-columns:1fr 50px 1fr;}
  .cwl-v3 .wm-card{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;}
  .cwl-v3 .warmap{min-width:500px;}
  .cwl-v3 .wm-detail{left:8px !important;right:8px !important;width:auto !important;max-width:none;}
}

.cwl-v3 .cwl-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--ink);color:var(--card);font-weight:600;font-size:13.5px;padding:11px 20px;border-radius:11px;opacity:0;pointer-events:none;transition:all .25s;z-index:1080;}
.cwl-v3 .cwl-toast.on{opacity:1;transform:translateX(-50%);}

/* mobile: tables scroll inside their card; sortable header inputs unaffected */
@media(max-width:680px){
  .cwl-v3 .lgtop{padding:20px 16px 16px;}
  .cwl-v3 .rphead{padding:14px 16px;}
  .cwl-v3 .pstatbar{padding:13px 16px;gap:16px;}
}

/* Battle-log filter bar — mirror the regular war room exactly */
.cwl-v3 .logfilters { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.cwl-v3 .logsearch { display:flex; align-items:center; gap:7px; padding:0 11px; border:1px solid var(--border); border-radius:9px; background:var(--card); color:var(--muted); }
.cwl-v3 .logsearch:focus-within { border-color:var(--accent); color:var(--accent-deep); }
.cwl-v3 .logsearch input { border:none; outline:none; background:transparent; font-size:12.5px; color:var(--ink); padding:7px 0; width:150px; }
.cwl-v3 .logsearch input::placeholder { color:var(--faint); }
.cwl-v3 .logsearch .exact { margin:0 2px 0 4px; width:24px; height:24px; flex:none; display:grid; place-items:center; border:1px solid transparent; border-radius:6px; background:transparent; color:var(--faint); cursor:pointer; }
.cwl-v3 .logsearch .exact svg { display:block; }
.cwl-v3 .logsearch .exact:hover { background:var(--bg); color:var(--ink-2); }
.cwl-v3 .logsearch .exact.on { background:var(--accent-tint); border-color:var(--accent); color:var(--accent-deep); }
.cwl-v3 .lf { font-size:12.5px; font-weight:600; padding:7px 13px; border-radius:9px; border:1px solid var(--border); background:var(--card); color:var(--ink-2); cursor:pointer; }
.cwl-v3 .lf.on { background:var(--grad); color:#fff; border-color:transparent; }

/* War map + Participation side-by-side, ported from the regular war room */
.cwl-v3 .grid2 { display:grid; grid-template-columns:1.15fr .85fr; gap:18px; align-items:start; }
.cwl-v3 .grid2 > * { min-width:0; }
@media (max-width:980px){ .cwl-v3 .grid2 { grid-template-columns:1fr; } }
/* Keep both section headers the same height so the two tables top-align even
   though only the War-map header carries the Table/Mind-map toggle. */
.cwl-v3 .cwl-mapgrid > div > .secrow { min-height:40px; margin-top:26px; }
.cwl-v3 .parthead-r { display:flex; align-items:center; gap:12px; }
.cwl-v3 .parthint { font-size:12px; font-weight:600; color:var(--faint); }
.cwl-v3 .pendtoggle { font-size:12px; font-weight:600; font-family:var(--app-font-ui); padding:6px 12px; border-radius:9px; border:1px solid var(--border); background:var(--card); color:var(--ink-2); cursor:pointer; white-space:nowrap; }
.cwl-v3 .pendtoggle:hover { border-color:var(--accent); color:var(--accent-deep); }
.cwl-v3 .pendtoggle.on { background:var(--accent-tint); border-color:var(--accent); color:var(--accent-deep); }
.cwl-v3 .capbtn { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:9px; border:1px solid var(--border); background:var(--card); color:var(--ink-2); cursor:pointer; }
.cwl-v3 .capbtn:hover { border-color:var(--accent); color:var(--accent-deep); background:var(--accent-tint); }
.cwl-v3 .parttime { margin-top:10px; padding:0 2px; font-size:12px; font-weight:600; color:var(--faint); text-align:right; }
.cwl-v3 .tbl-wrap { overflow:hidden; }
@media (max-width:560px){ .cwl-v3 .tbl-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; } }
.cwl-v3 .ptable { width:100%; border-collapse:collapse; }
/* Header padding matches .mhead (9px) and rows share the war-map row height so
   the two tables line up cell-for-cell, like the regular war room. */
.cwl-v3 .ptable th { text-align:left; font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); font-weight:700; padding:12px 16px; border-bottom:1px solid var(--border); white-space:nowrap; background:var(--card); }
.cwl-v3 .ptable td { height:64px; padding:0 16px; border-bottom:1px solid var(--border-2); font-size:13.5px; color:var(--ink); }
.cwl-v3 .ptable tr:last-child td { border-bottom:none; }
.cwl-v3 .ptable tr.norow { background:linear-gradient(90deg,var(--accent-tint),transparent); }
.cwl-v3 .ptable .pname { font-weight:700; display:flex; align-items:center; gap:9px; }
.cwl-v3 .ptable .pos-dot { width:24px; height:24px; border-radius:7px; background:var(--bg); border:1px solid var(--border); display:grid; place-items:center; font-family:'Space Grotesk'; font-weight:700; font-size:11px; color:var(--ink-2); flex:none; }
.cwl-v3 .atkdots { display:inline-flex; gap:4px; }
.cwl-v3 .atkdots .d { width:15px; height:15px; border-radius:50%; border:2px solid var(--border); display:grid; place-items:center; }
.cwl-v3 .atkdots .d.done { background:var(--green); border-color:var(--green); }
.cwl-v3 .statetag { font-size:11px; font-weight:700; font-family:'Space Grotesk'; padding:3px 9px; border-radius:7px; white-space:nowrap; }
.cwl-v3 .st-done { background:var(--green-tint); color:var(--green-deep); }
.cwl-v3 .st-part { background:var(--amber-tint); color:var(--amber-deep); }
.cwl-v3 .st-none { background:var(--accent-tint); color:var(--accent-deep); }
