:root{--bg: #f5f6f8;--card: #ffffff;--card-hover: #fafbfc;--border: #e6e8ec;--border-strong: #d3d7df;--divider: #eef0f3;--skeleton: #eef0f3;--overlay: var(--mask);--text: #1a1d26;--text2: #6b7280;--text3: #9aa1ad;--text-inv: #ffffff;--text-disabled: #b6bbc4;--brand: #4f46e5;--brand-hover: #4338ca;--brand-active: #3730a3;--brand-soft: #eef0fe;--brand-soft-hover: #e3e6fd;--brand-solid: #4f46e5;--brand-ink: #4f46e5;--focus-ring: rgba(79, 70, 229, .2);--disabled-bg: #f2f3f5;--disabled-fg: #b6bbc4;--mask: rgba(16, 24, 40, .4);--ok: #16a34a;--ok-soft: #e8f7ee;--warn: #d97706;--warn-soft: #fdf3e3;--bad: #dc2626;--bad-hover: #c81f1f;--bad-soft: #fdecec;--bad-soft-hover: #fadada;--info: #2563eb;--info-soft: #e8f0fe;--neutral: #6b7280;--neutral-soft: #f2f3f5;--score-high-fg: #dc2626;--score-high-bg: #fdecec;--score-mid-fg: #d97706;--score-mid-bg: #fdf3e3;--score-low-fg: #6b7280;--score-low-bg: #f2f3f5;--p-douyin: #fe2c55;--p-xhs: #ff2442;--p-kuaishou: #ff6600;--chart-1: var(--brand);--chart-2: var(--ok);--chart-3: #f59e0b;--chart-4: #0ea5e9;--chart-grid: var(--divider);--chart-zero: var(--border);--fs-micro: 12px;--fs-hint: 13px;--fs-sm: 14px;--fs-body: 15px;--fs-title: 16px;--fs-lg: 18px;--fs-xl: 20px;--fs-page: 22px;--fs-hero: 24px;--fs-num: 30px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--lh-tight: 1.3;--lh-body: 1.6;--lh-loose: 1.75;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-page: var(--sp-6);--sp-card: var(--sp-5);--sp-gap: var(--sp-4);--r-xs: 4px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 20px;--r-pill: 999px;--r-card: var(--r-lg);--r-input: var(--r-md);--shadow-1: 0 1px 2px rgba(16, 24, 40, .04);--shadow-2: 0 1px 2px rgba(16, 24, 40, .04), 0 4px 16px rgba(16, 24, 40, .06);--shadow-3: 0 8px 24px rgba(16, 24, 40, .12), 0 2px 6px rgba(16, 24, 40, .06);--shadow: var(--shadow-2);--dur-fast: .12s;--dur-base: .16s;--dur-slow: .24s;--ease-out: cubic-bezier(.2, .8, .3, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--z-base: 0;--z-sticky: 20;--z-topbar: 40;--z-panel: 60;--z-sidebar: 70;--z-mask: 80;--z-drawer: 90;--z-modal: 100;--z-menu: 120;--z-toast: 130;--z-nav: 116;--font: -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;--side-w: 240px;--chat-max: 88%;--container-max: 1200px;--bottom-nav-h: 56px;--rail-w: 168px;--rail-w-icon: 64px;--rail-bg: #e9ebf0;--shadow-e1: 0 1px 2px rgba(16, 24, 40, .04), 0 1px 1px rgba(16, 24, 40, .03);--shadow-e2: 0 2px 4px rgba(16, 24, 40, .04), 0 7px 18px rgba(16, 24, 40, .07);--shadow-e3: 0 10px 30px rgba(16, 24, 40, .15), 0 2px 8px rgba(16, 24, 40, .06);--edge-hi: inset 0 1px 0 rgba(255, 255, 255, .7);--edge-hi-weak: inset 0 1px 0 rgba(255, 255, 255, .04);--ring-brand: 0 0 0 3px var(--focus-ring);--brand-grad: linear-gradient(135deg, #6366f1 0%, #4f46e5 100%);--brand-halo: rgba(79, 70, 229, .1);--dur-press: 90ms;--dur-enter: .22s;--dur-leave: .16s;--dur-pulse: .24s;--ease-emphasized: cubic-bezier(.16, 1, .3, 1);--ease-exit: cubic-bezier(.4, 0, 1, 1);--skel-base: #ecedf1;--skel-hi: #f7f8fb;--ctl-2xs: 24px;--ctl-xs: 32px;--ctl-sm: 36px;--ctl-md: 44px;--ico-xs: 14px;--ico-sm: 16px;--ico-md: 18px;--ico-lg: 20px;--ico-xl: 24px;--ico-2xl: 28px;--ico-3xl: 32px;--ico-4xl: 40px;--tile-sm: 32px;--tile-md: 36px;--tile-lg: 40px;--tile-xl: 56px;--select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239aa1ad' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}*{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100%}body{font-family:var(--font);font-size:var(--fs-body);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:var(--lh-body)}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}a{color:var(--brand);text-decoration:none}h1,h2,h3{font-weight:var(--fw-bold);line-height:var(--lh-tight)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.grid-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--sp-4)}.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-4)}.grid-2col,.grid-form{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}.grid-2col>.span-2,.grid-form>.span-2{grid-column:span 2}@media(max-width:720px){.grid-2col,.grid-form{grid-template-columns:1fr}.grid-2col>.span-2,.grid-form>.span-2{grid-column:span 1}}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}@media(max-width:900px){.grid-2{grid-template-columns:1fr}}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}@media(max-width:720px){.form-grid{grid-template-columns:1fr}}.form-grid .span-2{grid-column:span 2}@media(max-width:720px){.form-grid .span-2{grid-column:span 1}}.stack{display:flex;flex-direction:column;gap:var(--sp-4)}.stack-3{display:flex;flex-direction:column;gap:var(--sp-3)}.stack-5{display:flex;flex-direction:column;gap:var(--sp-5)}.row{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap}.ml-auto{margin-left:auto}.ml-1{margin-left:var(--sp-1)}.input-time{max-width:240px}.ico-inline{vertical-align:-2px;margin-right:var(--sp-1)}.ico-lead{vertical-align:-2px;margin-right:var(--sp-2)}.ico-xs{width:var(--ico-xs);height:var(--ico-xs)}.ico-sm{width:var(--ico-sm);height:var(--ico-sm)}.ico-md{width:var(--ico-md);height:var(--ico-md)}.ico-lg{width:var(--ico-lg);height:var(--ico-lg)}.ico-xl{width:var(--ico-xl);height:var(--ico-xl)}.ico-2xl{width:var(--ico-2xl);height:var(--ico-2xl)}.ico-3xl{width:var(--ico-3xl);height:var(--ico-3xl)}.ico-4xl{width:var(--ico-4xl);height:var(--ico-4xl)}.usage-line{border-top:1px solid var(--border);padding-top:12px}.session-menu.sidebar-anchored{left:calc(var(--rail-w) + var(--side-w));bottom:64px}@media(min-width:860px)and (max-width:1023px){.session-menu.sidebar-anchored{left:calc(var(--rail-w-icon) + var(--side-w))}}@media(max-width:859px){.session-menu.sidebar-anchored{left:var(--side-w)}}.mt-2{margin-top:var(--sp-2)}.mt-3{margin-top:var(--sp-3)}.mb-0{margin-bottom:0}.text-2{color:var(--text2)}.text-3{color:var(--text3)}.text-ok{color:var(--ok)}.text-bad{color:var(--bad)}.text-warn{color:var(--warn)}.text-brand{color:var(--brand)}.fs-hint{font-size:var(--fs-hint)}.fs-body{font-size:var(--fs-body)}.fs-micro{font-size:var(--fs-micro)}.fw-semibold{font-weight:var(--fw-semibold)}.para{font-size:var(--fs-body);line-height:var(--lh-loose);color:var(--text);white-space:pre-wrap;word-break:break-word}.para-2{font-size:var(--fs-body);line-height:var(--lh-loose);color:var(--text2);white-space:pre-wrap;word-break:break-word}.section-title .count-chip{margin-left:var(--sp-2)}.desc-body{font-size:var(--fs-body);line-height:var(--lh-loose)}.notice-tight{margin:var(--sp-3) 0 0}.textarea-edit{min-height:84px}.row-end{display:flex;justify-content:flex-end}.stack-gap-3{gap:var(--sp-3)}.tpl-foot{display:flex;justify-content:center;padding-bottom:var(--sp-2)}.tpl-foot-hint{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-hint);color:var(--text3)}.rev-desc{margin-bottom:var(--sp-gap)}.rev-card{box-shadow:none;display:flex;flex-direction:column;gap:12px;transition:opacity var(--dur-base) var(--ease-out)}.rev-card.leaving{opacity:0}.rev-content{font-size:var(--fs-body);line-height:var(--lh-loose);white-space:pre-wrap;word-break:break-word}.rev-id{margin-left:auto;color:var(--text3)}.rev-actions{display:flex;gap:12px;flex-wrap:wrap}.rev-skel-14{height:16px}.rev-skel-11{height:12px}.rev-skel-44{height:44px}.rev-w-0{width:68%}.rev-w-1{width:59%}.rev-w-2{width:50%}.rev-w-44{width:44%}.rev-w-full{width:100%}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--edge-hi),var(--shadow-e1);padding:var(--sp-5);transition:box-shadow var(--dur-base) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.card.flush{padding:0;overflow:hidden}.card-link{cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.card-link:hover{border-color:var(--brand);background:var(--card-hover);box-shadow:var(--edge-hi),var(--shadow-e2)}.card-inset{background:var(--bg);border:none;box-shadow:none;border-radius:var(--r-md);padding:var(--sp-3)}.card-accent{border-left:2px solid var(--brand)}.section{display:flex;flex-direction:column}.section-head{display:flex;align-items:baseline;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-5)}.section-title{font-size:var(--fs-title);font-weight:var(--fw-semibold);color:var(--text)}.section-desc{font-size:var(--fs-hint);color:var(--text3)}.kw-editor{border:1px solid var(--border);border-radius:var(--r-md);background:var(--card);overflow:hidden}.kw-editor-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:var(--sp-3) var(--sp-3);border-bottom:1px solid var(--border);background:var(--bg)}.kw-count{font-size:var(--fs-hint);color:var(--text2)}.kw-count b{color:var(--text1);font-weight:var(--fw-semibold)}.kw-add{display:inline-flex;align-items:center;gap:4px;height:var(--ctl-xs);padding:0 10px;border-radius:var(--r-pill);border:1px dashed var(--border);background:transparent;font-size:var(--fs-micro);font-weight:var(--fw-semibold);color:var(--text2);transition:all var(--dur-fast) var(--ease-out)}.kw-add:hover{border-color:var(--brand-solid);color:var(--brand-ink);background:var(--brand-soft)}.kw-add-row{display:flex;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border)}.kw-add-row .input{height:var(--ctl-sm)}.kw-group+.kw-group{border-top:1px solid var(--border)}.kw-group-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3)}.kw-group-toggle{display:inline-flex;align-items:center;gap:6px;background:transparent;border:0;padding:0;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text1);cursor:pointer}.kw-group-name{white-space:nowrap}.kw-group-count{font-size:var(--fs-micro);font-weight:var(--fw-medium);color:var(--text3);padding:1px 8px;border-radius:var(--r-pill);background:var(--bg)}.kw-group-all{height:var(--ctl-2xs);padding:0 10px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--card);font-size:var(--fs-micro);font-weight:var(--fw-semibold);color:var(--text2);transition:all var(--dur-fast) var(--ease-out)}.kw-group-all:hover{border-color:var(--brand-solid);color:var(--brand-ink)}.kw-group-all.is-on{background:var(--brand-soft);color:var(--brand-ink);border-color:transparent}.kw-group-hint{padding:0 var(--sp-3) 6px;font-size:var(--fs-micro);color:var(--text3);line-height:var(--lh-body);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kw-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 var(--sp-3) var(--sp-3)}.kw-chip{display:inline-flex;align-items:center;gap:4px;height:var(--ctl-2xs);padding:0 10px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--bg);color:var(--text3);font-size:var(--fs-micro);font-weight:var(--fw-medium);max-width:100%;transition:all var(--dur-fast) var(--ease-out)}.kw-chip:hover{border-color:var(--brand-solid);color:var(--brand-ink)}.kw-chip.is-on{background:var(--brand-solid);color:var(--text-inv);border-color:transparent;font-weight:var(--fw-semibold)}.field-label-hint{display:block;margin-top:2px;font-size:var(--fs-micro);font-weight:var(--fw-normal);color:var(--text3);line-height:var(--lh-body)}.kw-expander{border:1px solid var(--border);border-radius:var(--r-md);background:var(--card);margin-bottom:var(--sp-2);overflow:hidden}.kw-expander-head{display:flex;align-items:center;gap:6px;width:100%;padding:var(--sp-3);background:var(--brand-soft);border:0;text-align:left;cursor:pointer}.kw-expander-head.is-mine{background:var(--ok-soft)}.kw-expander-head.is-mine .kw-expander-title,.kw-expander-head.is-mine .kw-expander-sub{color:var(--ok)}.mine-meta{margin-top:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--bg);font-size:var(--fs-hint);color:var(--text2);line-height:var(--lh-body)}.mine-meta b{color:var(--text1);font-weight:var(--fw-bold)}.mine-hot{font-size:11px}.kw-expander-title{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--brand-ink)}.kw-expander-sub{font-size:var(--fs-micro);color:var(--brand-ink);opacity:.8}.kw-expander-body{padding:var(--sp-3);border-top:1px solid var(--border)}.kw-seed-row{display:flex;gap:var(--sp-2);flex-wrap:wrap;align-items:center}.kw-seed-row .input{height:var(--ctl-sm);flex:1 1 200px;min-width:140px}.kw-expander-hint{margin-top:var(--sp-2);font-size:var(--fs-micro);color:var(--text3)}.kw-picked-bar{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin:var(--sp-3) 0;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--bg);font-size:var(--fs-hint);color:var(--text2)}.kw-picked-bar b{color:var(--brand-ink);font-weight:var(--fw-bold)}.kw-chip.wrap{padding:0;overflow:hidden;gap:0}.kw-chip-main{display:inline-flex;align-items:center;gap:4px;height:100%;padding:0 4px 0 10px;background:transparent;border:0;font:inherit;color:inherit;cursor:pointer}.kw-chip-x{display:inline-flex;align-items:center;justify-content:center;width:20px;height:100%;background:transparent;border:0;color:inherit;opacity:.5;cursor:pointer}.kw-chip-x:hover{opacity:1;background:var(--bad-soft);color:var(--bad)}.kernel-pick{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--sp-3)}.kernel-card{display:flex;flex-direction:column;gap:6px;padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--card);text-align:left;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.kernel-card:hover{border-color:var(--brand-solid)}.kernel-card.is-on{border-color:var(--brand-solid);background:var(--brand-soft)}.kernel-name{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--text1)}.kernel-card.is-on .kernel-name{color:var(--brand-ink)}.kernel-desc{font-size:var(--fs-hint);color:var(--text2);line-height:var(--lh-body)}.kernel-warn{font-size:var(--fs-micro);color:var(--warn)}.kernel-ok{font-size:var(--fs-micro);color:var(--ok)}.bit-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--card)}.bit-row.is-on{border-color:var(--brand-solid);background:var(--brand-soft)}.bit-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.bit-row-name{display:flex;align-items:center;gap:6px;font-size:var(--fs-hint);font-weight:var(--fw-semibold);color:var(--text1)}.bit-row-meta{font-size:var(--fs-micro);color:var(--text3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cluster-picker{margin-bottom:var(--sp-2);padding:var(--sp-3);border:1px dashed var(--border);border-radius:var(--r-2);background:var(--bg)}.cluster-picker .filter-bar{margin:var(--sp-2) 0 0}.cluster-picker .filter-bar .pill{height:var(--ctl-xs)}.cluster-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-2)}.hint-box{margin-top:var(--sp-2);padding:var(--sp-3);border-radius:var(--r-2);background:var(--brand-soft);color:var(--brand-ink);font-size:var(--fs-hint);line-height:var(--lh-body)}.hint-box div+div{margin-top:4px}.hint-box b{font-weight:var(--fw-semibold)}.section-foot{margin-top:var(--sp-5)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);height:44px;min-height:36px;padding:0 24px;border-radius:var(--r-md);border:1px solid transparent;font-size:var(--fs-body);font-weight:var(--fw-semibold);white-space:nowrap;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.btn:disabled{background:var(--disabled-bg);color:var(--disabled-fg);border-color:transparent;cursor:not-allowed}.btn-primary{background:var(--brand);color:var(--text-inv)}.btn-primary:hover:not(:disabled){background:var(--brand-hover)}.btn-primary:active:not(:disabled){background:var(--brand-active)}.btn-ghost{background:var(--card);border-color:var(--border);color:var(--text)}.btn-ghost:hover:not(:disabled){background:var(--bg);border-color:var(--border-strong)}.btn-ghost:active:not(:disabled){background:var(--bg)}.btn-ghost:disabled{background:var(--card);border-color:var(--border);color:var(--disabled-fg)}.btn-danger{background:var(--bad-soft);color:var(--bad)}.btn-danger:hover:not(:disabled){background:var(--bad-soft-hover)}.btn-danger-solid{background:var(--bad);color:var(--text-inv)}.btn-danger-solid:hover:not(:disabled){background:var(--bad-hover)}.btn-sm{height:var(--ctl-sm);padding:0 16px;font-size:var(--fs-sm)}.btn-xs{height:var(--ctl-xs);min-height:var(--ctl-xs);padding:0 12px;font-size:var(--fs-micro)}.more-wrap{position:relative;display:inline-flex}.more-menu{position:absolute;top:calc(100% + var(--sp-1));right:0;z-index:var(--z-menu);min-width:148px;background:var(--card);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-3);padding:var(--sp-1);display:flex;flex-direction:column;gap:4px}.more-menu.up{top:auto;bottom:calc(100% + var(--sp-1))}.more-menu.left{left:0;right:auto}.more-menu button{display:flex;align-items:center;gap:var(--sp-2);height:var(--ctl-xs);padding:0 12px;border-radius:var(--r-sm);font-size:var(--fs-sm);color:var(--text);text-align:left;white-space:nowrap}.more-menu button:hover:not(:disabled){background:var(--bg)}.more-menu button:disabled{color:var(--disabled-fg);cursor:not-allowed}.more-menu button.danger{color:var(--bad)}.more-menu button.danger:hover:not(:disabled){background:var(--bad-soft)}.icon-btn{width:36px;height:36px;flex-shrink:0;border-radius:var(--r-sm);display:inline-flex;align-items:center;justify-content:center;color:var(--text2);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.icon-btn:hover{background:var(--bg);color:var(--text)}.icon-btn:active{background:var(--brand-soft);color:var(--brand-ink)}.icon-btn:disabled{color:var(--disabled-fg);cursor:not-allowed}.icon-btn-sm{width:32px;height:32px}.field{display:flex;flex-direction:column;gap:var(--sp-2);min-width:0}.field-label{font-size:var(--fs-hint);font-weight:var(--fw-semibold);color:var(--text2)}.field-hint{font-size:var(--fs-hint);color:var(--text3)}.field-error{font-size:var(--fs-hint);color:var(--bad);margin-top:var(--sp-1)}.input,.select,.textarea{width:100%;height:44px;padding:0 16px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--card);color:var(--text);font-family:var(--font);font-size:var(--fs-body);box-shadow:inset 0 1px 2px #10182808;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:36px;background-image:var(--select-arrow);background-repeat:no-repeat;background-position:right 11px center;background-size:14px 14px}.textarea{height:auto;min-height:96px;padding:12px 16px;resize:vertical;line-height:var(--lh-body)}.input:hover,.select:hover,.textarea:hover{border-color:var(--border-strong)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--focus-ring)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--disabled-bg);color:var(--disabled-fg);cursor:not-allowed}.input::placeholder,.textarea::placeholder{color:var(--text3)}.input.has-icon{padding-left:36px}.search-field{position:relative;flex:1;min-width:140px}.search-field>svg{position:absolute;left:12px;top:50%;margin-top:-8px;color:var(--text3);pointer-events:none}.search-field .input{padding-left:36px}.input-affix{position:relative}.input-affix .input{padding-right:48px}.input-affix .icon-btn{position:absolute;right:4px;top:4px}.pill{height:32px;padding:0 16px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--card);color:var(--text2);font-size:var(--fs-sm);font-weight:var(--fw-medium);white-space:nowrap;flex-shrink:0;transition:color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.pill:hover:not(:disabled){color:var(--text);border-color:var(--border-strong)}.pill.on{background:var(--brand);border-color:var(--brand);color:var(--text-inv);font-weight:var(--fw-semibold)}.pill:disabled{color:var(--disabled-fg);border-color:var(--border);cursor:not-allowed}.stat-card{display:flex;flex-direction:column;gap:var(--sp-1)}.stat-icon{width:44px;height:44px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;background:var(--brand-soft);color:var(--brand-ink);margin-bottom:var(--sp-1)}.stat-icon.tone-ok{background:var(--ok-soft);color:var(--ok)}.stat-icon.tone-warn{background:var(--warn-soft);color:var(--warn)}.stat-icon.tone-bad{background:var(--bad-soft);color:var(--bad)}.stat-icon.tone-sm{width:32px;height:32px;margin-bottom:0;border-radius:var(--r-sm)}.stat-value{font-size:var(--fs-num);font-weight:var(--fw-bold);letter-spacing:-.5px;line-height:1.1}.stat-label{font-size:var(--fs-hint);color:var(--text2)}.grid-stats .stat-card,.dash-stats .stat-card,.reach-stats .stat-card{padding:var(--sp-3) var(--sp-4);gap:var(--sp-1)}.grid-stats .stat-icon,.dash-stats .stat-icon,.reach-stats .stat-icon{width:32px;height:32px}.grid-stats .stat-value,.dash-stats .stat-value,.reach-stats .stat-value{font-size:var(--fs-page)}.score-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--r-pill);font-size:var(--fs-hint);font-weight:var(--fw-bold);white-space:nowrap;flex-shrink:0}.score-badge.high{background:var(--score-high-bg);color:var(--score-high-fg)}.score-badge.mid{background:var(--score-mid-bg);color:var(--score-mid-fg)}.score-badge.low{background:var(--score-low-bg);color:var(--score-low-fg)}.score-badge.lg{padding:8px 16px;font-size:var(--fs-title)}.badge-status{display:inline-flex;align-items:center;gap:var(--sp-1);height:var(--ctl-2xs);padding:0 12px;border-radius:var(--r-pill);font-size:var(--fs-micro);font-weight:var(--fw-semibold);white-space:nowrap;background:var(--neutral-soft);color:var(--neutral)}.badge-status.tone-ok{background:var(--ok-soft);color:var(--ok)}.badge-status.tone-warn{background:var(--warn-soft);color:var(--warn)}.badge-status.tone-bad{background:var(--bad-soft);color:var(--bad)}.badge-status.tone-brand{background:var(--brand-soft);color:var(--brand-ink)}.badge-status.tone-off{background:var(--neutral-soft);color:var(--neutral)}.badge-tag{display:inline-block;height:var(--ctl-2xs);line-height:var(--ctl-2xs);padding:0 12px;border-radius:var(--r-pill);background:var(--bg);color:var(--text2);font-size:var(--fs-micro);font-weight:var(--fw-medium);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.badge-tag.badge-cluster{background:var(--brand-soft);color:var(--brand-ink);max-width:160px}.badge-tag.badge-muted{background:var(--neutral-soft);color:var(--neutral);max-width:90px}.badge-tag.badge-buyer{background:var(--ok-soft);color:var(--ok);max-width:90px}.lead-verdict{display:flex;align-items:center;gap:4px;margin-top:6px;font-size:var(--fs-micro);color:var(--text3)}.lead-avatar{width:40px;height:40px;flex-shrink:0;border-radius:50%;object-fit:cover;background:var(--bg);border:1px solid var(--border)}.lead-avatar-empty{display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text3);background:var(--neutral-soft)}.lead-id{font-size:var(--fs-micro);color:var(--text3)}.lead-region{font-size:var(--fs-micro);color:var(--text3);padding:1px 7px;border-radius:var(--r-pill);background:var(--bg)}.lead-region.is-local{background:var(--ok-soft);color:var(--ok);font-weight:var(--fw-semibold)}.lead-angle{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px;font-size:var(--fs-micro);color:var(--text3)}.lead-source{margin-top:5px;font-size:var(--fs-micro);color:var(--text3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lead-day{margin-bottom:var(--sp-5)}.lead-day-head{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3)}.lead-day-label{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--text1)}.lead-day-count{font-size:var(--fs-micro);font-weight:var(--fw-medium);color:var(--text2);padding:1px 8px;border-radius:var(--r-pill);background:var(--bg)}.lead-day-line{flex:1;height:1px;background:var(--border)}.angle-chip{padding:1px 8px;border-radius:var(--r-pill);background:var(--brand-soft);color:var(--brand-ink);font-weight:var(--fw-semibold)}.wechat-row{display:flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-3)}.wechat-label{font-size:var(--fs-hint);color:var(--text2);flex-shrink:0}.wechat-row .input{height:var(--ctl-sm);max-width:260px}.verdict-row{display:flex;align-items:flex-start;gap:var(--sp-2);margin-top:var(--sp-2)}.verdict-note{font-size:var(--fs-hint);color:var(--text2);line-height:var(--lh-body)}.verdict-extra{margin-top:4px;font-size:var(--fs-micro);color:var(--text3)}.correct-form{margin-top:var(--sp-3);padding:var(--sp-3);border:1px dashed var(--border);border-radius:var(--r-md);background:var(--bg);display:flex;flex-direction:column;gap:var(--sp-2)}.kw-perf{display:flex;flex-direction:column}.kw-perf-head,.kw-perf-row{display:grid;grid-template-columns:minmax(120px,1.6fr) 76px 60px 104px 68px 60px minmax(140px,1.4fr);align-items:center;gap:var(--sp-2);padding:9px var(--sp-2)}.kw-perf-head{font-size:var(--fs-micro);color:var(--text3);font-weight:var(--fw-semibold);border-bottom:1px solid var(--border)}.kw-perf-row{border-bottom:1px solid var(--border);font-size:var(--fs-hint)}.kw-perf-row:last-child{border-bottom:0}.kw-perf-row:hover{background:var(--bg)}.kw-perf-name{color:var(--text1);font-weight:var(--fw-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kw-perf .num{text-align:right;font-variant-numeric:tabular-nums;color:var(--text2)}.kw-perf .verdict{text-align:right}.kw-perf-row .badge-status{white-space:nowrap}@media(max-width:900px){.kw-perf-head{display:none}.kw-perf-row{grid-template-columns:1fr auto;grid-auto-rows:auto;row-gap:4px}.kw-perf-row .verdict{grid-column:1 / -1;text-align:left}}.badge-tag.badge-unfit{background:var(--warn-soft);color:var(--warn);cursor:help}.platform-tag{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-hint);color:var(--text2);white-space:nowrap;flex-shrink:0}.pt-dot{width:8px;height:8px;border-radius:50%;background:var(--text3)}.pt-dot.douyin{background:var(--p-douyin)}.pt-dot.xhs{background:var(--p-xhs)}.pt-dot.kuaishou{background:var(--p-kuaishou)}.status-dot{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-hint);font-weight:var(--fw-semibold);color:var(--text2)}.status-dot i{width:12px;height:12px;border-radius:50%;background:var(--text3);flex-shrink:0}.status-dot.tone-ok i{background:var(--ok)}.status-dot.tone-bad i{background:var(--bad)}.status-dot.tone-warn i{background:var(--warn)}.status-dot.tone-off i{background:var(--text3)}.status-dot.tone-live i{background:var(--brand);animation:breathe 1.6s var(--ease-in-out) infinite}@keyframes breathe{0%,to{opacity:.4}50%{opacity:1}}.avatar{border-radius:var(--r-pill);flex-shrink:0;background:var(--brand-soft);color:var(--brand-ink);display:flex;align-items:center;justify-content:center;font-weight:var(--fw-semibold)}.avatar.xs{width:24px;height:24px;font-size:var(--fs-micro)}.avatar.sm{width:32px;height:32px;font-size:var(--fs-hint)}.avatar.md{width:44px;height:44px;font-size:var(--fs-body)}.avatar.lg{width:56px;height:56px;font-size:var(--fs-xl);font-weight:var(--fw-bold)}.table{width:100%;border-collapse:collapse}.table th{height:40px;padding:0 12px;text-align:left;font-size:var(--fs-hint);font-weight:var(--fw-medium);color:var(--text2);background:var(--bg);border-bottom:1px solid var(--border);white-space:nowrap}.table td{height:48px;padding:0 12px;font-size:var(--fs-sm);color:var(--text);border-bottom:1px solid var(--divider)}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--card-hover)}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table .strong{font-weight:var(--fw-semibold)}.table-wrap{overflow-x:auto}.drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-drawer)}.drawer-mask{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--mask)}.drawer-panel{position:absolute;top:0;right:0;bottom:0;width:min(520px,100%);background:var(--card);box-shadow:var(--shadow-3);display:flex;flex-direction:column;animation:slide-in var(--dur-slow) var(--ease-out)}@keyframes slide-in{0%{transform:translate(40px);opacity:0}to{transform:translate(0);opacity:1}}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border);flex-shrink:0}.drawer-title{font-size:var(--fs-lg);font-weight:var(--fw-bold)}.drawer-body{flex:1;overflow-y:auto;padding:var(--sp-5)}.drawer-foot{display:flex;justify-content:flex-end;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--border);flex-shrink:0}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--sp-4)}.modal-mask{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--mask)}.modal-box{position:relative;width:min(480px,100%);max-height:calc(100vh - 48px);overflow-y:auto;background:var(--card);border-radius:var(--r-lg);box-shadow:var(--shadow-3);animation:pop-in var(--dur-base) var(--ease-out)}@keyframes pop-in{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-5) var(--sp-5) 0}.modal-title{font-size:var(--fs-lg);font-weight:var(--fw-bold)}.modal-body{padding:var(--sp-5)}.ov-w-480{width:min(480px,100%)}.ov-w-520{width:min(520px,100%)}.ov-w-560{width:min(560px,100%)}.ov-w-640{width:min(640px,100%)}.ov-w-1100{width:min(1100px,100%)}.bv-wrap{height:min(70vh,640px);display:flex}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp-2);padding:var(--sp-10) var(--sp-6)}.empty-icon{width:72px;height:72px;border-radius:var(--r-xl);background:var(--brand-soft);color:var(--brand-ink);display:flex;align-items:center;justify-content:center;margin-bottom:var(--sp-3);box-shadow:var(--edge-hi),0 0 0 8px var(--brand-halo);animation:empty-pop var(--dur-slow) var(--ease-emphasized) both}@keyframes empty-pop{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}.empty-icon.tone-ok{background:var(--ok-soft);color:var(--ok);box-shadow:var(--edge-hi),0 0 0 8px var(--brand-halo)}.empty-icon.tone-warn{background:var(--warn-soft);color:var(--warn);box-shadow:var(--edge-hi),0 0 0 8px var(--brand-halo)}.empty-icon.tone-bad{background:var(--bad-soft);color:var(--bad);box-shadow:var(--edge-hi),0 0 0 8px var(--brand-halo)}.empty-title{font-size:var(--fs-title);font-weight:var(--fw-semibold)}.empty-hint{font-size:var(--fs-hint);color:var(--text2);max-width:380px;line-height:var(--lh-body)}.empty-action{margin-top:var(--sp-3)}.empty-sm{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp-1);padding:var(--sp-5)}.empty-sm .empty-icon{width:40px;height:40px;margin-bottom:0}.empty-sm .empty-icon svg{width:20px;height:20px}.empty-sm .empty-title{font-size:var(--fs-sm)}.empty-sm .empty-hint{font-size:var(--fs-hint)}.empty-sm .empty-action{margin-top:var(--sp-3)}.notice{display:flex;align-items:flex-start;gap:var(--sp-3);padding:12px 16px;margin-bottom:var(--sp-4);border-radius:var(--r-md);background:var(--info-soft);color:var(--info);font-size:var(--fs-sm);line-height:var(--lh-body)}.notice svg{flex-shrink:0;margin-top:4px}.notice.error{background:var(--bad-soft);color:var(--bad)}.notice.warn{background:var(--warn-soft);color:var(--warn)}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:var(--z-toast);display:inline-flex;align-items:center;gap:var(--sp-2);max-width:calc(100vw - 32px);padding:12px 16px;border-radius:var(--r-pill);background:var(--ok-soft);color:var(--ok);border:1px solid var(--border);box-shadow:var(--shadow-2);font-size:var(--fs-sm);font-weight:var(--fw-semibold);animation:msg-in var(--dur-base) var(--ease-out)}.toast svg{flex-shrink:0}.toast-body{display:flex;flex-direction:column;gap:4px;min-width:0}.toast-hint{font-size:var(--fs-micro);font-weight:var(--fw-medium);opacity:.85;line-height:1.4}.toast:has(.toast-hint){align-items:flex-start;border-radius:var(--r-md)}@media(max-width:859px){.toast{bottom:calc(var(--bottom-nav-h) + 16px)}}.skel{display:block;border-radius:var(--r-sm);background:var(--skeleton);animation:pulse 1.2s var(--ease-in-out) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}.skel-card{height:120px;border-radius:var(--r-lg)}.skel-stat{height:104px}.skel-text{height:16px}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.pager{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);margin-top:var(--sp-5);flex-wrap:wrap}.pager button{min-width:36px;height:36px;padding:0 12px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--card);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text2);transition:border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.pager button:hover:not(:disabled){border-color:var(--border-strong);color:var(--text)}.pager button.on{background:var(--brand);border-color:var(--brand);color:var(--text-inv)}.pager button:disabled{color:var(--disabled-fg);cursor:not-allowed}.pager-info{font-size:var(--fs-hint);color:var(--text3)}.dash-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--sp-4)}.trend-chart{display:flex;align-items:flex-end;gap:12px;height:160px}.trend-col{flex:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:var(--sp-2);min-width:0}.trend-num{font-size:var(--fs-hint);font-weight:var(--fw-bold);color:var(--text)}.trend-bar{width:100%;max-width:44px;border-radius:var(--r-sm);background:var(--chart-1)}.trend-bar.zero{background:var(--chart-zero)}.trend-date{font-size:var(--fs-micro);color:var(--text3);white-space:nowrap}.plat-dist{display:flex;flex-direction:column;gap:14px}.plat-dist-row{display:flex;align-items:center;gap:var(--sp-3)}.plat-dist-label{width:84px;flex-shrink:0;display:inline-flex}.plat-dist-track{flex:1;min-width:0;height:14px;border-radius:var(--r-pill);background:var(--bg);overflow:hidden}.plat-dist-track i{display:block;height:100%;border-radius:var(--r-pill);background:var(--text3);transition:width var(--dur-med) var(--ease-out)}.plat-dist-track.douyin i{background:var(--p-douyin)}.plat-dist-track.xhs i{background:var(--p-xhs)}.plat-dist-num{width:62px;flex-shrink:0;display:inline-flex;align-items:baseline;justify-content:flex-end;gap:var(--sp-1);font-size:var(--fs-hint)}.plat-dist-num b{color:var(--text);font-weight:var(--fw-bold)}.plat-dist-pct{color:var(--text3);font-size:var(--fs-micro)}.todo-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--sp-3)}.todo-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--card);text-align:left;transition:border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.todo-item:hover{border-color:var(--brand-solid);transform:translateY(-1px)}.todo-item.is-active{border-color:var(--brand-solid);background:var(--brand-soft)}.todo-num{font-size:30px;line-height:1.05;font-weight:var(--fw-bold);color:var(--text);font-variant-numeric:tabular-nums}.todo-item.is-active .todo-num{color:var(--brand-ink)}.todo-label{font-size:var(--fs-hint);color:var(--text2);line-height:var(--lh-body)}.todo-go{margin-top:var(--sp-2);font-size:var(--fs-micro);font-weight:var(--fw-semibold);color:var(--brand-ink)}.funnel{display:flex;flex-direction:column;gap:10px}.funnel-row{display:flex;align-items:center;gap:var(--sp-3)}.funnel-label{width:92px;flex-shrink:0;font-size:var(--fs-hint);color:var(--text2)}.funnel-track{flex:1;min-width:0;height:16px;border-radius:var(--r-pill);background:var(--bg);overflow:hidden}.funnel-track i{display:block;height:100%;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--brand-solid),color-mix(in srgb,var(--brand-solid) 55%,transparent));transition:width var(--dur-med) var(--ease-out)}.funnel-num{width:46px;flex-shrink:0;text-align:right;font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--text);font-variant-numeric:tabular-nums}.funnel-rate{width:46px;flex-shrink:0;text-align:right;font-size:var(--fs-micro);color:var(--text3);font-variant-numeric:tabular-nums}.funnel-track i.is-dropped{background:var(--text3);opacity:.35}.cluster-out{display:flex;flex-direction:column;gap:10px}.cluster-out-row{display:flex;align-items:center;gap:var(--sp-3)}.cluster-out-name{width:84px;flex-shrink:0;font-size:var(--fs-hint);color:var(--text1);font-weight:var(--fw-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cluster-out-quota{width:66px;flex-shrink:0;font-size:10px;letter-spacing:-1px;color:var(--warn)}.cluster-out-track{flex:1;min-width:0;height:12px;border-radius:var(--r-pill);background:var(--bg);overflow:hidden}.cluster-out-track i{display:block;height:100%;border-radius:var(--r-pill);background:var(--brand-solid);transition:width var(--dur-med) var(--ease-out)}.cluster-out-num{width:30px;flex-shrink:0;text-align:right;font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--text);font-variant-numeric:tabular-nums}.cluster-out-note{width:116px;flex-shrink:0;font-size:var(--fs-micro);color:var(--text3)}.flow-strip{display:flex;align-items:stretch;gap:var(--sp-2);flex-wrap:wrap;padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--card)}.flow-step{flex:1 1 180px;min-width:150px;display:flex;flex-direction:column;gap:2px;padding:var(--sp-3);border-radius:var(--r-md);background:var(--bg)}.flow-step.is-done{opacity:.72}.flow-step.is-here{background:var(--brand-soft)}.flow-idx{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--text3);color:var(--text-inv);font-size:10px;font-weight:var(--fw-bold);margin-bottom:4px}.flow-step.is-here .flow-idx{background:var(--brand-solid)}.flow-title{font-size:var(--fs-hint);font-weight:var(--fw-semibold);color:var(--text)}.flow-step.is-here .flow-title{color:var(--brand-ink)}.flow-desc{font-size:var(--fs-micro);color:var(--text3);line-height:var(--lh-body)}.flow-step.is-here .flow-desc{color:var(--brand-ink);opacity:.85}.flow-arrow{display:flex;align-items:center;color:var(--text3);font-size:var(--fs-sm)}.bv-shell{display:flex;flex-direction:column;height:100%;min-height:0;border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;background:var(--card)}.bv-bar{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border);background:var(--card)}.bv-live{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-micro);font-weight:var(--fw-semibold);padding:2px 10px;border-radius:var(--r-pill)}.bv-live i{width:6px;height:6px;border-radius:50%;background:currentColor}.bv-live.tone-ok{color:var(--ok);background:var(--ok-soft)}.bv-live.tone-ok i{animation:bv-pulse 1.4s ease-in-out infinite}.bv-live.tone-warn{color:var(--warn);background:var(--warn-soft)}.bv-live.tone-off{color:var(--neutral);background:var(--neutral-soft)}@keyframes bv-pulse{0%,to{opacity:1}50%{opacity:.25}}.bv-account{font-size:var(--fs-hint);font-weight:var(--fw-semibold);color:var(--text1)}.bv-meta{font-size:var(--fs-micro);color:var(--text3);font-variant-numeric:tabular-nums}.bv-login{font-size:var(--fs-micro);font-weight:var(--fw-semibold);padding:1px 8px;border-radius:var(--r-pill);background:var(--neutral-soft);color:var(--neutral)}.bv-login.is-on{background:var(--ok-soft);color:var(--ok)}.bv-block{display:flex;flex-direction:column;gap:3px;padding:var(--sp-3);background:var(--warn-soft);color:var(--warn);border-bottom:1px solid var(--border)}.bv-block-title{font-size:var(--fs-hint);font-weight:var(--fw-bold)}.bv-block-body{font-size:var(--fs-micro);line-height:var(--lh-body);opacity:.9}.bv-spacer{flex:1}.bv-stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:var(--sp-3);background:radial-gradient(120% 90% at 50% 0%,#1d2030,#12141d 60%,#0c0e14)}.bv-canvas{max-width:100%;max-height:100%;border-radius:var(--r-md);box-shadow:0 12px 40px #00000073;cursor:crosshair;opacity:0;transition:opacity var(--dur-med) var(--ease-out)}.bv-canvas.is-live{opacity:1}.bv-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);color:#c9cddb;text-align:center;background:#0c0e14b8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.bv-overlay .ico-lg{color:#7c86a8}.bv-overlay p{margin:0;font-size:var(--fs-hint);font-weight:var(--fw-medium)}.bv-overlay-hint{font-size:var(--fs-micro);color:#8b93ab;max-width:340px;line-height:var(--lh-body)}.bv-overlay .btn{margin-top:var(--sp-2)}.bv-corner{position:absolute;width:18px;height:18px;border:2px solid rgba(120,140,200,.5);pointer-events:none}.bv-corner.tl{top:10px;left:10px;border-right:0;border-bottom:0;border-radius:4px 0 0}.bv-corner.tr{top:10px;right:10px;border-left:0;border-bottom:0;border-radius:0 4px 0 0}.bv-corner.bl{bottom:10px;left:10px;border-right:0;border-top:0;border-radius:0 0 0 4px}.bv-corner.br{bottom:10px;right:10px;border-left:0;border-top:0;border-radius:0 0 4px}.bv-foot{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;padding:var(--sp-2) var(--sp-3);border-top:1px solid var(--border);background:var(--card)}.bv-hint{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-micro);color:var(--text3)}.bv-input{height:var(--ctl-xs);max-width:220px}.bv-url{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-micro);color:var(--text3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:320px}.hl-list{display:flex;flex-direction:column;gap:var(--sp-3)}.hl-card{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--card);transition:border-color var(--dur-fast) var(--ease-out)}.hl-card:hover{border-color:var(--brand)}.hl-card .score-badge.lg{padding:4px 12px;font-size:var(--fs-hint)}.hl-main{flex:1;min-width:160px;max-width:100%;display:flex;flex-direction:column;gap:var(--sp-1)}.hl-nick-row{display:flex;align-items:center;gap:var(--sp-3);min-width:0}.hl-nick{font-size:var(--fs-body);font-weight:var(--fw-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hl-time{font-size:var(--fs-hint);color:var(--text3);flex-shrink:0;margin-left:auto}.hl-comment{font-size:var(--fs-body);color:var(--text2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hl-none{padding:var(--sp-5);border-radius:var(--r-md);background:var(--bg);color:var(--text2);font-size:var(--fs-sm);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);line-height:var(--lh-body)}.quick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-4)}.quick-grid.single{grid-template-columns:1fr}.quick-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-5);text-align:left;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.quick-card:hover{border-color:var(--brand);background:var(--card-hover)}.quick-card.row{flex-direction:row;align-items:center;padding:var(--sp-4);gap:var(--sp-4)}.quick-icon{width:44px;height:44px;flex-shrink:0;border-radius:var(--r-md);background:var(--brand-soft);color:var(--brand-ink);display:flex;align-items:center;justify-content:center}.quick-title{font-size:var(--fs-body);font-weight:var(--fw-bold)}.quick-desc{font-size:var(--fs-hint);color:var(--text2);line-height:var(--lh-body)}.quick-text{display:flex;flex-direction:column;gap:4px;text-align:left;min-width:0}.filter-bar{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin-bottom:var(--sp-4)}.filter-bar .input,.filter-bar .select{height:36px;border-radius:var(--r-pill);width:auto}.filter-bar.no-wrap{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.filter-bar.no-wrap::-webkit-scrollbar{display:none}.filter-bar .pill{height:32px}.filter-bar .search-field .input{width:100%}.filter-bar .select{max-width:100%}.filter-more{display:flex;flex-direction:column;gap:var(--sp-4)}.filter-more .field{gap:var(--sp-2)}.count-chip{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:var(--r-pill);background:var(--brand-soft);color:var(--brand-ink);font-size:var(--fs-hint);font-weight:var(--fw-bold);vertical-align:4px}.lead-list{display:flex;flex-direction:column;gap:var(--sp-4)}.lead-card{display:flex;flex-direction:column;gap:var(--sp-3);cursor:pointer;padding:var(--sp-4)}.lead-top{display:flex;gap:var(--sp-3);align-items:flex-start;min-width:0}.lead-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--sp-2)}.lead-nick{font-size:var(--fs-title);font-weight:var(--fw-semibold)}.lead-meta{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.lead-comment{font-size:var(--fs-body);color:var(--text);line-height:var(--lh-body)}.lead-comment.clamp2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lead-script{font-size:var(--fs-sm);color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lead-actions{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--sp-2);align-items:center}.lead-actions .select{width:auto;min-width:96px;height:36px}.lead-actions .btn.is-pending{border-style:dashed;color:var(--warn);border-color:var(--warn);background:var(--warn-soft);cursor:default}.tabs{display:flex;gap:var(--sp-2);margin-bottom:var(--sp-4)}.tab{height:36px;padding:0 16px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--card);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text2);display:inline-flex;align-items:center;gap:var(--sp-1);transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}.tab:hover{background:var(--bg);color:var(--text)}.tab.on{background:var(--brand);border-color:var(--brand);color:var(--text-inv)}.tab-line{height:40px;padding:0 4px;border:none;background:none;color:var(--text2);font-size:var(--fs-sm);font-weight:var(--fw-medium);border-bottom:2px solid transparent;border-radius:0}.tab-line.on{color:var(--text);border-bottom-color:var(--brand);font-weight:var(--fw-semibold)}.task-card{display:flex;flex-direction:column;gap:var(--sp-3)}.task-title{font-size:var(--fs-body);font-weight:var(--fw-bold)}.task-meta{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;font-size:var(--fs-hint);color:var(--text2)}.task-mode{display:inline-flex;align-items:center;gap:var(--sp-1)}.task-mode.blogger{color:var(--brand-ink);font-weight:var(--fw-semibold)}.task-ref{display:inline-block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-nums{display:flex;gap:var(--sp-5);flex-wrap:wrap}.task-num{display:flex;flex-direction:column;gap:4px}.task-num b{font-size:var(--fs-page);font-weight:var(--fw-bold)}.task-num span{font-size:var(--fs-hint);color:var(--text3)}.task-num b.sm{font-size:var(--fs-body);padding-top:4px}.task-actions{display:flex;gap:var(--sp-2);flex-wrap:wrap;align-items:center;margin-top:var(--sp-3)}.cmt-card{display:flex;flex-direction:column;gap:var(--sp-2)}.cmt-head{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.cmt-nick{font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--brand-ink);text-decoration:none;word-break:break-all}.cmt-nick:hover{text-decoration:underline}.cmt-nick.is-plain{color:var(--text2);font-weight:var(--fw-medium)}.cmt-content{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text);white-space:pre-wrap;word-break:break-word}.cmt-pager{display:flex;align-items:center;justify-content:center;gap:var(--sp-4);margin-top:var(--sp-2)}.account-list{display:flex;flex-direction:column;gap:var(--sp-4)}.account-card{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;padding:var(--sp-4)}.account-card.offline{border-color:var(--bad)}.account-avatar{width:56px;height:56px;border-radius:50%;background:var(--brand-soft);color:var(--brand-ink);display:flex;align-items:center;justify-content:center;font-size:var(--fs-xl);font-weight:var(--fw-bold);flex-shrink:0}.account-main{flex:1;min-width:180px;display:flex;flex-direction:column;gap:var(--sp-1)}.account-nick{font-size:var(--fs-title);font-weight:var(--fw-semibold)}.account-actions{display:flex;gap:var(--sp-2);flex-wrap:wrap;align-items:center}.chip-row{display:flex;gap:var(--sp-2);flex-wrap:wrap}.chip{height:36px;padding:0 16px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--card);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text2);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.chip:hover{border-color:var(--border-strong);color:var(--text)}.chip.on{background:var(--brand);border-color:var(--brand);color:var(--text-inv);font-weight:var(--fw-semibold)}.save-bar{display:flex;justify-content:flex-end;align-items:center;gap:var(--sp-3);margin-top:var(--sp-5);padding-top:var(--sp-4);position:sticky;bottom:0;background:linear-gradient(to top,var(--bg) 70%,transparent)}.saved-flash{font-size:var(--fs-hint);color:var(--ok);font-weight:var(--fw-semibold)}.switch{position:relative;width:44px;height:28px;border-radius:var(--r-pill);background:var(--border);transition:background var(--dur-base) var(--ease-out);flex-shrink:0}.switch:after{content:"";position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:50%;background:var(--card);box-shadow:var(--shadow-1);transition:left var(--dur-base) var(--ease-out)}.switch.on{background:var(--ok)}.switch.on:after{left:20px}.cap-switches{display:flex;flex-direction:column;gap:var(--sp-2)}.cap-item{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-sm);color:var(--text)}.cap-main{display:inline-flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-2);font-size:var(--fs-sm);color:var(--text2)}.cap-main input{width:16px;height:16px;accent-color:var(--brand)}.qr-card{width:240px;height:240px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--bg);display:flex;align-items:center;justify-content:center;overflow:hidden}.qr-card img{width:220px;height:220px;object-fit:contain;display:block;background:var(--text-inv);padding:8px;border-radius:var(--r-sm)}.qr-canvas{display:block;border-radius:var(--r-sm);background:var(--text-inv)}.qr-ready{display:flex;justify-content:center}.qr-actions{display:flex;gap:var(--sp-2);flex-wrap:wrap;justify-content:center}.text-center{text-align:center}.empty-tight{padding:var(--sp-2) 0 var(--sp-4)}.pick-card{align-items:center;text-align:center}.pick-card.on{border-color:var(--brand);background:var(--brand-soft)}.pick-card:hover{border-color:var(--brand)}.kv{display:flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-hint);color:var(--text2)}.kv svg{color:var(--text3);flex-shrink:0}[data-theme=dark]{--bg: #141519;--card: #1e2026;--card-hover: #242730;--rail-bg: #0f1014;--border: #2a2d35;--border-strong: #3a3e49;--divider: #24272e;--skeleton: #262930;--text: #f0f1f4;--text2: #a6abbd;--text3: #6d7386;--text-inv: #ffffff;--text-disabled: #4d5261;--brand: #6366f1;--brand-hover: #7c7ff5;--brand-active: #5b5eeb;--brand-soft: #262a46;--brand-soft-hover: #2e3355;--brand-solid: #5b5eeb;--brand-ink: #818cf8;--focus-ring: rgba(99, 102, 241, .28);--disabled-bg: #22252c;--disabled-fg: #4d5261;--mask: rgba(0, 0, 0, .55);--ok: #22c55e;--ok-soft: #10291c;--warn: #f59e0b;--warn-soft: #2e2413;--bad: #f87171;--bad-hover: #fa8a8a;--bad-soft: #331a1d;--bad-soft-hover: #42242a;--info: #60a5fa;--info-soft: #152238;--neutral: #a6abbd;--neutral-soft: #22252c;--score-high-fg: #f87171;--score-high-bg: #331a1d;--score-mid-fg: #f59e0b;--score-mid-bg: #2e2413;--score-low-fg: #a6abbd;--score-low-bg: #22252c;--p-douyin: #fe2c55;--p-xhs: #ff2442;--p-kuaishou: #ff8533;--chart-3: #fbbf24;--chart-4: #38bdf8;--shadow-1: 0 1px 2px rgba(0, 0, 0, .3);--shadow-2: 0 1px 2px rgba(0, 0, 0, .3), 0 4px 16px rgba(0, 0, 0, .35);--shadow-3: 0 8px 24px rgba(0, 0, 0, .5), 0 2px 6px rgba(0, 0, 0, .35);--shadow-e1: 0 1px 2px rgba(0, 0, 0, .35), 0 1px 1px rgba(0, 0, 0, .25);--shadow-e2: 0 2px 4px rgba(0, 0, 0, .35), 0 7px 18px rgba(0, 0, 0, .45);--shadow-e3: 0 10px 30px rgba(0, 0, 0, .55), 0 2px 8px rgba(0, 0, 0, .4);--edge-hi: inset 0 1px 0 rgba(255, 255, 255, .045);--skel-base: #262a32;--skel-hi: #333845;--brand-grad: linear-gradient(135deg, #6d70f2 0%, #5b5eeb 100%);--brand-halo: rgba(99, 102, 241, .16);--select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236d7386' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.v3-shell{display:flex;height:100vh;overflow:hidden}.v3-main{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}.v3-body{display:flex;flex:1;min-height:0}.v3-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:calc(var(--z-topbar) + 1);opacity:0;pointer-events:none;transition:opacity var(--dur-base) var(--ease-out)}.v3-progress:before{content:"";display:block;height:100%;width:100%;background:var(--brand-grad);transform:scaleX(0);transform-origin:left center;transition:transform var(--dur-slow) var(--ease-out)}.v3-progress.is-refreshing{opacity:1}.v3-progress.is-refreshing:before{transform:scaleX(1)}.v3-rail{width:var(--rail-w);flex-shrink:0;display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-3) var(--sp-2);background:var(--rail-bg);border-right:1px solid var(--border);overflow:hidden;transition:width var(--dur-base) var(--ease-out)}.rail-txt{white-space:nowrap;transition:opacity var(--dur-fast) var(--ease-out)}.v3-rail-brand{display:flex;align-items:center;gap:var(--sp-2);padding:0 var(--sp-2) var(--sp-1);flex-shrink:0}.v3-rail-logo{width:var(--tile-sm);height:var(--tile-sm);flex-shrink:0;border-radius:var(--r-sm);background:var(--brand-grad);color:var(--text-inv);display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--edge-hi),var(--shadow-e1)}.v3-rail-brand-text{font-size:var(--fs-hint);font-weight:var(--fw-bold);color:var(--text)}.v3-rail-group{display:flex;flex-direction:column;gap:var(--sp-1)}.v3-rail-group+.v3-rail-group{margin-top:var(--sp-1);padding-top:var(--sp-3);border-top:1px solid var(--border)}.v3-rail-group-label{font-size:var(--fs-micro);font-weight:var(--fw-semibold);color:var(--text3);letter-spacing:.04em;padding:0 var(--sp-3) var(--sp-1)}.v3-rail-item{display:flex;align-items:center;gap:var(--sp-3);width:100%;min-height:var(--ctl-md);padding:0 var(--sp-3);border-radius:var(--r-md);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text2);text-align:left;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-press) var(--ease-out)}.v3-rail-item:hover{background:var(--card);color:var(--text)}.v3-rail-item:active{transform:scale(.98)}.v3-rail-item.on{background:var(--brand-solid);color:var(--text-inv);font-weight:var(--fw-semibold);box-shadow:var(--edge-hi),0 1px 2px var(--brand-halo)}.v3-rail-icon{flex-shrink:0}.v3-rail-chat:not(.on) .v3-rail-icon{color:var(--brand-ink)}.v3-rail-foot{margin-top:auto;display:flex;flex-direction:column;padding-top:var(--sp-3);border-top:1px solid var(--border)}.v3-rail-hint{display:flex;align-items:center;gap:var(--sp-3);width:100%;min-height:var(--ctl-md);padding:0 var(--sp-3);border-radius:var(--r-md);font-size:var(--fs-hint);color:var(--text3);text-align:left;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-press) var(--ease-out)}.v3-rail-hint:hover{background:var(--card);color:var(--text2)}.v3-rail-hint:active{transform:scale(.98)}.v3-rail-hint.has{color:var(--text2)}.v3-rail-hint b{font-weight:var(--fw-bold);color:var(--brand-ink)}.v3-topbar{height:56px;flex-shrink:0;display:flex;align-items:center;gap:var(--sp-3);padding:0 var(--sp-4);background:var(--card);border-bottom:1px solid var(--border);z-index:var(--z-topbar)}.v3-hamburger{display:none}.v3-top-page{font-size:var(--fs-title);font-weight:var(--fw-semibold);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.v3-top-session{display:none;min-width:0;font-size:var(--fs-hint);font-weight:var(--fw-medium);color:var(--text3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v3-top-actions{margin-left:auto;display:flex;align-items:center;gap:var(--sp-2)}.v3-bottom-nav{display:none}.v3-bottom-nav-item{position:relative;flex:1;min-width:0;min-height:44px;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-1);font-size:var(--fs-micro);font-weight:var(--fw-medium);color:var(--text2);transition:color var(--dur-fast) var(--ease-out)}.v3-bottom-nav-item>span{white-space:nowrap}.v3-bottom-nav-item.on{color:var(--brand-ink);font-weight:var(--fw-semibold)}.v3-bottom-nav-item.on:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:20px;height:2px;border-radius:0 0 var(--r-xs) var(--r-xs);background:var(--brand-ink)}.v3-bottom-more{flex:1;min-width:0;display:flex;position:relative}.v3-bottom-more .v3-bottom-nav-item{width:100%}.v3-bottom-more-menu{position:fixed;right:var(--sp-2);bottom:calc(var(--bottom-nav-h) + var(--sp-2));z-index:var(--z-menu);min-width:132px;display:flex;flex-direction:column;gap:4px;padding:var(--sp-1);background:var(--card);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-3)}.v3-bottom-more-item{display:flex;align-items:center;gap:var(--sp-3);min-height:44px;padding:0 12px;border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text2);text-align:left;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.v3-bottom-more-item:hover{background:var(--bg);color:var(--text)}.v3-bottom-more-item.on{background:var(--brand-soft);color:var(--brand-ink);font-weight:var(--fw-semibold)}.v3-sidebar{width:var(--side-w);flex-shrink:0;display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3) var(--sp-3);background:var(--card);border-right:1px solid var(--border);min-height:0}.v3-new-session{width:100%;height:40px;border-radius:var(--r-md);background:var(--brand);color:var(--text-inv);font-size:var(--fs-body);font-weight:var(--fw-semibold);transition:background var(--dur-fast) var(--ease-out)}.v3-new-session:hover{background:var(--brand-hover)}.v3-session-list{flex:1;min-height:0;display:flex;flex-direction:column;gap:var(--sp-1);overflow-y:auto}.session-item{display:flex;align-items:center;gap:var(--sp-2);padding:12px;border-radius:var(--r-md);text-align:left;transition:background var(--dur-fast) var(--ease-out);min-width:0}.session-item:hover{background:var(--bg)}.session-item.on{background:var(--brand-soft)}.session-item.on .session-time{color:var(--brand-ink)}.session-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--sp-1);background:none;text-align:left}.session-title{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-item.on .session-title{color:var(--brand-ink)}.session-time{font-size:var(--fs-micro);color:var(--text3)}.v3-session-empty{flex:1 1 auto;min-height:132px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--sp-2);margin-top:var(--sp-2);padding:var(--sp-5) var(--sp-3);border:1px dashed var(--border-strong);border-radius:var(--r-md);background:var(--card-hover);animation:fade-in var(--dur-enter) var(--ease-out) both}.v3-session-empty-icon{width:var(--tile-lg);height:var(--tile-lg);border-radius:var(--r-pill);background:var(--brand-soft);color:var(--brand-ink);display:inline-flex;align-items:center;justify-content:center}.v3-session-empty-title{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text)}.v3-session-empty-hint{font-size:var(--fs-micro);color:var(--text3);line-height:var(--lh-body)}.session-more{width:28px;height:28px;flex-shrink:0;border-radius:var(--r-sm);display:inline-flex;align-items:center;justify-content:center;color:var(--text3);opacity:0;transition:opacity var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.session-item:hover .session-more,.session-item.on .session-more{opacity:1}.session-more:hover{background:var(--border);color:var(--text)}.session-menu{position:fixed;z-index:var(--z-menu);min-width:132px;background:var(--card);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-3);padding:var(--sp-1);display:flex;flex-direction:column;gap:4px}.session-menu button{display:flex;align-items:center;height:var(--ctl-xs);padding:0 12px;border-radius:var(--r-sm);font-size:var(--fs-sm);color:var(--text);text-align:left}.session-menu button:hover{background:var(--bg)}.session-menu button.danger{color:var(--bad)}.v3-sidebar-foot{display:flex;flex-direction:column;gap:var(--sp-2);padding-top:var(--sp-3);border-top:1px solid var(--border)}.v3-side-brand{display:flex;align-items:center;gap:var(--sp-2);padding:0 var(--sp-1) var(--sp-1)}.v3-side-brand svg{color:var(--brand)}.v3-side-brand span{font-size:var(--fs-hint);font-weight:var(--fw-bold);color:var(--text)}.v3-side-btn{display:flex;align-items:center;gap:var(--sp-3);height:var(--ctl-sm);padding:0 12px;border-radius:var(--r-md);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text2);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.v3-side-btn:hover{background:var(--bg);color:var(--text)}.v3-chat{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg);min-height:0}.chat-scroll{flex:1;min-height:0;overflow-y:auto;padding:var(--sp-6) var(--sp-5);scroll-behavior:smooth}.chat-inner{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:var(--sp-4)}.v3-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--bg)}.v3-page-body{flex:1;min-height:0;overflow-y:auto;padding:var(--sp-5) var(--sp-6) var(--sp-6);animation:page-in var(--dur-enter) var(--ease-emphasized) both}@keyframes page-in{0%{opacity:0}to{opacity:1}}@media(max-width:1100px){.chat-scroll{padding:var(--sp-5) var(--sp-4)}}@media(min-width:860px)and (max-width:1023px){.v3-shell{position:relative}.v3-rail{position:absolute;top:0;bottom:0;left:0;width:var(--rail-w-icon);z-index:var(--z-sticky)}.v3-main{margin-left:var(--rail-w-icon)}.v3-rail .rail-txt{opacity:0;pointer-events:none}.v3-rail .v3-rail-item,.v3-rail .v3-rail-hint{justify-content:center;padding:0}.v3-rail:hover,.v3-rail:focus-within{width:var(--rail-w);z-index:calc(var(--z-topbar) + 1);box-shadow:var(--shadow-2)}.v3-rail:hover .rail-txt,.v3-rail:focus-within .rail-txt{opacity:1;pointer-events:auto}.v3-rail:hover .v3-rail-item,.v3-rail:focus-within .v3-rail-item,.v3-rail:hover .v3-rail-hint,.v3-rail:focus-within .v3-rail-hint{justify-content:flex-start;padding:0 var(--sp-3)}}@media(max-width:859px){.v3-shell{padding-bottom:var(--bottom-nav-h)}.v3-rail{display:none}.v3-hamburger{display:inline-flex}.v3-top-session{display:block}.v3-sidebar{position:fixed;top:56px;bottom:var(--bottom-nav-h);left:0;width:min(var(--side-w),84vw);z-index:var(--z-modal);transform:translate(-100%);transition:transform var(--dur-slow) var(--ease-out);box-shadow:none}.v3-sidebar.open{transform:translate(0);box-shadow:var(--shadow-3)}.v3-sidebar-mask{position:fixed;top:56px;bottom:var(--bottom-nav-h);left:0;right:0;background:var(--mask);z-index:var(--z-mask)}.v3-page-body{padding:var(--sp-4) var(--sp-3) var(--sp-6)}.v3-bottom-nav{display:flex;align-items:stretch;position:fixed;left:0;right:0;bottom:0;height:var(--bottom-nav-h);background:var(--card);border-top:1px solid var(--border);z-index:var(--z-nav);padding-bottom:env(safe-area-inset-bottom)}html.has-overlay .v3-bottom-nav{display:none}.chat-scroll{padding:var(--sp-4) var(--sp-3)}.icon-btn{width:40px;height:40px}.modal{align-items:flex-end;padding:0}.modal-box{width:100%;border-radius:var(--r-xl) var(--r-xl) 0 0;max-height:88vh;animation:sheet-in var(--dur-slow) var(--ease-out)}@keyframes sheet-in{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.drawer-panel{width:100%}.drawer-foot{position:sticky;bottom:0;padding-bottom:max(16px,env(safe-area-inset-bottom));background:var(--card)}.modal-body{padding-bottom:max(20px,env(safe-area-inset-bottom))}}.msg-row{display:flex;flex-direction:column;animation:msg-in var(--dur-base) var(--ease-out)}@keyframes msg-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.msg-user{align-self:flex-end;max-width:72%;background:var(--brand);color:var(--text-inv);padding:12px 16px;border-radius:var(--r-lg);border-bottom-right-radius:4px;font-size:var(--fs-body);line-height:var(--lh-body);white-space:pre-wrap;word-break:break-word}.msg-user-time{align-self:flex-end;font-size:var(--fs-micro);color:var(--text3);margin-top:var(--sp-1)}.msg-reply{align-self:flex-start;max-width:var(--chat-max);background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1);padding:16px;width:fit-content;min-width:0}.msg-reply-time{align-self:flex-start;font-size:var(--fs-micro);color:var(--text3);margin-top:var(--sp-1)}.card-fade{animation:card-fade var(--dur-slow) var(--ease-out)}@keyframes card-fade{0%{opacity:0}to{opacity:1}}.rc-title{font-size:var(--fs-title);font-weight:var(--fw-bold);margin-bottom:var(--sp-2)}.rc-text{font-size:var(--fs-body);line-height:var(--lh-loose);color:var(--text);white-space:pre-wrap;word-break:break-word}.rc-sub{font-size:var(--fs-hint);color:var(--text2);margin-top:8px}.rc-action-row{display:flex;gap:var(--sp-2);margin-top:var(--sp-3);flex-wrap:wrap}.rc-hint{font-size:var(--fs-hint);color:var(--text3);margin-top:var(--sp-2)}.rc-number-value{font-size:var(--fs-num);font-weight:var(--fw-bold);letter-spacing:-.5px;line-height:1.2;margin:var(--sp-1) 0}.rc-metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:var(--sp-1) 0 12px}.rc-metric{background:var(--bg);border-radius:var(--r-md);padding:12px;display:flex;flex-direction:column;gap:4px}.rc-metric b{font-size:var(--fs-page);font-weight:var(--fw-bold);line-height:1.2}.rc-metric span{font-size:var(--fs-hint);color:var(--text2)}.rc-conclusion{font-size:var(--fs-sm);color:var(--text2);border-top:1px solid var(--border);padding-top:12px;margin-top:4px;line-height:var(--lh-body)}.rc-lead{border:1px solid var(--border);border-radius:var(--r-md);padding:12px;display:flex;flex-direction:column;gap:8px;margin-top:var(--sp-2)}.rc-lead-meta{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.rc-lead-nick{font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.rc-lead-comment{font-size:var(--fs-sm);color:var(--text2);line-height:var(--lh-body);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rc-lead-actions{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.rc-lead-copy{height:var(--ctl-xs);padding:0 12px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--card);font-size:var(--fs-micro);font-weight:var(--fw-semibold);color:var(--text2);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out);white-space:nowrap}.rc-lead-copy:hover{background:var(--bg);color:var(--text)}.rc-lead-copy.copied{background:var(--ok-soft);border-color:transparent;color:var(--ok)}.rc-lead-copy.tone-brand{color:var(--brand)}.rc-lead-copy.tone-bad{color:var(--bad)}.rc-card{min-width:260px;max-width:100%}.rc-card-tight{min-width:260px}.rc-card-sm{min-width:240px}.rc-min-0{min-width:0}.rc-inline-link{text-decoration:none;display:inline-flex;align-items:center;gap:var(--sp-1)}.rc-conclusion.flat{border-top:none;padding-top:0;margin-top:0;margin-bottom:8px}.rc-lead-status{height:var(--ctl-xs);padding:0 12px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--card);color:var(--text);font-size:var(--fs-micro)}.rc-task{border:1px solid var(--border);border-radius:var(--r-md);padding:12px;display:flex;flex-direction:column;gap:8px;margin-top:var(--sp-2)}.rc-task-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.rc-task-name{font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.rc-task-sub{font-size:var(--fs-micro);color:var(--text3)}.rc-select-opt{border:1px solid var(--border);border-radius:var(--r-md);padding:12px;display:flex;align-items:center;gap:12px;margin-top:var(--sp-2)}.rc-select-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.rc-select-label{font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.rc-select-desc{font-size:var(--fs-micro);color:var(--text3)}.rc-help-group{margin-top:12px}.rc-help-group-title{font-size:var(--fs-micro);font-weight:var(--fw-bold);color:var(--text3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.rc-help-item{display:block;width:100%;text-align:left;padding:var(--sp-2) 12px;border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--text2);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.rc-help-item:hover{background:var(--bg);color:var(--text)}.rc-help-item b{color:var(--text);font-weight:var(--fw-semibold);display:block}.rc-script{background:var(--bg);border-radius:var(--r-md);padding:12px;margin-top:var(--sp-2);font-size:var(--fs-sm);line-height:var(--lh-loose);color:var(--text);white-space:pre-wrap;word-break:break-word;display:flex;flex-direction:column;gap:var(--sp-2)}.rc-script-actions{display:flex;justify-content:flex-end}.rc-result{display:flex;align-items:flex-start;gap:12px}.rc-result.ok{color:var(--ok)}.rc-result.bad{color:var(--bad)}.rc-result-text{font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--text);line-height:var(--lh-body)}.rc-result-detail{font-size:var(--fs-hint);color:var(--text2);margin-top:var(--sp-1);line-height:var(--lh-body);white-space:pre-wrap;word-break:break-word}.tool-block{align-self:flex-start;max-width:var(--chat-max);border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);overflow:hidden}.tool-row{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) 12px;font-size:var(--fs-hint);color:var(--text2);width:100%;text-align:left}.tool-row:hover{background:var(--border)}.tool-row .tool-method{font-weight:var(--fw-bold);color:var(--text2);font-size:var(--fs-micro)}.tool-row .tool-path{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--fs-micro);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.tool-row .tool-summary{color:var(--text3);font-size:var(--fs-micro);white-space:nowrap}.tool-row .tool-status{white-space:nowrap;font-size:var(--fs-micro);display:inline-flex;align-items:center;gap:var(--sp-1)}.tool-row .tool-status.running{color:var(--brand)}.tool-row .tool-status.done{color:var(--ok)}.tool-row .tool-status.error{color:var(--bad)}.tool-detail{border-top:1px solid var(--border);padding:12px;display:flex;flex-direction:column;gap:var(--sp-2);animation:tool-open var(--dur-base) var(--ease-out)}@keyframes tool-open{0%{opacity:0}to{opacity:1}}.tool-detail-title{font-size:var(--fs-micro);font-weight:var(--fw-bold);color:var(--text3)}.tool-kv{display:flex;gap:8px;font-size:var(--fs-micro);line-height:var(--lh-body);word-break:break-all}.tool-kv b{color:var(--text2);font-weight:var(--fw-semibold);flex-shrink:0}.tool-kv span{color:var(--text3);min-width:0}.confirm-card{align-self:flex-start;max-width:var(--chat-max);border:1px solid var(--warn);border-radius:var(--r-lg);background:var(--card);padding:16px;display:flex;flex-direction:column;gap:12px}.confirm-card.danger{border-color:var(--bad)}.confirm-title{display:flex;align-items:flex-start;gap:var(--sp-2);font-size:var(--fs-body);font-weight:var(--fw-bold);line-height:var(--lh-body)}.confirm-card.danger .confirm-title{color:var(--bad)}.confirm-card.warn .confirm-title{color:var(--warn)}.confirm-consequence{font-size:var(--fs-hint);color:var(--text2);line-height:var(--lh-body)}.confirm-actions{display:flex;gap:12px;flex-wrap:wrap}.confirm-card .btn{height:var(--ctl-sm);padding:0 20px}.confirm-card .btn-danger{background:var(--bad);color:var(--text-inv)}.confirm-card.cancelled{border-color:var(--border);opacity:.7}.confirm-card.cancelled.opaque{opacity:1}.confirm-cancelled-text{font-size:var(--fs-sm);color:var(--text3)}.confirm-done-text{display:flex;align-items:center;gap:8px;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--ok)}.confirm-failed-text{display:flex;align-items:center;gap:8px;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--bad)}.chat-input-wrap{flex-shrink:0;padding:var(--sp-3) var(--sp-5) var(--sp-4);background:var(--bg)}.chat-input-box{max-width:860px;margin:0 auto;display:flex;align-items:flex-end;gap:12px;background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:12px 12px 12px 16px;box-shadow:var(--shadow-1);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.chat-input-box:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--focus-ring)}.chat-input{flex:1;min-width:0;border:none;outline:none;resize:none;background:transparent;color:var(--text);font-family:var(--font);font-size:var(--fs-body);line-height:var(--lh-body);max-height:160px;padding:8px 0}.chat-input::placeholder{color:var(--text3)}.chat-send{width:40px;height:40px;flex-shrink:0;border-radius:var(--r-md);background:var(--brand);color:var(--text-inv);display:inline-flex;align-items:center;justify-content:center;transition:background var(--dur-fast) var(--ease-out)}.chat-send:hover:not(:disabled){background:var(--brand-hover)}.chat-send:disabled{background:var(--disabled-bg);color:var(--disabled-fg);cursor:not-allowed}.typing-row{align-self:flex-start;display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-hint);color:var(--text3)}.typing-dots{display:inline-flex;gap:var(--sp-1)}.typing-dots i{width:8px;height:8px;border-radius:50%;background:var(--text3);animation:typing 1.2s var(--ease-in-out) infinite}.typing-dots i:nth-child(2){animation-delay:.2s}.typing-dots i:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}.tpl-page{min-height:100%;display:flex;flex-direction:column;justify-content:center;justify-content:safe center;gap:var(--sp-4);max-width:720px;margin:0 auto;padding:var(--sp-4) 0}.tpl-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp-2);padding-bottom:var(--sp-4)}.tpl-hero-title{font-size:var(--fs-hero);font-weight:var(--fw-bold)}.tpl-hero-sub{font-size:var(--fs-body);color:var(--text2)}.tpl-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}.tpl-card{min-height:96px;display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-4);text-align:left;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.tpl-card:hover{border-color:var(--brand);background:var(--card-hover)}.tpl-icon{width:var(--tile-lg);height:var(--tile-lg);border-radius:var(--r-md);background:var(--brand-soft);color:var(--brand-ink);display:flex;align-items:center;justify-content:center}.tpl-name{font-size:var(--fs-title);font-weight:var(--fw-bold)}.tpl-desc{font-size:var(--fs-hint);color:var(--text2);line-height:var(--lh-body)}.tpl-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--card);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--edge-hi),var(--shadow-e1)}@media(max-width:560px){.tpl-steps{grid-template-columns:1fr}}.tpl-step{display:flex;align-items:center;gap:var(--sp-2);min-width:0}.tpl-step-n{flex-shrink:0;width:var(--ico-xl);height:var(--ico-xl);border-radius:var(--r-pill);background:var(--brand-soft);color:var(--brand-ink);font-size:var(--fs-micro);font-weight:var(--fw-bold);display:inline-flex;align-items:center;justify-content:center}.tpl-step-t{font-size:var(--fs-hint);color:var(--text2);line-height:var(--lh-body)}.tpl-recent{display:flex;flex-direction:column;gap:var(--sp-2)}.tpl-recent-head{display:flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-micro);font-weight:var(--fw-semibold);color:var(--text3)}.tpl-recent-row{display:flex;gap:var(--sp-2);overflow-x:auto;scrollbar-width:none}.tpl-recent-row::-webkit-scrollbar{display:none}.tpl-recent-item{flex-shrink:0;max-width:220px;display:inline-flex;align-items:center;gap:var(--sp-2);height:var(--ctl-sm);padding:0 var(--sp-3);border:1px solid var(--border);border-radius:var(--r-pill);background:var(--card);color:var(--text2);font-size:var(--fs-hint);transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.tpl-recent-item:hover{border-color:var(--brand);color:var(--text);background:var(--card-hover)}.tpl-recent-item>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tpl-recent-time{flex-shrink:0;color:var(--text3);font-size:var(--fs-micro)}.tpl-foot{display:flex;justify-content:center;padding-top:var(--sp-1)}@media(max-width:1100px){.tpl-page{gap:var(--sp-3);padding:var(--sp-2) 0}.tpl-hero{gap:var(--sp-1);padding-bottom:var(--sp-2)}.tpl-brand{width:48px;height:48px;margin-bottom:var(--sp-1);border-radius:var(--r-lg)}.tpl-hero-title{font-size:var(--fs-xl)}.tpl-hero-sub{font-size:var(--fs-hint)}.tpl-grid{gap:var(--sp-2)}.tpl-card{min-height:0;padding:var(--sp-3);gap:var(--sp-1)}.tpl-icon{width:var(--tile-sm);height:var(--tile-sm)}.tpl-name{font-size:var(--fs-sm)}.tpl-desc{font-size:var(--fs-micro);line-height:var(--lh-tight)}.tpl-steps{padding:var(--sp-2) var(--sp-3);gap:var(--sp-2)}.tpl-foot{padding-top:0}.tpl-step-t{font-size:var(--fs-micro)}}@media(max-width:560px){.tpl-page{gap:var(--sp-2);padding:var(--sp-1) 0}.tpl-brand{width:44px;height:44px}.tpl-hero-title{font-size:var(--fs-lg)}.tpl-card{padding:var(--sp-2)}.tpl-steps{grid-template-columns:1fr;padding:var(--sp-2)}}.reach-list{display:flex;flex-direction:column;gap:var(--sp-3)}.reach-item{display:flex;flex-direction:column;gap:var(--sp-2);padding:16px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--card)}.reach-item-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.reach-nick{font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--text)}.reach-time{font-size:var(--fs-hint);color:var(--text3);margin-left:auto;white-space:nowrap}.reach-status{display:inline-flex;align-items:center;height:24px;padding:0 12px;border-radius:var(--r-pill);font-size:var(--fs-micro);font-weight:var(--fw-bold);white-space:nowrap;background:var(--neutral-soft);color:var(--neutral)}.reach-status.tone-warn{background:var(--warn-soft);color:var(--warn)}.reach-status.tone-brand{background:var(--brand-soft);color:var(--brand-ink)}.reach-status.tone-ok{background:var(--ok-soft);color:var(--ok)}.reach-status.tone-bad{background:var(--bad-soft);color:var(--bad)}.reach-status.tone-off{background:var(--neutral-soft);color:var(--text2)}.reach-comment{font-size:var(--fs-body);color:var(--text2);line-height:var(--lh-body);word-break:break-word}.reach-script{background:var(--bg);border-radius:var(--r-md);padding:12px;font-size:var(--fs-body);line-height:var(--lh-loose);color:var(--text);white-space:pre-wrap;word-break:break-word}.reach-item-actions{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.reach-edit{display:flex;flex-direction:column;gap:12px}.reach-slice2{display:flex;align-items:center;gap:8px;font-size:var(--fs-hint);color:var(--warn);background:var(--warn-soft);border-radius:var(--r-md);padding:var(--sp-2) 12px;line-height:1.5}.reach-slice2 svg{flex-shrink:0}.reach-empty-sm{padding:20px;border-radius:var(--r-md);background:var(--bg);color:var(--text2);font-size:var(--fs-sm);line-height:var(--lh-loose);text-align:center}.reach-log{display:flex;flex-direction:column;gap:8px;padding:12px 16px;border:1px solid var(--border);border-radius:var(--r-md)}.reach-log-meta{font-size:var(--fs-hint);color:var(--text3)}.reach-confirm{border:1px solid var(--warn);border-radius:var(--r-lg);background:var(--card);padding:var(--sp-4);margin-bottom:var(--sp-4)}.reach-confirm-title{font-size:var(--fs-title);font-weight:var(--fw-bold);color:var(--warn);margin-bottom:var(--sp-2)}.reach-confirm-body{display:flex;flex-direction:column;gap:8px;font-size:var(--fs-body);color:var(--text);line-height:var(--lh-loose)}.reach-confirm-body b{font-weight:var(--fw-bold)}.reach-legend{display:flex;gap:var(--sp-4);margin-bottom:12px;flex-wrap:wrap}.reach-legend-item{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-hint);color:var(--text2)}.reach-dot{width:12px;height:12px;border-radius:var(--r-xs);display:inline-block}.reach-dot.brand{background:var(--chart-1)}.reach-dot.ok{background:var(--chart-2)}.reach-trend{display:flex;align-items:flex-end;gap:12px;height:160px}.reach-trend-col{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px}.reach-trend-num{font-size:var(--fs-hint);font-weight:var(--fw-bold);color:var(--text)}.reach-trend-bars{display:flex;align-items:flex-end;gap:var(--sp-1)}.reach-trend-bar{width:16px;border-radius:var(--r-xs);display:block}.reach-trend-bar.brand{background:var(--chart-1)}.reach-trend-bar.ok{background:var(--chart-2)}.reach-trend-bar.zero{background:var(--chart-zero)}.reach-trend-date{font-size:var(--fs-micro);color:var(--text3);white-space:nowrap}.reach-dist{display:flex;flex-direction:column;gap:12px}.reach-dist-row{display:flex;align-items:center;gap:12px}.reach-dist-label{width:72px;flex-shrink:0;font-size:var(--fs-hint);color:var(--text2)}.reach-dist-track{flex:1;height:12px;border-radius:var(--r-pill);background:var(--bg);overflow:hidden}.reach-dist-track i{display:block;height:100%;border-radius:var(--r-pill);background:var(--chart-1)}.reach-dist-track.tone-ok i{background:var(--chart-2)}.reach-dist-track.tone-warn i{background:var(--warn)}.reach-dist-track.tone-bad i{background:var(--bad)}.reach-dist-track.tone-off i{background:var(--text3)}.reach-dist-num{width:32px;text-align:right;font-size:var(--fs-hint);font-weight:var(--fw-bold);color:var(--text)}.contact-list{display:flex;flex-direction:column;gap:var(--sp-3)}.contact-card{display:flex;flex-direction:column;gap:var(--sp-2);cursor:pointer;padding:var(--sp-4);transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.contact-card:hover{border-color:var(--brand);background:var(--card-hover)}.contact-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.contact-name{font-size:var(--fs-title);font-weight:var(--fw-semibold);color:var(--text)}.contact-meta{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.contact-kv{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-hint);color:var(--text2)}.contact-kv svg{flex-shrink:0;color:var(--text3)}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3) var(--sp-4)}@media(max-width:560px){.contact-fields{grid-template-columns:1fr}}.contact-field{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}.contact-field>span{font-size:var(--fs-hint);color:var(--text3)}.contact-field>b{font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--text);display:inline-flex;align-items:center;flex-wrap:wrap;word-break:break-word}.contact-field.span-2{grid-column:span 2}@media(max-width:560px){.contact-field.span-2{grid-column:span 1}}.timeline{display:flex;flex-direction:column;gap:0}.timeline-item{display:flex;gap:var(--sp-3);padding-bottom:var(--sp-4);position:relative}.timeline-item:not(:last-child):before{content:"";position:absolute;left:4px;top:16px;bottom:0;width:1px;background:var(--divider)}.timeline-dot{width:8px;height:8px;border-radius:50%;background:var(--brand);flex-shrink:0;margin-top:8px}.timeline-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--sp-1)}.timeline-head{display:flex;align-items:center;gap:12px}.timeline-type{display:inline-flex;align-items:center;height:var(--ctl-2xs);padding:0 12px;border-radius:var(--r-pill);background:var(--brand-soft);color:var(--brand-ink);font-size:var(--fs-micro);font-weight:var(--fw-bold)}.timeline-head .reach-time{margin-left:auto}.timeline-content{font-size:var(--fs-body);color:var(--text);line-height:var(--lh-loose);white-space:pre-wrap;word-break:break-word}.timeline-next{font-size:var(--fs-hint);color:var(--warn)}.lead-check-hit{width:40px;height:40px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;margin:-8px 0 -8px -8px;cursor:pointer}.lead-check{width:20px;height:20px;accent-color:var(--brand);cursor:pointer;margin:0}.batch-bar{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;padding:var(--sp-3) 16px;margin-bottom:var(--sp-4);border:1px solid var(--brand);border-radius:var(--r-md);background:var(--brand-soft)}.batch-count{font-size:var(--fs-body);font-weight:var(--fw-bold);color:var(--brand)}.batch-hint{font-size:var(--fs-hint);color:var(--text2);width:100%}@media(max-width:859px){.batch-bar{position:sticky;bottom:0;z-index:var(--z-sticky)}}.reach-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:var(--sp-4);margin-bottom:var(--sp-4)}.reach-head-actions{display:flex;align-items:center;gap:var(--sp-2);margin-left:auto}.reach-note{display:flex;align-items:flex-start;gap:8px;font-size:var(--fs-hint);line-height:var(--lh-body);border-radius:var(--r-md);padding:var(--sp-2) 12px}.reach-note svg{flex-shrink:0;margin-top:0}.reach-note.bad{background:var(--bad-soft);color:var(--bad)}.reach-note.off{background:var(--bg);color:var(--text2)}.reach-subtle{font-size:var(--fs-hint);color:var(--text3)}.reach-log.bad{border-color:var(--bad)}.reach-log-grid{display:grid;grid-template-columns:64px 1fr;gap:var(--sp-1) 12px;font-size:var(--fs-body);line-height:var(--lh-body)}.reach-log-key{font-size:var(--fs-hint);color:var(--text3)}.reach-log-val{color:var(--text);word-break:break-word}.reach-confirm-actions{margin-top:var(--sp-3)}@media(max-width:560px){.reach-stats{grid-template-columns:repeat(2,1fr)}.reach-log-grid{grid-template-columns:1fr;gap:4px}.reach-log-key{margin-top:8px}}.pressable{transition:transform var(--dur-press) var(--ease-out)}.pressable:active:not(:disabled){transform:scale(.96)}.pressable-sm:active:not(:disabled){transform:scale(.97)}.press-strong:active:not(:disabled){transform:scale(.92)}.app-head{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;padding-bottom:var(--sp-3);margin-bottom:var(--sp-4);border-bottom:1px solid var(--divider)}.app-head-icon{width:var(--tile-md);height:var(--tile-md);flex-shrink:0;border-radius:var(--r-md);background:var(--brand-soft);color:var(--brand-ink);display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--edge-hi)}.app-head-icon.tone-ok{background:var(--ok-soft);color:var(--ok)}.app-head-icon.tone-warn{background:var(--warn-soft);color:var(--warn)}.app-head-icon.tone-info{background:var(--info-soft);color:var(--info)}.app-head-main{min-width:0;flex:1 1 auto;display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.app-head-sub{font-size:var(--fs-hint);color:var(--text2);line-height:var(--lh-body)}.app-head-actions{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin-left:auto}.card-head{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4)}.card-head-icon{width:var(--tile-sm);height:var(--tile-sm);flex-shrink:0;border-radius:var(--r-sm);background:var(--brand-soft);color:var(--brand-ink);display:inline-flex;align-items:center;justify-content:center}.card-head-icon.tone-ok{background:var(--ok-soft);color:var(--ok)}.card-head-icon.tone-warn{background:var(--warn-soft);color:var(--warn)}.card-head-icon.tone-info{background:var(--info-soft);color:var(--info)}.card-head-main{min-width:0;display:flex;flex-direction:column;gap:4px}.card-head-title{font-size:var(--fs-title);font-weight:var(--fw-semibold);color:var(--text);line-height:var(--lh-tight)}.card-head-desc{font-size:var(--fs-hint);color:var(--text3);line-height:var(--lh-body)}.card-head-actions{margin-left:auto;display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.sk{display:block;border-radius:var(--r-sm);background:linear-gradient(90deg,var(--skel-base) 25%,var(--skel-hi) 37%,var(--skel-base) 63%);background-size:400% 100%;animation:sk-shimmer 1.4s linear infinite}@keyframes sk-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.sk-text{height:12px;border-radius:var(--r-xs)}.sk-title{height:16px;border-radius:var(--r-xs)}.sk-line{height:12px;border-radius:var(--r-xs)}.sk-circle{border-radius:50%}.sk-tile{border-radius:var(--r-md)}.sk-badge{height:var(--ctl-2xs);width:64px;border-radius:var(--r-pill)}.sk-btn{height:var(--ctl-sm);width:88px;border-radius:var(--r-md)}.sk-btn-sm{height:var(--ctl-xs);width:64px;border-radius:var(--r-md)}.sk-w-30{width:30%}.sk-w-40{width:40%}.sk-w-50{width:50%}.sk-w-60{width:60%}.sk-w-70{width:70%}.sk-w-80{width:80%}.sk-w-full{width:100%}.sk-stat-card{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4)}.sk-stat-card .sk-tile{width:32px;height:32px}.sk-stat-card .sk-num{height:var(--ctl-2xs);width:56px;border-radius:var(--r-xs)}.sk-stat-card .sk-lbl{height:12px;width:72px;border-radius:var(--r-xs)}.sk-chart{display:flex;align-items:flex-end;gap:12px;height:140px;padding-top:var(--sp-2)}.sk-chart-col{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:var(--sp-2)}.sk-chart-bar{width:100%;max-width:44px;border-radius:var(--r-sm)}.sk-field{display:flex;flex-direction:column;gap:var(--sp-2)}.sk-field .sk-input{height:44px;border-radius:var(--r-md)}.sk-stack{display:flex;flex-direction:column;gap:var(--sp-3)}.loading-hint{display:inline-flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-3);font-size:var(--fs-hint);color:var(--text3);animation:fade-in var(--dur-enter) var(--ease-out) both}.stagger>*{animation:enter-up var(--dur-enter) var(--ease-emphasized) backwards;animation-delay:calc(var(--i, 0) * 40ms)}@keyframes enter-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.collapse-item{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:1fr;transition:grid-template-rows var(--dur-leave) var(--ease-exit),opacity var(--dur-leave) var(--ease-exit)}.collapse-item>*{min-height:0}.collapse-item.is-leaving{grid-template-rows:0fr;opacity:0}.collapse-item.is-leaving>*{overflow:hidden}.drawer.closing{pointer-events:none}.drawer.closing .drawer-panel{animation:slide-out var(--dur-leave) var(--ease-exit) both}.drawer.closing .drawer-mask{animation:fade-out var(--dur-leave) var(--ease-exit) both}@keyframes slide-out{0%{transform:translate(0);opacity:1}to{transform:translate(24px);opacity:0}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}.modal.closing{pointer-events:none}.modal.closing .modal-box{animation:pop-out var(--dur-leave) var(--ease-exit) both}.modal.closing .modal-mask{animation:fade-out var(--dur-leave) var(--ease-exit) both}@keyframes pop-out{0%{transform:scale(1);opacity:1}to{transform:scale(.97);opacity:0}}.drawer-mask,.modal-mask{animation:fade-in var(--dur-enter) var(--ease-out) both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.fade-in{animation:fade-in var(--dur-base) var(--ease-out) both}.btn.is-success,.icon-btn.is-success,.rc-lead-copy.is-success{background:var(--ok-soft);border-color:transparent;color:var(--ok);animation:success-pop var(--dur-enter) var(--ease-out)}@keyframes success-pop{0%{transform:scale(.96)}55%{transform:scale(1.03)}to{transform:scale(1)}}.btn.is-loading{cursor:progress}.btn.is-loading .spin{flex-shrink:0}.pulse-once{animation:pulse-once var(--dur-pulse) var(--ease-out)}@keyframes pulse-once{0%{box-shadow:0 0 0 0 var(--focus-ring)}35%{box-shadow:0 0 0 4px var(--focus-ring)}to{box-shadow:0 0 0 8px transparent}}.count-up{font-variant-numeric:tabular-nums}.toast{animation:toast-in var(--dur-enter) var(--ease-emphasized) both}.toast.closing{animation:toast-out var(--dur-leave) var(--ease-exit) both}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(12px) scale(.96)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes toast-out{0%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}to{opacity:0;transform:translate(-50%) translateY(8px) scale(.98)}}.app-scroll{scrollbar-width:thin}.btn{transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-press) var(--ease-out)}.btn:active:not(:disabled){transform:scale(.96)}.btn-primary{box-shadow:var(--edge-hi),var(--shadow-e1)}.icon-btn{transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-press) var(--ease-out)}.icon-btn:active:not(:disabled){transform:scale(.92)}.pill{transition:color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-press) var(--ease-out)}.pill:active:not(:disabled){transform:scale(.96)}.chip{transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-press) var(--ease-out)}.chip:active:not(:disabled){transform:scale(.96)}.tab{transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),transform var(--dur-press) var(--ease-out)}.tab:active:not(:disabled){transform:scale(.97)}.v3-bottom-nav-item{transition:color var(--dur-fast) var(--ease-out),transform var(--dur-press) var(--ease-out)}.v3-bottom-nav-item:active{transform:scale(.92)}.pager button{transition:border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),transform var(--dur-press) var(--ease-out)}.pager button:active:not(:disabled){transform:scale(.95)}.more-menu button,.session-menu button,.v3-bottom-more-item{transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-press) var(--ease-out)}.more-menu button:active:not(:disabled),.session-menu button:active,.v3-bottom-more-item:active{transform:scale(.98)}.session-item{transition:background var(--dur-fast) var(--ease-out),transform var(--dur-press) var(--ease-out)}.session-item:active{transform:scale(.99)}.contact-card,.quick-card,.hl-card,.tpl-card{transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),transform var(--dur-press) var(--ease-out)}.contact-card:hover,.quick-card:hover,.hl-card:hover,.tpl-card:hover{box-shadow:var(--edge-hi),var(--shadow-e2)}.contact-card:active,.quick-card:active,.tpl-card:active{transform:scale(.995)}.empty-sm .empty-icon{border-radius:var(--r-md);box-shadow:var(--edge-hi),0 0 0 6px var(--brand-halo);animation:none}.v3-page-body .app-head{gap:var(--sp-2) var(--sp-3)}.v3-page-body .app-head-actions{gap:var(--sp-2)}@media(max-width:640px){.v3-page-body .app-head-actions{flex:1 1 100%;margin-left:0}}.app-card{box-shadow:var(--edge-hi),var(--shadow-e1);transition:box-shadow var(--dur-base) var(--ease-out)}.tpl-brand{width:64px;height:64px;margin-bottom:var(--sp-3);border-radius:var(--r-xl);background:var(--brand-grad);color:var(--text-inv);display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-e2),0 0 0 8px var(--brand-halo);animation:empty-pop var(--dur-slow) var(--ease-emphasized) both}.save-bar{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.v3-page-body,.drawer-body,.chat-scroll{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}@media(min-width:1100px){.v3-page-body>.lead-list,.v3-page-body>.contact-list,.v3-page-body>.account-list,.v3-page-body>.stack.stagger{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:var(--sp-4);align-items:start}.v3-page-body .quick-grid.single{grid-template-columns:repeat(3,1fr)}.v3-page-body .reach-log-grid{grid-template-columns:88px 1fr}}.kernel-bar{display:flex;flex-direction:column;gap:var(--sp-2)}.kernel-bar-top{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.kernel-bar-desc{line-height:var(--lh-body)}.seg{display:inline-flex;padding:2px;gap:2px;border-radius:var(--r-md);background:var(--neutral-soft);border:1px solid var(--border)}.seg-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--text2);font:inherit;font-size:var(--fs-sm);line-height:var(--lh-tight);padding:5px 12px;border-radius:calc(var(--r-md) - 2px);cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease}.seg-btn:hover:not(:disabled){background:var(--brand-soft);color:var(--brand-ink)}.seg-btn.on{background:var(--brand-solid);color:var(--text-inv);font-weight:var(--fw-semibold)}.seg-btn.on:hover{background:var(--brand-hover);color:var(--text-inv)}.seg-btn:disabled{opacity:.55;cursor:not-allowed}.kernel-bar .notice{align-items:center}.kernel-bar .notice .btn{margin-left:auto;flex:none}.cfm-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);background:color-mix(in srgb,var(--mask) 45%,transparent);animation:fade-in var(--dur-enter) var(--ease-out) both}.cfm-scrim.closing{animation:fade-out var(--dur-leave) var(--ease-exit) both}.cfm-pop{position:fixed;z-index:calc(var(--z-modal) + 1);background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--edge-hi),var(--shadow-3);padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2);visibility:hidden;animation:cfm-pop-in var(--dur-enter) var(--ease-emphasized) both}.cfm-pop.ready{visibility:visible}.cfm-pop.closing{animation:pop-out var(--dur-leave) var(--ease-exit) both;pointer-events:none}.cfm-arrow{position:absolute;width:10px;height:10px;background:var(--card);border:1px solid var(--border);transform:rotate(45deg)}.cfm-arrow-bottom{top:-6px;left:18px;border-right:0;border-bottom:0}.cfm-arrow-top{bottom:-6px;left:18px;border-left:0;border-top:0}.cfm-title{font-size:var(--fs-sm);font-weight:var(--fw-semibold);line-height:var(--lh-tight)}.cfm-body{font-size:var(--fs-hint);color:var(--text2);line-height:var(--lh-body)}.cfm-foot{display:flex;justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-1)}@keyframes cfm-pop-in{0%{opacity:0;transform:scale(.96) translateY(-2px)}to{opacity:1;transform:none}}@media(max-width:640px){.cfm-pop{left:12px!important;right:12px;top:auto!important;bottom:12px;width:auto!important}.cfm-arrow{display:none}}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--sp-6);background:var(--bg)}.login-card{width:100%;max-width:380px;background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--edge-hi),var(--shadow-3);padding:var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-4);animation:cfm-pop-in var(--dur-enter) var(--ease-emphasized) both}.login-card-loading{flex-direction:row;align-items:center;justify-content:center;gap:var(--sp-3);color:var(--text3)}.login-brand{display:flex;align-items:center;gap:var(--sp-3)}.login-brand-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex:none;border-radius:var(--r-md);background:var(--brand-soft);color:var(--brand-ink)}.login-brand-title{font-size:var(--fs-lg);font-weight:var(--fw-bold);line-height:var(--lh-tight)}.login-brand-sub{font-size:var(--fs-hint);color:var(--text3);margin-top:2px}.login-field{display:flex;flex-direction:column;gap:6px}.login-label{font-size:var(--fs-hint);color:var(--text2);font-weight:var(--fw-medium)}.login-input-wrap{position:relative;display:block}.login-input{width:100%;padding-left:36px!important;padding-right:38px!important}.login-input-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text3);pointer-events:none}.login-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--text3);cursor:pointer;padding:6px;border-radius:var(--r-sm);display:inline-flex;align-items:center}.login-eye:hover{color:var(--text);background:var(--neutral-soft)}.login-err{display:flex;align-items:flex-start;gap:var(--sp-2);padding:10px 12px;border-radius:var(--r-md);background:var(--bad-soft);color:var(--bad);font-size:var(--fs-hint);line-height:var(--lh-body)}.login-err svg{flex:none;margin-top:2px}.login-submit{width:100%;justify-content:center}.login-foot{font-size:var(--fs-micro);color:var(--text3);text-align:center;line-height:var(--lh-body)}.login-pw-grid{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:var(--sp-2);align-items:center}@media(max-width:900px){.login-pw-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.login-pw-grid{grid-template-columns:1fr}}.filter-lead{flex:none;align-self:center}.lead-day-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:0;font:inherit;color:inherit;cursor:pointer;border-bottom:1px dashed var(--border-strong);transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.lead-day-btn:hover{color:var(--brand-ink);border-bottom-color:var(--brand-ink)}
