/* ===== 轮次3 · 设计 token（新代码必须只用 var()） ===== */
:root{
  --fs-xs:12px; --fs-sm:13px; --fs-md:14px; --fs-lg:16px; --fs-xl:20px; --fs-2xl:24px;
  --r-sm:8px; --r-md:12px; --r-lg:16px; --r-full:999px;
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:24px; --sp-6:32px; --sp-7:48px; --sp-8:64px;
  --bg:#f6f6f3; --card:#fff; --ink:#141414; --ink2:#56565c; --ink3:#6e6e78; --line:#ececea; --line2:#f2f2f0;
  --green:#0d7a45; --green-l:#e6f5ec; --red:#a5281c; --red-l:#fbeae8; --amber:#8a5a08; --amber-l:#fdf4e2;
  --r:14px; --font:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif; --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

  --c-0e6b48:#0e6b48; --c-111:#111; --c-2f6bff:#2f6bff; --c-4d3a08:#4d3a08; --c-6b4e0d:#6b4e0d; --c-8a8577:#8a8577; --c-b3261e:#b3261e; --c-b8860b:#b8860b; --c-bfe3d0:#bfe3d0; --c-ccc:#ccc; --c-cfddfa:#cfddfa; --c-e0d5bf:#e0d5bf; --c-e0e0dc:#e0e0dc; --c-e8e6e0:#e8e6e0; --c-e9efff:#e9efff; --c-ead9b0:#ead9b0; --c-eee:#eee; --c-efede7:#efede7; --c-f0b4b2:#f0b4b2; --c-f0d8d4:#f0d8d4; --c-f0f0ec:#f0f0ec; --c-f0f0ee:#f0f0ee; --c-f1f1ef:#f1f1ef; --c-f2cdca:#f2cdca; --c-f3faf6:#f3faf6; --c-f4f3f0:#f4f3f0; --c-f4f4f2:#f4f4f2; --c-f7f5f0:#f7f5f0; --c-f7f7f5:#f7f7f5; --c-fafaf8:#fafaf8; --c-fafaf9:#fafaf9; --c-fbfbf9:#fbfbf9; --c-fdeaea:#fdeaea; --c-fdfdfc:#fdfdfc;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--font);background:var(--bg);color:var(--ink);font-size:var(--fs-md);line-height:1.6}
.app{display:flex;min-height:100vh}
/* ===== 侧栏(可折叠/多级/徽标) ===== */
.side{position:relative;width:236px;flex-shrink:0;background:var(--card);border-right:1px solid var(--line);padding:14px 10px;display:flex;flex-direction:column;transition:width .2s;overflow:hidden}
.side.rail{width:58px}
.side .brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:var(--fs-lg);margin-bottom:6px;white-space:nowrap}
.side .brand .bm{width:27px;height:27px;border-radius:var(--r-sm);background:var(--ink);color:var(--card);display:flex;align-items:center;justify-content:center;font-size:var(--fs-sm);flex-shrink:0}
.side .toggle{position:absolute;top:18px;right:-12px;width:24px;height:24px;border-radius:var(--r-md);background:var(--card);border:1px solid var(--line);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--fs-xs);color:var(--ink2);z-index:5}
.grpc{margin-top:6px}
.grpc .gh{display:flex;align-items:center;gap:6px;padding:6px 10px;min-height:44px;font-size:var(--fs-xs);color:var(--ink3);letter-spacing:.05em;cursor:pointer;border-radius:var(--r-sm);user-select:none}
.grpc .gh:hover{background:var(--c-f4f4f2)}
.grpc.closed .items{display:none}
.items a{display:flex;align-items:center;gap:9px;padding:7px 10px;min-height:44px;border-radius:var(--r-sm);color:var(--ink2);font-size:var(--fs-sm);text-decoration:none;cursor:pointer;margin-bottom:2px;white-space:nowrap}
.items a:hover{background:var(--c-f4f4f2)}
.items a.on{background:var(--c-f1f1ef);color:var(--ink);font-weight:700}
.items .sub{padding-left:22px;font-size:var(--fs-sm)}
.items .bdg{margin-left:auto;font-size:var(--fs-xs);color:var(--ink);background:var(--c-f1f1ef);border-radius:var(--r-sm);padding:0 7px}
.items .bdg.r{background:var(--red-l);color:var(--red)}
.items .bdg.a{background:var(--amber-l);color:var(--amber)}
.side.rail .grpc .gh span.txt,.side.rail .items a span.txt,.side.rail .brand span.name,.side.rail .gauge{display:none}
.side.rail .items a{justify-content:center;padding:var(--sp-2)}
.side.rail .grpc .gh{justify-content:center;padding:var(--sp-2)}
.side.rail .sub{display:none}
.spacer{flex:1}
.gauge{border:1px solid var(--line);border-radius:10px;padding:10px var(--sp-3);font-size:var(--fs-xs);color:var(--ink2);margin-top:var(--sp-2);white-space:nowrap}
.gauge .bar{height:8px;border-radius:6px;background:var(--c-eee);margin:6px 0;overflow:hidden}
.gauge .bar i{display:block;height:100%;background:var(--ink)}
.gauge .who{display:flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-2);border-top:1px solid var(--line);padding-top:var(--sp-2)}
.ava{width:26px;height:26px;border-radius:var(--r-sm);background:var(--c-111);color:var(--card);display:flex;align-items:center;justify-content:center;font-size:var(--fs-xs)}
/* 店分组折叠箭头 + 店列表项 */
.grpc .gh .ar{display:inline-block;transition:transform .15s;font-size:var(--fs-xs);margin-left:auto;color:var(--ink3)}
.grpc:not(.closed) .gh .ar{transform:rotate(90deg)}
#storeList .storeitem{font-size:var(--fs-sm);padding-left:var(--sp-5);cursor:pointer}
#storeList .storeitem .dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0}
#storeList .storeitem .stg{font-size:var(--fs-xs);margin-left:auto;padding:0 6px;border-radius:6px;white-space:nowrap}
#storeList .storeitem .stg.g{background:var(--green-l);color:var(--green)}
#storeList .storeitem .stg.r{background:var(--red-l);color:var(--red)}
#storeList .storeitem.sel{background:var(--c-f1f1ef);color:var(--ink);font-weight:700}
/* ===== 主区 ===== */
.main{flex:1;padding:var(--sp-4) var(--sp-5);max-width:1160px;min-width:0}
.tbar{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:10px;flex-wrap:wrap;position:sticky;top:0;background:var(--bg);z-index:50;padding:6px 0}
.crumbs{font-size:var(--fs-sm);color:var(--ink3)}
.crumbs b{color:var(--ink)}
.search-ic{display:flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:9px;padding:6px var(--sp-3);color:var(--ink3);font-size:var(--fs-xs);cursor:pointer}
.kbd{font-size:var(--fs-xs);border:1px solid var(--line);border-radius:4px;padding:0 5px}
.storepicker{position:relative}
.spbtn{display:flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:9px;padding:6px var(--sp-3);font-size:var(--fs-sm);cursor:pointer;white-space:nowrap}
.spdd{position:absolute;top:38px;left:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:0 16px 40px rgba(0,0,0,.12);width:250px;padding:6px;display:none;z-index:40}
.storepicker.open .spdd{display:block}
.spdd .opt{display:flex;align-items:center;gap:var(--sp-2);padding:7px 10px;border-radius:var(--r-sm);font-size:var(--fs-sm);cursor:pointer}
.spdd .opt:hover{background:var(--c-f4f4f2)}
.spdd .opt .dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}
.spdd .opt .tg{font-size:var(--fs-xs);border-radius:var(--r-sm);padding:1px 7px;margin-left:auto;white-space:nowrap}
.spdd .opt .tg.g{background:var(--green-l);color:var(--green)}
.spdd .opt .tg.r{background:var(--red-l);color:var(--red)}
.spdd .opt .tg.d{background:var(--c-f1f1ef);color:var(--ink3)}
.spdd .grp{font-size:var(--fs-xs);color:var(--ink3);font-weight:700;letter-spacing:.05em;padding:6px 10px 3px;cursor:default}
.spdd .sub{padding-left:22px}
.bells{position:relative;background:var(--card);border:1px solid var(--line);border-radius:9px;width:34px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:var(--fs-md)}
.bells .n{position:absolute;top:-6px;right:-6px;background:var(--red);color:var(--card);border-radius:10px;font-size:var(--fs-xs);padding:0 5px}
.tabs{margin-left:auto;display:flex;gap:6px}
.tabs button{border:1px solid var(--line);background:transparent;padding:5px var(--sp-3);border-radius:var(--r-sm);font-size:var(--fs-xs);color:var(--ink2);cursor:pointer}
.tabs button.on{background:var(--ink);color:var(--card)}
h1.hero,h2.hero{font-size:27px;font-weight:800;letter-spacing:-.02em;margin:var(--sp-2) 0 2px}
.sub{color:var(--ink2);font-size:var(--fs-sm)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:15px 18px;margin-bottom:13px}
.card h3{font-size:15px;font-weight:800;margin-bottom:var(--sp-1)}
.hint{color:var(--ink3);font-size:var(--fs-xs);margin-bottom:var(--sp-3)}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--sp-3);margin-bottom:13px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:13px 15px}
.kpi .k{font-size:var(--fs-xs);color:var(--ink3)}
.kpi .v{font-size:var(--fs-2xl);font-weight:800;margin-top:2px}
.kpi .d{font-size:var(--fs-xs);margin-top:2px}.d.up{color:var(--green)}.d.down{color:var(--red)}
/* 时间四象限 */
.quad{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}
.qz{border:1px solid var(--line);border-radius:var(--r);padding:var(--sp-3) 14px;background:var(--card)}
.qz .qh{font-size:var(--fs-sm);font-weight:800;margin-bottom:2px}
.qz .qt{font-size:var(--fs-xs);color:var(--ink3);margin-bottom:10px}
.schip{display:flex;align-items:center;gap:var(--sp-2);background:var(--c-fafaf8);border:1px solid var(--line);border-radius:10px;padding:var(--sp-2) 10px;margin-bottom:var(--sp-2);cursor:pointer}
.schip:hover{background:var(--c-f4f4f2)}
.schip .dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.schip.g .dot{background:var(--green)} .schip.r .dot{background:var(--red)}
.schip .nm{font-weight:700;font-size:var(--fs-sm)}
.schip .why{font-size:var(--fs-xs);color:var(--ink3)}
.schip .tag{margin-left:auto;font-size:var(--fs-xs);border-radius:var(--r-sm);padding:1px 7px;white-space:nowrap}
.tag.g{background:var(--green-l);color:var(--green)} .tag.r{background:var(--red-l);color:var(--red)}
.legend{display:flex;gap:var(--sp-4);font-size:var(--fs-xs);color:var(--ink2);margin:var(--sp-1) 0 10px}
.legend .sw{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}
.sw.g{background:var(--green)} .sw.r{background:var(--red)}
.note{background:var(--c-f4f4f2);border:1px solid var(--line);border-radius:11px;padding:11px 13px;font-size:var(--fs-sm);color:var(--ink2);line-height:1.7}
/* 命令面板 */
.pal{position:fixed;inset:0;background:rgba(15,15,15,.4);z-index:200;display:none;align-items:flex-start;justify-content:center;padding-top:12vh}
.pal.show{display:flex}
.palb{background:var(--card);border-radius:var(--r-lg);width:min(92vw,560px);box-shadow:0 30px 80px rgba(0,0,0,.3);overflow:hidden}
.palb input{width:100%;border:none;outline:none;padding:15px 18px;font-size:var(--fs-lg);border-bottom:1px solid var(--line);font-family:inherit}
.palr{max-height:46vh;overflow:auto;padding:6px}
.palr .it{display:flex;gap:10px;align-items:center;padding:9px var(--sp-3);border-radius:9px;font-size:var(--fs-md);cursor:pointer}
.palr .it:hover,.palr .it.on{background:var(--c-f4f4f2)}
.palr .it .g{font-size:var(--fs-xs);color:var(--ink3);margin-left:auto}
.palr .it.locked{color:var(--ink3);cursor:not-allowed}
.palr .it.locked:hover{background:transparent}
.palr .it .lk{font-size:var(--fs-xs);margin-left:6px}
.back{color:var(--ink2);cursor:pointer;font-size:var(--fs-sm);border:none;background:none;padding:2px 0}
.btnr{background:var(--ink);color:var(--card);border:none;padding:7px 14px;border-radius:9px;font-size:var(--fs-xs);cursor:pointer}
.btnr.gh{background:var(--card);color:var(--ink);border:1px solid var(--line)}
.tbl{width:100%;border-collapse:collapse;font-size:var(--fs-sm);background:var(--card)}
.tbl th,.tbl td{text-align:left;padding:var(--sp-2) 10px;border-bottom:1px solid var(--line2)}
.tbl th{color:var(--ink3);font-weight:600;font-size:var(--fs-xs);background:var(--c-fafaf8)}
.tbl tr:hover td{background:var(--c-fafaf8)}
.chip{display:inline-block;border:1px solid var(--line);border-radius:9px;padding:var(--sp-1) 10px;font-size:var(--fs-xs);margin:0 6px 6px 0;background:var(--card)}
.tli{border:1px solid var(--line);border-radius:11px;padding:10px var(--sp-3);margin-bottom:var(--sp-2);background:var(--card)}
.tli .t{font-weight:700;font-size:var(--fs-sm)}
.tli .s{font-size:var(--fs-xs);color:var(--ink3);margin-top:2px}
.up{color:var(--green)}.down{color:var(--red)}
.foot{color:var(--ink3);font-size:var(--fs-xs);margin-top:6px}
/* ===== 简易版首页: 全屏大上传卡 ===== */
.simple-hero{display:none}
#overview.simple .quad,#overview.simple .kpis,#overview.simple .legend,#overview.simple .note{display:none}
#overview.simple .simple-hero{display:flex}
/* ===== 多店看板(运营/旗舰) ===== */
#overview.board .quad,#overview.board .kpis,#overview.board .legend,#overview.board .note,#overview.board .simple-hero{display:none}
.board-hero{display:none}
#overview.board .board-hero{display:block}
.bd-tools{display:flex;gap:var(--sp-2);align-items:center;margin-bottom:var(--sp-3);flex-wrap:wrap}
.bd-tools .pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--card);border-radius:var(--r-full);padding:5px 14px;font-size:var(--fs-sm);cursor:pointer;color:var(--ink2)}
.bd-tools .pill.on{background:var(--ink);color:var(--card);border-color:var(--ink)}
.bd-row{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:13px;padding:13px var(--sp-4);margin-bottom:9px;cursor:pointer;transition:.15s}
.bd-row:hover{box-shadow:0 6px 20px rgba(0,0,0,.06)}
.bd-rank{width:30px;text-align:center;font-weight:800;color:var(--ink3);flex-shrink:0}
.bd-rank.r1{color:var(--red)}.bd-rank.r2{color:var(--amber)}.bd-rank.r3{color:var(--green)}
.bd-name{flex:1.4;min-width:150px}
.bd-name .n{font-weight:700;font-size:var(--fs-md)}
.bd-name .w{font-size:var(--fs-xs);color:var(--ink3)}
.bd-metric{flex:1;min-width:70px}
.bd-metric .mk{font-size:var(--fs-xs);color:var(--ink3)}
.bd-metric .mv{font-size:var(--fs-lg);font-weight:800;font-variant-numeric:tabular-nums}
.bd-metric .mv.red{color:var(--red)}.bd-metric .mv.green{color:var(--green)}.bd-metric .mv.amber{color:var(--amber)}
.bd-go{flex-shrink:0;font-size:var(--fs-xs);color:var(--ink2);white-space:nowrap}
.bd-go b{background:var(--ink);color:var(--card);padding:6px 14px;border-radius:var(--r-sm);font-weight:600}
/* ===== 多店总览 v2: 四联动滚轮 × 时间轴(左) × 双模式 ===== */
/* ===== 多店总览 v1 原貌样式(选店→因果链→时间轴→判效) ===== */
.cp-store{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:7px 13px;font-size:var(--fs-sm);cursor:pointer}
.cp-store.on{border-color:var(--ink);background:var(--ink);color:var(--card)}
.cp-chain{display:flex;gap:var(--sp-3);overflow-x:auto;padding-bottom:var(--sp-2)}
.cp-node{flex:1;min-width:180px;background:var(--card);border:1px solid var(--line);border-radius:13px;padding:13px 14px;position:relative}
.cp-node .n-title{font-weight:700;font-size:var(--fs-md);margin-bottom:6px}
.cp-node .n-what{font-size:var(--fs-xs);color:var(--ink2);margin-bottom:var(--sp-2)}
.cp-node .n-act{font-size:var(--fs-xs);background:var(--c-f7f7f5);border-radius:var(--r-sm);padding:6px var(--sp-2);margin-bottom:6px;color:var(--ink);white-space:pre-line}
.cp-node .n-see{font-size:var(--fs-xs);color:var(--ink3)}
.cp-node .arrow{position:absolute;right:-12px;top:50%;color:var(--ink3);font-size:var(--fs-md);transform:translateY(-50%)}
.cp-timeline{display:flex;align-items:center;gap:0;margin:var(--sp-2) 0 0;flex-wrap:wrap}
.cp-tick{flex:1;min-width:150px;text-align:center;position:relative;padding-top:var(--sp-4)}
.cp-tick:before{content:'';position:absolute;top:0;left:50%;width:10px;height:10px;border-radius:50%;background:var(--ink);transform:translateX(-50%)}
.cp-tick.d1:before{background:var(--amber)}
.cp-tick.d3:before{background:var(--c-2f6bff)}
.cp-tick.d7:before{background:var(--green)}
.cp-tick .t1{font-size:var(--fs-xs);font-weight:700}
.cp-tick .t2{font-size:var(--fs-xs);color:var(--ink2)}
.cp-judge{display:flex;gap:var(--sp-3);margin-top:10px;flex-wrap:wrap}
.cp-jcard{flex:1;min-width:200px;border-radius:var(--r-md);padding:var(--sp-3) 14px;font-size:var(--fs-sm)}
.cp-jcard.up{background:var(--green-l);border:1px solid var(--c-bfe3d0)}
.cp-jcard.stall{background:var(--red-l);border:1px solid var(--c-f2cdca)}
.cp-jcard .jh{font-weight:700;margin-bottom:var(--sp-1)}
.cp-top{display:flex;gap:var(--sp-3);align-items:center;flex-wrap:wrap;margin-bottom:14px;background:var(--card);border:1px solid var(--line);border-radius:13px;padding:10px 14px}
.cp-mode{display:flex;gap:6px;margin-left:6px}
.cp-mbtn{border:1px solid var(--line);background:var(--card);border-radius:var(--r-full);padding:5px 13px;font-size:var(--fs-sm);cursor:pointer;color:var(--ink2)}
.cp-mbtn.on{background:var(--ink);color:var(--card);border-color:var(--ink)}
.cp-forum{margin-left:auto;font-size:var(--fs-xs);color:var(--ink3);border:1px dashed var(--line);border-radius:var(--r-sm);padding:5px 10px;cursor:not-allowed;opacity:.7}
.cp-body{display:flex;gap:14px;align-items:stretch}
.cp-timecol{width:150px;flex-shrink:0;background:var(--card);border:1px solid var(--line);border-radius:13px;padding:var(--sp-3) var(--sp-2);display:flex;flex-direction:column;gap:6px;max-height:520px;overflow:auto}
.cp-trow{padding:9px var(--sp-2);border-radius:9px;font-size:var(--fs-xs);cursor:pointer;text-align:center}
.cp-trow .d{font-weight:800;font-size:var(--fs-md)}
.cp-trow .lab{color:var(--ink3);font-size:var(--fs-xs)}
.cp-trow.on{background:var(--ink);color:var(--card)}
.cp-trow.on .lab{color:var(--c-ccc)}
.cp-right{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--sp-3)}
.cp-wheels{display:flex;gap:2px;background:var(--card);border:1px solid var(--line);border-radius:13px;padding:var(--sp-3) 10px}
.cp-wheel{flex:1;text-align:center;min-width:0}
.cp-wheel .wlab{font-size:var(--fs-xs);color:var(--ink3);font-weight:700;margin-bottom:6px}
.cp-wheel .wup,.cp-wheel .wdn{display:flex;align-items:center;justify-content:center;height:26px;font-size:var(--fs-lg);cursor:pointer;color:var(--ink3);border-radius:var(--r-sm);user-select:none}
.cp-wheel .wup:hover,.cp-wheel .wdn:hover{background:var(--c-f1f1ef);color:var(--ink)}
.cp-wheel .wlist{height:150px;overflow:hidden;position:relative;background:var(--c-fafaf9);border-radius:9px;border:1px solid var(--line)}
.cp-wheel .witem{height:50px;display:flex;align-items:center;justify-content:center;font-size:var(--fs-sm);padding:0 var(--sp-1);transition:transform .18s;font-variant-numeric:tabular-nums}
.cp-wheel .witem.cur{font-weight:800;color:var(--ink);background:var(--card);box-shadow:0 0 0 1px var(--line) inset;border-radius:var(--r-sm)}
.cp-wheel .witem.notcur{color:var(--ink3)}
.cp-arrow{align-self:center;font-size:18px;color:var(--ink3)}
.cp-detail{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:14px var(--sp-4);font-size:var(--fs-sm)}
.cp-detail .dgoal{font-size:15px;font-weight:800;margin-bottom:var(--sp-2)}
.cp-detail .causeline{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin-bottom:var(--sp-2);font-size:var(--fs-sm)}
.cp-detail .causeline .cl{background:var(--ink);color:var(--card);border-radius:7px;padding:3px 10px}
.cp-detail .causeline .ca{color:var(--ink3)}
.cp-detail .dstats{display:flex;gap:10px;flex-wrap:wrap}
.cp-detail .dstat{flex:1;min-width:110px;background:var(--c-fafaf9);border:1px solid var(--line);border-radius:9px;padding:var(--sp-2) 10px}
.cp-detail .dstat .k{font-size:var(--fs-xs);color:var(--ink3)}
.cp-detail .dstat .v{font-size:15px;font-weight:800}
.cp-detail .dstat .v.g{color:var(--green)}.cp-detail .dstat .v.r{color:var(--red)}
/* 双模式: 定住一天(横向列表) */
.cp-daylist{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:10px;display:none}
.cp-daylist.show{display:block}
.cp-dayrow{display:flex;gap:10px;align-items:center;padding:9px 10px;border-bottom:1px solid var(--line2);font-size:var(--fs-sm);cursor:pointer}
.cp-dayrow:last-child{border-bottom:none}
.cp-dayrow:hover{background:var(--c-fafaf9)}
.cp-dayrow .goal{flex:1;font-weight:600}
.cp-dayrow .who{font-size:var(--fs-xs);color:var(--ink3)}
/* ===== 任务池 · 泳道时间轴(时间先于状态) ===== */
.cp-legend{display:flex;gap:10px;margin-left:6px;font-size:var(--fs-xs);color:var(--ink2)}
.cp-legend .lg{display:inline-flex;align-items:center;gap:var(--sp-1)}
.cp-legend i{width:9px;height:9px;border-radius:50%;display:inline-block}
.swim-wrap{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:13px;padding:0}
.swim{display:flex;min-width:900px}
.swim-col{flex-shrink:0}
.swim-lane{display:flex;border-bottom:1px solid var(--line2);min-height:110px}
.swim-lane:last-child{border-bottom:none}
.swim-lane .store-name{width:110px;flex-shrink:0;padding:var(--sp-3) 10px;font-size:var(--fs-sm);font-weight:700;border-right:1px solid var(--line);background:var(--c-fafaf9);display:flex;align-items:center}
.swim-lane .cards{flex:1;display:flex;position:relative;padding:6px 0}
.sw-card{position:relative;border-radius:9px;padding:6px var(--sp-2);font-size:var(--fs-xs);margin-right:6px;border:1px solid transparent;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}
.sw-card .ph{font-size:var(--fs-xs);font-weight:700;display:block;margin-bottom:1px}
.sw-card.g{background:var(--green-l);border-color:var(--c-bfe3d0)}
.sw-card.r{background:var(--red-l);border-color:var(--c-f2cdca)}
.sw-card.a{background:var(--amber-l);border-color:var(--c-ead9b0)}
.sw-card.b{background:var(--c-e9efff);border-color:var(--c-cfddfa)}
.sw-card.gray{background:var(--c-f1f1ef);border-color:var(--c-e0e0dc)}
.sw-card.today{border:2px dashed var(--red)}
.todayline{position:absolute;top:0;bottom:0;width:2px;background:var(--red);opacity:.5}
.tp-drawer{position:fixed;right:0;top:0;bottom:0;width:380px;max-width:92vw;background:var(--card);z-index:260;box-shadow:-10px 0 40px rgba(0,0,0,.12);transform:translateX(100%);transition:transform .22s;padding:18px var(--sp-4);overflow:auto}
.tp-drawer.open{transform:translateX(0)}
.tp-drawer .x{position:absolute;top:10px;right:14px;font-size:var(--fs-xl);cursor:pointer;color:var(--ink3)}
.tp-drawer .dk{font-size:var(--fs-xs);color:var(--ink3);font-weight:700;margin-top:var(--sp-3);letter-spacing:.04em}
.tp-drawer .dv{font-size:var(--fs-sm);margin-top:3px}
.tp-drawer .chain-card{display:flex;gap:6px;align-items:center;margin-top:6px}
.tp-drawer .cc{border-radius:var(--r-sm);padding:5px var(--sp-2);font-size:var(--fs-xs);background:var(--c-f1f1ef);color:var(--ink2)}
.tp-drawer .actrow{display:flex;gap:var(--sp-2);margin-top:var(--sp-3)}
.tp-drawer .actrow button{flex:1;border:none;padding:9px;border-radius:9px;font-size:var(--fs-sm);font-weight:600;cursor:pointer}
.tp-drawer .ok{background:var(--green);color:var(--card)}
.tp-drawer .swap{background:var(--amber);color:var(--card)}
.tp-drawer .watch{background:var(--c-f1f1ef);color:var(--ink)}
/* 因果滚轴 v2 极简数据风: 差距条/胶囊 */
.tw-metric{margin:6px 0}
.tw-row{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);margin-bottom:var(--sp-1);flex-wrap:wrap}
.tw-cap{display:inline-flex;align-items:center;gap:5px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-full);padding:var(--sp-1) var(--sp-3);font-size:var(--fs-sm);font-weight:600}
.tw-cap .u{font-size:var(--fs-xs);color:var(--ink3);font-weight:400}
.tw-gap{position:relative;height:14px;background:var(--c-f0f0ee);border-radius:var(--r-sm);margin:var(--sp-1) 0;overflow:hidden}
.tw-gap .done{position:absolute;left:0;top:0;bottom:0;background:var(--green);border-radius:var(--r-sm)}
.tw-gap .peer{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--ink3)}
.tw-gap .tgt{position:absolute;top:-2px;bottom:-2px;width:3px;background:var(--amber);border-radius:2px}
.tw-legend{font-size:var(--fs-xs);color:var(--ink3);display:flex;gap:var(--sp-3);margin:2px 0 var(--sp-2)}
.tw-legend i{display:inline-block;width:14px;height:4px;border-radius:2px;margin-right:var(--sp-1);vertical-align:middle}
/* 趋势胶囊: 颜色随数据情况变 */
.tw-trend{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:var(--sp-2)}
.tw-trend .tc{display:inline-flex;align-items:center;gap:6px;border-radius:10px;padding:5px var(--sp-3);font-size:var(--fs-sm);font-weight:700;border:1px solid}
.tw-trend .tc.up{background:var(--green-l);border-color:var(--c-bfe3d0);color:var(--green)}
.tw-trend .tc.down{background:var(--red-l);border-color:var(--c-f2cdca);color:var(--red)}
.tw-trend .tc.flat{background:var(--amber-l);border-color:var(--c-ead9b0);color:var(--amber)}
.tw-trend .tc.bad{background:var(--c-fdeaea);border-color:var(--c-f0b4b2);color:var(--c-b3261e)}
.tw-trend .act{font-size:var(--fs-xs);color:var(--ink2)}
.tw-trend .act b.up{color:var(--green)}.tw-trend .act b.down{color:var(--red)}.tw-trend .act b.flat{color:var(--amber)}.tw-trend .act b.bad{color:var(--c-b3261e)}
.tw-droll{display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-2) 6px}
.tw-droll .dup,.tw-droll .ddn{width:26px;height:22px;border:none;background:transparent;font-size:var(--fs-sm);color:var(--ink3);cursor:pointer;border-radius:6px}
.tw-droll .dup:hover,.tw-droll .ddn:hover{background:var(--c-f1f1ef)}
.tw-droll .dmid{width:52px;text-align:center;background:var(--c-f4f4f2);border:1px solid var(--line);border-radius:10px;padding:6px 2px}
.tw-droll .dmid .dm{font-size:var(--fs-sm);font-weight:800;font-variant-numeric:tabular-nums}
.tw-droll .dmid .dl{font-size:var(--fs-xs);color:var(--ink3)}
/* ===== P1 真诊断结果: 红灯卡 + 行级明细表 ===== */
.diag-score{display:flex;gap:var(--sp-4);align-items:center;background:var(--card);border:1px solid var(--line);border-radius:13px;padding:14px var(--sp-4);margin-bottom:10px}
.diag-score .big{font-size:40px;font-weight:800;line-height:1}
.diag-score .sc{font-size:var(--fs-xs);color:var(--ink2)}
.diag-issue{border:1px solid var(--line);background:var(--card);border-radius:11px;padding:11px 13px;margin-bottom:var(--sp-2)}
.diag-issue.r{border-left:4px solid var(--red)}
.diag-issue.y{border-left:4px solid var(--amber)}
.diag-issue .it{font-weight:700;font-size:var(--fs-md)}
.diag-issue .iw{font-size:var(--fs-xs);color:var(--ink2);margin-top:3px}
.detail-tbl{width:100%;border-collapse:collapse;font-size:var(--fs-xs);background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.detail-tbl th,.detail-tbl td{padding:6px var(--sp-2);border-bottom:1px solid var(--line2);text-align:left}
.detail-tbl th{background:var(--c-fafaf8);color:var(--ink3);font-weight:600;font-size:var(--fs-xs)}
.detail-tbl tr:hover td{background:var(--c-fafaf9)}
.simple-hero{flex-direction:column;align-items:center;justify-content:center;min-height:460px;background:radial-gradient(120% 90% at 50% 0%,var(--green-l) 0%,transparent 55%),var(--card);border:1px solid var(--line);border-radius:20px;padding:var(--sp-7) var(--sp-5);text-align:center}
.simple-hero .sh-badge{display:inline-block;font-size:var(--fs-xs);font-weight:800;color:var(--green);background:var(--green-l);border-radius:var(--r-full);padding:5px var(--sp-3);margin-bottom:14px;letter-spacing:.02em}
.simple-hero h2{font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin:0 0 var(--sp-2);color:var(--ink)}
.simple-hero .sh-sub{color:var(--ink2);font-size:15px;margin:0 0 26px}
.simple-hero .sh-drop{width:min(560px,92%);border:2px dashed var(--green);border-radius:18px;background:var(--green-l);padding:34px 20px;font-size:15px;color:var(--ink);margin:0 auto var(--sp-4);cursor:pointer;transition:.18s}
.simple-hero .sh-drop:hover{border-color:var(--green);background:var(--green-l);box-shadow:0 10px 30px -12px var(--green);transform:translateY(-1px)}
.simple-hero .sh-drop .sh-ic{font-size:28px;display:block;margin-bottom:6px}
.simple-hero .sh-btn{background:var(--green);color:var(--card);border:none;padding:15px 42px;border-radius:var(--r-md);font-size:var(--fs-lg);font-weight:800;cursor:pointer;box-shadow:0 8px 20px -10px var(--green);transition:.18s}
.simple-hero .sh-btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
.simple-hero .sh-link{color:var(--ink3);font-size:var(--fs-xs);cursor:pointer;text-decoration:underline}
.simple-hero .sh-links{display:flex;gap:18px;margin-top:14px;flex-wrap:wrap;justify-content:center}
/* ===== 旗舰版尊贵感(低饱和/细体/留白/缓动; 不用深色, 与其它版同底色) ===== */
body.flagship{background:var(--c-f4f3f0)}
body.flagship .side{background:var(--c-fbfbf9);border-right-color:var(--c-e8e6e0)}
body.flagship .items a.on{background:var(--c-efede7);color:var(--ink);font-weight:500}
body.flagship .card,body.flagship .qz,body.flagship .kpi,body.flagship .tli,body.flagship .schip{background:var(--c-fdfdfc);border-color:var(--c-e8e6e0)}
body.flagship .tbl th{background:var(--c-f7f5f0);color:var(--c-8a8577)}
body.flagship h1.hero,body.flagship .card h3{font-weight:300;letter-spacing:.01em}
body.flagship .card{padding:var(--sp-5) 26px;margin-bottom:20px}
body.flagship .kpi{padding:18px 20px}
body.flagship .tier-card.flagship{background:var(--card);color:var(--ink);border:1px solid var(--c-e0d5bf)}
body.flagship .tier-card.flagship .price{color:var(--c-b8860b)}
body.flagship .sub,body.flagship .hint{color:var(--c-8a8577)}
body.flagship *{transition-timing-function:cubic-bezier(.65,0,.35,1)}
.pg{display:none}.pg.on{display:block}
/* ===== 版本开关(右上角) ===== */
.vertoggle{position:relative;margin-left:6px}
.vtbtn{display:flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:9px;padding:6px var(--sp-3);font-size:var(--fs-sm);cursor:pointer;white-space:nowrap}
.vtdd{position:absolute;top:38px;right:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:0 16px 40px rgba(0,0,0,.12);width:238px;padding:6px;display:none;z-index:40}
.vertoggle.open .vtdd{display:block}
.vtdd .vopt{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) 10px;border-radius:var(--r-sm);font-size:var(--fs-sm);cursor:pointer}
.vtdd .vopt:hover{background:var(--c-f4f4f2)}
.vtdd .vopt.cur{background:var(--c-f1f1ef);font-weight:700}
.vtdd .vopt .vp{margin-left:auto;font-size:var(--fs-xs);color:var(--ink3)}
/* ===== 版本对照表弹层(bottom-sheet) ===== */
.sheet{position:fixed;inset:0;background:rgba(15,15,15,.4);z-index:300;display:none;align-items:flex-end;justify-content:center}
.sheet.show{display:flex}
.sheetb{background:var(--card);border-radius:var(--r-lg) var(--r-lg) 0 0;width:min(100%,660px);max-height:82vh;overflow:auto;padding:20px 20px 26px}
.sheetb h3{font-size:var(--fs-lg);font-weight:800;margin-bottom:var(--sp-1)}
.sheetb .scap{font-size:var(--fs-xs);color:var(--ink3);margin-bottom:var(--sp-3)}
.sheetb .ctbl{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}
.sheetb .ctbl th,.sheetb .ctbl td{padding:6px var(--sp-2);border-bottom:1px solid var(--line2);text-align:left}
.sheetb .ctbl th{color:var(--ink3);font-weight:600;background:var(--c-fafaf8)}
.sheetb .ctbl td.c{text-align:center}
.sheetb .ctbl .g{background:var(--bg);font-weight:700}
.sheetb .hl{background:var(--amber-l)}
.sheetb .cta{display:flex;gap:10px;margin-top:14px}
.sheetb .cta button{flex:1;padding:var(--sp-3);border-radius:10px;border:none;font-size:var(--fs-md);font-weight:700;cursor:pointer}
.sheetb .btnup{background:var(--ink);color:var(--card)}
.sheetb .btngh{background:var(--card);color:var(--ink);border:1px solid var(--line)}
/* 商品下钻: 可点商品名 + 钻头面板 */
.plink{cursor:pointer;color:var(--ink);border-bottom:1px dashed var(--ink3);font-weight:600}
.plink:hover{color:var(--green);border-bottom-color:var(--green)}
.pd-sev{border-radius:var(--r-sm);padding:2px var(--sp-2);font-size:var(--fs-xs);font-weight:700;display:inline-block;margin-left:6px}
.pd-sev.r{background:var(--red-l);color:var(--red)}
.pd-sev.y{background:var(--amber-l);color:var(--amber)}
.pd-sev.g{background:var(--green-l);color:var(--green)}
.pd-sev.gray{background:var(--c-f1f1ef);color:var(--ink2)}
.pd-metric{display:flex;gap:6px;flex-wrap:wrap;margin:var(--sp-2) 0}
.pd-metric .pm{flex:1 1 30%;min-width:100px;background:var(--card);border:1px solid var(--line);border-radius:9px;padding:var(--sp-2) 10px}
.pd-metric .pm .k{font-size:var(--fs-xs);color:var(--ink3);font-weight:600}
.pd-metric .pm .v{font-size:17px;font-weight:800;margin-top:2px}
.pd-metric .pm .u{font-size:var(--fs-xs);color:var(--ink3)}
.pd-funnel{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:var(--sp-2) 0}
.pd-funnel .st{background:var(--c-fafaf8);border:1px solid var(--line);border-radius:var(--r-sm);padding:7px var(--sp-2);text-align:center}
.pd-funnel .st b{display:block;font-size:15px}
.pd-funnel .st .lb{font-size:var(--fs-xs);color:var(--ink3);margin-top:2px}
.pd-funnel .st .rt{font-size:var(--fs-xs);color:var(--ink2);margin-top:1px}
.pd-sec{margin:var(--sp-3) 0 var(--sp-1);font-weight:700;font-size:var(--fs-sm);display:flex;align-items:center;gap:6px}
.pd-body{font-size:var(--fs-sm);color:var(--ink2);line-height:1.7;background:var(--c-fafaf8);border:1px solid var(--line);border-radius:10px;padding:10px var(--sp-3)}
.pd-body b{color:var(--ink)}
.pd-exp{font-size:var(--fs-xs);color:var(--ink3);margin-top:var(--sp-2)}
.pd-actions{display:flex;gap:var(--sp-2);margin-top:14px;flex-wrap:wrap}
.pd-actions button{flex:1;min-width:120px;padding:11px;border-radius:10px;border:none;font-size:var(--fs-sm);font-weight:700;cursor:pointer}
.pd-assign{background:var(--green);color:var(--card)}
.pd-gh{background:var(--card);color:var(--ink);border:1px solid var(--line)}
/* 术语注解「?」: 悬浮看大白话解释 */
.term{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;background:var(--ink3);color:var(--card);font-size:var(--fs-xs);font-weight:700;cursor:help;margin-left:var(--sp-1);vertical-align:middle;line-height:1;user-select:none}
.term:hover{background:var(--ink)}
.tip-box{position:fixed;z-index:1900;background:var(--ink);color:var(--card);padding:9px var(--sp-3);border-radius:10px;font-size:var(--fs-sm);line-height:1.65;box-shadow:0 10px 30px rgba(0,0,0,.3);display:none;pointer-events:none;font-weight:400;max-width:300px}
/* 一句话结论 + 今天做3件事头卡 */
.concl{background:linear-gradient(90deg,var(--red-l),var(--amber-l));border:1px solid var(--c-f0d8d4);border-radius:var(--r-md);padding:11px 14px;margin:var(--sp-2) 0;font-size:var(--fs-md);line-height:1.7;color:var(--ink)}
.concl b{color:var(--ink)}
.t3{display:flex;gap:var(--sp-2);flex-wrap:wrap;margin:var(--sp-2) 0}
.t3 .ac{flex:1 1 210px;min-width:190px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-3) 10px;display:flex;flex-direction:column;gap:6px}
.t3 .ac.p0{border-left:4px solid var(--red)}
.t3 .ac.p1{border-left:4px solid var(--amber)}
.t3 .ac .pk{font-size:var(--fs-xs);font-weight:700;color:var(--ink3)}
.t3 .ac .pt{font-size:var(--fs-md);font-weight:700;line-height:1.4;color:var(--ink)}
.t3 .ac .tg{font-size:var(--fs-xs);color:var(--ink2)}
.t3 .ac .vd{font-size:var(--fs-xs);color:var(--ink3)}
.t3 .ac .ab{display:flex;gap:6px;margin-top:auto;flex-wrap:wrap}
.t3 .ac .ab button{flex:1;min-width:58px;padding:6px var(--sp-2);border-radius:var(--r-sm);border:none;font-size:var(--fs-xs);font-weight:600;cursor:pointer}
.t3 .ac .ab .go{background:var(--ink);color:var(--card)}
.t3 .ac .ab .done{background:var(--green);color:var(--card)}
.t3 .ac .ab .why{background:var(--c-f1f1ef);color:var(--ink)}
.t3 .ac.done{opacity:.5;border-color:var(--green)}
.t3 .ac.done .pt{text-decoration:line-through}
/* 手机端表格横滚(店主手机看报告) */
.tbl,.detail-tbl{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media (max-width:600px){.tbl table,.detail-tbl table{min-width:520px}}
/* 落地页(未登录首屏) */
.landing{position:fixed;inset:0;background:var(--bg);z-index:1500;overflow:auto;display:none}
.landing.show{display:block}
.landing .in{max-width:1080px;margin:0 auto;padding:46px 18px 60px}
.landing h1{font-size:26px;line-height:1.4;letter-spacing:.02em}
.landing .sub{font-size:15px;color:var(--ink2);margin-top:var(--sp-3);line-height:2}
.landing .sub b{color:var(--ink)}
.landing .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:20px 0}
.landing .c{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:14px}
.landing .c .k{font-weight:800;font-size:var(--fs-md)}
.landing .c .s{font-size:var(--fs-sm);color:var(--ink2);margin-top:5px;line-height:1.7}
.landing .cta{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}
.landing .cta button{padding:var(--sp-3) 18px;border-radius:10px;border:none;font-size:15px;font-weight:700;cursor:pointer}
.landing .cta .primary{background:var(--ink);color:var(--card)}
.landing .cta .ghost{background:var(--card);color:var(--ink);border:1px solid var(--line)}
.landing .price{font-size:var(--fs-sm);color:var(--ink2);background:var(--c-fafaf8);border:1px solid var(--line);border-radius:10px;padding:var(--sp-3) 14px;line-height:1.9}
/* 无数据日/空态 */
.empty{text-align:center;padding:var(--sp-5) var(--sp-4);color:var(--ink3);font-size:var(--fs-sm);background:var(--c-fafaf8);border:1px dashed var(--line);border-radius:var(--r-md);line-height:1.9}
.empty b{color:var(--ink2)}
/* 四阶段进度条 + 到期横幅 */
.jny{display:flex;gap:6px;flex-wrap:wrap;align-items:stretch;margin:10px 0 var(--sp-1)}
.jny .st{flex:1 1 150px;min-width:140px;background:var(--card);border:1px solid var(--line);border-radius:11px;padding:9px 11px;position:relative}
.jny .st.on{border-color:var(--green);box-shadow:0 0 0 2px var(--green-l) inset}
.jny .st.done{background:var(--c-f3faf6)}
.jny .st .n{font-size:var(--fs-xs);font-weight:700;color:var(--ink3)}
.jny .st .t{font-size:var(--fs-md);font-weight:800;margin-top:1px}
.jny .st .w{font-size:var(--fs-xs);color:var(--ink2);margin-top:3px;line-height:1.5}
.jny .st .mk{position:absolute;top:8px;right:10px;font-size:var(--fs-sm)}
.jny .arrow{align-self:center;color:var(--ink3);font-size:var(--fs-xs);flex:0 0 auto}
.due{background:var(--amber-l);border:1px solid var(--c-ead9b0);border-radius:var(--r-md);padding:11px 14px;margin:var(--sp-2) 0;font-size:var(--fs-sm);line-height:1.7;color:var(--c-6b4e0d)}
.due b{color:var(--c-4d3a08)}
/* 小熊助手(可拖动) + 气泡 + 聊天 */
.bear{position:fixed;right:22px;bottom:22px;z-index:1600;width:58px;height:58px;border-radius:50%;background:var(--card);border:2px solid var(--line);box-shadow:0 8px 24px rgba(0,0,0,.16);display:flex;align-items:center;justify-content:center;font-size:30px;cursor:grab;user-select:none;touch-action:none}
.bear:hover{border-color:var(--ink3)}
.bear:active{cursor:grabbing}
.bear.big{width:92px;height:92px;font-size:50px;border-color:var(--ink3);box-shadow:0 16px 44px rgba(0,0,0,.22);animation:bearPop .5s ease-out}
@keyframes bearPop{0%{transform:translate(-50%,-50%) scale(.3);opacity:0}100%{transform:translate(-50%,-50%) scale(1);opacity:1}}
.bear .dot{position:absolute;top:-2px;right:-2px;width:12px;height:12px;border-radius:50%;background:var(--red);border:2px solid var(--card)}
.bear-bub{position:fixed;z-index:1599;max-width:270px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:11px 13px;font-size:var(--fs-sm);line-height:1.75;color:var(--ink2);box-shadow:0 10px 30px rgba(0,0,0,.14);display:none}
.bear-bub.show{display:block}
.bear-bub b{color:var(--ink)}
.bear-bub .x{position:absolute;top:4px;right:8px;color:var(--ink3);cursor:pointer;font-size:var(--fs-md)}
.bear-chat{position:fixed;right:22px;bottom:92px;z-index:1601;width:min(92vw,320px);background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:0 20px 50px rgba(0,0,0,.2);display:none;flex-direction:column;overflow:hidden}
.bear-chat.show{display:flex}
.bear-chat .hd{padding:10px var(--sp-3);border-bottom:1px solid var(--line);font-weight:800;font-size:var(--fs-md);display:flex;align-items:center;gap:6px}
.bear-chat .msgs{max-height:290px;overflow:auto;padding:10px var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-2)}
.bear-chat .m{font-size:var(--fs-sm);line-height:1.7;padding:var(--sp-2) 11px;border-radius:11px;max-width:88%}
.bear-chat .m.me{align-self:flex-end;background:var(--ink);color:var(--card)}
.bear-chat .m.ai{align-self:flex-start;background:var(--c-f4f4f2);color:var(--ink2)}
.bear-chat .m.ai b{color:var(--ink)}
.bear-chat .inp{display:flex;gap:6px;padding:9px 10px;border-top:1px solid var(--line)}
.bear-chat .inp input{flex:1;border:1px solid var(--line);border-radius:9px;padding:9px 11px;font-size:var(--fs-sm);font-family:inherit;outline:none}
.bear-chat .inp button{border:none;background:var(--ink);color:var(--card);border-radius:9px;padding:0 14px;font-size:var(--fs-sm);font-weight:700;cursor:pointer}
.bear-chat .hint{font-size:var(--fs-xs);color:var(--ink3);padding:var(--sp-2) 10px 0}
/* 首次访问「同意」弹窗(个人信息保护合规) */
.consent{position:fixed;inset:0;background:rgba(15,15,15,.5);z-index:2000;display:none;align-items:center;justify-content:center;padding:var(--sp-4)}
.consent.show{display:flex}
.consent .box{background:var(--card);border-radius:var(--r-lg);width:min(94vw,520px);box-shadow:0 30px 80px rgba(0,0,0,.3);padding:20px 20px var(--sp-4);display:flex;flex-direction:column;max-height:88vh}
.consent .box h3{font-size:17px;font-weight:800;margin-bottom:6px}
.consent .box .sub{font-size:var(--fs-xs);color:var(--ink3);margin-bottom:10px}
.consent .box .body{font-size:var(--fs-sm);color:var(--ink2);line-height:1.7;overflow:auto;flex:1;min-height:120px}
.consent .box .body b{color:var(--ink)}
.consent .box .links{display:flex;gap:var(--sp-2);margin:10px 0 var(--sp-1);flex-wrap:wrap}
.consent .box .links a{font-size:var(--fs-sm);color:var(--green);cursor:pointer;text-decoration:underline;margin-right:10px}
.consent .box .acts{display:flex;gap:var(--sp-2);margin-top:auto;padding-top:var(--sp-3);border-top:1px solid var(--line)}
.consent .box .acts button{flex:1;padding:var(--sp-3);border-radius:10px;border:none;font-size:var(--fs-md);font-weight:700;cursor:pointer}
.consent .box .acts .agree{background:var(--green);color:var(--card)}
.consent .box .acts .reject{background:var(--card);color:var(--ink);border:1px solid var(--line)}
.consent .box .policy{display:none;flex:1;overflow:auto;min-height:120px}
.consent .box .policy.show{display:block}
.consent .box .policy h4{font-size:var(--fs-md);font-weight:700;margin:var(--sp-3) 0 var(--sp-1)}
.consent .box .policy p{font-size:var(--fs-sm);color:var(--ink2);line-height:1.7;margin:3px 0}
.consent .box .policy .back{font-size:var(--fs-xs);color:var(--ink3);cursor:pointer;text-decoration:underline;margin-bottom:6px;display:inline-block}
@media (max-width:900px){.app{flex-direction:column}.side{width:100%;height:auto;flex-direction:row;flex-wrap:wrap;gap:6px}... }
/* ===== W-00 落地页 6 段 + 三端上传卡（w00 前缀隔离，颜色全走 var） ===== */
.landing .in.w00{max-width:1080px;padding:14px 18px 40px}
.w00-top{display:flex;align-items:center;gap:10px;padding:10px 0;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:var(--sp-4)}
.w00-logo{font-weight:800;font-size:15px;margin-right:auto;color:var(--ink)}
.w00-top button{border:none;border-radius:9px;padding:10px var(--sp-4);min-height:44px;font-size:var(--fs-sm);font-weight:700;cursor:pointer;font-family:inherit}
.w00-enter{background:var(--green);color:var(--card)}
.w00-login{background:transparent;color:var(--ink);border:1px solid var(--line)}
.w00-ops{background:var(--ink);color:var(--card)}
.w00-how{background:none;color:var(--green);text-decoration:underline;border:none}
.w00-ops-note{font-size:var(--fs-xs);color:var(--ink3)}
.w00-hero{background:radial-gradient(120% 90% at 50% 0%,var(--green-l) 0%,transparent 55%),var(--card);border:1px solid var(--line);border-radius:20px;padding:36px 18px;text-align:center}
.w00-badge{font-size:var(--fs-xs);font-weight:800;color:var(--green);background:var(--green-l);border-radius:var(--r-full);padding:5px var(--sp-3);margin-bottom:var(--sp-3);display:inline-block}
.w00-hero h1{font-size:28px;font-weight:800;letter-spacing:-.02em;line-height:1.2;color:var(--ink)}
.w00-sub{color:var(--ink2);font-size:15px;margin:10px 0 var(--sp-4)}
.w00-upbox{max-width:760px;margin:0 auto;text-align:left}
.w00-tabs{display:flex;gap:var(--sp-2);margin-bottom:var(--sp-3);flex-wrap:wrap;justify-content:center}
.w00-tab{border:1px solid var(--line);background:var(--card);border-radius:var(--r-full);padding:9px 18px;min-height:44px;font-size:var(--fs-sm);font-weight:700;cursor:pointer;font-family:inherit;color:var(--ink)}
.w00-tab.on{background:var(--green);color:var(--card);border-color:var(--green)}
.w00-catrow{display:flex;align-items:center;gap:10px;margin-bottom:6px;flex-wrap:wrap}
.w00-catrow label{font-size:var(--fs-md);font-weight:800;color:var(--ink)}
.w00-catrow select{border:1px solid var(--line);border-radius:10px;padding:10px 14px;min-height:44px;font-size:var(--fs-md);font-family:inherit;background:var(--card);color:var(--ink)}
.w00-cathint{font-size:var(--fs-sm);color:var(--amber);margin-bottom:10px}
.w00-slotwrap{display:block}
.w00-slots{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-3)}
.w00-slot{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px}
.w00-name{font-size:var(--fs-md);font-weight:800;margin:3px 0 var(--sp-2);color:var(--ink)}
.w00-drop{border:2px dashed var(--green);border-radius:var(--r-md);background:var(--green-l);padding:18px var(--sp-3);text-align:center;font-size:var(--fs-sm);color:var(--ink2);cursor:pointer;min-height:64px;display:flex;align-items:center;justify-content:center}
.w00-show{display:block;margin-top:10px;font-size:var(--fs-xs);color:var(--green);cursor:pointer;text-decoration:underline;text-align:right}
.w00-fd{margin-top:var(--sp-3);display:none;flex-direction:column;gap:var(--sp-2)}
.w00-w{font-size:var(--fs-sm);padding:10px var(--sp-3);border-radius:10px;background:var(--card);border:1px solid var(--line);text-align:left;color:var(--ink2)}
.w00-warn{background:var(--amber-l);border-color:var(--amber);color:var(--amber)}
.w00-red{background:var(--card);border-left:3px solid var(--red);color:var(--ink2)}
.w00-mednote{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:14px;font-size:var(--fs-sm);color:var(--ink2);margin-top:var(--sp-3);text-align:left;display:none}
.w00-mednote b{color:var(--ink)}
.w00-echo{background:var(--bg);border:1px dashed var(--line);border-radius:10px;padding:var(--sp-3);font-size:var(--fs-sm);color:var(--ink2);margin-top:var(--sp-3);text-align:left;display:none}
.w00-herocta{margin-top:var(--sp-4)}
.w00-herocta button{background:var(--green);color:var(--card);border:none;border-radius:var(--r-md);padding:14px 40px;min-height:44px;font-size:15px;font-weight:800;cursor:pointer;font-family:inherit}
.w00-shlink{color:var(--green);font-size:var(--fs-sm);margin-top:var(--sp-3);cursor:pointer;text-decoration:underline;display:inline-block}
.w00-sec{margin-top:26px}
.w00-sect{font-size:var(--fs-xl);font-weight:800;letter-spacing:-.02em;text-align:center;margin-bottom:var(--sp-1);color:var(--ink)}
.w00-secs{font-size:var(--fs-sm);color:var(--ink3);text-align:center;margin-bottom:14px}
.w00-vp{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.w00-v{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px}
.w00-ic{font-size:26px}.w00-t{font-size:15px;font-weight:800;margin:var(--sp-2) 0 var(--sp-1);color:var(--ink)}.w00-s{font-size:var(--fs-sm);color:var(--ink2)}
.w00-quad{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-3)}
.w00-q{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--green);border-radius:var(--r-md);padding:var(--sp-4)}
.w00-q.w00-r{border-left-color:var(--red)}
.w00-h{font-size:var(--fs-md);font-weight:800;margin-bottom:var(--sp-1);color:var(--ink)}.w00-d{font-size:var(--fs-sm);color:var(--ink2)}
.w00-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-3)}
.w00-st{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:14px;text-align:center}
.w00-n{font-size:var(--fs-xl);font-weight:800;color:var(--green)}.w00-l{font-size:var(--fs-xs);color:var(--ink2);margin-top:2px}
.w00-price{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-3);margin-top:var(--sp-3)}
.w00-p{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:var(--sp-4) var(--sp-3);text-align:center}
.w00-p.w00-hot{border-color:var(--green)}
.w00-m{font-size:var(--fs-2xl);font-weight:800;color:var(--green);margin:5px 0}.w00-m small{font-size:var(--fs-xs);color:var(--ink3);font-weight:400}
.w00-who{font-size:var(--fs-xs);color:var(--ink2);margin-bottom:var(--sp-1)}.w00-p .w00-d{font-size:var(--fs-xs);color:var(--ink2);min-height:36px}
.w00-paynote{font-size:var(--fs-xs);color:var(--ink3);text-align:center;margin-top:10px}
.w00-ctarow{display:flex;gap:var(--sp-3);justify-content:center;margin-top:18px;flex-wrap:wrap}
.w00-ctarow button{font-size:15px;font-weight:800;border-radius:var(--r-md);padding:13px var(--sp-6);min-height:44px;cursor:pointer;border:none;font-family:inherit}
.w00-b1{background:var(--green);color:var(--card)}.w00-b2{background:transparent;color:var(--ink);border:1px solid var(--line)}
.w00-trust{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px 20px;font-size:var(--fs-md);color:var(--ink2)}
.w00-trust b{color:var(--ink)}
.w00-fl{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card);padding:var(--sp-3) 14px}
.w00-flhd{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;margin-bottom:10px}
.w00-flhd span{font-size:var(--fs-xs);color:var(--ink3)}
.w00-flchain{display:flex;flex-wrap:nowrap;overflow-x:auto;align-items:stretch;gap:6px;padding-bottom:var(--sp-1);scrollbar-width:thin}
.w00-flst{flex:0 0 auto;min-width:100px;display:flex;flex-direction:column;gap:3px;border:1px solid var(--line);border-radius:10px;padding:var(--sp-2) 9px;background:none;font:inherit;text-align:left;cursor:pointer}
.w00-fln{font-size:var(--fs-xs);font-weight:800;color:var(--green)}.w00-flt{font-size:var(--fs-sm);font-weight:700;color:var(--ink)}.w00-fls{font-size:var(--fs-xs);color:var(--ink2);line-height:1.3}
.w00-flst.w00-you{background:var(--red-l);border-color:var(--red-l)}.w00-flst.w00-you .w00-fln{color:var(--red)}
.w00-flar{align-self:center;font-size:var(--fs-sm);font-weight:800;color:var(--ink3);opacity:.55}
.w00-flsub{margin-top:10px}.w00-flempty{font-size:var(--fs-xs);color:var(--ink3);padding:var(--sp-2) 2px 0}
.w00-flsubhd{font-size:var(--fs-xs);font-weight:700;margin-bottom:7px;color:var(--ink)}
.w00-flsrow{display:flex;flex-wrap:wrap;gap:6px;background:var(--bg);border:1px dashed var(--line);border-radius:10px;padding:9px 10px}
.w00-flsi{border:1px solid var(--line);background:var(--card);border-radius:9px;padding:7px 10px;cursor:pointer;font:inherit;text-align:left}
.w00-flsi b{font-size:var(--fs-sm);font-weight:700;color:var(--ink)}.w00-flsi span{font-size:var(--fs-xs);color:var(--ink3)}
.w00-flloop{margin-top:10px;padding-top:9px;border-top:1px dashed var(--line);font-size:var(--fs-xs);font-weight:600;color:var(--green)}
.w00-flpdca{margin-top:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--bg);border-radius:10px}
.w00-flpdca summary{font-size:var(--fs-xs);font-weight:700;color:var(--green);cursor:pointer;list-style:none}
.w00-flpdca summary::after{content:' ▾'}.w00-flpdca[open] summary::after{content:' ▴'}
.w00-flpdcabody{margin-top:var(--sp-2);font-size:var(--fs-sm);color:var(--ink2);line-height:1.9}
.w00-flpdcabody b{color:var(--green)}
.w00-fexpand{display:inline-block;margin-top:var(--sp-2);font-size:var(--fs-xs);color:var(--green);cursor:pointer;text-decoration:underline}
.w00-modal{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:1600;display:none;align-items:center;justify-content:center;padding:20px}
.w00-modal.on{display:flex}
.w00-modalbox{background:var(--card);border-radius:var(--r-lg);max-width:520px;width:100%;padding:20px;max-height:80vh;overflow:auto}
.w00-modalbox h2{font-size:var(--fs-lg);margin-bottom:10px;color:var(--ink)}
.w00-modalbox ol{margin:0 0 14px 20px;font-size:var(--fs-sm);color:var(--ink2)}.w00-modalbox ol li{margin-bottom:var(--sp-2)}
.w00-modalclose{float:right;background:none;border:none;font-size:18px;cursor:pointer;color:var(--ink3);min-height:44px;min-width:44px}

/* ===== W00b 增量补丁 ===== */
.w00-dotr,.w00-dotg{display:inline-block;width:9px;height:9px;border-radius:50%;vertical-align:-1px;margin-right:2px}
.w00-dotr{background:var(--red)}.w00-dotg{background:var(--green)}
.w00-drop{position:relative;transition:border-color .15s,background .15s}
.w00-drop.dragover{border-color:var(--ink);background:var(--c-f0f0ec);border-style:solid}
.w00-drop.uploaded{border-style:solid;border-color:var(--green);background:var(--green-l);color:var(--ink)}
.w00-drop.uploaded b{color:var(--green-deep,var(--c-0e6b48))}
.w00-drop .w00-fileic{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--r-sm);background:var(--card);border:1px solid var(--line);margin-right:var(--sp-2);vertical-align:-10px}
.w00-drop input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;font-size:0}
.w00-slot{transition:opacity .2s}
.w00-slot.busy .w00-drop{opacity:.55;pointer-events:none}
.w00-faq{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 18px}
.w00-faq summary{font-size:var(--fs-md);font-weight:700;cursor:pointer;list-style:none;display:flex;align-items:center;gap:var(--sp-2);color:var(--ink)}
.w00-faq summary::-webkit-details-marker{display:none}
.w00-faq summary::after{content:'+';margin-left:auto;font-size:18px;font-weight:400;color:var(--ink3);transition:transform .15s}
.w00-faq[open] summary::after{transform:rotate(45deg)}
.w00-faq .a{font-size:var(--fs-sm);color:var(--ink2);line-height:1.8;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}
.w00-faq .a b{color:var(--ink)}
.w00-cmp{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}
.w00-cmp>div{border:1px solid var(--line);border-radius:var(--r);padding:var(--sp-4)}
.w00-cmp .h{font-size:var(--fs-md);font-weight:800;margin-bottom:10px;display:flex;align-items:center;gap:var(--sp-2)}
.w00-cmp ul{list-style:none;margin:0;padding:0}
.w00-cmp li{font-size:var(--fs-sm);color:var(--ink2);padding:5px 0 5px 22px;position:relative;line-height:1.6}
.w00-cmp li::before{position:absolute;left:0;top:5px;width:15px;height:15px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--fs-xs);font-weight:800}
.w00-cmp .no li::before{content:'✕';background:var(--red-l);color:var(--red)}
.w00-cmp .yes li::before{content:'✓';background:var(--w00g-l,var(--green-l));color:var(--green)}
.w00-sec{animation:w00up .5s ease both}
@keyframes w00up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.w00-sec{animation:none}.w00-hero *{animation:none!important;transition:none!important}}
.w00-heropill{display:inline-flex;align-items:center;gap:6px;background:var(--green-l);color:var(--green);border:1px solid var(--line);border-radius:var(--r-full);padding:5px 14px;font-size:var(--fs-sm);font-weight:700;margin-bottom:var(--sp-3)}
.w00-heropill i{width:7px;height:7px;border-radius:50%;background:var(--green);animation:w00pulse 2.4s ease-in-out infinite}
@keyframes w00pulse{0%,100%{opacity:1}50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.w00-heropill i{animation:none}}

.demobar{display:flex;align-items:flex-start;gap:var(--sp-2);background:var(--amber-l);border:1px solid var(--c-ead9b0);border-radius:10px;padding:var(--sp-2) 13px;font-size:var(--fs-sm);color:var(--c-6b4e0d);margin:0 0 10px;line-height:1.6}
.demobar b{color:var(--c-4d3a08);flex-shrink:0}
.w00-hottag{font-size:var(--fs-xs);font-weight:700;background:var(--green);color:var(--card);border-radius:6px;padding:1px 6px;vertical-align:2px;margin-left:var(--sp-1)}
@media (max-width:760px){.w00-vp,.w00-stats,.w00-price,.w00-slots{grid-template-columns:repeat(2,1fr)}.w00-hero h1{font-size:var(--fs-2xl)}}
/* ===== v6.4: 移动端溢出修复(COACH-028) ===== */
.w00-flchain{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
@media (max-width:600px){
  .side .toggle{display:none!important}
  .landing .in{overflow-x:hidden}
  .main{overflow-x:hidden}
}
@media (max-width:600px){.w00-herocta button{width:100%;padding:14px 20px}.w00-top{gap:6px}.w00-top button{padding:9px 10px;font-size:var(--fs-xs)}.w00-cmp{grid-template-columns:1fr}.w00-faqgrid{grid-template-columns:1fr!important}}
.fl-wrap{margin:10px 0 var(--sp-1);border:1px solid var(--line);border-radius:var(--r);background:var(--card);padding:var(--sp-3) 14px;font-family:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif}
.fl-hd{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;margin-bottom:10px}
.fl-hd b{font-size:var(--fs-sm);font-weight:800;color:var(--ink)}
.fl-hd span{font-size:var(--fs-xs);color:var(--ink3)}
.fl-badge{font-size:var(--fs-xs);font-weight:800;color:var(--card)!important;background:var(--green);border-radius:var(--r-full);padding:2px 9px}
.fl-chain{display:flex;flex-wrap:nowrap;overflow-x:auto;align-items:stretch;gap:6px;padding-bottom:var(--sp-1);scrollbar-width:thin}
.fl-st{flex:0 0 auto;min-width:110px;display:flex;flex-direction:column;gap:3px;border:1px solid var(--line);border-radius:10px;padding:var(--sp-2) 9px;background:none;font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,background .15s}
.fl-st:hover{border-color:var(--ink3);background:var(--bg)}
.fl-st .fl-n{font-size:var(--fs-xs);font-weight:800;font-style:normal;color:var(--green);letter-spacing:.02em}
.fl-st .fl-t{font-size:var(--fs-sm);font-weight:700;color:var(--ink);line-height:1.25}
.fl-st .fl-s{font-size:var(--fs-xs);color:var(--ink2);line-height:1.35}
.fl-you{background:var(--red-l);border-color:var(--red-l)}
.fl-you .fl-n{color:var(--red)}
.fl-st.on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink) inset}
.fl-ar{flex:0 0 auto;align-self:center;font-size:var(--fs-sm);font-weight:800;color:var(--ink3);opacity:.55}
.fl-sub{margin-top:10px}
.fl-empty{font-size:var(--fs-xs);color:var(--ink3);padding:var(--sp-2) 2px 0}
.fl-subhd{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2);font-size:var(--fs-xs);font-weight:700;color:var(--ink);margin-bottom:7px}
.fl-subhd i{font-style:normal;font-weight:400;font-size:var(--fs-xs);color:var(--ink3)}
.fl-go{margin-left:auto;border:1px solid var(--green);background:var(--green);color:var(--card);border-radius:var(--r-sm);padding:var(--sp-1) 10px;font-size:var(--fs-xs);font-weight:700;cursor:pointer;font-family:inherit}
.fl-srow{display:flex;flex-wrap:wrap;align-items:center;gap:6px;background:var(--bg);border:1px dashed var(--line);border-radius:10px;padding:9px 10px}
.fl-si{display:flex;flex-direction:column;gap:2px;border:1px solid var(--line);background:var(--card);border-radius:9px;padding:7px 10px;cursor:pointer;font:inherit;text-align:left;transition:border-color .15s}
.fl-si:hover{border-color:var(--green)}
.fl-si b{font-size:var(--fs-sm);font-weight:700;color:var(--ink)}
.fl-si span{font-size:var(--fs-xs);color:var(--ink3)}
.fl-ar2{font-style:normal;font-size:var(--fs-xs);font-weight:800;color:var(--ink3);opacity:.55}
.fl-loop{margin-top:10px;padding-top:9px;border-top:1px dashed var(--line);font-size:var(--fs-xs);font-weight:600;color:var(--green)}
@media (max-width:760px){.fl-st{min-width:96px}.fl-ar{display:none}.fl-go{margin-left:0}}
/* ===== W-00 落地页 6 段 + 三端上传卡（w00 前缀隔离，颜色全走 var） ===== */
.landing .in.w00{max-width:1080px;padding:14px 18px 40px}
.w00-top{display:flex;align-items:center;gap:10px;padding:10px 0;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:var(--sp-4)}
.w00-logo{font-weight:800;font-size:15px;margin-right:auto;color:var(--ink)}
.w00-top button{border:none;border-radius:9px;padding:10px var(--sp-4);min-height:44px;font-size:var(--fs-sm);font-weight:700;cursor:pointer;font-family:inherit}
.w00-enter{background:var(--green);color:var(--card)}
.w00-login{background:transparent;color:var(--ink);border:1px solid var(--line)}
.w00-ops{background:var(--ink);color:var(--card)}
.w00-how{background:none;color:var(--green);text-decoration:underline;border:none}
.w00-ops-note{font-size:var(--fs-xs);color:var(--ink3)}
.w00-hero{background:radial-gradient(120% 90% at 50% 0%,var(--green-l) 0%,transparent 55%),var(--card);border:1px solid var(--line);border-radius:20px;padding:36px 18px;text-align:center}
.w00-badge{font-size:var(--fs-xs);font-weight:800;color:var(--green);background:var(--green-l);border-radius:var(--r-full);padding:5px var(--sp-3);margin-bottom:var(--sp-3);display:inline-block}
.w00-hero h1{font-size:28px;font-weight:800;letter-spacing:-.02em;line-height:1.2;color:var(--ink)}
.w00-sub{color:var(--ink2);font-size:15px;margin:10px 0 var(--sp-4)}
.w00-upbox{max-width:760px;margin:0 auto;text-align:left}
.w00-tabs{display:flex;gap:var(--sp-2);margin-bottom:var(--sp-3);flex-wrap:wrap;justify-content:center}
.w00-tab{border:1px solid var(--line);background:var(--card);border-radius:var(--r-full);padding:9px 18px;min-height:44px;font-size:var(--fs-sm);font-weight:700;cursor:pointer;font-family:inherit;color:var(--ink)}
.w00-tab.on{background:var(--green);color:var(--card);border-color:var(--green)}
.w00-catrow{display:flex;align-items:center;gap:10px;margin-bottom:6px;flex-wrap:wrap}
.w00-catrow label{font-size:var(--fs-md);font-weight:800;color:var(--ink)}
.w00-catrow select{border:1px solid var(--line);border-radius:10px;padding:10px 14px;min-height:44px;font-size:var(--fs-md);font-family:inherit;background:var(--card);color:var(--ink)}
.w00-cathint{font-size:var(--fs-sm);color:var(--amber);margin-bottom:10px}
.w00-slotwrap{display:block}
.w00-slots{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-3)}
.w00-slot{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px}
.w00-name{font-size:var(--fs-md);font-weight:800;margin:3px 0 var(--sp-2);color:var(--ink)}
.w00-drop{border:2px dashed var(--green);border-radius:var(--r-md);background:var(--green-l);padding:18px var(--sp-3);text-align:center;font-size:var(--fs-sm);color:var(--ink2);cursor:pointer;min-height:64px;display:flex;align-items:center;justify-content:center}
.w00-show{display:block;margin-top:10px;font-size:var(--fs-xs);color:var(--green);cursor:pointer;text-decoration:underline;text-align:right}
.w00-fd{margin-top:var(--sp-3);display:none;flex-direction:column;gap:var(--sp-2)}
.w00-w{font-size:var(--fs-sm);padding:10px var(--sp-3);border-radius:10px;background:var(--card);border:1px solid var(--line);text-align:left;color:var(--ink2)}
.w00-warn{background:var(--amber-l);border-color:var(--amber);color:var(--amber)}
.w00-red{background:var(--card);border-left:3px solid var(--red);color:var(--ink2)}
.w00-mednote{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:14px;font-size:var(--fs-sm);color:var(--ink2);margin-top:var(--sp-3);text-align:left;display:none}
.w00-mednote b{color:var(--ink)}
.w00-echo{background:var(--bg);border:1px dashed var(--line);border-radius:10px;padding:var(--sp-3);font-size:var(--fs-sm);color:var(--ink2);margin-top:var(--sp-3);text-align:left;display:none}
.w00-herocta{margin-top:var(--sp-4)}
.w00-herocta button{background:var(--green);color:var(--card);border:none;border-radius:var(--r-md);padding:14px 40px;min-height:44px;font-size:15px;font-weight:800;cursor:pointer;font-family:inherit}
.w00-shlink{color:var(--green);font-size:var(--fs-sm);margin-top:var(--sp-3);cursor:pointer;text-decoration:underline;display:inline-block}
.w00-sec{margin-top:26px}
.w00-sect{font-size:var(--fs-xl);font-weight:800;letter-spacing:-.02em;text-align:center;margin-bottom:var(--sp-1);color:var(--ink)}
.w00-secs{font-size:var(--fs-sm);color:var(--ink3);text-align:center;margin-bottom:14px}
.w00-vp{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.w00-v{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px}
.w00-ic{font-size:26px}.w00-t{font-size:15px;font-weight:800;margin:var(--sp-2) 0 var(--sp-1);color:var(--ink)}.w00-s{font-size:var(--fs-sm);color:var(--ink2)}
.w00-quad{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-3)}
.w00-q{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--green);border-radius:var(--r-md);padding:var(--sp-4)}
.w00-q.w00-r{border-left-color:var(--red)}
.w00-h{font-size:var(--fs-md);font-weight:800;margin-bottom:var(--sp-1);color:var(--ink)}.w00-d{font-size:var(--fs-sm);color:var(--ink2)}
.w00-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-3)}
.w00-st{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:14px;text-align:center}
.w00-n{font-size:var(--fs-xl);font-weight:800;color:var(--green)}.w00-l{font-size:var(--fs-xs);color:var(--ink2);margin-top:2px}
.w00-price{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-3);margin-top:var(--sp-3)}
.w00-p{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:var(--sp-4) var(--sp-3);text-align:center}
.w00-p.w00-hot{border-color:var(--green)}
.w00-m{font-size:var(--fs-2xl);font-weight:800;color:var(--green);margin:5px 0}.w00-m small{font-size:var(--fs-xs);color:var(--ink3);font-weight:400}
.w00-who{font-size:var(--fs-xs);color:var(--ink2);margin-bottom:var(--sp-1)}.w00-p .w00-d{font-size:var(--fs-xs);color:var(--ink2);min-height:36px}
.w00-paynote{font-size:var(--fs-xs);color:var(--ink3);text-align:center;margin-top:10px}
.w00-ctarow{display:flex;gap:var(--sp-3);justify-content:center;margin-top:18px;flex-wrap:wrap}
.w00-ctarow button{font-size:15px;font-weight:800;border-radius:var(--r-md);padding:13px var(--sp-6);min-height:44px;cursor:pointer;border:none;font-family:inherit}
.w00-b1{background:var(--green);color:var(--card)}.w00-b2{background:transparent;color:var(--ink);border:1px solid var(--line)}
.w00-trust{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px 20px;font-size:var(--fs-md);color:var(--ink2)}
.w00-trust b{color:var(--ink)}
.w00-fl{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card);padding:var(--sp-3) 14px}
.w00-flhd{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;margin-bottom:10px}
.w00-flhd span{font-size:var(--fs-xs);color:var(--ink3)}
.w00-flchain{display:flex;flex-wrap:nowrap;overflow-x:auto;align-items:stretch;gap:6px;padding-bottom:var(--sp-1);scrollbar-width:thin}
.w00-flst{flex:0 0 auto;min-width:100px;display:flex;flex-direction:column;gap:3px;border:1px solid var(--line);border-radius:10px;padding:var(--sp-2) 9px;background:none;font:inherit;text-align:left;cursor:pointer}
.w00-fln{font-size:var(--fs-xs);font-weight:800;color:var(--green)}.w00-flt{font-size:var(--fs-sm);font-weight:700;color:var(--ink)}.w00-fls{font-size:var(--fs-xs);color:var(--ink2);line-height:1.3}
.w00-flst.w00-you{background:var(--red-l);border-color:var(--red-l)}.w00-flst.w00-you .w00-fln{color:var(--red)}
.w00-flar{align-self:center;font-size:var(--fs-sm);font-weight:800;color:var(--ink3);opacity:.55}
.w00-flsub{margin-top:10px}.w00-flempty{font-size:var(--fs-xs);color:var(--ink3);padding:var(--sp-2) 2px 0}
.w00-flsubhd{font-size:var(--fs-xs);font-weight:700;margin-bottom:7px;color:var(--ink)}
.w00-flsrow{display:flex;flex-wrap:wrap;gap:6px;background:var(--bg);border:1px dashed var(--line);border-radius:10px;padding:9px 10px}
.w00-flsi{border:1px solid var(--line);background:var(--card);border-radius:9px;padding:7px 10px;cursor:pointer;font:inherit;text-align:left}
.w00-flsi b{font-size:var(--fs-sm);font-weight:700;color:var(--ink)}.w00-flsi span{font-size:var(--fs-xs);color:var(--ink3)}
.w00-flloop{margin-top:10px;padding-top:9px;border-top:1px dashed var(--line);font-size:var(--fs-xs);font-weight:600;color:var(--green)}
.w00-flpdca{margin-top:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--bg);border-radius:10px}
.w00-flpdca summary{font-size:var(--fs-xs);font-weight:700;color:var(--green);cursor:pointer;list-style:none}
.w00-flpdca summary::after{content:' ▾'}.w00-flpdca[open] summary::after{content:' ▴'}
.w00-flpdcabody{margin-top:var(--sp-2);font-size:var(--fs-sm);color:var(--ink2);line-height:1.9}
.w00-flpdcabody b{color:var(--green)}
.w00-fexpand{display:inline-block;margin-top:var(--sp-2);font-size:var(--fs-xs);color:var(--green);cursor:pointer;text-decoration:underline}
.w00-modal{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:1600;display:none;align-items:center;justify-content:center;padding:20px}
.w00-modal.on{display:flex}
.w00-modalbox{background:var(--card);border-radius:var(--r-lg);max-width:520px;width:100%;padding:20px;max-height:80vh;overflow:auto}
.w00-modalbox h2{font-size:var(--fs-lg);margin-bottom:10px;color:var(--ink)}
.w00-modalbox ol{margin:0 0 14px 20px;font-size:var(--fs-sm);color:var(--ink2)}.w00-modalbox ol li{margin-bottom:var(--sp-2)}
.w00-modalclose{float:right;background:none;border:none;font-size:18px;cursor:pointer;color:var(--ink3);min-height:44px;min-width:44px}
@media (max-width:760px){.w00-vp,.w00-stats,.w00-price,.w00-slots{grid-template-columns:repeat(2,1fr)}.w00-hero h1{font-size:var(--fs-2xl)}}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--card);padding:10px var(--sp-4);border-radius:0 0 10px 0;font-size:var(--fs-md);z-index:1900}.skip:focus{left:0}


/* ===== 轮次9 · 移动端专项 ===== */
@media (max-width:760px){
  button, [role=button], input, select, textarea,
  nav a, .side a, .foot a, .w00-top a, .w00-top button,
  .items a, .grpc .gh{ min-height:44px }
  .items a, .grpc .gh{ min-height:48px }
  .w00-herocta button{
    position:fixed; left:16px; right:16px; bottom:16px;
    width:auto; min-height:52px; z-index:50;
    box-shadow:0 8px 24px rgba(13,122,69,.28);
  }
  .w00-hero{ padding-bottom:96px }
  .bear{ bottom:96px }
  .bear-chat{ bottom:150px }
  table.resp thead{ display:none }
  table.resp, table.resp tbody, table.resp tr, table.resp td{ display:block; width:100% }
  table.resp tr{ background:var(--card); border:1px solid var(--line);
    border-radius:var(--r-md); padding:var(--sp-3); margin-bottom:10px }
  table.resp td{ display:flex; justify-content:space-between; gap:var(--sp-3);
    border:none; padding:6px 0; text-align:left }
  table.resp td::before{ content:attr(data-label); color:var(--ink3); font-size:var(--fs-xs); flex-shrink:0 }
}
@media (prefers-reduced-motion:reduce){ .w00-herocta button{ box-shadow:none } }

/* ===== 内联样式归并（293 处 style= 提取） ===== */
.il-1{background:var(--c-2f6bff)}
.il-2{background:var(--amber)}
.il-3{background:var(--green)}
.il-4{background:var(--ink3)}
.il-5{background:var(--red)}
.il-6{border:2px dashed var(--line);border-radius:var(--r-md);padding:var(--sp-4);text-align:center;color:var(--ink3);font-size:var(--fs-sm);margin-bottom:10px}
.il-7{border:2px dashed var(--line);border-radius:var(--r-md);padding:18px;text-align:center;color:var(--ink3);font-size:var(--fs-sm);cursor:pointer;background:var(--card);margin-bottom:var(--sp-2)}
.il-8{color:var(--green)}
.il-9{color:var(--ink)}
.il-10{color:var(--ink2);line-height:1.6;margin-top:0}
.il-11{color:var(--ink3)}
.il-12{color:var(--ink3);font-size:var(--fs-xs)}
.il-13{color:var(--ink3);font-size:var(--fs-sm)}
.il-14{color:var(--red)}
.il-15{cursor:pointer}
.il-16{cursor:pointer;color:var(--ink3);text-decoration:underline}
.il-17{display:flex;flex-wrap:wrap;gap:var(--sp-2)}
.il-18{display:flex;gap:var(--sp-2);align-items:center;flex-wrap:wrap}
.il-19{display:flex;gap:var(--sp-2);flex-wrap:wrap}
.il-20{display:flex;gap:var(--sp-2);flex-wrap:wrap;align-items:center}
.il-21{display:flex;gap:var(--sp-2);flex-wrap:wrap;margin-top:6px}
.il-22{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.il-23{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.il-24{display:none}
.il-25{flex:1;min-width:200px;border:1px solid var(--line);border-radius:9px;padding:9px var(--sp-3);font-size:var(--fs-sm);font-family:inherit}
.il-26{float:right}
.il-27{font-size:var(--fs-xs)}
.il-28{font-size:var(--fs-xs);color:var(--ink3);cursor:pointer}
.il-30{font-size:var(--fs-xs);margin-top:var(--sp-1)}
.il-31{font-size:var(--fs-sm);font-weight:700}
.il-32{font-size:15px}
.il-33{font-size:var(--fs-lg);margin-top:18px}
.il-34{font-size:18px}
.il-35{font-weight:400;font-size:var(--fs-xs);color:var(--ink3)}
.il-36{font-weight:700;margin-bottom:var(--sp-1)}
.il-37{font-weight:700;margin:var(--sp-3) 0 var(--sp-1)}
.il-38{margin-bottom:var(--sp-2)}
.il-39{margin-left:var(--sp-2)}
.il-40{margin-left:var(--sp-2);font-size:var(--fs-xs);color:var(--ink3)}
.il-41{margin-left:auto;cursor:pointer;color:var(--ink3)}
.il-42{margin-left:auto;font-size:var(--fs-xs);color:var(--ink3)}
.il-43{margin-top:10px}
.il-44{margin-top:var(--sp-2)}
.il-45{margin-top:var(--sp-2);font-size:var(--fs-xs);color:var(--ink3)}
.il-46{margin-top:var(--sp-2);font-size:var(--fs-sm);color:var(--green)}
.il-47{margin-top:var(--sp-2);font-size:var(--fs-sm);color:var(--ink2)}
.il-48{margin:var(--sp-2) 0}
.il-49{padding:22px;text-align:center;color:var(--ink3);font-size:var(--fs-sm)}
.il-50{padding:var(--sp-2) 10px;border:1px solid var(--line);border-radius:9px;font-size:var(--fs-sm);background:var(--card)}
.il-51{padding:var(--sp-2) 10px;border:1px solid var(--line);border-radius:9px;font-size:var(--fs-sm);background:var(--card)}
.il-52{padding:9px var(--sp-3);border:1px solid var(--line);border-radius:9px;font-size:var(--fs-sm);background:var(--card);min-width:200px}
.il-53{width:100%;min-height:70px;border:1px solid var(--line);border-radius:10px;padding:10px;font-family:inherit;font-size:var(--fs-sm)}
.il-54{width:100%;padding:11px var(--sp-3);border:1px solid var(--line);border-radius:9px;font-size:var(--fs-md);box-sizing:border-box;font-family:inherit}
.il-55{width:100%;padding:11px var(--sp-3);border:1px solid var(--line);border-radius:9px;font-size:var(--fs-md);box-sizing:border-box;font-family:inherit;resize:vertical}
.il-56{width:92.4%}
/* ===================== S7 界面框架重设计（20261011）· 壳层与断点 =====================
   根因：正本 coach.css:460 的 @media(max-width:900px) 块尾是字面量 `...`（占位从未填完），
   所以窄屏只生效"把侧栏摊成横条"这半条，真正的顶栏化/导航折叠/正文归位一条都没有。
   本段成段追加在文件末尾（⛔ 在 :460 原地打补丁，保留可追溯性），同特异度后置胜出。
   换壳规则全部前缀 `.shell-v2`，该类由 S7-B 加到 <body>；S7-A 单独装盘时本段不咬合
   ⇒ 三档几何零变化（可证伪：G16 反例臂＝删掉本段重测，必须仍是 486）。 */

/* —— ≥1160 桌面：正文定宽居中（现状 max-width 1160 ⇒ 一行破百字）—— */
@media (min-width:1160px){
.main{max-width:920px;margin:0 auto}
}

/* —— 抽屉三件的元件样式（.shell-v2 未上 body 前永远不显示）—— */
.menubtn{display:none;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font-size:15px;line-height:1;cursor:pointer;font-family:inherit}
/* 遮罩 z 必须 < .side 的 60：.side 定栏后自成层叠上下文，抽屉 #nav 的 z:70 只在 .side 内部比较，
   遮罩若取 65 会盖住整个抽屉（实测 elementFromPoint 打不到链接）。 */
.navmask{display:none;position:fixed;left:0;right:0;bottom:0;top:48px;background:rgba(20,20,20,.35);border:none;padding:0;z-index:55}

/* —— ≤900：侧栏退出文档流＝48px 顶栏 ＋ 左滑抽屉 —— */
@media (max-width:900px){
.shell-v2 .app{flex-direction:column}
.shell-v2 .side{position:fixed;top:0;left:0;right:0;width:100%;height:48px;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:var(--sp-2);padding:0 10px;border-right:none;border-bottom:1px solid var(--line);overflow:visible;z-index:60}
.shell-v2 .side .brand{margin-bottom:0;font-size:var(--fs-md);flex:1;min-width:0}
.shell-v2 .side .brand .name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shell-v2 #rail{display:none}
.shell-v2 .spacer,.shell-v2 .gauge{display:none}
.shell-v2 .menubtn{display:flex}
.shell-v2 #nav{position:fixed;top:48px;left:0;bottom:0;width:min(78%,240px);background:var(--card);border-right:1px solid var(--line);padding:var(--sp-3) 10px;overflow-y:auto;transform:translateX(-102%);transition:transform .2s;pointer-events:none;z-index:70}
.shell-v2.nav-open #nav{transform:none;pointer-events:auto;box-shadow:0 8px 30px rgba(0,0,0,.18)}
.shell-v2.nav-open .navmask{display:block}
.shell-v2 .main{padding:var(--sp-8) var(--sp-5) 40px}
.shell-v2 .tbar{top:48px}
}

/* —— ≤600：手机 —— */
@media (max-width:600px){
.shell-v2 .main{padding:60px var(--sp-3) var(--sp-6)}
.shell-v2 #nav{width:min(86%,268px)}
.shell-v2 .card{padding:14px 15px}
}

/* —— 今日三件摘要条（待拍 #1=B：非「今天」页只放一条 24px，点一下跳回完整卡；
      ⛔ 在别的页复制决策内容，否则同一句话要在 22 页同步改）—— */
.dsum{display:flex;align-items:center;gap:6px;width:100%;height:24px;padding:0;margin:0 0 10px;border:none;background:none;font-family:inherit;font-size:var(--fs-xs);line-height:24px;color:var(--ink2);cursor:pointer;white-space:nowrap;overflow:hidden;text-align:left}
.dsum .ds-k{flex-shrink:0;color:var(--ink);font-weight:700}
.dsum .ds-t{overflow:hidden;text-overflow:ellipsis}
.dsum .ds-g{flex-shrink:0;margin-left:auto;color:var(--green)}
/* ===== S7-B（20261011）· 抽屉可达性补条＋假进度条压平（追加段，⛔ 改前段） ===== */

/* 收起态的抽屉必须离开键盘与无障碍顺序：pointer-events:none 挡不住 Tab，只有 visibility:hidden 挡得住。
   ⛔ 改用 JS 打 aria-hidden/inert —— 桌面与窄屏共用一段 JS 会把正文误锁。
   两段 transition-delay 让"滑出去之后再隐藏"，开的时候立刻可见。 */
@media (max-width:900px){
.shell-v2 #nav{visibility:hidden;transition:transform .2s,visibility 0s .2s}
.shell-v2.nav-open #nav{visibility:visible;transition:transform .2s,visibility 0s 0s}
}

/* 假进度条压平：coach.css:798 `.il-56{width:92.4%}` 是写死的演示数，顾客面不该出现百分比。
   HTML 侧文案本轮改成「接真数后显示」，这里把宽度也压成 0（`.gauge .bar i` 特异度 0,3,0 > `.il-56` 的 0,1,0，⛔ 依赖书写顺序）。
   `.il-56` 那条死规则留在盘上＝G19 登记的第二处（退休它要动 utility 类面，另开一轮）。 */
.gauge .bar i{width:0}
