:root{--bg: #FAFAF7;--surface: #FFFFFF;--surface-2: #F5F4EE;--surface-3: #EFEEE7;--line: #ECECE6;--line-2: #E0E0D8;--line-strong: #C9C9C0;--ink: #0E0E10;--ink-2: #3A3A40;--ink-3: #76767E;--ink-4: #A2A2A8;--accent: oklch(.55 .18 250);--accent-soft: oklch(.95 .04 250);--accent-ink: oklch(.42 .18 250);--ok: oklch(.58 .14 150);--ok-soft: oklch(.95 .05 150);--warn: oklch(.66 .16 70);--warn-soft: oklch(.96 .06 80);--err: oklch(.58 .2 25);--err-soft: oklch(.95 .05 25);--n-userbots: oklch(.62 .1 50);--n-sources: oklch(.58 .1 220);--n-parser: oklch(.58 .1 165);--n-posts: oklch(.62 .1 95);--n-copywriter: oklch(.55 .1 290);--n-rewrites: oklch(.58 .1 350);--n-publishing: oklch(.58 .1 25);--r-1: 4px;--r-2: 6px;--r-3: 10px;--r-4: 14px;--shadow-1: 0 1px 0 rgba(14, 14, 16, .04);--shadow-2: 0 1px 2px rgba(14, 14, 16, .06), 0 0 0 1px rgba(14, 14, 16, .04);--shadow-pop: 0 12px 32px -8px rgba(14, 14, 16, .18), 0 0 0 1px rgba(14, 14, 16, .06);font-family:Inter Tight,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-feature-settings:"cv11","ss01","ss03";color-scheme:light;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.45;letter-spacing:-.005em}button{font-family:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.mono{font-family:JetBrains Mono,ui-monospace,monospace;font-feature-settings:"tnum"}.tnum{font-variant-numeric:tabular-nums}.muted{color:var(--ink-3)}.shell{display:grid;grid-template-rows:52px 1fr;grid-template-columns:220px 1fr;height:100vh;background:var(--bg);transition:grid-template-columns .22s cubic-bezier(.2,.7,.2,1)}.shell.is-sidebar-collapsed{grid-template-columns:52px 1fr}.shell.is-sidebar-collapsed .side-section,.shell.is-sidebar-collapsed .nav-label,.shell.is-sidebar-collapsed .nav-count{display:none}.shell.is-sidebar-collapsed .nav{justify-content:center;padding:7px}.sidebar-toggle{position:absolute;top:12px;right:-11px;width:22px;height:22px;padding:0;border:1px solid var(--line-2);background:var(--surface);border-radius:50%;color:var(--ink-3);font-size:13px;font-family:JetBrains Mono,monospace;font-weight:600;line-height:1;cursor:pointer;z-index:20;display:grid;place-items:center;box-shadow:var(--shadow-1)}.sidebar-toggle:hover{color:var(--ink);border-color:var(--ink-3);background:var(--surface-2)}.topbar{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;padding:0 20px 0 18px;border-bottom:1px solid var(--line);background:var(--surface);z-index:5}.brand{display:flex;align-items:center;gap:10px;font-weight:600;font-size:13px;letter-spacing:-.01em}.brand-glyph{width:22px;height:22px;border-radius:5px;background:var(--ink);display:grid;place-items:center;color:#fff;font-family:JetBrains Mono,monospace;font-weight:600;font-size:11px;letter-spacing:-.04em}.brand-meta{font-size:11px;color:var(--ink-3);font-weight:400}.topbar-right{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--ink-3)}.live-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 8px 3px 7px;border-radius:999px;background:var(--ok-soft);color:var(--ok);font-size:11px;font-weight:500;font-family:JetBrains Mono,monospace}.live-pill.is-off{background:var(--surface-2);color:var(--ink-3)}.live-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;animation:live-pulse 1.6s ease-in-out infinite}.live-pill.is-off:before{animation:none;opacity:.6}@keyframes live-pulse{0%,to{opacity:1}50%{opacity:.35}}.sidebar{background:var(--surface);border-right:1px solid var(--line);padding:14px 10px;display:flex;flex-direction:column;gap:2px;overflow:visible;min-height:0;position:relative}.sidebar-scroll{flex:1;display:flex;flex-direction:column;gap:2px;overflow-y:auto;min-height:0}.side-section{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-4);padding:14px 10px 6px;font-weight:600}.nav{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:var(--r-2);font-size:13px;color:var(--ink-2);cursor:pointer;border:none;background:transparent;text-align:left;width:100%;font-weight:500}.nav:hover{background:var(--surface-2);color:var(--ink)}.nav.is-active{background:var(--ink);color:#fff}.nav.is-active .nav-count{color:#ffffffb3}.nav-icon{width:16px;height:16px;flex-shrink:0;opacity:.85;display:inline-flex}.nav-icon svg{width:16px;height:16px}.nav-label{flex:1}.nav-count{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--ink-4)}.main{overflow:auto;display:flex;flex-direction:column}.page-head{padding:22px 28px 14px;border-bottom:1px solid var(--line);background:var(--surface)}.page-head-row{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:18px;gap:12px}.page-title{font-size:20px;font-weight:600;letter-spacing:-.02em;margin:0}.page-sub{color:var(--ink-3);font-size:13px;margin-top:2px}.kpi-row{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border:1px solid var(--line);border-radius:var(--r-3);background:var(--bg);overflow:hidden}.kpi-row:has(.hint-tip:hover),.kpi-row:has(.hint-tip:focus){overflow:visible}.kpi{padding:12px 16px;border-right:1px solid var(--line);background:var(--surface)}.kpi:last-child{border-right:none}.kpi-label{font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;font-weight:500;display:flex;align-items:center;gap:6px}.kpi-value{font-size:22px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:4px;display:flex;align-items:baseline;gap:6px}.kpi-unit{font-size:12px;color:var(--ink-3);font-weight:500;letter-spacing:0}.kpi-trend{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--ink-3);margin-top:2px}.kpi-trend.up{color:var(--ok)}.kpi-trend.down{color:var(--err)}.kpi-spark{height:18px;margin-top:6px;display:block}.kpi-spark path{fill:none;stroke:var(--accent);stroke-width:1.5}.kpi-spark .area{fill:var(--accent-soft);stroke:none;opacity:.6}.health-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.health-dot.ok{background:var(--ok)}.health-dot.warn{background:var(--warn)}.health-dot.err{background:var(--err)}.hb{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border:1px solid var(--line-2);border-radius:999px;font-size:11px;color:var(--ink-2);font-weight:500}.hb-num{font-family:JetBrains Mono,monospace}.canvas-wrap{flex:1;display:grid;grid-template-columns:1fr 360px;min-height:0;transition:grid-template-columns .22s cubic-bezier(.2,.7,.2,1)}.canvas-wrap.is-rail-collapsed{grid-template-columns:1fr 28px}.rail-collapsed{border-left:1px solid var(--line);background:var(--surface);cursor:pointer;display:flex;align-items:flex-start;justify-content:center;padding:14px 0;font-family:JetBrains Mono,monospace;font-size:10px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em}.rail-collapsed:hover{background:var(--surface-2);color:var(--ink)}.rail-collapsed-label{writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap}.pipeline-area{padding:32px 28px 28px;overflow:auto;background:radial-gradient(circle at 1px 1px,rgba(14,14,16,.045) 1px,transparent 0) 0 0 / 24px 24px,var(--bg)}.pipeline-area-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.pipeline-title{font-size:13px;font-weight:600;letter-spacing:-.005em;color:var(--ink-2);display:flex;align-items:center;gap:8px}.pipeline-title svg{width:14px;height:14px}.pipeline-legend{display:flex;gap:14px;font-size:11px;color:var(--ink-3)}.legend-item{display:flex;align-items:center;gap:6px}.legend-swatch{width:14px;height:2px;border-radius:1px}.legend-swatch.flow{background:var(--accent)}.legend-swatch.idle{background:var(--line-strong)}.conveyor{position:relative;display:flex;align-items:stretch;gap:0;padding:20px 0;min-height:200px;min-width:1750px}.stage{flex:1;position:relative;display:flex;flex-direction:column}.stage-rail{position:absolute;top:50%;left:0;right:0;height:2px;transform:translateY(-1px);background:var(--line-strong);z-index:0}.stage:first-child .stage-rail{left:50%}.stage:last-child .stage-rail{right:50%}.node{position:relative;z-index:2;margin:auto;width:128px;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-3);padding:8px 10px 7px;cursor:pointer;transition:border-color .12s,transform .16s cubic-bezier(.2,.6,.3,1),box-shadow .12s;text-align:left;font-family:inherit;color:inherit;display:block}.node:hover{border-color:var(--ink-3);box-shadow:var(--shadow-2)}.node.is-flowing{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.node.is-running{animation:node-running-pulse 1.6s ease-in-out infinite}@keyframes node-running-pulse{0%,to{box-shadow:0 0 0 3px var(--accent-soft)}50%{box-shadow:0 0 0 6px var(--accent-soft)}}.node-head{display:flex;align-items:center;gap:7px;margin-bottom:7px}.node-icon{width:20px;height:20px;border-radius:5px;background:var(--surface-2);display:grid;place-items:center;color:var(--node-color);border:1px solid var(--line)}.node-icon svg{width:11px;height:11px}.node-title{font-size:11px;font-weight:600;letter-spacing:-.005em;color:var(--ink)}.node-sub{font-size:9px;color:var(--ink-3);margin-top:1px;text-transform:uppercase;letter-spacing:.04em;font-weight:500}.node-status{margin-left:auto;flex-shrink:0;width:7px;height:7px;border-radius:50%;background:var(--line-strong)}.node-status.ok{background:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}.node-status.warn{background:var(--warn);box-shadow:0 0 0 3px var(--warn-soft)}.node-status.err{background:var(--err);box-shadow:0 0 0 3px var(--err-soft)}.node-status.flow{background:var(--accent);animation:status-flow 1.2s ease-in-out infinite}@keyframes status-flow{0%,to{box-shadow:0 0 0 0 var(--accent-soft)}50%{box-shadow:0 0 0 6px var(--accent-soft)}}.node-metric{display:flex;align-items:baseline;gap:5px}.node-value{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--ink);line-height:1.1}.node-value-sec{font-size:11px;color:var(--ink-3);font-variant-numeric:tabular-nums}.node-metric-label{font-size:9px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;font-weight:500;margin-top:1px}.node-bar{display:flex;height:3px;background:var(--surface-2);border-radius:2px;overflow:hidden;margin-top:7px}.node-bar>span{display:block;height:100%}.node-bar .seg-ok{background:var(--ok)}.node-bar .seg-warn{background:var(--warn)}.node-bar .seg-err{background:var(--err)}.node-bar .seg-idle{background:var(--line-2)}.node-foot{display:flex;justify-content:space-between;font-size:9px;color:var(--ink-3);margin-top:4px;font-family:JetBrains Mono,monospace;gap:4px}.node-foot span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.node-pop{position:absolute;top:-9px;right:6px;background:var(--accent);color:#fff;font-size:9px;font-weight:600;padding:2px 6px;border-radius:999px;font-family:JetBrains Mono,monospace;animation:pop 1.6s ease-out forwards;pointer-events:none}.node-pop.is-warn{background:var(--err)}@keyframes pop{0%{opacity:0;transform:translateY(6px) scale(.85)}20%{opacity:1;transform:translateY(0) scale(1)}85%{opacity:1}to{opacity:0;transform:translateY(-8px) scale(.95)}}.connector{position:absolute;top:50%;height:2px;background:var(--line-strong);z-index:1;overflow:visible;pointer-events:none;left:calc(50% + 64px);right:calc(-50% + 64px)}.connector:after{content:"";position:absolute;right:-6px;top:50%;transform:translateY(-50%);width:0;height:0;border-left:6px solid var(--line-strong);border-top:4px solid transparent;border-bottom:4px solid transparent}.connector.is-flowing{background:var(--accent)}.connector.is-flowing:after{border-left-color:var(--accent)}.packet{position:absolute;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent);animation:packet-fly 1.1s cubic-bezier(.4,0,.6,1) forwards}.packet.warn{background:var(--err);box-shadow:0 0 8px var(--err)}@keyframes packet-fly{0%{left:0%;opacity:0;transform:scale(.5)}10%{opacity:1;transform:scale(1)}90%{opacity:1}to{left:100%;opacity:0;transform:scale(.7)}}.connector-meta{position:absolute;top:12px;left:50%;transform:translate(-50%);font-family:JetBrains Mono,monospace;font-size:10px;color:var(--ink-3);white-space:nowrap;background:var(--bg);padding:0 6px}.spotlight{margin-top:28px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-3);overflow:hidden}.spotlight-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line);gap:12px}.spotlight-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);display:flex;align-items:center;gap:8px}.spotlight-body{display:grid;grid-template-columns:1fr 1fr;gap:0}.spotlight-col{padding:14px 16px;border-right:1px solid var(--line);min-height:140px;min-width:0;overflow:hidden}.spotlight-col:last-child{border-right:none}.spotlight-col-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-4);font-weight:600;margin-bottom:6px}.spotlight-text{font-size:13px;line-height:1.5;color:var(--ink-2);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;max-height:280px;overflow-y:auto}.spotlight-text .caret{display:inline-block;width:6px;height:1em;background:var(--accent);vertical-align:text-bottom;margin-left:2px;animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.iter-trail{display:flex;align-items:center;gap:4px;padding:0 16px 12px;font-family:JetBrains Mono,monospace;font-size:11px;color:var(--ink-3);flex-wrap:wrap}.iter-step{padding:3px 8px;border:1px solid var(--line-2);border-radius:999px;background:var(--surface)}.iter-step.is-done{color:var(--ok);border-color:var(--ok-soft);background:var(--ok-soft)}.iter-step.is-active{color:#fff;background:var(--ink);border-color:var(--ink)}.iter-step.is-failed{color:var(--err);border-color:var(--err-soft);background:var(--err-soft)}.iter-arrow{color:var(--ink-4)}.rail{border-left:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;min-height:0}.rail-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 10px;border-bottom:1px solid var(--line)}.rail-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2)}.rail-filter{display:flex;gap:4px;padding:8px 14px;border-bottom:1px solid var(--line);background:var(--surface-2);flex-wrap:wrap}.rail-chip{font-size:11px;padding:3px 8px;border-radius:999px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink-3);cursor:pointer;font-family:JetBrains Mono,monospace}.rail-chip.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}.timeline{flex:1;overflow-y:auto;padding:6px 0 18px;position:relative}.timeline-spine{position:absolute;left:30px;top:0;bottom:0;width:1px;background:var(--line)}.tl-item{position:relative;padding:6px 18px 6px 50px;display:flex;flex-direction:column;gap:2px;cursor:pointer;transition:background .12s;animation:tl-in .24s ease-out;border:none;background:transparent;width:100%;text-align:left;font-family:inherit;color:inherit}.tl-item:hover{background:var(--surface-2)}@keyframes tl-in{0%{opacity:0;transform:translate(4px)}to{opacity:1;transform:translate(0)}}.tl-dot{position:absolute;left:26px;top:11px;width:9px;height:9px;border-radius:50%;background:var(--surface);border:2px solid var(--line-2)}.tl-item.t-parse .tl-dot{border-color:var(--n-parser)}.tl-item.t-post .tl-dot{border-color:var(--n-posts)}.tl-item.t-rewrite .tl-dot{border-color:var(--n-copywriter)}.tl-item.t-finished .tl-dot{background:var(--n-rewrites);border-color:var(--n-rewrites)}.tl-item.t-failed .tl-dot{background:var(--err);border-color:var(--err)}.tl-item.t-schedule .tl-dot{border-color:var(--accent)}.tl-row{display:flex;align-items:baseline;gap:8px;font-size:12px}.tl-time{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--ink-4);flex-shrink:0}.tl-type{font-family:JetBrains Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3)}.tl-msg{color:var(--ink);font-size:12px;font-weight:500}.tl-meta{font-size:11px;color:var(--ink-3)}.tl-link-node{color:var(--accent-ink);font-weight:500;cursor:pointer}.tl-link-node:hover{text-decoration:underline}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0e0e1052;opacity:0;pointer-events:none;transition:opacity .2s;z-index:80}.drawer-backdrop.is-open{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(900px,92vw);background:var(--surface);border-left:1px solid var(--line);z-index:90;transform:translate(100%);transition:transform .26s cubic-bezier(.2,.7,.2,1);display:flex;flex-direction:column;box-shadow:-24px 0 48px -16px #0e0e102e}.drawer.is-open{transform:translate(0)}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line);gap:16px}.drawer-head-left{display:flex;align-items:center;gap:12px;min-width:0}.drawer-icon{width:32px;height:32px;border-radius:8px;background:var(--surface-2);border:1px solid var(--line);display:grid;place-items:center;color:var(--node-color, var(--ink));flex-shrink:0}.drawer-icon svg{width:16px;height:16px}.drawer-title{font-size:16px;font-weight:600;letter-spacing:-.01em}.drawer-sub{font-size:12px;color:var(--ink-3);margin-top:1px}.drawer-close{width:32px;height:32px;border-radius:6px;border:1px solid var(--line-2);background:var(--surface);display:grid;place-items:center;color:var(--ink-3);cursor:pointer;padding:0}.drawer-close:hover{color:var(--ink);border-color:var(--ink-3)}.drawer-tabs{display:flex;gap:0;padding:0 20px;border-bottom:1px solid var(--line);background:var(--surface)}.drawer-tab{background:transparent;border:none;padding:10px 0;margin-right:18px;font-size:13px;color:var(--ink-3);border-bottom:2px solid transparent;font-weight:500;cursor:pointer}.drawer-tab:hover{color:var(--ink)}.drawer-tab.is-active{color:var(--ink);border-bottom-color:var(--ink);font-weight:600}.drawer-tab-count{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--ink-4);margin-left:4px;font-weight:500}.drawer-tab.is-active .drawer-tab-count{color:var(--ink-3)}.drawer-body{flex:1;overflow:auto;padding:20px}.btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;border-radius:var(--r-2);border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font-family:inherit;transition:all .12s}.btn:hover{border-color:var(--ink-3)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--ink);color:#fff;border-color:var(--ink)}.btn.primary:hover{background:#1a1a1d}.btn.ghost{border-color:transparent;color:var(--ink-3);background:transparent}.btn.ghost:hover{background:var(--surface-2);color:var(--ink)}.btn.danger{color:var(--err);border-color:var(--line-2);background:var(--surface)}.btn.danger:hover{background:var(--err-soft);border-color:var(--err)}.btn.sm{padding:4px 8px;font-size:12px}.btn-sm,.btn-primary.btn-sm,.btn-secondary.btn-sm,.btn-danger.btn-sm{padding:4px 10px;font-size:12px}.btn.icon{padding:6px;width:28px;height:28px;justify-content:center}.btn svg{width:14px;height:14px}.btn-primary{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;border-radius:var(--r-2);background:var(--ink);color:#fff;border:1px solid var(--ink);font-family:inherit}.btn-primary:hover{background:#1a1a1d}.btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;border-radius:var(--r-2);border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font-family:inherit}.btn-secondary:hover{border-color:var(--ink-3)}.btn-ghost{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;border-radius:var(--r-2);border:1px solid transparent;background:transparent;color:var(--ink-3);font-family:inherit;cursor:pointer}.btn-ghost:hover{background:var(--surface-2);color:var(--ink)}.btn-danger{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;border-radius:var(--r-2);border:1px solid var(--line-2);background:var(--surface);color:var(--err);font-family:inherit}.btn-danger:hover{background:var(--err-soft);border-color:var(--err)}.btn-icon{width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center}button:disabled{opacity:.55;cursor:not-allowed}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}.page-header h1{margin:0;font-size:16px;font-weight:600;letter-spacing:-.01em}.page-header p{margin:4px 0 0;color:var(--ink-3);font-size:12px}.chip{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:500;font-family:JetBrains Mono,monospace;background:var(--surface-2);color:var(--ink-3);border:1px solid var(--line)}.chip.ok{background:var(--ok-soft);color:var(--ok);border-color:transparent}.chip.warn{background:var(--warn-soft);color:var(--warn);border-color:transparent}.chip.err{background:var(--err-soft);color:var(--err);border-color:transparent}.chip.accent{background:var(--accent-soft);color:var(--accent-ink);border-color:transparent}.chip.dot:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.tag{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:500;padding:2px 8px;border-radius:999px;background:var(--surface-2);color:var(--ink-3);border:1px solid var(--line)}.tag.ok{background:var(--ok-soft);color:var(--ok);border-color:transparent}.tag.off{background:var(--surface-2);color:var(--ink-3);border-color:var(--line)}.tag.err{background:var(--err-soft);color:var(--err);border-color:transparent}.tag.warn{background:var(--warn-soft);color:var(--warn);border-color:transparent}.tag.dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.input,input.input,select.input,textarea.input{width:100%;padding:8px 10px;border:1px solid var(--line-2);border-radius:var(--r-2);background:var(--surface);font-family:inherit;font-size:13px;color:var(--ink);outline:none;transition:border-color .12s,box-shadow .12s}.input:focus,input.input:focus,select.input:focus,textarea.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}textarea.input{font-family:JetBrains Mono,monospace;font-size:12px;line-height:1.5;resize:vertical}.label,label.label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);font-weight:600;display:block;margin-bottom:6px}.field{margin-bottom:14px}.field:last-child{margin-bottom:0}.row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-4);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--line);background:var(--surface);position:sticky;top:0}.table td{padding:10px;border-bottom:1px solid var(--line);vertical-align:middle}.table tr:hover td{background:var(--surface-2)}.cell-strong{font-weight:500;color:var(--ink)}.cell-sub{font-size:11px;color:var(--ink-3);margin-top:2px}.cell-mono{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--ink-3)}table{width:100%;border-collapse:collapse;font-size:13px}thead th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-4);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--line);background:var(--surface)}tbody td{padding:10px;border-bottom:1px solid var(--line);vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--surface-2)}.cell-primary{font-weight:500;color:var(--ink)}.cell-link{max-width:220px;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.row-actions{display:flex;align-items:center;gap:6px;justify-content:flex-end;flex-wrap:nowrap;white-space:nowrap}.row-actions button{padding:4px 8px;font-size:12px;white-space:nowrap}.row-actions .btn-icon{width:26px;height:26px;padding:0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.section{margin-bottom:22px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:8px}.section-title{font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:var(--ink-3)}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:var(--r-2);overflow:hidden;background:var(--surface)}.stat-row .kpi{padding:10px 12px}.stat-row .kpi-value{font-size:18px}.preset-card{border:1px solid var(--line);border-radius:var(--r-2);padding:12px;margin-bottom:10px;background:var(--surface)}.preset-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;gap:8px}.preset-name{font-weight:600;font-size:13px}.preset-meta{font-size:11px;color:var(--ink-3);display:flex;gap:10px;font-family:JetBrains Mono,monospace}.thumb{width:40px;height:40px;border-radius:4px;background:var(--surface-2);border:1px solid var(--line);background-image:repeating-linear-gradient(45deg,transparent 0 4px,rgba(14,14,16,.06) 4px 5px);flex-shrink:0}.switch{position:relative;display:inline-block;width:30px;height:18px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--line-strong);border-radius:999px;transition:.2s;cursor:pointer}.slider:before{content:"";position:absolute;width:12px;height:12px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}.switch input:checked+.slider{background:var(--ink)}.switch input:checked+.slider:before{transform:translate(12px)}.error{color:var(--err);font-size:13px;background:var(--err-soft);border:1px solid color-mix(in srgb,var(--err) 30%,transparent);border-radius:var(--r-2);padding:10px 12px;margin-top:10px}.empty{text-align:center;padding:36px 16px;color:var(--ink-3);font-size:13px;border:1px dashed var(--line-2);border-radius:var(--r-2);background:var(--surface)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-3);padding:16px 18px}.hint-tip{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;margin-left:6px;border-radius:50%;border:1px solid var(--line-2);color:var(--ink-3);font-size:10px;font-weight:700;cursor:help;position:relative;background:var(--surface);-webkit-user-select:none;user-select:none}.hint-tip:after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%) translateY(2px);background:var(--ink);color:#fff;font-size:11px;font-weight:500;letter-spacing:0;text-transform:none;padding:7px 10px;border-radius:var(--r-2);width:max-content;max-width:240px;white-space:normal;text-align:left;line-height:1.4;opacity:0;pointer-events:none;transition:opacity .14s ease,transform .14s ease;box-shadow:var(--shadow-pop);z-index:50}.hint-tip:before{content:"";position:absolute;left:50%;bottom:calc(100% + 3px);transform:translate(-50%) translateY(2px);border:5px solid transparent;border-top-color:var(--ink);opacity:0;transition:opacity .14s ease,transform .14s ease;pointer-events:none;z-index:50}.hint-tip:hover:after,.hint-tip:focus:after,.hint-tip:hover:before,.hint-tip:focus:before{opacity:1;transform:translate(-50%) translateY(0)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0e0e1052;display:flex;align-items:center;justify-content:center;padding:24px;z-index:100}.modal{background:var(--surface);border-radius:var(--r-4);width:100%;max-width:460px;box-shadow:var(--shadow-pop);overflow:hidden;display:flex;flex-direction:column;max-height:calc(100vh - 48px);border:1px solid var(--line)}.modal--wide{max-width:820px}.modal-header{padding:16px 44px 16px 20px;border-bottom:1px solid var(--line);position:relative}.modal-header h2{margin:0;font-size:15px;font-weight:600;letter-spacing:-.01em}.modal-header p{margin:4px 0 0;color:var(--ink-3);font-size:12px}.modal-close{position:absolute;top:10px;right:12px;width:28px;height:28px;border:none;background:transparent;color:var(--ink-3);font-size:14px;line-height:1;border-radius:var(--r-2);display:grid;place-items:center;cursor:pointer;transition:background .12s ease,color .12s ease}.modal-close:hover{background:var(--surface-2);color:var(--ink)}.modal:focus-visible{outline:none}.modal-body{padding:18px 20px;overflow:auto}.modal-footer{padding:12px 20px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px;background:var(--surface-2)}.filters{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:12px;align-items:end;margin-bottom:14px}.filters .field{margin-bottom:0}@media (max-width: 900px){.filters{grid-template-columns:repeat(2,1fr)}}.thumb-empty{background:repeating-linear-gradient(45deg,var(--surface-2),var(--surface-2) 6px,var(--line) 6px,var(--line) 7px)}tr.clickable{cursor:pointer}tr.clickable:hover{background:var(--surface-2)}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-top:12px}.media-cell{display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);border-radius:var(--r-2);padding:6px;background:var(--surface-2)}.media-cell img,.media-cell video{width:100%;max-height:220px;object-fit:cover;border-radius:4px;background:#000}.media-cell audio{width:100%}.media-meta{display:flex;gap:8px;font-size:11px;color:var(--ink-3);flex-wrap:wrap}.media-kind{color:var(--accent-ink);font-weight:600;text-transform:uppercase}.media-skipped{display:flex;flex-direction:column;justify-content:center;align-items:center;height:110px;border-radius:4px;background:var(--surface);color:var(--ink-3);font-size:12px;text-align:center}.media-doc{display:inline-block;padding:8px 12px;border-radius:4px;background:var(--surface);color:var(--accent-ink);text-decoration:none}.post-text{white-space:pre-wrap;font-size:13px;line-height:1.5}.rewrite-h{margin:0 0 8px;font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.rewrite-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 720px){.rewrite-cols{grid-template-columns:1fr}}.rewrite-text{white-space:pre-wrap;font-size:13px;line-height:1.5;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-2);padding:10px 12px;max-height:260px;overflow:auto}.rewrite-iters{display:flex;flex-direction:column;gap:10px}.rw-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:12px}.rw-detail{display:flex;flex-direction:column;gap:16px}.rw-block{display:flex;flex-direction:column;gap:6px}.rw-block-h{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin-bottom:2px}.rw-textbox{white-space:pre-wrap;font-size:13px;line-height:1.55;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-2);padding:12px 14px;max-height:280px;overflow:auto}.rw-textarea{width:100%;font-family:inherit;font-size:14px;line-height:1.55;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-2);padding:12px 14px;color:var(--ink);resize:vertical;min-height:160px;transition:border-color .12s}.rw-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.rw-textarea-foot{display:flex;justify-content:flex-end;padding-top:4px}.rw-empty{border:1px dashed var(--line-strong);border-radius:var(--r-2);padding:16px;text-align:center;color:var(--ink-3);font-size:12px;background:var(--surface-2)}.rw-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px}.rw-media-cell{position:relative;border:1px solid var(--line);border-radius:var(--r-2);overflow:hidden;background:var(--surface-2);aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center}.rw-media-cell img,.rw-media-cell video{width:100%;height:100%;object-fit:cover;display:block}.rw-media-link{display:contents}.rw-media-placeholder{font-size:10px;padding:8px;text-align:center;color:var(--ink-3);line-height:1.4}.rw-media-del{position:absolute;top:4px;right:4px;width:22px;height:22px;display:grid;place-items:center;background:#0000008c;color:#fff;border:0;border-radius:50%;cursor:pointer;font-size:12px;opacity:0;transition:opacity .12s,background .12s}.rw-media-cell:hover .rw-media-del,.rw-media-cell:focus-within .rw-media-del{opacity:1}.rw-media-del:hover{background:var(--err)}.rw-media-del:disabled{cursor:not-allowed;opacity:.6}.rw-original{border-top:1px solid var(--line);padding-top:12px}.rw-original>summary{cursor:pointer;font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;font-weight:600;-webkit-user-select:none;user-select:none;list-style:none;display:flex;align-items:center;gap:6px}.rw-original>summary:before{content:"▸";font-size:10px;transition:transform .12s}.rw-original[open]>summary:before{transform:rotate(90deg)}.rw-original>.rw-textbox{margin-top:8px}.rw-footer{display:flex;align-items:center;gap:8px;margin:18px -22px -18px}.iter{border:1px solid var(--line);border-radius:var(--r-2);padding:10px 12px;background:var(--surface-2)}.iter-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.iter-feedback{font-size:12px;margin-bottom:6px}.iter-output{white-space:pre-wrap;font-size:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-2);padding:8px 10px;max-height:180px;overflow:auto;margin:0;font-family:JetBrains Mono,monospace}.scrollarea::-webkit-scrollbar,.timeline::-webkit-scrollbar,.drawer-body::-webkit-scrollbar,.modal-body::-webkit-scrollbar{width:8px;height:8px}.scrollarea::-webkit-scrollbar-track,.timeline::-webkit-scrollbar-track,.drawer-body::-webkit-scrollbar-track,.modal-body::-webkit-scrollbar-track{background:transparent}.scrollarea::-webkit-scrollbar-thumb,.timeline::-webkit-scrollbar-thumb,.drawer-body::-webkit-scrollbar-thumb,.modal-body::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:4px}.scrollarea::-webkit-scrollbar-thumb:hover,.timeline::-webkit-scrollbar-thumb:hover,.drawer-body::-webkit-scrollbar-thumb:hover,.modal-body::-webkit-scrollbar-thumb:hover{background:var(--line-strong)}.status-legend{margin:0 0 14px;padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-2)}.status-legend-head{display:flex;align-items:baseline;gap:8px;margin-bottom:8px;flex-wrap:wrap}.status-legend-title{font-weight:600;color:var(--ink-2);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.status-legend-sub{color:var(--ink-3);font-size:11px}.status-legend-reset{margin-left:auto;border:none;background:transparent;color:var(--accent);font:inherit;font-size:11px;cursor:pointer;padding:0}.status-legend-reset:hover{text-decoration:underline}.status-legend-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px}.legend-item{position:relative;display:block;text-align:left;padding:5px 8px 5px 12px;border-radius:var(--r-1, 6px);background:var(--surface-2);border:1px solid var(--line);cursor:pointer;font:inherit;color:inherit;transition:border-color .12s ease,background .12s ease,transform .12s ease;overflow:hidden}.legend-item:hover{border-color:var(--line-strong);background:var(--surface);transform:translateY(-1px)}.legend-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ink-3)}.legend-item.is-ok:before{background:var(--ok)}.legend-item.is-warn:before{background:var(--warn)}.legend-item.is-err:before{background:var(--err)}.legend-item.is-off:before{background:var(--line-strong)}.legend-item.is-active{background:var(--bg);border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}.legend-item.is-active .legend-item-name{color:var(--accent)}.legend-item-name{font-weight:600;font-size:11.5px;color:var(--ink);letter-spacing:.01em}.legend-item-desc{font-size:10.5px;color:var(--ink-3);margin-top:1px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-grid-wrap{margin-top:28px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-3);padding:14px 16px}.live-grid-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.live-grid-title{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}.live-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.live-card{position:relative;display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-2);background:var(--surface-2);text-align:left;cursor:pointer;font:inherit;color:inherit;min-height:140px;transition:border-color .12s ease,transform .12s ease,box-shadow .12s ease;overflow:hidden;animation:live-card-in .22s ease-out}.live-card:hover{border-color:var(--line-strong);transform:translateY(-1px);box-shadow:0 4px 14px #0000000f}.live-card-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.live-card-status{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--ink-2)}.live-card-dot{width:6px;height:6px;border-radius:999px;background:var(--ink-3)}.live-card-status.is-filtering{color:#c2410c;border-color:#fed7aa;background:#fff7ed}.live-card-status.is-filtering .live-card-dot{background:#ea580c;animation:live-pulse 1.4s ease-in-out infinite}.live-card-status.is-writing{color:#1d4ed8;border-color:#bfdbfe;background:#eff6ff}.live-card-status.is-writing .live-card-dot{background:#2563eb;animation:live-pulse 1.2s ease-in-out infinite}.live-card-status.is-critiquing{color:#6d28d9;border-color:#ddd6fe;background:#f5f3ff}.live-card-status.is-critiquing .live-card-dot{background:#7c3aed;animation:live-pulse 1.4s ease-in-out infinite}.live-card-id{font-size:10.5px;color:var(--ink-3)}.live-card-meta{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--ink-2);min-width:0}.live-card-source{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}.live-card-preset{color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-card-dots{display:flex;gap:3px;margin-top:2px}.live-card-dot-iter{width:6px;height:6px;border-radius:999px;background:var(--line-strong)}.live-card-dot-iter.is-done{background:var(--accent)}.live-card-dot-iter.is-active{background:var(--accent);animation:live-pulse 1.2s ease-in-out infinite}.live-card-dot-iter.is-pending{background:var(--line-strong)}.live-card-body{flex:1;font-size:12px;line-height:1.45;color:var(--ink);white-space:pre-wrap;overflow:hidden;display:-webkit-box;-webkit-line-clamp:6;line-clamp:6;-webkit-box-orient:vertical;word-break:break-word;margin-top:2px}.live-card-body .caret{display:inline-block;width:6px;height:12px;margin-left:1px;background:var(--accent);vertical-align:-2px;animation:live-caret-blink .9s steps(2,end) infinite}@keyframes live-caret-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes live-card-in{0%{opacity:0;transform:scale(.96) translateY(2px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes toast-in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}.live-card.is-flash-ok{border-color:var(--ok);box-shadow:0 0 0 2px color-mix(in srgb,var(--ok) 25%,transparent)}.live-card.is-flash-err{border-color:var(--err);box-shadow:0 0 0 2px color-mix(in srgb,var(--err) 25%,transparent)}.live-card.is-flash-warn{border-color:var(--warn);box-shadow:0 0 0 2px color-mix(in srgb,var(--warn) 25%,transparent)}.view-switch{display:inline-flex;align-items:center;gap:2px;padding:3px;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;margin-left:18px}.view-switch-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;padding:6px 14px;border-radius:999px;font:inherit;font-size:12.5px;font-weight:600;color:var(--ink-2);cursor:pointer;transition:background .12s ease,color .12s ease}.view-switch-btn:hover{color:var(--ink)}.view-switch-btn.is-active{background:var(--surface);color:var(--accent);box-shadow:0 1px 2px #0000000f}.pipeline-select{display:inline-flex;align-items:center;margin-left:16px}.pipeline-select-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;font-size:13px;font-weight:600;color:var(--ink);background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:6px 28px 6px 12px;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--ink-2) 50%),linear-gradient(135deg,var(--ink-2) 50%,transparent 50%);background-position:calc(100% - 14px) center,calc(100% - 9px) center;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.pipeline-select-input:hover{border-color:var(--accent)}.pipeline-select-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #3884ff33}.analytics-shell{min-height:100vh;background:var(--bg)}.analytics-main{width:100%;margin:0;padding:18px 28px 40px}.reject-confirm{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--err);background:var(--err-soft);color:var(--ink);border-radius:var(--r-2);font-size:12px;flex-wrap:wrap}.reject-confirm-text{font-weight:500;color:var(--err)}.reject-confirm .btn-danger,.reject-confirm .btn-secondary{padding:4px 10px;font-size:12px}.settings-main{width:100%;max-width:1100px;margin:0 auto;padding:18px 28px 40px;box-sizing:border-box}.settings-main table{width:100%;table-layout:auto}.settings-main .card{box-sizing:border-box}.analytics-content{display:flex;flex-direction:column;gap:16px}.period-switch{display:flex;gap:4px}.kpi-row.analytics-kpi{grid-template-columns:repeat(6,1fr)}.kpi.is-ok .kpi-value{color:var(--ok)}.kpi.is-warn .kpi-value{color:var(--warn)}.kpi.is-err .kpi-value{color:var(--err)}.analytics-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width: 980px){.analytics-grid-2{grid-template-columns:1fr}}.chart-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-3);padding:14px 16px;min-width:0}.chart-card-h{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px}.chart-card-reset{margin-left:auto;border:none;background:transparent;color:var(--accent);cursor:pointer;font:inherit;font-size:11px;text-transform:none;letter-spacing:0}.chart-card-reset:hover{text-decoration:underline}.coverage-block{display:flex;flex-direction:column;gap:10px;padding:6px 4px}.coverage-row{display:flex;justify-content:space-between;align-items:center;font-size:13px}.coverage-bar{height:8px;background:var(--surface-2);border-radius:4px;overflow:hidden}.coverage-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 70%,white));transition:width .28s ease}.coverage-pct{font-weight:600;font-size:13px;color:var(--accent)}.analytics-search-block{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-3);padding:14px 16px;margin-top:6px}.search-tabs{display:flex;gap:4px;margin-bottom:12px;border-bottom:1px solid var(--line)}.search-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;font:inherit;font-size:13px;font-weight:500;padding:8px 12px;margin-bottom:-1px;cursor:pointer;color:var(--ink-3);border-bottom:2px solid transparent}.search-tab:hover{color:var(--ink)}.search-tab.is-active{color:var(--accent);border-bottom-color:var(--accent)}.search-panel{display:flex;flex-direction:column;gap:12px}.search-controls{display:grid;grid-template-columns:1fr 200px auto;gap:8px}.search-cat{width:100%}.search-results{display:flex;flex-direction:column;gap:10px}.search-card{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-2);padding:10px 12px;display:flex;flex-direction:column;gap:6px}.search-card-head{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.search-card-body{font-size:13px;line-height:1.5;color:var(--ink);white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:5;line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.search-card-foot{display:flex;justify-content:space-between;align-items:center}.chat-panel{display:flex;flex-direction:column;gap:10px;min-height:0}.chat-history{display:flex;flex-direction:column;gap:12px;height:320px;max-height:40vh;overflow-y:auto;padding:6px 4px 8px;scrollbar-gutter:stable}.chat-msg{display:flex;gap:10px;align-items:flex-start}.chat-msg.is-user{flex-direction:row-reverse}.chat-avatar{flex:0 0 auto;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);margin-top:2px}.chat-msg.is-user .chat-avatar{background:var(--accent);color:#fff;border-color:var(--accent)}.chat-msg.is-assistant .chat-avatar{background:#f5f4ff;background:oklch(.97 .02 290);color:var(--n-copywriter);border-color:#e4e1fe}.chat-msg-bubble{max-width:78%;padding:11px 14px;border-radius:14px;font-size:13.5px;line-height:1.55;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-1)}.chat-msg.is-user .chat-msg-bubble{background:var(--accent);color:#fff;border-color:var(--accent);border-bottom-right-radius:4px}.chat-msg.is-assistant .chat-msg-bubble{background:var(--surface);border-bottom-left-radius:4px}.chat-msg-text{white-space:pre-wrap;word-break:break-word}.chat-thinking{display:inline-flex;align-items:center;gap:4px;height:18px}.chat-thinking .dot{width:6px;height:6px;border-radius:50%;background:var(--ink-3);animation:chat-bounce 1.2s ease-in-out infinite}.chat-thinking .dot:nth-child(2){animation-delay:.15s}.chat-thinking .dot:nth-child(3){animation-delay:.3s}@keyframes chat-bounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-3px);opacity:1}}.chat-welcome{margin:8px auto;max-width:620px;text-align:center;padding:16px 18px 18px;background:radial-gradient(circle at 50% 0%,oklch(.97 .04 290) 0%,transparent 60%),var(--surface);border:1px solid var(--line);border-radius:var(--r-3)}.chat-welcome-icon{font-size:20px;color:var(--n-copywriter);margin-bottom:4px;filter:drop-shadow(0 2px 6px oklch(.78 .1 290 / .4))}.chat-welcome-title{font-size:14px;font-weight:600;letter-spacing:-.01em;margin-bottom:2px}.chat-welcome-sub{font-size:12px;color:var(--ink-3);line-height:1.45;margin:0 0 10px}.chat-suggestions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.chat-suggestion{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--surface-2);font:inherit;font-size:12.5px;color:var(--ink-2);padding:7px 12px;border-radius:999px;cursor:pointer;transition:all .14s ease;text-align:left}.chat-suggestion:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink);transform:translateY(-1px)}.chat-suggestion:disabled{opacity:.5;cursor:not-allowed}.md{white-space:normal;line-height:1.55}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p{margin:6px 0}.md ul,.md ol{margin:6px 0;padding-left:22px}.md li{margin:2px 0}.md li>p{margin:2px 0}.md h1,.md h2,.md h3,.md h4{margin:10px 0 4px;font-weight:700;line-height:1.25}.md h1{font-size:17px}.md h2{font-size:15.5px}.md h3{font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2)}.md h4{font-size:13px;color:var(--ink-2)}.md strong{font-weight:700}.md em{font-style:italic}.md a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.md code{background:#0000000f;padding:1px 5px;border-radius:4px;font-size:.92em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.md pre{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:8px 10px;margin:8px 0;overflow-x:auto;font-size:12.5px;line-height:1.45}.md pre code{background:none;padding:0;border-radius:0}.md blockquote{border-left:3px solid var(--line-strong);padding:2px 10px;margin:6px 0;color:var(--ink-2);background:#00000005}.md table{border-collapse:collapse;margin:8px 0;font-size:12.5px}.md th,.md td{border:1px solid var(--line);padding:4px 8px;text-align:left}.md th{background:var(--surface-2);font-weight:600}.md hr{border:none;border-top:1px solid var(--line);margin:10px 0}.chat-msg.is-user .md a{color:#fff;text-decoration-color:#fff9}.chat-msg.is-user .md code{background:#ffffff2e}.chat-msg.is-user .md blockquote{border-left-color:#ffffff80;background:#ffffff14}.chat-tools{display:flex;flex-direction:column;gap:6px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px dashed var(--line)}.chat-tool-card{display:flex;align-items:flex-start;gap:8px;padding:7px 10px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-2);font-size:11.5px;line-height:1.4;transition:border-color .2s ease,background .2s ease}.chat-tool-card.is-running{border-color:#a8d2ff;border-color:oklch(.85 .1 250);background:var(--accent-soft)}.chat-tool-card.is-done{border-color:#a1e4ae;background:#e8fbeb}.chat-tool-icon{flex:0 0 auto;width:16px;height:16px;display:grid;place-items:center;border-radius:50%;font-size:10px;font-weight:700;color:#fff;margin-top:1px}.chat-tool-card.is-running .chat-tool-icon{background:var(--accent)}.chat-tool-card.is-done .chat-tool-icon{background:var(--ok)}.chat-tool-icon .spinner{width:8px;height:8px;border-radius:50%;border:1.4px solid rgba(255,255,255,.5);border-top-color:#fff;animation:chat-tool-spin .7s linear infinite}@keyframes chat-tool-spin{to{transform:rotate(360deg)}}.chat-tool-body{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:0}.chat-tool-name{font-weight:600;color:var(--ink);cursor:help}.chat-tool-args{color:var(--ink-3);background:var(--surface);padding:1px 6px;border-radius:4px;border:1px solid var(--line);font-family:JetBrains Mono,monospace;font-size:10.5px}.chat-tool-result{color:var(--ink-2);font-style:italic;word-break:break-word}.chat-input-actions{display:flex;flex-direction:column;gap:4px;align-items:stretch}.chat-input-actions .btn-primary,.chat-input-actions .btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:0;white-space:nowrap}.chat-context{font-size:11px;border-bottom:1px dashed var(--line);margin-bottom:8px;padding-bottom:6px}.chat-context-title{font-size:10.5px;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px}.chat-context-list{display:flex;flex-direction:column;gap:3px}.chat-context-item{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.chat-input{display:flex;gap:8px;align-items:flex-end}.chat-input textarea{flex:1;resize:vertical;min-height:44px;font-family:inherit;font-size:13.5px}.analytics-main .section{margin-bottom:28px}.analytics-main .section:last-child{margin-bottom:0}.analytics-main .section-head{margin-bottom:12px;align-items:center}.analytics-main .section-title{display:inline-flex;align-items:center;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:600}.kpi-row.analytics-kpi,.kpi-row.publishing-kpi{grid-template-columns:repeat(6,1fr)}@media (max-width: 1100px){.kpi-row.analytics-kpi,.kpi-row.publishing-kpi{grid-template-columns:repeat(3,1fr)}}@media (max-width: 640px){.kpi-row.analytics-kpi,.kpi-row.publishing-kpi{grid-template-columns:repeat(2,1fr)}}.kpi-unit{font-size:12px;font-weight:500;color:var(--ink-3);margin-left:2px}.section-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.filter-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px 4px 10px;background:var(--surface);border:1px solid var(--line);border-radius:999px;font-size:12px;cursor:pointer;transition:border-color .12s ease,background .12s ease}.filter-chip:hover{border-color:var(--line-strong)}.filter-chip-label{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);font-weight:600}.filter-chip-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;font:inherit;font-size:12px;color:var(--ink);outline:none;cursor:pointer;padding-right:14px;background-image:linear-gradient(45deg,transparent 50%,var(--ink-3) 50%),linear-gradient(135deg,var(--ink-3) 50%,transparent 50%);background-position:calc(100% - 8px) center,calc(100% - 4px) center;background-size:4px 4px,4px 4px;background-repeat:no-repeat}.filter-pill-group{display:inline-flex;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:2px;gap:0}.filter-pill{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;font:inherit;font-size:12px;font-weight:500;color:var(--ink-3);padding:4px 12px;border-radius:999px;cursor:pointer;transition:background .14s ease,color .14s ease}.filter-pill:hover{color:var(--ink)}.filter-pill.is-active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1)}.source-mix{margin-top:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-3);padding:12px 14px}.source-mix-label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:var(--ink-3);margin-bottom:8px}.source-mix-bar{display:flex;height:8px;width:100%;background:var(--surface-2);border-radius:999px;overflow:hidden;margin-bottom:10px}.source-mix-seg{height:100%;transition:width .32s ease}.source-mix-seg.is-admin{background:var(--accent)}.source-mix-seg.is-ui{background:#998538}.source-mix-seg.is-operator{background:#7167a8}.source-mix-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--ink-2)}.source-mix-leg-item{display:inline-flex;align-items:center;gap:6px}.source-mix-leg-item .dot{width:8px;height:8px;border-radius:50%;display:inline-block}.source-mix-leg-item .dot.is-admin{background:var(--accent)}.source-mix-leg-item .dot.is-ui{background:#998538}.source-mix-leg-item .dot.is-operator{background:#7167a8}.schedule-spinner{display:inline-block;width:8px;height:8px;margin-right:4px;border-radius:50%;border:1.5px solid currentColor;border-top-color:transparent;animation:schedule-spin .7s linear infinite;vertical-align:-1px}@keyframes schedule-spin{to{transform:rotate(360deg)}}.rw-card-actions{display:inline-flex;align-items:center;gap:6px;margin-left:auto;flex-wrap:wrap}.error-boundary{min-height:100vh;display:grid;place-items:center;padding:32px;background:var(--bg)}.error-boundary-card{background:var(--surface);border:1px solid var(--err);border-left:4px solid var(--err);border-radius:var(--r-3);padding:20px 24px;max-width:640px;box-shadow:var(--shadow-pop)}.error-boundary-title{font-weight:600;font-size:15px;color:var(--err);letter-spacing:-.01em}.error-boundary-stack{margin-top:12px;padding:10px 12px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-2);font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;color:var(--ink-2);white-space:pre-wrap;word-break:break-word;max-height:220px;overflow:auto}.llm-usage .section-head{margin-bottom:14px}.llm-kpi-row{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:12px;margin-bottom:18px}.llm-kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-3);padding:14px 16px;display:flex;flex-direction:column;gap:4px}.llm-kpi-main{background:linear-gradient(135deg,#7c8cff1f,#b985ff1a);border-color:#7c8cff59}.llm-kpi-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:500}.llm-kpi-value{font-size:22px;font-weight:600;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}.llm-kpi-cost{font-size:30px;font-weight:700;letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums}.llm-kpi-sub{font-size:11px;color:var(--muted)}.llm-empty{border:1px dashed var(--line);border-radius:var(--r-3);padding:32px 20px;text-align:center;color:var(--muted);font-size:13px}.llm-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:16px}@media (max-width: 980px){.llm-grid{grid-template-columns:1fr}.llm-kpi-row{grid-template-columns:1fr 1fr}}.llm-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-3);padding:16px 18px}.llm-card-h{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;margin-bottom:14px}.llm-bars{display:flex;flex-direction:column;gap:14px}.llm-bar{display:flex;flex-direction:column;gap:4px}.llm-bar-h{display:flex;align-items:center;gap:8px}.llm-bar-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.llm-bar-name{font-size:13px;color:var(--ink);font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.llm-bar-cost{font-size:13px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.llm-bar-track{height:6px;background:var(--line);border-radius:3px;overflow:hidden}.llm-bar-fill{height:100%;border-radius:3px;transition:width .25s ease}.llm-bar-meta{font-size:11px;color:var(--muted)}.llm-table{width:100%;border-collapse:collapse}.llm-table th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600;padding:6px 10px;border-bottom:1px solid var(--line)}.llm-table td{padding:8px 10px;border-bottom:1px solid var(--line);font-size:12px;color:var(--ink)}.llm-table tr:last-child td{border-bottom:none}.llm-model-cell{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filezone{position:relative;display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px dashed var(--line);border-radius:var(--r-3);background:var(--surface-2);cursor:pointer;transition:border-color .15s ease,background .15s ease}.filezone:hover{border-color:var(--accent);background:var(--surface)}.filezone.is-filled{border-style:solid;border-color:var(--accent);background:var(--surface);cursor:default}.filezone.is-required-empty{border-color:var(--err-dim, rgba(220, 80, 80, .5))}.filezone-header{display:flex;align-items:center;gap:8px}.filezone-title{font-size:13px;font-weight:500;color:var(--ink);flex:1}.filezone-required{font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;padding:2px 6px;border-radius:4px;background:var(--err);color:#fff}.filezone-optional{font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:500;padding:2px 6px;border-radius:4px;background:var(--line);color:var(--muted)}.filezone-hint{font-size:11px;color:var(--muted)}.filezone-body{display:flex;align-items:center;gap:10px;margin-top:4px}.filezone-pick{font-size:12px;font-weight:500;padding:6px 12px;border-radius:var(--r-2);border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;transition:background .12s ease,border-color .12s ease}.filezone-pick:hover{background:var(--surface-2);border-color:var(--accent)}.filezone-filename{font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;color:var(--ink);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filezone-meta{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.filezone-clear{font-size:14px;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:none;background:transparent;color:var(--muted);cursor:pointer}.filezone-clear:hover{background:var(--line);color:var(--ink)}.filezone-input{display:none}.filezone-or{display:flex;align-items:center;gap:10px;margin:10px 0;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.filezone-or:before,.filezone-or:after{content:"";flex:1;height:1px;background:var(--line)}.ui-modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:ui-fade-in .14s ease-out}.ui-modal{animation:ui-modal-in .18s cubic-bezier(.2,.8,.2,1)}.ui-modal .modal-body{padding-bottom:18px}.ui-modal-footer{position:sticky;bottom:0}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;transition:background-color .12s ease,border-color .12s ease,color .12s ease,transform .12s ease}.ui-btn:active:not(:disabled){transform:translateY(.5px)}.ui-btn[data-loading]{pointer-events:none}.ui-btn .ui-btn-label{line-height:1}.ui-btn svg{width:14px;height:14px;flex:0 0 auto}.ui-field{margin-bottom:14px}.ui-field:last-child{margin-bottom:0}.ui-field-hint{margin-top:4px;font-size:11px;color:var(--ink-3);letter-spacing:0}.ui-field-error{margin-top:4px;font-size:11px;color:var(--err);letter-spacing:0}.input-error,.input.input-error{border-color:var(--err)}.input-error:focus,.input.input-error:focus{box-shadow:0 0 0 3px var(--err-soft)}.ui-page-actions{display:flex;gap:8px;align-items:center}.ui-empty{padding:32px 20px;text-align:center;color:var(--ink-3);display:flex;flex-direction:column;align-items:center;gap:6px}.ui-empty-icon{width:36px;height:36px;border-radius:999px;display:grid;place-items:center;background:var(--surface-2);color:var(--ink-3);margin-bottom:4px}.ui-empty-icon svg{width:18px;height:18px}.ui-empty-title{color:var(--ink);font-weight:600;font-size:13px;letter-spacing:-.005em}.ui-empty-desc{font-size:12px;max-width:36ch;line-height:1.5}.ui-empty-action{margin-top:10px}.ui-spinner{display:inline-flex;align-items:center;justify-content:center;color:currentColor}.ui-spinner svg{animation:ui-spin .72s linear infinite;transform-origin:center}.ui-toast-host{position:fixed;right:16px;bottom:16px;z-index:200;display:flex;flex-direction:column;gap:8px;pointer-events:none;max-width:360px}.ui-toast{pointer-events:auto;background:var(--surface);color:var(--ink);border:1px solid var(--line-2);border-radius:var(--r-3);padding:10px 14px;font-size:13px;display:flex;align-items:flex-start;gap:10px;box-shadow:var(--shadow-pop);animation:ui-toast-in .18s cubic-bezier(.2,.8,.2,1);cursor:pointer;position:relative;overflow:hidden}.ui-toast:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent)}.ui-toast--ok:before{background:var(--ok)}.ui-toast--warn:before{background:var(--warn)}.ui-toast--err:before{background:var(--err)}.ui-toast-icon{width:16px;height:16px;flex:0 0 auto;display:grid;place-items:center;margin-top:1px;color:var(--ink-3)}.ui-toast--ok .ui-toast-icon{color:var(--ok)}.ui-toast--warn .ui-toast-icon{color:var(--warn)}.ui-toast--err .ui-toast-icon{color:var(--err)}.ui-toast-body{flex:1;line-height:1.4}.ui-toast-title{font-weight:600;letter-spacing:-.005em}.ui-toast-desc{color:var(--ink-3);font-size:12px;margin-top:2px}.ui-toast.is-leaving{animation:ui-toast-out .16s ease-in forwards}.ui-confirm{max-width:420px}.ui-confirm-body{font-size:13px;color:var(--ink-2);line-height:1.55}.ui-confirm-body strong{color:var(--ink)}.ui-table-wrap{position:relative}.ui-table{width:100%;border-collapse:collapse;font-size:13px}.ui-table thead th{position:sticky;top:0;background:var(--surface);border-bottom:1px solid var(--line);font-weight:600;text-align:left;padding:10px 14px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);z-index:1}.ui-table tbody td{padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:middle}.ui-table tbody tr:last-child td{border-bottom:none}.ui-table tbody tr.ui-row-hover:hover{background:var(--surface-2);cursor:pointer}.ui-table-empty,.ui-table-loading{padding:28px 16px;text-align:center;color:var(--ink-3)}.ui-pagination{display:flex;align-items:center;gap:6px;padding:10px 14px;border-top:1px solid var(--line);background:var(--surface);font-size:12px;color:var(--ink-3);font-variant-numeric:tabular-nums}.ui-pagination-spacer{flex:1}.ui-page-btn{border:1px solid var(--line-2);background:var(--surface);border-radius:var(--r-2);width:26px;height:26px;display:grid;place-items:center;color:var(--ink-2)}.ui-page-btn:hover:not(:disabled){border-color:var(--ink-3);color:var(--ink)}.ui-page-btn:disabled{opacity:.45;cursor:not-allowed}.ui-table-toolbar{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--surface)}.ui-table-toolbar-left{display:flex;align-items:center;gap:8px;flex:1}.ui-table-toolbar-right{display:flex;align-items:center;gap:8px}@keyframes ui-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ui-modal-in{0%{opacity:0;transform:translateY(4px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ui-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes ui-toast-in{0%{opacity:0;transform:translate(8px) translateY(4px)}to{opacity:1;transform:translate(0) translateY(0)}}@keyframes ui-toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(12px)}}
