:root{--pep-blue: #004b93;--pep-deep: #002f6c;--pep-red: #c9002b;--tick-1: #0096d6;--tick-2: #eb7b30;--tick-3: #00984a;--tick-4: #df002c;--bg: #f6f7f9;--surface: #fdfdfe;--surface-2: #f8f9fb;--sunken: #f0f2f5;--line: #e6e9ee;--line-soft: #eef0f3;--line-strong: #d5dae1;--text: #121826;--text-2: #475163;--text-3: #687183;--text-4: #9aa2b1;--accent: #004b93;--accent-hover: #003d7a;--accent-text: #004b93;--accent-strong: #002f6c;--accent-soft: #edf3fa;--accent-soft-2: #dbe7f5;--on-accent: #fdfdfe;--ok: #0b7a3e;--ok-soft: #e8f4ed;--ok-line: #c3e3d0;--warn: #9a5800;--warn-soft: #fbf3e4;--warn-line: #efd8ad;--bad: #b4002a;--bad-soft: #fbedf0;--bad-line: #f1c4ce;--bar-ok: #2e9a5f;--bar-warn: #d9892c;--bar-bad: #c9002b;--user-bubble: #e9f0f8;--user-bubble-text: #0e2547;--code-bg: #f3f5f8;--code-text: #1e2a3b;--code-line: #e3e7ed;--fs-2xs: 11px;--fs-xs: 11.5px;--fs-sm: 12.5px;--fs-base: 13.5px;--fs-md: 14.5px;--fs-lg: 16px;--fs-xl: 19px;--fs-2xl: 23px;--fs-3xl: 30px;--lh-tight: 1.2;--lh-snug: 1.4;--lh-body: 1.6;--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--s-10: 40px;--s-12: 48px;--s-16: 64px;--r-xs: 4px;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-full: 999px;--shadow-1: 0 1px 2px rgba(16, 24, 40, .04);--shadow-2: 0 1px 2px rgba(16, 24, 40, .04), 0 4px 12px -4px rgba(16, 24, 40, .08);--shadow-pop: 0 12px 32px -8px rgba(16, 24, 40, .18), 0 2px 6px rgba(16, 24, 40, .06);--ring: 0 0 0 3px rgba(0, 75, 147, .16);--focus: #1f6fc4;--ease: cubic-bezier(.16, 1, .3, 1);--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--t-fast: .12s;--t: .18s;--t-slow: .28s;--gutter: clamp(16px, 2.2vw + 8px, 32px);--safe-t: env(safe-area-inset-top, 0px);--safe-r: env(safe-area-inset-right, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px);--pad-l: max(var(--gutter), var(--safe-l));--pad-r: max(var(--gutter), var(--safe-r));--tap: 44px;font-family:var(--font);font-feature-settings:"cv11","ss01","ss03";color:var(--text);background:var(--bg);color-scheme:light}:root[data-theme=dark]{--bg: #0d1016;--surface: #141820;--surface-2: #171c25;--sunken: #0f131a;--line: #242a35;--line-soft: #1e232d;--line-strong: #323946;--text: #e7eaf0;--text-2: #adb4c1;--text-3: #8b93a3;--text-4: #5f6777;--accent: #2f6fbd;--accent-hover: #3b7cca;--accent-text: #79b0ec;--accent-strong: #a9cdf4;--accent-soft: rgba(121, 176, 236, .1);--accent-soft-2: rgba(121, 176, 236, .18);--on-accent: #f7f9fc;--ok: #5cc48b;--ok-soft: rgba(92, 196, 139, .1);--ok-line: rgba(92, 196, 139, .28);--warn: #e7ae5c;--warn-soft: rgba(231, 174, 92, .1);--warn-line: rgba(231, 174, 92, .28);--bad: #f17690;--bad-soft: rgba(241, 118, 144, .1);--bad-line: rgba(241, 118, 144, .3);--bar-ok: #4bb47a;--bar-warn: #df9a45;--bar-bad: #e5486a;--user-bubble: #1b2738;--user-bubble-text: #e3ecf7;--code-bg: #0f131a;--code-text: #d3dbe7;--code-line: #242a35;--shadow-1: 0 1px 2px rgba(0, 0, 0, .3);--shadow-2: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 16px -6px rgba(0, 0, 0, .5);--shadow-pop: 0 16px 40px -8px rgba(0, 0, 0, .6), 0 2px 6px rgba(0, 0, 0, .4);--ring: 0 0 0 3px rgba(121, 176, 236, .22);--focus: #79b0ec;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-size:var(--fs-base);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}::view-transition-old(root),::view-transition-new(root){animation-duration:.22s;animation-timing-function:var(--ease-out-quart)}button{font:inherit;cursor:pointer;color:inherit}button:disabled{cursor:not-allowed}input,select,textarea{font:inherit;color:inherit}img,svg{display:block}h1,h2,h3,h4,p{margin:0}a{color:var(--accent-text)}::selection{background:var(--accent-soft-2)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}:focus:not(:focus-visible){outline:none}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--s-3);top:-48px;z-index:100;background:var(--accent);color:var(--on-accent);padding:var(--s-2) var(--s-3);border-radius:var(--r-md);font-weight:600;text-decoration:none;transition:top var(--t) var(--ease)}.skip-link:focus{top:var(--s-3)}.eyebrow{font-size:var(--fs-2xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);line-height:var(--lh-snug)}.muted{color:var(--text-3)}.num{font-variant-numeric:tabular-nums}.accent-ticks{display:inline-flex;gap:2px;margin-right:var(--s-2);vertical-align:middle}.accent-ticks i{display:block;width:8px;height:3px;border-radius:1px;background:var(--tick-1)}.accent-ticks i:nth-child(2){background:var(--tick-2)}.accent-ticks i:nth-child(3){background:var(--tick-3)}.accent-ticks i:nth-child(4){background:var(--tick-4)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);height:36px;padding:0 var(--s-4);border-radius:var(--r-md);border:1px solid transparent;font-size:var(--fs-base);font-weight:550;line-height:1;white-space:nowrap;text-decoration:none;transition:background-color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.btn:active:not(:disabled){transform:translateY(.5px) scale(.99)}.btn svg{flex-shrink:0}.btn-sm{height:30px;padding:0 var(--s-3);font-size:var(--fs-sm);gap:6px;border-radius:var(--r-sm)}.btn-block{width:100%}.btn-primary{background:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-1),inset 0 1px #ffffff14}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--line-strong);box-shadow:var(--shadow-1)}.btn-secondary:hover:not(:disabled){background:var(--surface-2);border-color:var(--text-4)}.btn-ghost{background:transparent;color:var(--text-2)}.btn-ghost:hover:not(:disabled){background:var(--sunken);color:var(--text)}.btn-danger{background:var(--pep-red);color:#fdfdfe}.btn-danger:hover:not(:disabled){background:#a30023}.btn-done{background:var(--ok-soft);color:var(--ok);border-color:transparent}.btn:disabled:not(.btn-done){opacity:.45}.btn-done:disabled{cursor:default}.icon-btn{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:var(--r-md);border:0;background:transparent;color:var(--text-3);transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.icon-btn:hover{background:var(--sunken);color:var(--text)}.chart-actions .icon-btn:hover{background:var(--bad-soft);color:var(--bad)}.app{display:flex;flex-direction:column;overflow-x:clip;height:100%;height:100dvh;height:var(--app-h, 100dvh)}.header{position:relative;z-index:30;flex-shrink:0;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--s-5);min-height:calc(56px + var(--safe-t));padding:var(--safe-t) max(var(--s-5),var(--safe-r)) 0 max(var(--s-5),var(--safe-l));background:var(--surface);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:var(--s-3);min-width:0}.brand-logo{height:26px;width:auto;flex-shrink:0}.brand-mark{display:none;height:26px;width:auto;flex-shrink:0}.brand-divider{width:1px;height:20px;background:var(--line-strong);flex-shrink:0}.brand-text{min-width:0;line-height:1.25}.brand-name{font-weight:600;font-size:var(--fs-base);color:var(--text);letter-spacing:-.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-sub{font-size:var(--fs-xs);color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-center{display:flex;justify-content:center;align-items:center;gap:var(--s-2)}.header-right{display:flex;align-items:center;justify-content:flex-end;gap:var(--s-2);font-size:var(--fs-sm);color:var(--text-3);min-width:0}.powered{white-space:nowrap;color:var(--text-4);font-size:var(--fs-xs);margin-right:var(--s-1)}.switch{--n: 2;--idx: 0;position:relative;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));padding:3px;border-radius:var(--r-md);background:var(--sunken);border:1px solid var(--line)}.switch-thumb{position:absolute;top:3px;bottom:3px;left:3px;width:calc((100% - 6px) / var(--n));border-radius:6px;background:var(--surface);box-shadow:var(--shadow-1),0 0 0 1px var(--line);transform:translate(calc(var(--idx) * 100%));transition:transform var(--t-slow) var(--ease)}:root[data-theme=dark] .switch-thumb{background:#232a36;box-shadow:0 0 0 1px #2e3644}.switch-tab{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:128px;height:30px;padding:0 var(--s-4);border:0;border-radius:6px;background:transparent;color:var(--text-3);font-size:var(--fs-base);font-weight:550;transition:color var(--t) var(--ease)}.switch-tab:not(.active):hover{color:var(--text)}.switch-tab.active{color:var(--text)}.switch-tab.active svg{color:var(--accent-text)}.switch-tab:focus-visible{outline-offset:-2px}.guide-link{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 var(--s-3);border-radius:var(--r-md);color:var(--text-3);font-size:var(--fs-base);font-weight:550;text-decoration:none;white-space:nowrap;flex-shrink:0;transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.guide-link:hover{background:var(--sunken);color:var(--text)}.guide-link.active{background:var(--accent-soft);color:var(--accent-text)}.health,.engine-chip{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 10px;border-radius:var(--r-full);border:1px solid var(--line);background:var(--surface);font-size:var(--fs-xs);font-weight:500;color:var(--text-2);white-space:nowrap;min-width:0}.health:disabled{cursor:default;opacity:1}.health-dot,.engine-dot{width:6px;height:6px;border-radius:50%;background:var(--bar-warn);flex-shrink:0}.health.ok .health-dot{background:var(--bar-ok);box-shadow:0 0 0 3px var(--ok-soft)}.health.down{border-color:var(--bad-line);color:var(--bad);background:var(--bad-soft);cursor:pointer}.health.down .health-dot{background:var(--bar-bad)}.health.pending .health-dot{animation:pulse 1.2s var(--ease) infinite}.engine-chip{background:var(--accent-soft);border-color:var(--accent-soft-2);color:var(--text-2)}.engine-chip strong{color:var(--accent-text);font-weight:600}.engine-dot{background:var(--accent-text)}.engine-text{overflow:hidden;text-overflow:ellipsis}@keyframes pulse{50%{opacity:.3}}.views{flex:1;min-height:0;display:flex}.view{flex:1;min-width:0;min-height:0;display:flex}.view[hidden]{display:none}.view:not([hidden]){animation:view-in var(--t) var(--ease-out-quart) both}@keyframes view-in{0%{opacity:0}to{opacity:1}}.view>*{flex:1;min-width:0}.view>.boundary{flex:0 1 auto;align-self:flex-start;width:min(720px,calc(100% - 32px));margin:var(--s-8) auto}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}.skel{display:block;background:linear-gradient(90deg,var(--sunken) 0%,var(--line-soft) 45%,var(--sunken) 90%);background-size:200% 100%;animation:shimmer 1.6s var(--ease) infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.spinner{display:inline-block;width:13px;height:13px;border-radius:50%;border:1.75px solid var(--line-strong);border-top-color:var(--accent-text);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.chips{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.chip{display:inline-flex;align-items:center;gap:var(--s-1);max-width:100%;height:24px;background:var(--surface);color:var(--text-2);border:1px solid var(--line);border-radius:var(--r-full);padding:0 10px;font-size:var(--fs-xs);font-weight:500;white-space:nowrap}.chip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.chip.strong{background:var(--accent-soft);border-color:var(--accent-soft-2);color:var(--accent-text);font-weight:600}.chip button{display:inline-grid;place-items:center;width:16px;height:16px;margin-right:-5px;border:0;border-radius:50%;background:transparent;color:var(--text-3);flex-shrink:0}.chip button:hover{background:var(--sunken);color:var(--text)}.count-badge{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--r-full);background:var(--accent);color:var(--on-accent);font-size:var(--fs-2xs);font-weight:650;font-variant-numeric:tabular-nums}.error-box{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap;justify-content:space-between;background:var(--bad-soft);border:1px solid var(--bad-line);color:var(--bad);padding:10px var(--s-3);border-radius:var(--r-md);font-size:var(--fs-base)}.notice-box{background:var(--surface-2);border:1px solid var(--line);color:var(--text-2);padding:var(--s-2) var(--s-3);border-radius:var(--r-md);font-size:var(--fs-base)}.error-state,.boundary{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-4);border-radius:var(--r-lg);background:var(--bad-soft);border:1px solid var(--bad-line);color:var(--bad)}.boundary{background:var(--warn-soft);border-color:var(--warn-line);color:var(--warn)}.error-state.compact,.boundary.compact{padding:10px var(--s-3);border-radius:var(--r-md)}.error-state svg,.boundary svg{flex-shrink:0}.error-state-text,.boundary-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:var(--fs-base)}.error-state-text strong,.boundary-text strong{color:var(--text);font-weight:600}.error-state-text span,.boundary-text span{color:var(--text-2);overflow-wrap:anywhere}.pill{display:inline-flex;align-items:center;height:20px;padding:0 var(--s-2);border-radius:var(--r-full);font-size:var(--fs-2xs);font-weight:550;white-space:nowrap}.pill.none{background:var(--sunken);color:var(--text-3);border:1px solid var(--line)}.kbd{display:inline-flex;align-items:center;gap:var(--s-1);padding:1px 7px;border-radius:var(--r-sm);vertical-align:1px;border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font-size:var(--fs-xs);font-weight:550;box-shadow:0 1px 0 var(--line-strong)}.kbd svg{display:inline}.chat-layout{display:flex;min-height:0}.sidebar{width:280px;flex-shrink:0;display:flex;flex-direction:column;min-height:0;background:var(--surface-2);border-right:1px solid var(--line)}.menu-btn{display:none;margin-left:-6px;color:var(--text-2)}.side-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);padding:var(--s-3) var(--s-3) var(--s-2) var(--s-4)}.side-title{font-size:var(--fs-base);font-weight:600;color:var(--text);letter-spacing:-.005em}.side-head-actions{display:flex;align-items:center;gap:2px;margin-right:-2px}.side-search{display:flex;align-items:center;gap:var(--s-2);margin:0 var(--s-3) var(--s-2);height:34px;padding:0 var(--s-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--text-3);transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.side-search:hover{border-color:var(--line-strong)}.side-search:focus-within{border-color:var(--accent-text);box-shadow:var(--ring)}.side-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:var(--fs-sm);color:var(--text)}.side-search input::placeholder{color:var(--text-4)}.side-search input::-webkit-search-cancel-button{opacity:.6}.tip{position:relative}.tip:after{content:attr(data-tip);position:absolute;top:calc(100% + 6px);left:50%;z-index:60;transform:translate(-50%,-2px);padding:4px 8px;border-radius:var(--r-sm);background:var(--text);color:var(--bg);font-size:var(--fs-2xs);font-weight:550;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.tip:hover:after,.tip:focus-visible:after{opacity:1;transform:translate(-50%);transition-delay:.35s}.side-head .tip:after{left:auto;right:0;transform:translateY(-2px)}.side-head .tip:hover:after,.side-head .tip:focus-visible:after{transform:none}.conv-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:var(--s-1) var(--s-2) var(--s-4)}.conv-group+.conv-group{margin-top:var(--s-3)}.conv-group-label{padding:var(--s-2) var(--s-2) var(--s-1);font-size:var(--fs-2xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.conv-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.conv{position:relative;display:flex;align-items:center;border-radius:var(--r-md);transition:background-color var(--t-fast) var(--ease)}.conv:hover{background:var(--sunken)}.conv.active{background:var(--surface);box-shadow:0 0 0 1px var(--line),var(--shadow-1)}:root[data-theme=dark] .conv.active{background:#1f2531;box-shadow:0 0 0 1px #2c3340}.conv-main{flex:1;min-width:0;display:flex;align-items:center;gap:6px;height:34px;padding:0 4px 0 10px;border:0;background:transparent;text-align:left;color:var(--text-2);font-size:var(--fs-sm);border-radius:var(--r-md)}.conv.active .conv-main{color:var(--text);font-weight:550}.conv-main:focus-visible{outline-offset:-2px}.conv-title{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.conv-pin{color:var(--text-3);flex-shrink:0}.conv-busy{width:11px;height:11px;flex-shrink:0}.conv-menu-wrap{position:relative;flex-shrink:0}.conv-more{display:grid;place-items:center;width:28px;height:28px;margin-right:3px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-3);opacity:0;transition:opacity var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease)}.conv:hover .conv-more,.conv:focus-within .conv-more,.conv.active .conv-more,.conv.menu-open .conv-more{opacity:1}.conv-more:hover,.conv.menu-open .conv-more{background:var(--line-soft);color:var(--text)}.conv-menu,.foot-pop{position:absolute;z-index:50;min-width:188px;padding:var(--s-1);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);animation:drop var(--t) var(--ease) both}.conv-menu{top:calc(100% + 4px);right:0;transform-origin:top right}.conv-menu button,.foot-pop>button{display:flex;align-items:center;gap:9px;height:34px;padding:0 10px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text);font-size:var(--fs-sm);text-align:left;white-space:nowrap}.conv-menu button svg,.foot-pop>button svg{color:var(--text-3);flex-shrink:0}.conv-menu button:hover,.conv-menu button:focus-visible,.foot-pop>button:hover:not(:disabled){background:var(--sunken);outline:none}.conv-menu .danger,.foot-pop .danger,.conv-menu .danger svg,.foot-pop .danger svg{color:var(--bad)}.foot-pop>button:disabled{opacity:.45}.conv-rename{flex:1;min-width:0;height:34px;margin:0;padding:0 10px;border:1px solid var(--accent-text);border-radius:var(--r-md);background:var(--surface);color:var(--text);font-size:var(--fs-sm);outline:none;box-shadow:var(--ring)}.conv-empty{padding:var(--s-3) var(--s-2);font-size:var(--fs-sm);color:var(--text-3);line-height:1.5}.side-samples{margin-top:var(--s-4);border-top:1px solid var(--line-soft);padding-top:var(--s-2)}.side-samples summary{display:flex;align-items:center;gap:6px;height:30px;padding:0 var(--s-2);border-radius:var(--r-sm);cursor:pointer;list-style:none;font-size:var(--fs-2xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.side-samples summary::-webkit-details-marker{display:none}.side-samples summary:hover{color:var(--text)}.side-samples-chev{transition:transform var(--t) var(--ease)}.side-samples[open] .side-samples-chev{transform:rotate(90deg)}.side-samples .sample-list{margin-top:2px}.sample-list{display:flex;flex-direction:column;gap:2px}.sample{text-align:left;border:1px solid transparent;background:transparent;border-radius:var(--r-md);padding:var(--s-2) var(--s-2);font-size:var(--fs-sm);color:var(--text-2);line-height:1.5;transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}.sample:hover:not(:disabled){background:var(--sunken);color:var(--text)}.sample:disabled{opacity:.5}.side-toast{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);margin:0 var(--s-3) var(--s-2);padding:4px 4px 4px var(--s-3);border-radius:var(--r-md);background:var(--text);color:var(--bg);font-size:var(--fs-sm);animation:rise var(--t) var(--ease-out-quart) both}.side-toast .btn{color:var(--bg);font-weight:600}.side-toast .btn:hover{background:color-mix(in srgb,var(--bg) 14%,transparent);color:var(--bg)}.side-foot{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-2) max(var(--s-2),var(--safe-b)) var(--s-4);border-top:1px solid var(--line)}.side-note{flex:1;min-width:0;display:flex;align-items:center;gap:6px;font-size:var(--fs-2xs);color:var(--text-3);line-height:1.35}.side-note svg{color:var(--ok);flex-shrink:0}.side-foot-menu{position:relative;flex-shrink:0}.foot-pop{bottom:calc(100% + 6px);right:0;min-width:230px;transform-origin:bottom right}.foot-confirm{padding:var(--s-2);display:flex;flex-direction:column;gap:var(--s-2);font-size:var(--fs-sm);color:var(--text-2);line-height:1.45}.foot-confirm div{display:flex;justify-content:flex-end;gap:6px}.drawer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#080c146b;opacity:0;pointer-events:none;transition:opacity var(--t-slow) var(--ease-out-quart)}.drawer-scrim.open{opacity:1;pointer-events:auto}.sidebar.drawer{position:fixed;z-index:80;top:0;bottom:0;left:0;width:min(320px,86vw);padding-top:var(--safe-t);padding-left:var(--safe-l);background:var(--surface);box-shadow:var(--shadow-pop);transform:translate(-104%);visibility:hidden;transition:transform var(--t-slow) var(--ease-out-quart),visibility 0s linear var(--t-slow)}.sidebar.drawer.open{transform:none;visibility:visible;transition:transform var(--t-slow) var(--ease-out-quart),visibility 0s}.chat-tabs{flex-shrink:0;display:flex;align-items:flex-end;gap:var(--s-1);padding:6px var(--s-3) 0;min-width:0;border-bottom:1px solid var(--line);background:var(--bg)}.chat-tabs ul{list-style:none;margin:0;padding:0;display:flex;gap:2px;min-width:0;overflow-x:auto;scrollbar-width:none}.chat-tabs ul::-webkit-scrollbar{display:none}.chat-tab{position:relative;display:flex;align-items:center;flex:0 1 200px;min-width:96px;max-width:220px;height:34px;border:1px solid transparent;border-bottom:0;border-radius:var(--r-md) var(--r-md) 0 0;color:var(--text-3);transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.chat-tab:hover{background:var(--sunken);color:var(--text)}.chat-tab.active{background:var(--surface);border-color:var(--line);color:var(--text);margin-bottom:-1px;height:35px}.chat-tab-main{flex:1;min-width:0;height:100%;display:flex;align-items:center;gap:6px;padding:0 2px 0 12px;border:0;background:transparent;color:inherit;font-size:var(--fs-sm);font-weight:500;text-align:left;border-radius:inherit}.chat-tab-main:focus-visible{outline-offset:-3px}.chat-tab-title{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.chat-tab-busy{width:10px;height:10px;flex-shrink:0}.chat-tab-close{display:grid;place-items:center;width:22px;height:22px;margin-right:6px;flex-shrink:0;border:0;border-radius:var(--r-xs);background:transparent;color:var(--text-3);opacity:0;transition:opacity var(--t-fast) var(--ease)}.chat-tab:hover .chat-tab-close,.chat-tab.active .chat-tab-close,.chat-tab-close:focus-visible{opacity:1}.chat-tab-close:hover{background:var(--line-soft);color:var(--text)}.chat-tab-new{flex-shrink:0;width:30px;height:30px;margin-bottom:2px}.context-note,.offline-banner{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;font-size:var(--fs-xs);color:var(--text-3);line-height:1.4}.context-note svg{color:var(--accent-text);flex-shrink:0}.offline-banner{display:flex;max-width:776px;margin:0 auto var(--s-2);padding:6px var(--s-3);border-radius:var(--r-md);background:var(--warn-soft);border:1px solid var(--warn-line);color:var(--warn);font-weight:550}.typing-row{display:flex;align-items:center;gap:var(--s-2)}.typing-row .btn{color:var(--text-3)}.interrupted-tag{display:inline-flex;align-items:center;height:20px;margin-left:var(--s-2);padding:0 var(--s-2);border-radius:var(--r-full);background:var(--warn-soft);color:var(--warn);border:1px solid var(--warn-line);font-size:var(--fs-2xs);font-weight:600;align-self:center}.chat{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.messages{flex:1;overflow-y:auto;overscroll-behavior-y:contain;padding:clamp(20px,4vh,32px) 0 var(--s-3);scroll-padding-bottom:var(--s-6)}.messages-inner{max-width:840px;margin:0 auto;padding:0 var(--pad-r) 0 var(--pad-l);display:flex;flex-direction:column;gap:clamp(20px,2.5vh,24px)}.msg-user{align-self:flex-end;max-width:min(78%,620px);background:var(--user-bubble);color:var(--user-bubble-text);padding:10px 14px;border-radius:16px 16px 4px;font-size:var(--fs-md);line-height:1.5;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-text) 8%,transparent);white-space:pre-wrap;overflow-wrap:anywhere;animation:rise var(--t-slow) var(--ease) both}.msg-bot{display:flex;gap:var(--s-3);align-items:flex-start;animation:rise var(--t-slow) var(--ease) both}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.avatar{width:28px;height:28px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;margin-top:1px;background:var(--surface);border:1px solid var(--line)}.avatar img{width:17px;height:auto}.bot-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--s-3);padding-top:3px}.bot-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-1);margin-top:-4px}.bot-actions .btn{color:var(--text-3);padding:0 var(--s-2)}.bot-actions .btn:first-child{margin-left:-8px}.engine-note{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;margin-bottom:-2px;font-size:var(--fs-xs);color:var(--text-3);line-height:1.4}.engine-note svg{flex-shrink:0;color:var(--warn)}.md{font-size:var(--fs-md);line-height:1.68;color:var(--text);overflow-wrap:anywhere}.md>p,.md>ul,.md>ol,.md>blockquote,.md>h1,.md>h2,.md>h3,.md>h4{max-width:72ch}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p{margin:0 0 var(--s-3)}.md ul,.md ol{margin:0 0 var(--s-3);padding-left:20px}.md li{margin:var(--s-1) 0;padding-left:2px}.md li::marker{color:var(--text-4)}.md strong{color:var(--text);font-weight:600}.md h1,.md h2,.md h3,.md h4{font-size:var(--fs-md);font-weight:600;margin:var(--s-5) 0 var(--s-2);color:var(--text);letter-spacing:-.005em;line-height:var(--lh-snug)}.md h1,.md h2{font-size:var(--fs-lg)}.md a{text-underline-offset:2px}.md hr{border:0;border-top:1px solid var(--line);margin:var(--s-4) 0}.md blockquote{margin:0 0 var(--s-3);padding:2px 0 2px var(--s-3);color:var(--text-2);border-left:1px solid var(--line-strong)}.md code{background:var(--sunken);border:1px solid var(--line);padding:0 5px;border-radius:var(--r-xs);font:.86em/1.5 var(--mono)}.md pre{overflow-x:auto;overscroll-behavior-x:contain;max-width:100%;background:var(--code-bg);color:var(--code-text);border:1px solid var(--code-line);padding:var(--s-3);border-radius:var(--r-md)}.md pre code{background:none;border:0;padding:0}.md-table{max-width:100%;width:fit-content;overflow-x:auto;overscroll-behavior-x:contain;margin:var(--s-1) 0 var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}.md-table:focus-visible{outline-offset:1px}.md table{border-collapse:collapse;font-size:var(--fs-base);line-height:1.45;max-width:none}.md th{text-align:left;font-weight:550;font-size:var(--fs-sm);color:var(--text-3);padding:var(--s-2) var(--s-3);white-space:nowrap;border-bottom:1px solid var(--line-strong);background:var(--surface-2)}.md td{padding:7px var(--s-3);border-bottom:1px solid var(--line-soft);overflow-wrap:normal;min-width:56px;vertical-align:top}.md tr:last-child td{border-bottom:0}.md td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.md td.num:first-child{text-align:left}.md td{max-width:280px}.md th[align=right],.md td[align=right]{text-align:right}.steps{list-style:none;margin:0;padding:var(--s-1) 0;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-2);display:flex;flex-direction:column}.step{position:relative;min-width:0}.step:before{content:"";position:absolute;left:22px;top:0;bottom:0;width:1px;background:var(--line-strong)}.step:first-child:before{top:18px}.step:last-child:before{bottom:auto;height:18px}.step:only-child:before{display:none}.tool{position:relative;font-size:var(--fs-sm)}.tool-head{position:relative;display:flex;align-items:center;gap:10px;width:100%;min-height:36px;padding:6px var(--s-3) 6px 12px;border:0;background:transparent;text-align:left;color:var(--text);transition:background-color var(--t-fast) var(--ease)}.tool-head:hover:not(:disabled){background:var(--sunken)}.tool-head:disabled{cursor:progress}.tool-head:focus-visible{outline-offset:-2px;border-radius:var(--r-md)}.tool-icon{position:relative;z-index:1;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line-strong);color:var(--text-3);flex-shrink:0}.tool-icon svg{width:11px;height:11px}.step.done .tool-icon{color:var(--accent-text);border-color:var(--accent-soft-2);background:var(--accent-soft)}:root[data-theme=dark] .step.done .tool-icon{background:#18263a}.step.failed .tool-icon{color:var(--bad);border-color:var(--bad-line);background:var(--bad-soft)}.step.running .tool-icon{color:var(--accent-text);animation:pulse 1.2s var(--ease) infinite}.tool-label{font-weight:550;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.tool-detail{font-weight:400;color:var(--text-3)}.tool-meta{display:inline-flex;align-items:center;gap:6px;margin-left:auto;color:var(--text-3);font-size:var(--fs-xs);white-space:nowrap;flex-shrink:0;font-variant-numeric:tabular-nums}.tool-chev{transition:transform var(--t) var(--ease);color:var(--text-4)}.tool-chev.open{transform:rotate(180deg)}.tool-err{color:var(--bad);font-weight:600}.tool-body{padding:var(--s-1) var(--s-3) var(--s-3) 43px;display:flex;flex-direction:column;gap:10px;animation:rise var(--t) var(--ease) both}.tool:not(.steps .tool){border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}.tool-body .chip{background:var(--surface)}.sql-wrap{display:flex;flex-direction:column;gap:6px}.sql-label{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-2xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}pre.sql{margin:0;background:var(--code-bg);color:var(--code-text);border:1px solid var(--code-line);padding:var(--s-3) 14px;border-radius:var(--r-md);font:12px/1.6 var(--mono);overflow-x:auto;white-space:pre-wrap;overflow-wrap:anywhere}.steps pre.sql{background:var(--surface)}:root[data-theme=dark] .steps pre.sql{background:var(--code-bg)}.result-table{max-height:320px;overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}.result-table table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.result-table th{position:sticky;top:0;background:var(--surface-2);color:var(--text-3);text-align:left;font-weight:550;padding:7px 10px;white-space:nowrap;box-shadow:inset 0 -1px 0 var(--line-strong)}.result-table td{padding:6px 10px;border-top:1px solid var(--line-soft)}.result-table tr:first-child td{border-top:0}.table-foot{padding:var(--s-2) 10px;font-size:var(--fs-xs);color:var(--text-3);border-top:1px solid var(--line)}.td-num{text-align:right;font-variant-numeric:tabular-nums}.typing{display:inline-flex;gap:5px;padding:var(--s-2) 0}.typing span{width:5px;height:5px;border-radius:50%;background:var(--accent-text);opacity:.25;animation:blink 1.2s infinite}.typing span:nth-child(2){animation-delay:.18s}.typing span:nth-child(3){animation-delay:.36s}@keyframes blink{0%,80%,to{opacity:.2}40%{opacity:.85}}.composer-wrap{flex-shrink:0;padding:var(--s-2) var(--pad-r) max(var(--s-4),var(--safe-b)) var(--pad-l);background:linear-gradient(180deg,transparent 0,var(--bg) 16px)}.composer{max-width:776px;margin:0 auto;display:flex;align-items:flex-end;gap:var(--s-2);background:var(--surface);border:1px solid var(--line-strong);border-radius:16px;padding:6px 6px 6px 16px;box-shadow:var(--shadow-2);transition:border-color var(--t) var(--ease-out-quart),box-shadow var(--t) var(--ease-out-quart)}.composer:focus-within{border-color:var(--accent-text);box-shadow:var(--shadow-2),var(--ring)}.composer textarea{flex:1;min-width:0;border:0;outline:0;resize:none;font-size:var(--fs-md);line-height:1.5;padding:7px 0;max-height:min(180px,30vh);background:transparent;color:var(--text)}.composer textarea::placeholder{color:var(--text-4)}.send{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px 0 12px;flex-shrink:0;border:0;border-radius:10px;background:var(--accent);color:var(--on-accent);font-weight:550;font-size:var(--fs-base);transition:background-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease),opacity var(--t-fast) var(--ease)}.send:hover:not(:disabled){background:var(--accent-hover)}.send:active:not(:disabled){transform:scale(.97)}.send:disabled{background:var(--sunken);color:var(--text-4)}.send.stop{background:var(--surface);color:var(--bad);border:1px solid var(--bad-line)}.send.stop:hover{background:var(--bad-soft)}.disclaimer{max-width:776px;margin:var(--s-2) auto 0;text-align:center;font-size:var(--fs-2xs);line-height:1.5;color:var(--text-3);text-wrap:balance}.disclaimer-powered{display:none}.disclaimer-powered strong{font-weight:600;color:var(--text-2)}.engine-bar{max-width:776px;margin:0 auto var(--s-2);display:flex;flex-direction:column;align-items:flex-start;gap:4px}.switch-sm{padding:2px}.switch-sm .switch-thumb{top:2px;bottom:2px;left:2px;width:calc((100% - 4px) / var(--n))}.switch-sm .switch-tab{min-width:0;height:26px;padding:0 var(--s-3);gap:6px;font-size:var(--fs-sm);white-space:nowrap}.switch-tab.unavailable,.switch-tab.unavailable:not(.active):hover{color:var(--text-4);cursor:not-allowed}.engine-hint{max-width:100%;height:16px;padding-left:2px;font-size:var(--fs-2xs);line-height:16px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bot-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);margin-bottom:-2px}.bot-meta .engine-note{margin-bottom:0}.engine-badge{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 var(--s-2);border-radius:var(--r-full);border:1px solid var(--line);background:var(--surface-2);color:var(--text-3);font-size:var(--fs-2xs);font-weight:550;white-space:nowrap}.engine-badge.native{border-color:var(--accent-soft-2);background:var(--accent-soft);color:var(--accent-text)}.welcome{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(8px,6vh,64px) 0 var(--s-4);animation:rise var(--t-slow) var(--ease) both}.welcome-eyebrow{display:inline-flex;align-items:center}.welcome h1{font-size:clamp(24px,2vw + 16px,30px);text-wrap:balance;font-weight:650;margin:var(--s-4) 0 var(--s-3);letter-spacing:-.028em;line-height:1.12;color:var(--text)}.welcome-lead{color:var(--text-2);max-width:58ch;line-height:1.6;font-size:var(--fs-md)}.welcome-actions{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-5)}.welcome-actions .btn-ghost{margin-left:-4px}.welcome-suggest{width:100%;margin-top:var(--s-12);display:flex;flex-direction:column;gap:var(--s-3)}.welcome-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}.sample-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--s-3);align-items:start;padding:14px var(--s-4);font-size:var(--fs-base);color:var(--text);border-radius:0;border:0;box-shadow:inset 0 -1px 0 var(--line-soft)}.sample-card:nth-child(odd){box-shadow:inset 0 -1px 0 var(--line-soft),inset -1px 0 0 var(--line-soft)}.sample-card:hover:not(:disabled){background:var(--surface-2)}.sample-card:focus-visible{outline-offset:-2px}.sample-n{font:500 var(--fs-xs)/1.9 var(--mono);color:var(--text-4);font-variant-numeric:tabular-nums}.sample-text{line-height:1.5}.sample-go{color:var(--accent-text);margin-top:2px;opacity:0;transform:translate(-4px);transition:opacity var(--t) var(--ease),transform var(--t) var(--ease)}.sample-card:hover .sample-go,.sample-card:focus-visible .sample-go{opacity:1;transform:none}.welcome-grid .skel{border-radius:0!important;margin:1px}.chart-card{margin:0;padding:var(--s-4) var(--s-4) var(--s-3);min-width:0;display:flex;flex-direction:column}.chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-4)}.chart-head-text{min-width:0}.chart-title{font-weight:600;font-size:var(--fs-base);color:var(--text);line-height:var(--lh-snug);letter-spacing:-.003em}.chart-sub{font-size:var(--fs-xs);color:var(--text-3);margin-top:2px;overflow-wrap:anywhere;line-height:var(--lh-snug)}.chart-actions{display:flex;align-items:center;gap:var(--s-1);flex-shrink:0;margin:-5px -6px 0 0}.chart-body{min-width:0;flex:1}.chart-empty{display:grid;place-items:center;text-align:center;padding:var(--s-4);color:var(--text-3);font-size:var(--fs-base);background:var(--surface-2);border-radius:var(--r-md);border:1px dashed var(--line-strong);min-height:120px}.recharts-legend-item-text{color:var(--text-2)!important}.recharts-wrapper:focus,.recharts-surface:focus,.recharts-sector:focus{outline:none}.recharts-default-tooltip .recharts-tooltip-item-list{font-variant-numeric:tabular-nums}.dash{flex:1;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain}.dash-inner{max-width:1320px;margin:0 auto;padding:clamp(20px,3vw,32px) var(--pad-r) calc(var(--s-16) + var(--safe-b)) var(--pad-l);display:flex;flex-direction:column;gap:var(--s-6)}.dash-top{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap}.dash-top h2{font-size:clamp(19px,1.2vw + 14px,23px);font-weight:650;letter-spacing:-.022em;color:var(--text);margin-top:var(--s-2);line-height:var(--lh-tight)}.dash-sub{color:var(--text-3);font-size:var(--fs-base);margin-top:6px}.dash-about{text-decoration:none}.dash-section{display:flex;flex-direction:column;gap:var(--s-3);min-width:0}.dash-body{display:flex;flex-direction:column;gap:var(--s-10);transition:opacity var(--t) var(--ease)}.dash-body.stale{opacity:.55;pointer-events:none}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap}.section-head h3{font-size:var(--fs-lg);font-weight:600;color:var(--text);letter-spacing:-.012em;line-height:var(--lh-snug)}.section-note{font-size:var(--fs-sm);color:var(--text-3);margin-top:2px}.section-actions{display:flex;gap:6px;align-items:center}.toolbar{position:sticky;top:0;z-index:20;padding:var(--s-3) var(--s-4) var(--s-4);display:flex;flex-direction:column;gap:var(--s-3);box-shadow:0 -12px 0 0 var(--bg),var(--shadow-1)}.toolbar-head{display:flex;align-items:center;gap:var(--s-3);min-width:0;min-height:30px}.toolbar-title{display:inline-flex;align-items:center;gap:7px;font-weight:600;font-size:var(--fs-base);color:var(--text);flex-shrink:0}.toolbar-title svg{color:var(--text-3)}.toolbar-toggle{display:none;align-items:center;gap:7px;height:32px;padding:0 var(--s-3);border-radius:var(--r-md);flex-shrink:0;border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font-weight:550;font-size:var(--fs-base)}.active-chips{flex:1}.toolbar-busy{display:inline-flex;align-items:center;flex-shrink:0}.reset-btn{flex-shrink:0}.toolbar-fields{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s-3)}.field{display:flex;flex-direction:column;gap:6px;min-width:0;position:relative}.field-label{font-size:var(--fs-xs);font-weight:550;color:var(--text-3)}.select-wrap{position:relative;display:block}.select-wrap:after{content:"";position:absolute;right:13px;top:50%;width:6px;height:6px;margin-top:-4px;pointer-events:none;border-right:1.5px solid var(--text-3);border-bottom:1.5px solid var(--text-3);transform:rotate(45deg)}.field select{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;height:36px;padding:0 32px 0 var(--s-3);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);font-size:var(--fs-base);color:var(--text);text-overflow:ellipsis;transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.field select:hover:not(:disabled){border-color:var(--text-4)}.field select:focus{outline:none;border-color:var(--accent-text);box-shadow:var(--ring)}.field select:disabled{background:var(--surface-2);color:var(--text-3)}.combo-control{display:flex;align-items:center;gap:var(--s-2);height:36px;padding:0 6px 0 10px;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.combo-control:hover{border-color:var(--text-4)}.combo-control:focus-within,.combo-control.open{border-color:var(--accent-text);box-shadow:var(--ring)}.combo-control.disabled{background:var(--surface-2)}.combo-control input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;font-size:var(--fs-base);text-overflow:ellipsis;color:var(--text)}.combo-control input::placeholder{color:var(--text);opacity:1}.combo-control.open input::placeholder{color:var(--text-4)}.combo-search,.combo-chev{color:var(--text-3);flex-shrink:0}.combo-clear{display:grid;place-items:center;width:24px;height:24px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-3);flex-shrink:0}.combo-clear:hover{background:var(--sunken);color:var(--text)}.combo-list{position:absolute;top:calc(100% + 6px);left:0;z-index:40;min-width:100%;width:max-content;max-width:min(420px,calc(100vw - 32px));max-height:320px;overflow-y:auto;margin:0;padding:var(--s-1);list-style:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);animation:drop var(--t) var(--ease) both;transform-origin:top left}@keyframes drop{0%{opacity:0;transform:translateY(-4px) scale(.99)}to{opacity:1;transform:none}}.combo-opt{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;border-radius:var(--r-sm);font-size:var(--fs-base);color:var(--text);cursor:pointer}.combo-opt-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.combo-opt.all{color:var(--text-2)}.combo-opt.active{background:var(--sunken)}.combo-opt[aria-selected=true]{font-weight:600;color:var(--accent-text)}.combo-opt svg{color:var(--accent-text);flex-shrink:0}.combo-empty{padding:10px;font-size:var(--fs-sm);color:var(--text-3)}.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.12fr);gap:var(--s-3)}.kpi{padding:var(--s-4) var(--s-5) var(--s-4);display:flex;flex-direction:column;min-width:0;position:relative}.kpi-top{display:flex;align-items:center;gap:7px;min-width:0}.kpi-glyph{color:var(--text-4);flex-shrink:0}.tone-red .kpi-glyph{color:var(--bad)}.kpi-label{font-size:var(--fs-sm);font-weight:500;color:var(--text-2);line-height:1.3}.kpi-value{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:6px;margin-top:var(--s-3)}.kpi-num{font-size:28px;font-weight:600;letter-spacing:-.03em;color:var(--text);line-height:1.1;font-variant-numeric:tabular-nums;font-feature-settings:"tnum","cv11","ss01"}.kpi-unit{font-size:var(--fs-xs);font-weight:550;color:var(--text-3);letter-spacing:.02em}.kpi-foot{display:flex;align-items:center;flex-wrap:wrap;gap:6px var(--s-2);margin-top:var(--s-2)}.kpi-note{font-size:var(--fs-xs);color:var(--text-3);line-height:1.4}.delta{display:inline-flex;align-items:center;gap:3px;height:20px;padding:0 7px 0 5px;border-radius:var(--r-full);font-size:var(--fs-2xs);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.delta-vs{font-weight:450;opacity:.75;margin-left:2px}.delta.good{background:var(--ok-soft);color:var(--ok)}.delta.bad{background:var(--bad-soft);color:var(--bad)}.delta.neutral{background:var(--sunken);color:var(--text-2)}.spark{position:relative;margin-top:auto;padding-top:var(--s-4)}.spark-plot{position:relative;height:32px}.spark svg{width:100%;height:32px;overflow:visible}.spark-line{fill:none;stroke:var(--accent-text);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.spark-area{fill:var(--accent-text);opacity:.08}.spark-dot{position:absolute;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;background:var(--surface);border:1.5px solid var(--accent-text)}.spark-axis{display:flex;justify-content:space-between;margin-top:6px;font-size:var(--fs-2xs);color:var(--text-4);font-variant-numeric:tabular-nums}.meter{margin-top:auto;padding-top:var(--s-4)}.meter-track{height:6px;border-radius:var(--r-full);background:var(--sunken);overflow:hidden;box-shadow:inset 0 0 0 1px var(--line-soft)}.meter-track span{display:block;height:100%;border-radius:inherit;background:var(--accent-text);transition:width var(--t-slow) var(--ease)}.meter .spark-axis{margin-top:10px}.kpi-strip{margin:0;padding:var(--s-1) var(--s-5);display:flex;flex-direction:column;min-width:0}.kpi-row{padding:var(--s-3) 0;border-top:1px solid var(--line-soft);min-width:0;flex:1;display:flex;flex-direction:column;justify-content:center}.kpi-row:first-child{border-top:0}.kpi-row dt{display:flex;align-items:center;gap:7px}.kpi-row dd{margin:4px 0 0;display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-2);flex-wrap:wrap}.kpi-row-value{display:inline-flex;align-items:baseline;gap:5px}.kpi-row .kpi-num{font-size:var(--fs-xl);letter-spacing:-.02em}.kpi-row-meta{display:inline-flex;align-items:center;gap:var(--s-2);min-width:0}.kpi-row-meta .kpi-note,.kpi-row-meta .delta-vs{display:none}.grid-perf{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:var(--s-3);align-items:stretch}.stack{display:flex;flex-direction:column;gap:var(--s-3);min-width:0}.stack>.chart-card{flex:1}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3);align-items:stretch}.grid-pins{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,440px),1fr));gap:var(--s-3)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--s-12) var(--s-6);gap:10px}.empty-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:var(--r-lg);background:var(--sunken);color:var(--text-3);border:1px solid var(--line);margin-bottom:6px}.empty-state h3{font-size:var(--fs-lg);font-weight:600;color:var(--text)}.empty-state p{color:var(--text-2);max-width:52ch;line-height:1.55;font-size:var(--fs-base)}.empty-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:var(--s-2)}.pin-empty{display:flex;align-items:center;gap:var(--s-5);padding:var(--s-5);border-style:dashed;border-color:var(--line-strong);background:var(--surface-2)}.pin-empty-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r-lg);background:var(--surface);color:var(--text-3);border:1px solid var(--line);flex-shrink:0}.pin-empty-icon svg{width:20px;height:20px;stroke-width:1.75}.pin-empty-body{flex:1;min-width:0;font-size:var(--fs-base);color:var(--text-2)}.pin-empty-body strong{color:var(--text);font-size:var(--fs-md);font-weight:600}.pin-empty-body ol{margin:6px 0 0;padding-left:18px;line-height:1.7}.pin-empty-body li::marker{color:var(--text-4);font-variant-numeric:tabular-nums}.table-card{padding:0;overflow:hidden;min-width:0}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap;padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line)}.table-title{min-width:0}.table-actions{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.search{display:flex;align-items:center;gap:6px;height:30px;padding:0 var(--s-2) 0 10px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface);color:var(--text-3);transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.search:focus-within{border-color:var(--accent-text);box-shadow:var(--ring)}.search input{width:190px;min-width:0;border:0;outline:0;background:transparent;font-size:var(--fs-sm);color:var(--text)}.search input::placeholder{color:var(--text-4)}.search input::-webkit-search-cancel-button{display:none}.search-clear{display:grid;place-items:center;width:20px;height:20px;border:0;border-radius:var(--r-xs);background:transparent;color:var(--text-3)}.search-clear:hover{background:var(--sunken)}.table-scroll{max-height:560px;overflow:auto}.table-scroll:focus-visible{outline-offset:-2px}.data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-base)}.data-table th{position:sticky;top:0;z-index:2;background:var(--surface-2);box-shadow:inset 0 -1px 0 var(--line-strong);padding:0;text-align:left;white-space:nowrap}.th-btn{display:flex;align-items:center;gap:5px;width:100%;padding:9px 14px;border:0;background:transparent;font-size:var(--fs-xs);font-weight:550;color:var(--text-3);white-space:nowrap;letter-spacing:.01em}.th-btn svg{color:var(--text-4);opacity:0;flex-shrink:0;transition:opacity var(--t-fast) var(--ease)}.th-btn:hover{color:var(--text)}.th-btn:hover svg,.th-btn:focus-visible svg{opacity:1}.th-btn.active{color:var(--text)}.th-btn.active svg{color:var(--accent-text);opacity:1}.th-btn:focus-visible{outline-offset:-3px}th.num .th-btn{justify-content:flex-end}.data-table td{padding:9px 14px;border-bottom:1px solid var(--line-soft);white-space:nowrap;background:var(--surface);color:var(--text)}.data-table tbody tr{transition:background-color var(--t-fast) var(--ease)}.data-table tbody tr:hover td{background:var(--surface-2)}.data-table tbody tr:last-child td{border-bottom:0}.data-table td.num{text-align:right;font-variant-numeric:tabular-nums}.data-table td.neg{color:var(--bad);font-weight:550}.data-table td.muted{color:var(--text-3)}.sticky-col{position:sticky;left:0;z-index:1}th.sticky-col{z-index:3}.supplier-cell{max-width:320px;overflow:hidden;text-overflow:ellipsis;font-weight:500;color:var(--text);box-shadow:inset -1px 0 0 var(--line-soft)}.table-empty{text-align:center;color:var(--text-3);padding:var(--s-8) 14px!important;white-space:normal!important}.comp{display:flex;align-items:center;gap:10px;min-width:150px}.comp-bar{flex:1;height:4px;border-radius:var(--r-full);background:var(--sunken);overflow:hidden;min-width:70px;box-shadow:inset 0 0 0 1px var(--line-soft)}.comp-bar span{display:block;height:100%;border-radius:inherit;background:var(--text-4)}.comp-bar.ok span{background:var(--bar-ok)}.comp-bar.warn span{background:var(--bar-warn)}.comp-bar.bad span{background:var(--bar-bad)}.comp-val{width:52px;text-align:right;font-weight:550;font-variant-numeric:tabular-nums;font-size:var(--fs-sm)}.comp-val.ok{color:var(--ok)}.comp-val.warn{color:var(--warn)}.comp-val.bad{color:var(--bad)}.guide{flex:1;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain}.guide-inner{max-width:1200px;margin:0 auto;padding:clamp(24px,4vw,40px) var(--pad-r) calc(var(--s-16) + var(--safe-b)) var(--pad-l)}.guide .muted{color:var(--text-3);font-weight:400}.guide code{font:.88em/1.4 var(--mono);overflow-wrap:anywhere}.guide-hero{padding:0 0 var(--s-8);border-bottom:1px solid var(--line)}.guide-hero .eyebrow{display:inline-flex;align-items:center}.guide-hero .eyebrow:before{content:"";display:inline-block;width:38px;height:3px;margin-right:var(--s-2);border-radius:1px;background:linear-gradient(90deg,var(--tick-1) 0 8px,transparent 8px 10px,var(--tick-2) 10px 18px,transparent 18px 20px,var(--tick-3) 20px 28px,transparent 28px 30px,var(--tick-4) 30px 38px)}.guide-hero h1{font-size:clamp(24px,2vw + 16px,30px);text-wrap:balance;font-weight:650;letter-spacing:-.028em;color:var(--text);margin-top:var(--s-4);line-height:1.15;max-width:24ch}.guide-hero-sub{color:var(--text-2);font-size:var(--fs-md);line-height:1.65;margin-top:var(--s-3);max-width:64ch}.guide-tags{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-5)}.guide-tag{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:var(--r-full);background:var(--surface);border:1px solid var(--line);color:var(--text-2);font-size:var(--fs-xs);font-weight:500}.guide-tag svg{color:var(--text-3);width:13px;height:13px}.guide-layout{display:grid;grid-template-columns:216px minmax(0,1fr);gap:var(--s-12);margin-top:var(--s-10);align-items:start}.guide-toc{position:sticky;top:var(--s-6);display:flex;flex-direction:column;gap:var(--s-3)}.guide-toc .eyebrow{padding-left:var(--s-3)}.guide-toc ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px;border-left:1px solid var(--line)}.guide-toc-link{display:flex;align-items:center;gap:9px;width:100%;margin-left:-1px;padding:6px var(--s-3);border:0;border-left:1px solid transparent;border-radius:0 var(--r-sm) var(--r-sm) 0;background:transparent;text-align:left;color:var(--text-3);font-size:var(--fs-sm);font-weight:500;transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}.guide-toc-link svg{color:var(--text-4);flex-shrink:0;width:14px;height:14px}.guide-toc-link:hover{color:var(--text)}.guide-toc-link.active{border-left-color:var(--accent-text);color:var(--text);font-weight:600}.guide-toc-link.active svg{color:var(--accent-text)}.guide-toc-link:focus-visible{outline-offset:-2px}.guide-content{display:flex;flex-direction:column;gap:var(--s-16);min-width:0}.guide-section{display:flex;flex-direction:column;gap:var(--s-4);min-width:0;scroll-margin-top:var(--s-6)}.guide-section-head{display:flex;align-items:flex-start;gap:var(--s-3);margin-bottom:var(--s-1)}.guide-section-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:var(--r-md);margin-top:1px;background:var(--accent-soft);color:var(--accent-text);flex-shrink:0}.guide-section-icon svg{width:16px;height:16px;stroke-width:1.75}.guide-section h2{font-size:var(--fs-xl);font-weight:650;letter-spacing:-.018em;color:var(--text);line-height:1.3;margin-top:2px}.guide-section h2:focus{outline:none}.guide-lead{color:var(--text-2);font-size:var(--fs-md);line-height:1.6;margin-top:6px;max-width:70ch}.guide-h3{font-size:var(--fs-md);font-weight:600;color:var(--text);margin:var(--s-4) 0 -6px;letter-spacing:-.005em}.guide-p{color:var(--text-2);font-size:var(--fs-base);line-height:1.65;max-width:75ch}.guide-p strong{color:var(--text);font-weight:600}.kpi-icon{display:grid;place-items:center;width:24px;height:24px;border-radius:var(--r-sm);flex-shrink:0;background:var(--sunken);color:var(--text-3);border:1px solid var(--line-soft)}.kpi-icon svg{width:13px;height:13px;stroke-width:1.75}.guide-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.guide-stat{padding:var(--s-4) var(--s-5);min-width:0;border:0;border-radius:0;background:transparent;box-shadow:inset -1px 0 0 var(--line-soft),inset 0 -1px 0 var(--line-soft)}.guide-stat-top{display:flex;align-items:center;gap:var(--s-2)}.guide-stat-label{font-size:var(--fs-sm);font-weight:500;color:var(--text-2)}.guide-stat-value{margin-top:10px;font-size:var(--fs-2xl);font-weight:600;letter-spacing:-.025em;color:var(--text);font-variant-numeric:tabular-nums;line-height:1.2;overflow-wrap:anywhere}.guide-stat-note{margin-top:4px;font-size:var(--fs-xs);color:var(--text-3);line-height:1.45}.guide-cycles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,168px),1fr));gap:var(--s-3)}.guide-cycle{padding:var(--s-4);min-width:0;display:flex;flex-direction:column;gap:10px}.guide-cycle.empty{background:var(--surface-2);border-style:dashed;border-color:var(--line-strong)}.guide-cycle-head{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.guide-cycle-year{font-size:var(--fs-xl);font-weight:650;color:var(--text);letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums}.guide-cycle-meta{font-size:var(--fs-xs);color:var(--text-3)}.guide-cycle-types{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.guide-cycle-types li{display:flex;flex-direction:column;padding:var(--s-2) 0;border-top:1px solid var(--line-soft)}.guide-type{font-size:var(--fs-2xs);font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-3)}.guide-qty{font-size:var(--fs-md);font-weight:600;color:var(--text);font-variant-numeric:tabular-nums;margin-top:2px}.guide-unit{font-size:var(--fs-xs);font-weight:550;color:var(--text-3);text-decoration:none}.guide-type-sub{font-size:var(--fs-xs);color:var(--text-3);margin-top:1px}.guide-cycle-empty{font-size:var(--fs-sm);color:var(--text-2);line-height:1.5}.guide-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3);align-items:stretch}.guide-grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:var(--s-3)}.guide-mini{padding:var(--s-4) var(--s-5);min-width:0}.guide-mini-title{display:flex;align-items:center;gap:7px;font-size:var(--fs-base);font-weight:600;color:var(--text);margin-bottom:var(--s-2)}.guide-mini-title svg{color:var(--text-3)}.guide-kv{list-style:none;margin:0;padding:0}.guide-kv li{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px solid var(--line-soft);font-size:var(--fs-sm);color:var(--text)}.guide-kv li:first-child{border-top:0}.guide-kv-val{color:var(--text-2);text-align:right;font-variant-numeric:tabular-nums}.guide-kv-val b{color:var(--accent-text);font-weight:600}.guide-gens{margin-top:var(--s-1)}.guide-gens .chip{font-variant-numeric:tabular-nums}.guide-mini-note{font-size:var(--fs-xs);color:var(--text-3);margin-top:10px}.guide-card{padding:var(--s-5);min-width:0}.guide-card-title{display:flex;align-items:center;gap:var(--s-2);font-size:var(--fs-md);font-weight:600;color:var(--text);margin-bottom:10px;line-height:1.35;letter-spacing:-.005em}.guide-card-title svg{color:var(--text-3);flex-shrink:0;width:15px;height:15px}.guide-list{margin:0;padding-left:18px;color:var(--text-2);font-size:var(--fs-base);line-height:1.65}.guide-list li{margin:var(--s-1) 0}.guide-list li::marker{color:var(--text-4)}.guide-list strong{color:var(--text);font-weight:600}.guide-flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-3)}.guide-flow li{position:relative;padding:var(--s-4);min-width:0}.guide-flow li:not(:last-child):after{content:"";position:absolute;right:-9px;top:26px;z-index:1;width:6px;height:6px;border-top:1.5px solid var(--text-4);border-right:1.5px solid var(--text-4);transform:rotate(45deg)}.guide-flow-n{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--line-strong);color:var(--text-2);font:600 var(--fs-xs)/1 var(--font);font-variant-numeric:tabular-nums}.guide-flow strong{display:block;margin:var(--s-3) 0 4px;font-size:var(--fs-md);font-weight:600;color:var(--text)}.guide-flow p{font-size:var(--fs-sm);color:var(--text-2);line-height:1.6}.guide-rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3)}.guide-rule{padding:var(--s-4) var(--s-5);min-width:0}.guide-rule.wide{grid-column:1 / -1}.guide-rule p{font-size:var(--fs-base);color:var(--text-2);line-height:1.6}.guide-rule.warn{background:var(--warn-soft);border-color:var(--warn-line)}.guide-rule.warn .guide-card-title,.guide-rule.warn .guide-card-title svg{color:var(--warn)}.guide-units{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.guide-units span{display:inline-flex;gap:6px;align-items:center;height:24px;padding:0 10px;border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent-text);font-size:var(--fs-xs);font-weight:600}.guide-units b{color:var(--text);font-weight:550}.guide-formula{margin-bottom:var(--s-2);padding:var(--s-2) var(--s-3);border-radius:var(--r-md);background:var(--code-bg);border:1px solid var(--code-line);color:var(--code-text)!important;font:500 var(--fs-sm)/1.5 var(--mono)!important}.guide-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3)}.guide-two>div{padding:var(--s-3) 14px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line-soft);font-size:var(--fs-base);color:var(--text)}.guide-two p{margin-top:4px}.guide-tables{padding:0;overflow:hidden}.guide-tables-head,.guide-tables li{display:grid;grid-template-columns:minmax(0,250px) minmax(0,1fr) 84px;gap:var(--s-4);align-items:baseline;padding:10px var(--s-5)}.guide-tables-head{background:var(--surface-2);border-bottom:1px solid var(--line-strong);font-size:var(--fs-xs);font-weight:550;color:var(--text-3)}.guide-tables-head span:last-child{text-align:right}.guide-tables ul{list-style:none;margin:0;padding:0}.guide-tables li{border-top:1px solid var(--line-soft)}.guide-tables li:first-child{border-top:0}.guide-tname{justify-self:start;padding:1px 6px;border-radius:var(--r-xs);background:var(--sunken);border:1px solid var(--line-soft);color:var(--text);font-weight:500}.guide-tdesc{font-size:var(--fs-sm);color:var(--text-2);line-height:1.55}.guide-trows{justify-self:end;font-size:var(--fs-base);font-weight:550;color:var(--text);font-variant-numeric:tabular-nums}.guide-fn{padding:var(--s-4) var(--s-5);min-width:0;display:flex;flex-direction:column}.guide-fn-head{display:flex;align-items:center;gap:var(--s-2);color:var(--text);font-size:var(--fs-md)}.guide-fn-head strong{font-weight:600}.guide-fn-head svg{color:var(--text-3);flex-shrink:0}.guide-badge{margin-left:auto;height:20px;display:inline-flex;align-items:center;padding:0 var(--s-2);border-radius:var(--r-full);background:var(--warn-soft);color:var(--warn);border:1px solid var(--warn-line);font-size:var(--fs-2xs);font-weight:600;white-space:nowrap}.guide-sig{margin:var(--s-3) 0;padding:var(--s-3) 14px;border-radius:var(--r-md);background:var(--code-bg);color:var(--code-text);border:1px solid var(--code-line);overflow-x:auto}.guide-sig code{font-size:12px;line-height:1.65;overflow-wrap:normal;white-space:pre}.guide-fn p{font-size:var(--fs-sm);color:var(--text-2);line-height:1.6}.guide-families{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-3)}.guide-family{padding:var(--s-4);min-width:0;display:flex;flex-direction:column}.guide-family-head{display:flex;gap:10px;align-items:flex-start}.guide-family h3{font-size:var(--fs-base);font-weight:600;color:var(--text);line-height:1.4}.guide-family-sub{font-size:var(--fs-xs);color:var(--text-3);margin-top:2px;line-height:1.45}.guide-family-sub code{font-size:10.5px}.guide-asks{display:flex;flex-direction:column;gap:2px;margin-top:var(--s-3)}.guide-ask{display:flex;align-items:flex-start;gap:9px;width:100%;padding:var(--s-2) 10px;border:1px solid transparent;border-radius:var(--r-md);background:transparent;text-align:left;font-size:var(--fs-sm);line-height:1.5;color:var(--text-2);transition:border-color var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.guide-ask>svg:first-child{color:var(--text-4);flex-shrink:0;margin-top:3px}.guide-ask>span:not(.sr-only){flex:1;min-width:0}.guide-ask-go{flex-shrink:0;margin-top:3px;color:var(--accent-text);opacity:0;transform:translate(-3px);transition:opacity var(--t) var(--ease),transform var(--t) var(--ease)}.guide-ask:hover{background:var(--sunken);color:var(--text)}.guide-ask:hover>svg:first-child{color:var(--accent-text)}.guide-ask:hover .guide-ask-go,.guide-ask:focus-visible .guide-ask-go{opacity:1;transform:none}.guide-ask-more{margin-top:2px}.guide-cant{list-style:none;margin:0;padding:0}.guide-cant li{padding:10px 0;border-top:1px solid var(--line-soft);font-size:var(--fs-base);color:var(--text-2);line-height:1.6}.guide-cant li:first-child{border-top:0;padding-top:0}.guide-cant strong{color:var(--text);font-weight:600}.guide-cant code{padding:0 5px;border-radius:var(--r-xs);background:var(--sunken);border:1px solid var(--line-soft);color:var(--text);font-size:11.5px}.guide-steps{list-style:none;margin:0;padding:0;counter-reset:gstep;display:flex;flex-direction:column;gap:2px}.guide-steps li{position:relative;padding:var(--s-2) 0 var(--s-3) 38px;font-size:var(--fs-base);color:var(--text-2);line-height:1.6;counter-increment:gstep}.guide-steps li:before{content:counter(gstep);position:absolute;left:0;top:8px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--surface);border:1px solid var(--line-strong);color:var(--text-2);font-size:var(--fs-xs);font-weight:600;font-variant-numeric:tabular-nums}.guide-steps li:not(:last-child):after{content:"";position:absolute;left:11.5px;top:34px;bottom:-6px;width:1px;background:var(--line)}.guide-steps strong{color:var(--text);font-weight:600}.guide-trust{display:flex;flex-direction:column;gap:var(--s-3);min-width:0}.guide-eval{display:flex;gap:14px;padding:var(--s-4) var(--s-5);background:var(--ok-soft);border-color:var(--ok-line)}.guide-eval>svg{color:var(--ok);flex-shrink:0;width:20px;height:20px}.guide-eval strong{font-size:var(--fs-md);font-weight:600;color:var(--text)}.guide-eval p{font-size:var(--fs-base);color:var(--text-2);line-height:1.6;margin-top:4px}.guide-caveat{display:flex;gap:var(--s-3);padding:14px var(--s-5);background:var(--warn-soft);border-color:var(--warn-line);font-size:var(--fs-base);color:var(--text-2);line-height:1.6}.guide-caveat>svg{color:var(--warn);flex-shrink:0;margin-top:2px}.guide-caveat strong{color:var(--text)}.guide-glossary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--s-8);margin:0;padding:var(--s-1) var(--s-5)}.guide-glossary>div{padding:14px 0;border-bottom:1px solid var(--line-soft);min-width:0}.guide-glossary dt{font-size:var(--fs-base);font-weight:600;color:var(--text)}.guide-glossary dd{margin:3px 0 0;font-size:var(--fs-base);color:var(--text-2);line-height:1.6}.guide-cov .guide-tables-head,.guide-cov li{grid-template-columns:minmax(0,300px) minmax(0,1fr) 84px;align-items:center}.guide-cov li.is-empty{background:var(--surface-2)}.guide-role{display:inline-flex;align-items:center;height:20px;padding:0 var(--s-2);border-radius:var(--r-full);font-size:var(--fs-2xs);font-weight:600;white-space:nowrap}.guide-role.focus{background:var(--accent-soft);color:var(--accent-text);border:1px solid var(--accent-soft-2)}.guide-role.lookup{background:var(--sunken);color:var(--text-2);border:1px solid var(--line)}.guide-role.gap{background:var(--warn-soft);color:var(--warn);border:1px solid var(--warn-line)}.guide-role.other{background:transparent;color:var(--text-3);border:1px solid var(--line)}.guide-ext{align-self:flex-start;margin-top:var(--s-3);text-decoration:none}.auth-screen{min-height:100%;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-5);background:var(--bg);padding:max(var(--s-6),var(--safe-t)) var(--pad-r) max(var(--s-6),var(--safe-b)) var(--pad-l);background-image:radial-gradient(120% 60% at 50% 0%,var(--accent-soft) 0%,transparent 60%)}.auth-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(24px,6vw,36px) clamp(20px,6vw,32px);box-shadow:var(--shadow-pop);display:flex;flex-direction:column;gap:var(--s-4);animation:rise var(--t-slow) var(--ease-out-quart) both}.auth-logo{height:34px;width:auto;align-self:flex-start}.auth-head{display:flex;flex-direction:column;gap:var(--s-2);margin-top:var(--s-2)}.auth-eyebrow{display:inline-flex;align-items:center}.auth-card h1{font-size:clamp(20px,1.2vw + 16px,23px);font-weight:650;letter-spacing:-.018em;line-height:var(--lh-tight);color:var(--text)}.auth-lead{color:var(--text-2);font-size:var(--fs-base);line-height:var(--lh-snug)}.auth-field{display:flex;flex-direction:column;gap:6px;margin-top:var(--s-1)}.auth-field label{font-size:var(--fs-sm);font-weight:550;color:var(--text-2)}.auth-card input{height:var(--tap);border:1px solid var(--line-strong);border-radius:var(--r-md);padding:0 var(--s-3);font-size:16px;background:var(--surface);color:var(--text);transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.auth-card input:hover{border-color:var(--text-4)}.auth-card input:focus{outline:none;border-color:var(--accent-text);box-shadow:var(--ring)}.auth-card input[aria-invalid=true]{border-color:var(--bad-line)}.auth-submit{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);height:var(--tap);border:0;border-radius:var(--r-md);background:var(--accent);color:var(--on-accent);font-weight:600;font-size:var(--fs-md);box-shadow:var(--shadow-1),inset 0 1px #ffffff14;transition:background-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease),opacity var(--t-fast) var(--ease)}.auth-submit:hover:not(:disabled){background:var(--accent-hover)}.auth-submit:active:not(:disabled){transform:scale(.985)}.auth-submit:disabled{opacity:.5}.auth-submit[aria-busy=true]{opacity:.85}.spinner-on-accent{border-color:color-mix(in srgb,var(--on-accent) 35%,transparent);border-top-color:var(--on-accent)}.auth-foot{color:var(--text-3);font-size:var(--fs-xs);line-height:var(--lh-snug);padding-top:var(--s-3);border-top:1px solid var(--line-soft)}.auth-error{color:var(--bad);background:var(--bad-soft);border:1px solid var(--bad-line);border-radius:var(--r-md);padding:var(--s-2) var(--s-3);font-size:var(--fs-sm);animation:rise var(--t) var(--ease-out-quart) both}.auth-credit{font-size:var(--fs-xs);color:var(--text-3)}@media (max-width: 1280px){.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi-strip{grid-column:1 / -1;flex-direction:row;padding:0 var(--s-1)}.kpi-row{border-top:0;border-left:1px solid var(--line-soft);padding:var(--s-3) var(--s-4)}.kpi-row:first-child{border-left:0}.toolbar-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.header-right .powered{display:none}}@media (max-width: 1180px){.guide-families{grid-template-columns:minmax(0,1fr)}.guide-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-flow li:nth-child(2):after{display:none}.engine-chip .engine-text{max-width:0}.engine-chip{padding:0;width:28px;justify-content:center;gap:0}.disclaimer-powered{display:inline}.disclaimer-powered:before{content:" · "}}@media (max-width: 1100px){.header{grid-template-columns:auto 1fr auto}.menu-btn{display:inline-grid}.grid-perf,.grid-2{grid-template-columns:minmax(0,1fr)}}@media (max-width: 960px){.guide-layout{grid-template-columns:minmax(0,1fr);gap:var(--s-6);margin-top:var(--s-6)}.guide-toc{position:static}.guide-toc .eyebrow{padding-left:0}.guide-toc ul{flex-direction:row;flex-wrap:wrap;gap:6px;border-left:0}.guide-toc-link{width:auto;margin-left:0;padding:0 10px;height:28px;border:1px solid var(--line);border-radius:var(--r-full);background:var(--surface);font-size:var(--fs-xs)}.guide-toc-link.active{border-color:var(--accent-soft-2);background:var(--accent-soft);color:var(--accent-text)}.guide-grid-2,.guide-rules,.guide-two{grid-template-columns:minmax(0,1fr)}.guide-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 860px){.header{min-height:0;padding:calc(8px + var(--safe-t)) max(var(--s-3),var(--safe-r)) 10px max(var(--s-4),var(--safe-l));row-gap:8px;column-gap:var(--s-2);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand right" "switch switch"}.engine-chip{display:none}.brand{grid-area:brand;gap:10px}.header-right{grid-area:right;gap:6px}.header-center{grid-area:switch}.header-center .switch{flex:1}.switch{width:100%}.switch-tab{min-width:0}.brand-logo{height:22px}.brand-divider{height:18px}.brand-sub{display:none}.health{padding:0;width:36px;height:36px;justify-content:center;border-color:transparent;background:transparent}.health.down{background:var(--bad-soft);border-color:var(--bad-line)}.health-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.toolbar{top:0}.toolbar-title{display:none}.toolbar-toggle{display:inline-flex}.toolbar-fields{display:none;grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar.open .toolbar-fields{display:grid}.toolbar.open{position:relative;top:auto}.toolbar-head{flex-wrap:wrap}.active-chips{order:3;flex-basis:100%}.reset-btn{margin-left:auto}.pin-empty{flex-direction:column;align-items:flex-start}}@media (max-width: 640px){.messages{padding-top:var(--s-5)}.composer-wrap{padding-top:6px;padding-bottom:max(var(--s-3),var(--safe-b));padding-left:max(var(--s-3),var(--safe-l));padding-right:max(var(--s-3),var(--safe-r))}.composer{padding-left:14px}.disclaimer{margin-top:6px}.disclaimer-keys{display:none}.engine-bar{align-items:stretch}.engine-bar .switch{width:100%}.engine-hint{height:auto;min-height:16px;white-space:normal;text-overflow:clip;text-wrap:pretty}.dash-inner{gap:var(--s-5)}.dash-body{gap:var(--s-8)}.dash-top h2{font-size:var(--fs-xl)}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-2)}.kpi{padding:14px var(--s-3) var(--s-3)}.kpi:nth-child(3){grid-column:1 / -1}.kpi-num{font-size:22px}.kpi-note{display:none}.kpi-strip{flex-direction:column;padding:0 var(--s-4)}.kpi-row{border-left:0;border-top:1px solid var(--line-soft);padding:10px 0;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--s-3)}.kpi-row:first-child{border-top:0}.kpi-row dd{margin:0}.kpi-row .kpi-num{font-size:var(--fs-lg)}.kpi-row-meta{display:none}.toolbar-fields{grid-template-columns:minmax(0,1fr)}.toolbar{padding:var(--s-2);gap:var(--s-2);border-radius:var(--r-lg)}.toolbar-head{flex-wrap:nowrap;gap:var(--s-2)}.active-chips{order:0;flex:1 1 auto;flex-basis:auto;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain;mask-image:linear-gradient(90deg,#000 calc(100% - 16px),transparent);-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 16px),transparent)}.active-chips::-webkit-scrollbar{display:none}.active-chips .chip{flex-shrink:0}.reset-btn{margin-left:0;padding:0 var(--s-2)}.toolbar.open .toolbar-fields{padding:var(--s-1) var(--s-1) var(--s-2)}.welcome{padding-top:var(--s-4)}.welcome h1{font-size:var(--fs-2xl)}.welcome-suggest{margin-top:var(--s-8)}.welcome-grid{grid-template-columns:minmax(0,1fr)}.sample-card:nth-child(odd){box-shadow:inset 0 -1px 0 var(--line-soft)}.sample-go{opacity:1;transform:none}.msg-user{max-width:88%}.send span{display:none}.send{width:36px;padding:0;justify-content:center}.table-actions{width:100%}.data-table td.supplier-cell{max-width:150px;font-size:var(--fs-sm)}.search{flex:1}.search input{width:100%}.chart-card{padding:14px var(--s-3) 10px}.chart-head{flex-wrap:wrap}.tool-body{padding-left:var(--s-3)}.guide-hero{padding-bottom:var(--s-6)}.guide-hero h1{font-size:var(--fs-2xl)}.guide-hero-sub{font-size:var(--fs-base)}.guide-content{gap:var(--s-12)}.guide-section h2{font-size:var(--fs-lg)}.guide-stat-value{font-size:var(--fs-xl)}.guide-stat{padding:14px var(--s-3)}.guide-flow{grid-template-columns:minmax(0,1fr)}.guide-flow li:after{display:none}.guide-tables-head{display:none}.guide-tables li,.guide-cov li{grid-template-columns:minmax(0,1fr) auto;row-gap:4px;padding:var(--s-3) 14px}.guide-tdesc{grid-column:1 / -1;grid-row:2}.guide-trows{grid-column:2;grid-row:1}.guide-glossary{grid-template-columns:minmax(0,1fr);padding:var(--s-1) var(--s-4)}.guide-card,.guide-rule,.guide-mini,.guide-fn{padding:var(--s-4)}}@media (max-width: 520px){.guide-link{width:36px;padding:0;justify-content:center}.guide-link span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}@media (max-width: 480px){.brand-name-tail{display:none}}@media (max-width: 430px){.brand-logo{height:20px}.brand{gap:var(--s-2)}.brand-name{font-size:var(--fs-sm)}}@media (max-width: 340px){.brand-logo{display:none}.brand-mark{display:block;height:22px}.brand-divider{display:none}}@media (pointer: coarse){.icon-btn,.health{width:var(--tap);height:var(--tap)}.header .icon-btn,.header .health{width:40px;height:40px}.guide-link{height:40px}.guide-link{min-width:var(--tap)}.switch-tab{height:38px}.switch-sm .switch-tab{height:38px;font-size:var(--fs-base)}.btn{min-height:40px}.btn-sm{min-height:36px}.send{height:40px;min-width:40px;border-radius:12px}.sample,.sample-card,.tool-head{min-height:var(--tap)}.th-btn{min-height:40px}.chip button{position:relative}.chip button:after{content:"";position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px}.combo-control,.field select{height:var(--tap)}.combo-clear{width:32px;height:32px}.search{height:40px}.search-clear{width:32px;height:32px}.toolbar-toggle{height:40px}.conv-main,.conv-rename{height:var(--tap)}.conv-more{opacity:1;width:36px;height:36px}.side-search{height:40px}.side-search input{font-size:16px}.conv-menu button,.foot-pop>button{height:var(--tap)}.composer textarea,.combo-control input,.search input,.field select,.auth-card input{font-size:16px}.sample-go,.guide-ask-go{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.skel{animation:none}::view-transition-old(root),::view-transition-new(root){animation:none!important}}.md td:not(.num){min-width:14ch}.md table{width:max-content;min-width:100%}
