:root{--font-ui:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--r-xs:4px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-1:.12s;--dur-2:.22s;--dur-3:.42s;--node-w:248px;--node-w-expanded:452px;--atlas-w:224px}:root,:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#090b0f;--bg-vignette:radial-gradient(1200px 800px at 50% 40%, #8b8cff0d, transparent 70%);--grid-dot:#94a3b821;--grid-dot-major:#94a3b838;--surface:#10131a;--surface-2:#151922;--surface-3:#1b202b;--surface-4:#232937;--surface-glass:#10131ac7;--surface-sunken:#0c0e13;--border:#94a3b821;--border-2:#94a3b838;--border-3:#94a3b85c;--text:#e7eaf0;--text-2:#a6afbd;--text-3:#6d7688;--text-4:#4a5160;--text-inverse:#0a0c10;--focus:#8b8cff;--select:#8b8cff;--ok:#34d399;--warn:#fbbf24;--err:#f87171;--info:#7dd3fc;--fw-langchain:#2dd4bf;--fw-langgraph:#8b8cff;--fw-deepagents:#f5b455;--fw-langchain-soft:#2dd4bf1f;--fw-langgraph-soft:#8b8cff21;--fw-deepagents-soft:#f5b4551f;--shadow-1:0 1px 0 #ffffff08 inset, 0 1px 2px #0006, 0 6px 18px -6px #0000008c;--shadow-2:0 1px 0 #ffffff0a inset, 0 12px 40px -8px #000000b3, 0 2px 6px #0006;--shadow-3:0 30px 80px -20px #000c, 0 0 0 1px #94a3b81f;--t-Model:#b69cff;--t-Tool:#fb923c;--t-Middleware:#f472b6;--t-Prompt:#fde68a;--t-Schema:#93c5fd;--t-Messages:#e2e8f0;--t-Flow:#7dd3fc;--t-Graph:#8b8cff;--t-Runnable:#a5b4fc;--t-SubAgent:#fbbf24;--t-Checkpointer:#34d399;--t-Store:#10b981;--t-Cache:#6ee7b7;--t-Policy:#94a3b8;--t-Backend:#e59a4c;--t-Skill:#fcd34d;--t-Memory:#fca5a5;--t-Documents:#c4b5fd;--t-Embeddings:#67e8f9;--t-VectorStore:#22d3ee;--t-Retriever:#2dd4bf;--t-Parser:#cbd5e1;--tok-human:#e7eaf0;--tok-ai:#b69cff;--tok-tool:#fb923c;--tok-command:#f472b6;--tok-send:#7dd3fc;--tok-system:#fde68a}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3f2ee;--bg-vignette:radial-gradient(1200px 800px at 50% 40%, #5b5bd60d, transparent 70%);--grid-dot:#33415529;--grid-dot-major:#33415547;--surface:#fff;--surface-2:#fafaf8;--surface-3:#f1f1ee;--surface-4:#e7e7e2;--surface-glass:#ffffffd1;--surface-sunken:#efeee9;--border:#1e293b1a;--border-2:#1e293b2b;--border-3:#1e293b4d;--text:#151922;--text-2:#4b5363;--text-3:#7d8594;--text-4:#a8aebb;--text-inverse:#fff;--focus:#5b5bd6;--select:#5b5bd6;--ok:#0f9d6e;--warn:#b7791f;--err:#d64545;--info:#0284c7;--fw-langchain:#0e9f8e;--fw-langgraph:#5b5bd6;--fw-deepagents:#c47a12;--fw-langchain-soft:#0e9f8e1a;--fw-langgraph-soft:#5b5bd61a;--fw-deepagents-soft:#c47a121a;--shadow-1:0 1px 2px #0f172a0f, 0 4px 14px -6px #0f172a1f;--shadow-2:0 10px 34px -10px #0f172a38, 0 2px 6px #0f172a0f;--shadow-3:0 30px 80px -24px #0f172a59, 0 0 0 1px #0f172a14;--t-Model:#7c5ce6;--t-Tool:#e0701a;--t-Middleware:#d6408e;--t-Prompt:#b8900b;--t-Schema:#3b82f6;--t-Messages:#64748b;--t-Flow:#0891b2;--t-Graph:#5b5bd6;--t-Runnable:#6366f1;--t-SubAgent:#c98a06;--t-Checkpointer:#0f9d6e;--t-Store:#047857;--t-Cache:#10b981;--t-Policy:#64748b;--t-Backend:#b45309;--t-Skill:#a16207;--t-Memory:#dc5a5a;--t-Documents:#7c3aed;--t-Embeddings:#0891b2;--t-Retriever:#0e9f8e;--t-VectorStore:#0e7490;--t-Parser:#64748b;--tok-human:#334155;--tok-ai:#7c5ce6;--tok-tool:#e0701a;--tok-command:#d6408e;--tok-send:#0891b2;--tok-system:#b8900b}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}html:has(dialog[open]){overflow:hidden}body{background:var(--bg-vignette), var(--bg);min-height:100vh;color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11", "ss01", "ss03";text-rendering:optimizelegibility;background-attachment:fixed;margin:0;font-size:15px;line-height:1.6;overflow-x:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}input{font:inherit;color:inherit}button:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus);outline-offset:2px}code,kbd,pre,.mono{font-family:var(--font-mono);font-size:.92em}kbd{border:1px solid var(--border-2);background:var(--surface-3);min-width:18px;height:18px;color:var(--text-2);border-bottom-width:2px;border-radius:4px;justify-content:center;align-items:center;padding:0 5px;font-size:10.5px;line-height:1;display:inline-flex}.ico{flex:none;display:block}::selection{background:color-mix(in srgb, var(--focus) 35%, transparent)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important}}.fw-langchain{--fw:var(--fw-langchain);--fw-soft:var(--fw-langchain-soft)}.fw-langgraph{--fw:var(--fw-langgraph);--fw-soft:var(--fw-langgraph-soft)}.fw-deepagents{--fw:var(--fw-deepagents);--fw-soft:var(--fw-deepagents-soft)}.page{max-width:1180px;margin:0 auto;padding:0 24px 80px}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin:0 0 6px;font-size:12px;font-weight:600}.muted{color:var(--text-3)}.small{font-size:13px}.topbar{z-index:20;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.4);border-bottom:1px solid var(--border);position:sticky;top:0}.topbar__inner{flex-wrap:wrap;align-items:center;gap:14px;max-width:1180px;margin:0 auto;padding:10px 24px;display:flex}.brand{color:var(--text);white-space:nowrap;align-items:center;gap:8px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex}.search{border:1px solid var(--border-2);background:var(--surface);min-width:0;height:38px;color:var(--text-3);border-radius:999px;flex:240px;align-items:center;gap:8px;padding:0 12px;display:flex}.search:focus-within{border-color:var(--focus)}.search__input{min-width:0;color:var(--text);background:0 0;border:0;outline:none;flex:1;font-size:14px}.search__input::placeholder{color:var(--text-3)}.fchips{flex-wrap:wrap;gap:6px;display:flex}.fchip{border:1px solid var(--border-2);height:32px;color:var(--text-3);transition:background var(--dur-1), color var(--dur-1), border-color var(--dur-1);border-radius:999px;align-items:center;gap:6px;padding:0 11px;font-size:13px;font-weight:500;display:inline-flex}.fchip i{border:1.5px solid var(--fw);border-radius:50%;width:8px;height:8px}.fchip.is-on{color:var(--text);background:var(--fw-soft);border-color:color-mix(in srgb, var(--fw) 45%, transparent)}.fchip.is-on i{background:var(--fw)}.fchip__n{color:var(--text-3);font-size:11.5px}.jump{gap:4px;display:flex}.jump a{color:var(--text-2);white-space:nowrap;border-radius:8px;padding:6px 9px;font-size:13px;text-decoration:none}.jump a:hover{background:var(--surface-3);color:var(--text)}.iconbtn{width:36px;height:36px;color:var(--text-2);border-radius:10px;place-items:center;display:inline-grid}.iconbtn:hover{background:var(--surface-3);color:var(--text)}.hero{padding:56px 0 24px}.hero h1{letter-spacing:-.02em;text-wrap:balance;margin:0 0 14px;font-size:clamp(28px,4.4vw,44px);line-height:1.15}.hero__lead{max-width:760px;color:var(--text-2);margin:0;font-size:17px}.stats{flex-wrap:wrap;gap:10px;margin:26px 0 22px;display:flex}.stat{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);align-items:baseline;gap:7px;padding:10px 16px;display:flex}.stat__n{font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.stat__l{color:var(--text-3);font-size:14px}.howto{color:var(--text-2);max-width:760px;margin:0;padding-left:20px}.howto li{margin:4px 0}.howto b{color:var(--text);font-weight:600}.block{border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--border);margin-top:28px;padding:28px}.block__title{letter-spacing:-.01em;margin:0 0 8px;font-size:22px}.block__lead{color:var(--text-2);max-width:780px;margin:0 0 20px}.stack{gap:8px;margin-bottom:22px;display:grid}.stack__layer{border-radius:var(--r-lg);border:1px solid var(--border-2);background:var(--surface-2);color:var(--text);transition:border-color var(--dur-1), transform var(--dur-2) var(--ease-out);align-items:flex-start;gap:16px;padding:16px 18px;text-decoration:none;display:flex}.stack__layer:hover{border-color:var(--border-3);transform:translate(3px)}.stack__layer--harness{border-left:4px solid var(--fw-deepagents);margin:0 8%}.stack__layer--orchestration{border-left:4px solid var(--fw-langgraph);margin:0 4%}.stack__layer--foundation{border-left:4px solid var(--fw-langchain)}.stack__num{background:var(--surface-4);border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:14px;font-weight:700;display:grid}.stack__text{gap:3px;display:grid}.stack__name{font-size:16px;font-weight:650}.stack__en{color:var(--text-3);margin-left:8px;font-size:12.5px;font-weight:500}.stack__desc{color:var(--text-2);font-size:14px}.repos{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.repo{border-radius:var(--r-lg);background:var(--fw-soft);border:1px solid color-mix(in srgb, var(--fw) 30%, transparent);padding:16px 18px}.repo__head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.repo__head i{background:var(--fw);border-radius:50%;width:10px;height:10px}.repo__head h3{margin:0;font-size:16px}.repo__dir{color:var(--text-3);font-size:11.5px}.repo__kisa{margin:6px 0 4px;font-weight:600}.repo p{color:var(--text-2);margin:6px 0 0;font-size:14px}.repo .repo__kisa{color:var(--text)}.journey{counter-reset:step;gap:4px;margin:0;padding:0;list-style:none;display:grid}.journey li{counter-increment:step;border-top:1px solid var(--border);padding:12px 0 12px 46px;position:relative}.journey li:first-child{border-top:0}.journey li:before{content:counter(step);background:var(--surface-3);width:30px;height:30px;color:var(--text-2);border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid;position:absolute;top:12px;left:0}.journey p{margin:3px 0 8px}.glossary>summary{cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:12px;list-style:none;display:flex}.glossary>summary::-webkit-details-marker{display:none}.glossary>summary .block__title{margin:0}.glossary>summary .block__title:before{content:"▸ ";color:var(--text-3)}.glossary[open]>summary .block__title:before{content:"▾ "}.glossary__hint{color:var(--text-3);font-size:13px}.glossary dl{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px 28px;margin:18px 0 0;display:grid}.glossary__item dt{font-weight:650}.glossary__item dd{color:var(--text-2);margin:2px 0 0;font-size:14px}.catalog{margin-top:56px}.catalog__head{margin-bottom:8px}.toolbar__count{color:var(--text-2);background:var(--surface-3);border-radius:999px;padding:4px 10px;font-size:13px;display:inline-block}.toolbar__count:empty{display:none}.layer{margin-top:40px;padding-top:8px}.layer__head{border-radius:var(--r-xl);background:var(--surface-2);border:1px solid var(--border);align-items:flex-start;gap:18px;margin-bottom:8px;padding:22px 24px;display:flex}.layer--foundation .layer__head{border-left:4px solid var(--fw-langchain)}.layer--orchestration .layer__head{border-left:4px solid var(--fw-langgraph)}.layer--harness .layer__head{border-left:4px solid var(--fw-deepagents)}.layer__num{background:var(--surface-4);border-radius:50%;flex:none;place-items:center;width:40px;height:40px;font-size:18px;font-weight:700;display:grid}.layer__title{letter-spacing:-.015em;margin:0 0 6px;font-size:28px}.layer__desc,.layer__why{max-width:820px;color:var(--text-2);margin:0 0 6px}.layer__why b{color:var(--text);font-weight:600}.group{border-bottom:1px solid var(--border);padding:26px 0 8px}.group:last-child{border-bottom:0}.group__head{align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.group__icon{background:var(--surface-3);width:38px;height:38px;color:var(--text-2);border-radius:10px;flex:none;place-items:center;display:grid}.group__eyebrow{color:var(--text-3);margin:0;font-size:12px}.group__title{margin:2px 0 4px;font-size:19px}.group__tr{color:var(--text-2);margin-left:10px;font-size:15px;font-weight:500}.group__desc{max-width:820px;color:var(--text-2);margin:0;font-size:14.5px}.grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;display:grid}.card{text-align:left;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--fw);box-shadow:var(--shadow-1);transition:transform var(--dur-2) var(--ease-out), border-color var(--dur-1), background var(--dur-1);flex-direction:column;gap:8px;padding:14px 15px 12px;display:flex}.card:hover{border-color:color-mix(in srgb, var(--fw) 50%, var(--border));background:var(--surface-2);transform:translateY(-2px)}.card.is-inner{border-style:solid dashed dashed}.card[hidden],.group[hidden],.layer[hidden]{display:none}.card__top{align-items:center;gap:8px;min-width:0;display:flex}.card__dot{background:var(--fw);border-radius:50%;flex:none;width:8px;height:8px}.card__name{overflow-wrap:anywhere;font-size:14px;font-weight:600}.card__sum{color:var(--text-2);flex:1;font-size:13.5px;line-height:1.5}.card__foot{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.card__rels{color:var(--text-3);margin-left:auto;font-size:12px}.badge{background:var(--surface-3);height:20px;color:var(--text-2);white-space:nowrap;border-radius:6px;align-items:center;padding:0 7px;font-size:11.5px;font-weight:500;display:inline-flex}.badge--inner{border:1px dashed var(--border-3);background:0 0}.badge--old{background:color-mix(in srgb, var(--warn) 16%, transparent);color:var(--warn)}.badge--req{background:color-mix(in srgb, var(--err) 14%, transparent);color:var(--err)}.empty{text-align:center;color:var(--text-2);border:1px dashed var(--border-2);border-radius:var(--r-lg);margin:40px 0;padding:24px}.foot{color:var(--text-3);text-align:center;margin-top:64px;font-size:13px}.chiprow{flex-wrap:wrap;gap:6px;display:flex}.cchip{background:var(--fw-soft);border:1px solid color-mix(in srgb, var(--fw) 30%, transparent);height:28px;color:var(--text);white-space:nowrap;transition:border-color var(--dur-1), background var(--dur-1);border-radius:8px;align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:500;display:inline-flex}.cchip:hover{border-color:var(--fw);background:color-mix(in srgb, var(--fw) 22%, transparent)}.cchip__dot{background:var(--fw);border-radius:50%;width:7px;height:7px}.cmodal{border:1px solid var(--border-2);border-radius:var(--r-xl);background:var(--surface);width:min(760px,100vw - 32px);max-height:calc(100dvh - 48px);color:var(--text);box-shadow:var(--shadow-3);overscroll-behavior:contain;padding:0;overflow:auto}.cmodal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#05070a99}.cmodal[open]{animation:cmodal-in var(--dur-2) var(--ease-out)}@keyframes cmodal-in{0%{opacity:0;transform:translateY(10px)scale(.985)}}.cmodal__bar{z-index:2;background:color-mix(in srgb, var(--surface-2) 92%, transparent);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:10px 18px 10px 26px;display:flex;position:sticky;top:0}.cmodal__head{border-bottom:1px solid var(--border);background:linear-gradient(to bottom, var(--surface-2), var(--surface));padding:16px 26px 18px}.cmodal__crumb{color:var(--text-3);font-size:13px}.cmodal__back{background:var(--surface-3);color:var(--text-2);border-radius:8px;align-items:center;gap:6px;padding:5px 10px 5px 8px;font-size:13px;display:inline-flex}.cmodal__back .ico{transform:rotate(180deg)}.cmodal__back:hover{color:var(--text);background:var(--surface-4)}.cmodal__close{width:34px;height:34px;color:var(--text-2);border-radius:10px;place-items:center;display:grid}.cmodal__close:hover{background:var(--surface-3);color:var(--text)}.cmodal__meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fwpill{background:var(--fw-soft);border-radius:999px;align-items:center;gap:6px;height:24px;padding:0 9px;font-size:12.5px;font-weight:600;display:inline-flex}.fwpill i{background:var(--fw);border-radius:50%;width:8px;height:8px}.cmodal__pkg{color:var(--text-3);font-size:12px}.cmodal__title{letter-spacing:-.01em;overflow-wrap:anywhere;margin:12px 0 6px;font-size:clamp(22px,3.6vw,30px);font-weight:650}.cmodal__lead{color:var(--text-2);margin:0;font-size:16.5px}.cmodal__body{padding:8px 26px 26px}.csec{padding-top:18px}.csec__title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin:0 0 6px;font-size:13px;font-weight:700}.csec p{margin:0 0 8px}.analogy{border-radius:var(--r-md);background:color-mix(in srgb, var(--info) 10%, transparent);border-left:3px solid var(--info);margin-top:18px;padding:14px 16px}.analogy__label{color:var(--info);margin-bottom:4px;font-size:12px;font-weight:700}.analogy p{margin:0}.note{border-radius:var(--r-md);border:1px dashed var(--border-3);color:var(--text-2);margin:16px 0 0;padding:10px 14px;font-size:14px}.relgroup{border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border);margin-top:14px;padding:12px 14px}.relgroup__title{align-items:center;gap:8px;margin:0;font-size:15px;display:flex}.relgroup__hint{border:1px solid var(--border-3);width:17px;height:17px;color:var(--text-3);cursor:help;border-radius:50%;place-items:center;font-size:11px;display:inline-grid}.relgroup__desc{color:var(--text-3);font-size:13px;margin:2px 0 8px!important}.rellist{gap:8px;margin:0;padding:0;list-style:none;display:grid}.rellist li{align-items:flex-start;gap:10px;display:flex}.rellist .cchip{flex:none}.rellist__text{gap:1px;min-width:0;padding-top:3px;display:grid}.rellist__note{color:var(--text);font-size:13.5px}.rellist__sum{color:var(--text-3);font-size:13px}.ports{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.ports h4{margin:4px 0 8px;font-size:14px}.portlist{gap:6px;margin:0;padding:0;list-style:none;display:grid}.portlist li{flex-wrap:wrap;align-items:center;gap:8px;font-size:13.5px;display:flex}.port__key{background:var(--surface-3);border-radius:5px;padding:1px 6px;font-size:12.5px}.port__type{color:var(--text-2);align-items:center;gap:6px;display:inline-flex}.port__type i{background:var(--t);border-radius:50%;width:8px;height:8px}.tech{border-top:1px solid var(--border);margin-top:22px;padding-top:14px}.tech summary{cursor:pointer;color:var(--text-2);font-size:14px;font-weight:600}.tech__body{color:var(--text-2);margin-top:10px;font-size:13.5px}.tech__body h5{text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin:14px 0 4px;font-size:12px}.techlist{margin:0;padding-left:18px}.techlist li{margin:3px 0}@media (width<=860px){.jump{display:none}}@media (width<=640px){.page{padding:0 16px 60px}.topbar__inner{gap:10px;padding:10px 16px}.search{flex-basis:100%;order:3}.fchips{order:4}.brand{flex:1}.hero{padding-top:32px}.block{padding:20px 16px}.stack__layer--harness,.stack__layer--orchestration{margin:0}.layer__head{gap:12px;padding:18px 16px}.layer__num{width:32px;height:32px;font-size:15px}.layer__title{font-size:23px}.group__tr{margin:2px 0 0;display:block}.grid{grid-template-columns:1fr}.cmodal{border-radius:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0}.cmodal__bar{padding:8px 10px 8px 16px}.cmodal__head{padding:14px 16px 16px}.cmodal__body{padding:4px 16px 24px}.rellist li{flex-direction:column;gap:4px}.rellist__text{padding-top:0}.journey li{padding-left:40px}}.chatbtn{border:1px solid color-mix(in srgb, var(--fw-langgraph) 45%, transparent);background:var(--fw-langgraph-soft);height:36px;color:var(--text);white-space:nowrap;transition:background var(--dur-1), border-color var(--dur-1);border-radius:10px;align-items:center;gap:8px;padding:0 13px 0 11px;font-size:13.5px;font-weight:600;display:inline-flex}.chatbtn:hover{background:color-mix(in srgb, var(--fw-langgraph) 22%, transparent);border-color:var(--fw-langgraph)}.chatbtn__ico{color:var(--fw-langgraph);display:grid}.chatbtn__live{background:var(--ok);border-radius:50%;width:7px;height:7px;animation:2.2s ease-out infinite lab-live}@keyframes lab-live{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--ok) 55%, transparent)}70%,to{box-shadow:0 0 0 7px #0000}}.lab{border:1px solid var(--border-2);border-radius:var(--r-xl);background:var(--bg);width:min(1600px,100vw - 24px);max-width:none;height:calc(100dvh - 24px);max-height:none;color:var(--text);box-shadow:var(--shadow-3);padding:0;overflow:hidden}.lab[open]{animation:cmodal-in var(--dur-2) var(--ease-out);flex-direction:column;display:flex}.lab::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#05070a9e}.lab__bar{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;align-items:center;gap:10px;padding:9px 12px 9px 16px;display:flex}.lab__brand{align-items:center;gap:10px;min-width:0;margin-right:auto;display:flex}.lab__logo{background:var(--fw-langgraph-soft);width:32px;height:32px;color:var(--fw-langgraph);border-radius:9px;place-items:center;display:grid}.lab__name{line-height:1.25;display:grid}.lab__name b{font-size:15px}.lab__name small{color:var(--text-3);font-size:12px}.seg{background:var(--surface-3);border:1px solid var(--border);border-radius:10px;align-items:center;gap:2px;padding:3px;display:inline-flex}.seg__btn{height:30px;color:var(--text-2);white-space:nowrap;transition:background var(--dur-1), color var(--dur-1);border-radius:7px;padding:0 11px;font-size:13px;font-weight:500}.seg__btn:hover:not(:disabled){color:var(--text)}.seg__btn:disabled{cursor:not-allowed;opacity:.55}.seg__btn[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1);opacity:1}.seg__btn[class*=fw-][aria-pressed=true]{box-shadow:inset 0 -2px 0 var(--fw), var(--shadow-1)}.seg__label{color:var(--text-3);padding:0 6px 0 8px;font-size:12px}.seg--sm .seg__btn{font-variant-numeric:tabular-nums;height:26px;padding:0 8px;font-size:12.5px}.lab__textbtn{height:34px;color:var(--text-2);border-radius:9px;align-items:center;gap:6px;padding:0 10px;font-size:13px;display:inline-flex}.lab__textbtn:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.lab__textbtn:disabled{opacity:.45;cursor:not-allowed}.lab__tabs{display:none}.lab__body{background:var(--border);flex:1;grid-template-rows:minmax(0,1.12fr) minmax(0,1fr);grid-template-columns:minmax(340px,400px) minmax(0,1fr) 300px;gap:1px;min-height:0;display:grid}.lab__pane{background:var(--bg);flex-direction:column;min-width:0;min-height:0;display:flex}.lab__chat{background:var(--surface);grid-area:1/1/3}.lab__graph{grid-area:1/2}.lab__trace{grid-area:2/2}.lab__state{background:var(--surface);grid-area:1/3/3}.pane__head{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:10px;padding:10px 14px 9px;display:flex}.pane__head h3{margin:0;font-size:14px}.pane__sub{color:var(--text-3);font-size:12px}.pane__meta{color:var(--text-3);margin-left:auto;font-size:11.5px}.pane__switch{align-self:center;margin-left:auto;display:none}.pane__meta+.pane__switch{margin-left:8px}.pane__empty{border:1px dashed var(--border-2);border-radius:var(--r-md);color:var(--text-3);margin:16px;padding:14px 16px;font-size:13px}.chat__log{overscroll-behavior:contain;flex-direction:column;flex:1;gap:14px;min-height:0;padding:16px 14px;display:flex;overflow-y:auto}.intro__title{letter-spacing:-.01em;margin:0 0 6px;font-size:18px}.intro__lead{color:var(--text-2);margin:0 0 14px;font-size:13.5px}.intro__cards{gap:8px;display:grid}.scard{text-align:left;border-radius:var(--r-lg);border:1px solid var(--border);background:var(--surface-2);transition:background var(--dur-1), transform var(--dur-2) var(--ease-out);gap:3px;padding:12px 13px 12px 16px;display:grid;position:relative;overflow:hidden}.scard:before{content:"";background:linear-gradient(var(--fw-deepagents) 0 33.3%, var(--fw-langchain) 33.3% 66.6%, var(--fw-langgraph) 66.6%);width:3px;position:absolute;inset:0 auto 0 0}.scard:hover{background:var(--fw-soft);border-color:color-mix(in srgb, var(--fw) 45%, var(--border));transform:translate(2px)}.scard__top{align-items:center;gap:8px;display:flex}.scard__num{color:var(--fw);font-size:16px;font-weight:700}.scard__title{font-size:14.5px;font-weight:650}.scard__arch{color:var(--fw);font-size:12px;font-weight:600}.scard__blurb{color:var(--text-2);font-size:12.5px;line-height:1.5}.scard__try{color:var(--text-3);font-size:12px;font-style:italic}.msg-user{background:color-mix(in srgb, var(--focus) 16%, var(--surface-2));border:1px solid color-mix(in srgb, var(--focus) 28%, transparent);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:14px 14px 4px;align-self:flex-end;max-width:88%;padding:9px 13px;font-size:14px}.acc{--fw:var(--focus);--fw-soft:color-mix(in srgb, var(--focus) 12%, transparent)}.layerbar,.run:before{content:"";background:linear-gradient(90deg, var(--fw-deepagents) 0 33.3%, var(--fw-langchain) 33.3% 66.6%, var(--fw-langgraph) 66.6%);height:3px;display:block}.run{border:1px solid var(--border-2);border-radius:var(--r-lg);background:var(--surface-2);flex:none;overflow:hidden}.run__head{flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px 4px;display:flex}.run__ico{place-items:center;width:18px;height:18px;display:grid}.run__title{font-size:14px;font-weight:650}.run__time{color:var(--text-3);margin-left:auto;font-size:11.5px}.run__arch{color:var(--fw);flex:100%;padding-left:26px;font-size:12px;font-weight:500}.run__done{width:18px;height:18px;color:var(--text-inverse);border-radius:50%;place-items:center;font-size:11px;font-weight:700;display:grid}.run__done--done{background:var(--ok)}.run__done--stopped{background:var(--text-3)}.run__done--error{background:var(--err)}.run__route{gap:4px;padding:4px 12px 10px 38px;display:grid}.run__route:empty{display:none}.route__why{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 2px;font-size:12px;display:flex}.route__tag{background:color-mix(in srgb, var(--t-Runnable) 16%, transparent);color:var(--t-Runnable);border-radius:5px;padding:1px 6px;font-size:10.5px}.route__row{color:var(--text-3);grid-template-columns:104px 1fr 34px;align-items:center;gap:8px;font-size:11.5px;display:grid}.route__row.is-pick{color:var(--text);font-weight:600}.route__bar{background:var(--surface-4);border-radius:3px;height:5px;overflow:hidden}.route__bar i{background:var(--text-4);height:100%;animation:route-grow .7s var(--ease-out);border-radius:3px;display:block}.route__row.is-pick .route__bar i{background:var(--fw)}.route__p{text-align:right}@keyframes route-grow{0%{width:0}}.run__trace>summary{border-top:1px solid var(--border);color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none;padding:7px 12px;font-size:12px}.run__trace>summary:hover{color:var(--text)}.run__steps{gap:1px;margin:0;padding:2px 6px 8px;list-style:none;display:grid}.step{cursor:pointer;animation:lab-in .25s var(--ease-out);border-radius:6px;grid-template-columns:18px minmax(0,1fr);gap:8px;padding:4px 6px;font-size:13px;line-height:1.4;display:grid}.step:hover{background:var(--surface-3)}.step__ico{width:18px;height:18px;color:var(--k);place-items:center;font-size:12px;font-weight:700;display:grid}.step.is-ok .step__ico:before{content:"✓";color:var(--ok)}.step.is-err .step__ico:before{content:"✕";color:var(--err)}.step.is-cancel .step__ico:before{content:"–";color:var(--text-3)}.step.is-instant .step__ico:before{content:"";background:var(--k);border-radius:50%;width:7px;height:7px}.step.tk--intr.is-running .step__ico,.step.tk--intr.is-running .step__text{color:var(--warn)}.step__body{min-width:0}.step__text{color:var(--text)}.step__name{color:var(--text-3);overflow-wrap:anywhere;font-size:10.5px;display:block}.step__kind{color:var(--k);font-weight:600}.step.is-cancel{opacity:.55}.run__extra:empty{display:none}.run__extra{padding:0 10px 10px}.run__answer{border-top:1px solid var(--border);background:var(--surface);overflow-wrap:anywhere;padding:12px 14px 4px;font-size:14px;line-height:1.6}.run__answer p{margin:0 0 10px}.run__answer ul{margin:0 0 10px;padding-left:18px}.run__answer li{margin:3px 0}.run__answer code,.hitl code{background:var(--surface-3);border-radius:5px;padding:1px 5px;font-size:12px}.caret{vertical-align:-2px;background:var(--fw);width:7px;height:14px;margin-left:2px;animation:1s steps(2,end) infinite lab-blink;display:inline-block}@keyframes lab-blink{50%{opacity:0}}.hitl{border-radius:var(--r-md);border:1px solid color-mix(in srgb, var(--warn) 55%, transparent);background:color-mix(in srgb, var(--warn) 9%, var(--surface));animation:lab-in .3s var(--ease-out);margin-top:4px;padding:12px 13px}.hitl:not(.is-done){box-shadow:0 0 0 3px color-mix(in srgb, var(--warn) 18%, transparent)}.hitl__head{color:var(--warn);flex-wrap:wrap;align-items:center;gap:7px;display:flex}.hitl__head b{color:var(--text);font-size:14px}.hitl__src{color:var(--text-3);margin-left:auto;font-size:10.5px}.hitl__p{margin:8px 0 4px;font-size:13px}.hitl__args{background:var(--surface-sunken);border:1px solid var(--border);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;margin:0 0 8px;padding:8px 10px;font-size:11.5px;line-height:1.5}.hitl__note{color:var(--text-2);margin:0 0 10px;font-size:12px}.hitl__actions{flex-wrap:wrap;gap:6px;display:flex}.hitl__form{flex-wrap:wrap;align-items:flex-end;gap:8px;margin-top:10px;display:flex}.hitl__form[hidden]{display:none}.hitl__label{color:var(--text-2);flex:180px;gap:4px;font-size:11.5px;display:grid}.hitl__input{border:1px solid var(--border-2);background:var(--surface);height:32px;color:var(--text);border-radius:8px;outline:none;padding:0 10px;font-size:13px}.hitl__input:focus{border-color:var(--focus)}.hitl__status{margin:10px 0 0;font-size:12.5px;font-weight:600}.hitl.is-approve .hitl__status,.hitl.is-edit .hitl__status{color:var(--ok)}.hitl.is-reject .hitl__status{color:var(--err)}.btn{border:1px solid var(--border-2);background:var(--surface);height:32px;transition:background var(--dur-1), border-color var(--dur-1);border-radius:8px;align-items:center;padding:0 13px;font-size:13px;font-weight:600;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-3)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--ok{background:var(--ok);border-color:var(--ok);color:var(--text-inverse)}.btn--ok:hover:not(:disabled){background:color-mix(in srgb, var(--ok) 85%, var(--text))}.btn--primary{background:var(--focus);border-color:var(--focus);color:#fff}.btn--primary:hover:not(:disabled){background:color-mix(in srgb, var(--focus) 85%, var(--text))}.btn--danger{background:var(--err);border-color:var(--err);color:#fff}.btn--danger:hover:not(:disabled){background:color-mix(in srgb, var(--err) 85%, var(--text))}.chat__suggest{scrollbar-width:none;gap:6px;padding:8px 12px 0;display:flex;overflow-x:auto}.chat__suggest::-webkit-scrollbar{display:none}.schip{border:1px solid var(--border-2);background:var(--surface-2);height:28px;color:var(--text-2);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:6px;padding:0 10px;font-size:12px;display:inline-flex}.schip i{background:var(--fw);border-radius:50%;width:7px;height:7px}.schip:hover:not(:disabled){color:var(--text);border-color:color-mix(in srgb, var(--fw) 50%, var(--border-2))}.schip:disabled{opacity:.45;cursor:not-allowed}.chat__form{border:1px solid var(--border-2);background:var(--surface-2);border-radius:14px;align-items:flex-end;gap:8px;margin:10px 12px 12px;padding:6px 6px 6px 12px;display:flex}.chat__form:focus-within{border-color:var(--focus)}.chat__input{resize:none;min-width:0;min-height:34px;max-height:140px;color:var(--text);font:inherit;background:0 0;border:0;outline:none;flex:1;padding:7px 0;font-size:14px;line-height:1.45}.chat__input::placeholder{color:var(--text-3)}.chat__send{background:var(--focus);color:#fff;border-radius:10px;flex:none;place-items:center;width:34px;height:34px;display:grid}.chat__send:hover{background:color-mix(in srgb, var(--focus) 85%, var(--text))}.chat__stop{background:var(--surface-4);border-radius:10px;flex:none;align-items:center;gap:7px;height:34px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.chat__stop i{background:var(--err);border-radius:2px;width:9px;height:9px}.chat__stop:hover{background:color-mix(in srgb, var(--err) 18%, var(--surface-4))}.chat__send[hidden],.chat__stop[hidden]{display:none}.lab__graph{background-color:var(--bg);background-image:radial-gradient(var(--grid-dot) 1px, transparent 1.2px);background-size:18px 18px}.arch{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg) 85%, transparent);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 16px;padding:11px 16px 8px;display:flex}.arch__head{align-items:flex-start;gap:10px;min-width:0;display:flex}.arch__num{color:var(--fw);padding-top:2px;font-size:22px;font-weight:700;line-height:1}.arch__title{flex-wrap:wrap;align-items:baseline;gap:10px;margin:0;font-size:16px;display:flex}.arch__pattern{color:var(--fw);font-size:12.5px;font-weight:600}.arch__stack{color:var(--text-3);margin:2px 0 0;font-size:11.5px}.arch__tags{flex-wrap:wrap;justify-content:flex-end;gap:4px;max-width:520px;display:flex}.tag{background:var(--surface-3);border:1px solid var(--border);color:var(--text-2);white-space:nowrap;border-radius:6px;padding:2px 7px;font-size:10.5px}.graph__wrap{flex:1;min-height:0;position:relative;overflow:hidden}.lg{width:calc(100% - 24px);height:calc(100% - 6px);font-family:var(--font-ui);display:block;position:absolute;inset:6px 12px 0;overflow:visible}.legend{color:var(--text-3);flex-wrap:wrap;align-items:center;gap:4px 14px;padding:6px 16px 9px;font-size:11px;display:flex}.legend__item{align-items:center;gap:6px;display:inline-flex}.legend__sw{display:grid}.legend__sep{background:var(--border-2);width:1px;height:12px}.legend__dot{border-radius:50%;width:8px;height:8px}.legend__dot--active{background:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 30%, transparent)}.legend__dot--done{background:var(--ok)}.legend__dot--wait{background:var(--warn)}.legend__dot--error{background:var(--err)}.lgn{outline:none}.lgn[role=button]{cursor:pointer}.lgn__box{fill:var(--surface);stroke:var(--border-2);stroke-width:1.2px;transition:fill .25s,stroke .25s,stroke-width .25s}.lgn__bar{fill:var(--fw);opacity:.6}.lgn__label{font-family:var(--font-mono);fill:var(--text);font-size:12.5px;font-weight:600}.lgn__sub{fill:var(--text-3);font-size:10.5px}.lgn__dot{fill:var(--surface-4);transition:fill .25s}.lgn__halo{fill:none;stroke:var(--fw);stroke-width:2px;opacity:0}.lgn--start .lgn__box,.lgn--end .lgn__box{fill:var(--surface-3)}.lgn--start .lgn__label,.lgn--end .lgn__label{fill:var(--text-2);font-size:11.5px}.lgn--store .lgn__box{fill:var(--surface-2)}.lgn--ext .lgn__box{stroke-dasharray:4 3}.lgn--human{--fw:var(--warn)}.lgn--human .lgn__box{stroke-dasharray:5 3}.lgn.is-idle{opacity:.82}.lgn:hover .lgn__box,.lgn:focus-visible .lgn__box,.lgn.is-hover .lgn__box{stroke:var(--focus);stroke-width:2px}.lgn.is-active .lgn__box{stroke:var(--fw);stroke-width:2px;fill:color-mix(in srgb, var(--fw) 16%, var(--surface))}.lgn.is-active .lgn__halo{opacity:1;animation:1.1s ease-in-out infinite lab-halo}.lgn.is-active .lgn__dot{fill:var(--fw);animation:.9s steps(2,end) infinite lab-blink}.lgn.is-done .lgn__box{stroke:color-mix(in srgb, var(--fw) 65%, var(--border-2))}.lgn.is-done .lgn__dot{fill:var(--ok)}.lgn.is-wait .lgn__box{stroke:var(--warn);stroke-width:2px;stroke-dasharray:5 3;fill:color-mix(in srgb, var(--warn) 12%, var(--surface))}.lgn.is-wait .lgn__halo{stroke:var(--warn);opacity:1;animation:1.8s ease-in-out infinite lab-halo}.lgn.is-wait .lgn__dot{fill:var(--warn)}.lgn.is-error .lgn__box{stroke:var(--err);stroke-width:1.8px;fill:color-mix(in srgb, var(--err) 10%, var(--surface))}.lgn.is-error .lgn__dot{fill:var(--err)}@keyframes lab-halo{0%,to{opacity:.2}50%{opacity:.95}}.lge{fill:none;stroke:var(--border-3);stroke-width:1.4px;transition:stroke .2s,stroke-width .2s}.lge--cond{stroke-dasharray:5 4}.lge--send{stroke:color-mix(in srgb, var(--tok-send) 60%, transparent);stroke-dasharray:1.5 4;stroke-linecap:round;stroke-width:1.9px}.lge--cmd{stroke:color-mix(in srgb, var(--tok-command) 65%, transparent);stroke-dasharray:8 3}.lge--intr{stroke:color-mix(in srgb, var(--warn) 75%, transparent);stroke-dasharray:3 3}.lge--io{stroke:var(--border-2);stroke-dasharray:2 3}.lge--wrap{stroke:color-mix(in srgb, var(--t-Middleware) 60%, transparent);stroke-dasharray:4 3}.lge.is-visited{stroke-width:1.9px}.lge--e.is-visited,.lge--cond.is-visited,.lge--io.is-visited{stroke:var(--text-3)}.lge.is-hot{stroke:var(--focus);stroke-width:2.6px;filter:drop-shadow(0 0 4px color-mix(in srgb, var(--focus) 70%, transparent))}.lge--send.is-hot{stroke:var(--tok-send)}.lge--cmd.is-hot{stroke:var(--tok-command)}.lge--intr.is-hot{stroke:var(--warn)}.lgm{fill:var(--border-3)}.lgm--send{fill:var(--tok-send)}.lgm--cmd{fill:var(--tok-command)}.lgm--intr{fill:var(--warn)}.lgm--wrap{fill:var(--t-Middleware)}.lgm--hot{fill:var(--focus)}.lge__label{font-family:var(--font-mono);fill:var(--text-3);paint-order:stroke;stroke:var(--bg);stroke-width:4px;stroke-linejoin:round;font-size:10px;transition:fill .2s}.lge__label--cmd{fill:var(--tok-command)}.lge__label--send{fill:var(--tok-send)}.lge__label--intr{fill:var(--warn)}.lge__label.is-visited{fill:var(--text-2)}.lge__label.is-hot{fill:var(--focus);font-weight:600}.lge-dot{fill:var(--focus);filter:drop-shadow(0 0 5px var(--focus))}.lge-dot--send{fill:var(--tok-send);filter:drop-shadow(0 0 5px var(--tok-send))}.lge-dot--cmd{fill:var(--tok-command);filter:drop-shadow(0 0 5px var(--tok-command))}.lge-dot--intr{fill:var(--warn);filter:drop-shadow(0 0 5px var(--warn))}.lgg rect{fill:color-mix(in srgb, var(--surface-3) 35%, transparent);stroke:var(--border-2);stroke-dasharray:4 4}.lgg__label{fill:var(--text-3);letter-spacing:.02em;font-size:10.5px;font-weight:600}.trace__scroll{overscroll-behavior:contain;flex:1;min-height:0;padding-bottom:12px;overflow:auto}.trace__list{margin:0;padding:0;font-size:12.5px;list-style:none}.tr{border-bottom:1px solid color-mix(in srgb, var(--border) 65%, transparent);animation:lab-in .25s var(--ease-out);grid-template-columns:58px minmax(0,1fr) auto;align-items:start;gap:10px;padding:5px 14px 5px 8px;display:grid}.tr:hover,.tr.is-hl{background:var(--surface-2)}.tr.is-running{background:color-mix(in srgb, var(--k) 7%, transparent)}.tr.is-ping{animation:lab-ping 1.2s var(--ease-out)}.tr.is-cancel{opacity:.5}@keyframes lab-ping{0%,40%{background:color-mix(in srgb, var(--focus) 25%, transparent)}}.tr__t{color:var(--text-4);text-align:right;padding-top:2px;font-size:10.5px}.tr__main{min-width:0;padding-left:calc(var(--d) * 16px);position:relative}.tr.is-child .tr__main:before{content:"";top:-6px;bottom:-6px;left:calc(var(--d) * 16px - 9px);border-left:1px solid var(--border-2);position:absolute}.tr__line{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.tr__fw{background:var(--fw);border-radius:50%;flex:none;width:7px;height:7px}.tr__kind{background:color-mix(in srgb, var(--k) 15%, transparent);color:var(--k);letter-spacing:.03em;text-transform:uppercase;border-radius:5px;flex:none;padding:0 6px;font-size:10px;font-weight:700;line-height:17px}.tr__name{color:var(--text);text-align:left;overflow-wrap:anywhere;font-size:12px;font-weight:600}button.tr__name{text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--fw) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--fw) 45%, transparent);text-underline-offset:3px}button.tr__name:hover{-webkit-text-decoration-color:var(--fw);text-decoration-color:var(--fw);color:var(--fw)}.tr__model{color:var(--t-Model);font-size:10.5px}.tr__at{color:var(--text-3);background:var(--surface-3);border-radius:4px;padding:0 5px;font-size:10.5px}.tr__detail{color:var(--text-3);margin-top:2px;font-size:11.5px;line-height:1.45;display:block}.tr__result{color:var(--text-2);overflow-wrap:anywhere;margin-top:2px;font-size:11px;display:block}.tr.is-err .tr__result{color:var(--err)}.tr.is-err .tr__kind{background:color-mix(in srgb, var(--err) 15%, transparent);color:var(--err)}.tr__detail[hidden],.tr__result[hidden]{display:none}.tr__meta{color:var(--text-3);white-space:nowrap;flex-direction:column;align-items:flex-end;gap:1px;padding-top:2px;font-size:10.5px;display:flex}.tr__dur{color:var(--text-2)}.tk--graph{--k:var(--fw-langgraph)}.tk--node{--k:var(--t-Graph)}.tk--llm{--k:var(--t-Model)}.tk--tool{--k:var(--t-Tool)}.tk--mw{--k:var(--t-Middleware)}.tk--send{--k:var(--tok-send)}.tk--cmd{--k:var(--tok-command)}.tk--ckpt{--k:var(--t-Checkpointer)}.tk--intr{--k:var(--warn)}.tk--store{--k:var(--t-Store)}.tk--stream{--k:var(--info)}.tk--router{--k:var(--t-Runnable)}.tk--sub{--k:var(--t-SubAgent)}.tk--retry{--k:var(--err)}.tk--cond{--k:var(--t-Flow)}.spin{border:2px solid color-mix(in srgb, var(--k,var(--focus)) 28%, transparent);border-top-color:var(--k,var(--focus));border-radius:50%;width:12px;height:12px;animation:.8s linear infinite lab-spin;display:inline-block}@keyframes lab-spin{to{transform:rotate(360deg)}}@keyframes lab-in{0%{opacity:0;transform:translateY(4px)}}.state__scroll{overscroll-behavior:contain;flex:1;min-height:0;padding:12px 12px 18px;overflow:auto}.metrics{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:12px;display:grid}.metric{border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border);gap:1px;padding:8px 10px;display:grid}.metric__n{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:15px;font-weight:600}.metric__l{color:var(--text-3);font-size:11px}.state__body{gap:10px;display:grid}.state__body>.pane__empty{margin:0}.ssec{border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border);padding:9px 10px}.ssec.is-flash{animation:lab-flash 1s var(--ease-out)}@keyframes lab-flash{0%{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 22%, transparent)}}.ssec__title{letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);align-items:center;gap:6px;margin:0 0 6px;font-size:11px;font-weight:700;display:flex}.ssec__n{background:var(--surface-4);color:var(--text-2);letter-spacing:0;border-radius:99px;padding:0 6px;font-size:10.5px}.kv{gap:3px;margin:0;display:grid}.kv__row{grid-template-columns:minmax(80px,auto) minmax(0,1fr);gap:8px;font-size:11.5px;display:grid}.kv dt{color:var(--text-3)}.kv dd{color:var(--text);overflow-wrap:anywhere;text-align:right;margin:0}.slist{gap:4px;margin:0;padding:0;list-style:none;display:grid}.slist__row{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;font-size:12px;display:flex}.slist__path{overflow-wrap:anywhere;flex:100%;min-width:0;font-size:11.5px}.slist__muted{color:var(--text-3);font-size:11px}.slist__row.is-on{color:var(--text);font-weight:600}.sbadge{background:var(--surface-4);color:var(--text-2);white-space:nowrap;border-radius:5px;padding:1px 6px;font-size:10px;font-weight:600}.sbadge--on{background:color-mix(in srgb, var(--ok) 18%, transparent);color:var(--ok)}.sbadge--state{background:color-mix(in srgb, var(--fw-deepagents) 16%, transparent);color:var(--fw-deepagents)}.sbadge--store{background:color-mix(in srgb, var(--t-Store) 16%, transparent);color:var(--t-Store)}.sbadge--relevant{background:color-mix(in srgb, var(--ok) 18%, transparent);color:var(--ok)}.sbadge--irrelevant{background:color-mix(in srgb, var(--err) 14%, transparent);color:var(--err)}.todo{flex-wrap:nowrap;align-items:flex-start}.todo__ico{text-align:center;width:14px;color:var(--text-3);flex:none}.todo--in_progress .todo__ico{color:var(--warn);animation:1s steps(2,end) infinite lab-blink}.todo--completed .todo__ico{color:var(--ok)}.todo--completed .todo__text,.doc--irrelevant .slist__path{color:var(--text-3);text-decoration:line-through;-webkit-text-decoration-color:var(--border-3);text-decoration-color:var(--border-3)}.ckpt{flex-wrap:nowrap;align-items:flex-start}.ckpt__step{width:26px;color:var(--t-Checkpointer);flex:none;font-size:11px}.ckpt__body{min-width:0;font-size:11px;display:grid}.ckpt.is-head .ckpt__body>.mono{color:var(--t-Checkpointer);font-weight:600}@media (width<=1320px){.lab__body{grid-template-columns:minmax(320px,360px) minmax(0,1fr) 270px}.arch__tags{display:none}}@media (width<=1100px){.lab__body{grid-template-columns:minmax(300px,350px) minmax(0,1fr)}.lab__state{grid-area:2/2;display:none}.lab[data-bottom=state] .lab__state{display:flex}.lab[data-bottom=state] .lab__trace{display:none}.pane__switch{display:inline-flex}.pane__sub,.lab__name small{display:none}}@media (width<=800px){.lab{border:0;border-radius:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0}.lab__bar{gap:8px;padding:8px 10px 8px 12px}.lab__modes{scrollbar-width:none;flex:100%;order:5;overflow-x:auto}.lab__speed{order:6}.lab__textbtn-l{display:none}.lab__tabs{border-bottom:1px solid var(--border);background:var(--surface);gap:2px;padding:4px 8px;display:flex;overflow-x:auto}.lab__tab{height:32px;color:var(--text-2);white-space:nowrap;border-radius:8px;flex:1;padding:0 10px;font-size:13px;font-weight:500}.lab__tab[aria-pressed=true]{background:var(--surface-3);color:var(--text)}.lab__body{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.lab[data-view] .lab__body>.lab__pane{grid-area:1/1;display:none}.lab[data-view=chat] .lab__body>.lab__chat,.lab[data-view=graph] .lab__body>.lab__graph,.lab[data-view=trace] .lab__body>.lab__trace,.lab[data-view=state] .lab__body>.lab__state{display:flex}.pane__switch{display:none}.graph__wrap{padding:8px;overflow:auto}.lg{width:100%;min-width:820px;height:auto;position:static}.tr{grid-template-columns:46px minmax(0,1fr) auto;gap:6px;padding-right:10px}.tr__main{padding-left:calc(var(--d) * 10px)}.tr.is-child .tr__main:before{left:calc(var(--d) * 10px - 6px)}}@media (width<=640px){.chatbtn__label{display:none}.chatbtn{padding:0 10px}}.arch__blurb{display:none}.arch__layers{flex:100%;gap:3px;min-width:0;margin:0;padding:0;list-style:none;display:grid}.alayer{background:var(--fw-soft);border-radius:6px;grid-template-columns:8px 88px minmax(0,1fr);align-items:baseline;gap:8px;min-width:0;padding:2px 8px;font-size:11.5px;display:grid}.alayer i{background:var(--fw);border-radius:50%;align-self:center;width:8px;height:8px}.alayer b{font-size:12px}.alayer .mono{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.legend__repo{background:var(--fw);border-radius:2px;width:10px;height:3px}.lanes{border-bottom:1px solid var(--border);background:var(--surface);gap:3px;padding:8px 14px 10px;display:grid}.lanes__head{color:var(--text-3);grid-template-columns:150px minmax(0,1fr) 190px;align-items:baseline;gap:10px;font-size:11px;display:grid}.lanes__head b{color:var(--text);font-size:12px}.lanes__now-h{text-align:left}.lane{grid-template-columns:150px minmax(0,1fr) 190px;align-items:center;gap:10px;min-height:28px;display:grid}.lane__label{grid-template-columns:8px 1fr;align-items:center;column-gap:6px;line-height:1.2;display:grid}.lane__label i{background:var(--fw);border-radius:50%;grid-row:1/3;width:8px;height:8px}.lane__label b{font-size:12px}.lane__label small{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:9.5px;overflow:hidden}.lane__track{background:color-mix(in srgb, var(--fw) 7%, var(--surface-2));border:1px solid color-mix(in srgb, var(--fw) 22%, transparent);border-radius:6px;height:28px;position:relative;overflow:hidden}.lane__bar,.lane__tick{top:calc(3px + var(--y) * 5.5px);background:var(--fw);opacity:.75;cursor:pointer;border-radius:3px;height:6px;position:absolute}.lane__bar.tk--llm{background:var(--t-Model)}.lane__bar.tk--tool{background:var(--t-Tool)}.lane__bar.tk--intr,.lane__bar.is-wait{background:var(--warn)}.lane__bar.is-running{opacity:1;box-shadow:0 0 6px var(--fw)}.lane__bar.is-err{background:var(--err)}.lane__bar.is-cancel{opacity:.35}.lane__bar:hover,.lane__tick:hover{opacity:1;outline:1px solid var(--text)}.lane__tick{background:var(--k,var(--fw));opacity:.9;border-radius:1px;width:2px;height:20px;top:3px}.lane__now{color:var(--text-4);white-space:nowrap;text-overflow:ellipsis;border:1px dashed var(--border-2);border-radius:6px;padding:3px 7px;font-size:11px;overflow:hidden}.lane__now.is-on{color:var(--text);border:1px solid color-mix(in srgb, var(--fw) 60%, transparent);background:var(--fw-soft);box-shadow:0 0 0 2px color-mix(in srgb, var(--fw) 14%, transparent)}@media (width<=1320px){.lanes__head,.lane{grid-template-columns:110px minmax(0,1fr) 150px}.lane__label small{display:none}}@media (width<=800px){.lanes{padding:6px 10px 8px}.lanes__head span:not(.lanes__now-h){display:none}.lanes__head,.lane{grid-template-columns:84px minmax(0,1fr) 110px;gap:6px}}.gate{z-index:100;background:var(--bg-vignette), var(--bg);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.gate__card{border-radius:var(--r-xl);border:1px solid var(--border-2);background:var(--surface);width:min(360px,100%);box-shadow:var(--shadow-3);text-align:center;justify-items:center;gap:10px;padding:28px 24px 24px;display:grid}.gate__card.is-shake{animation:gate-shake .4s var(--ease-out)}@keyframes gate-shake{20%,60%{transform:translate(-7px)}40%,80%{transform:translate(7px)}}.gate__mark{background:var(--surface-3);border-radius:14px;place-items:center;width:52px;height:52px;display:grid}.gate__title{margin:4px 0 0;font-size:20px}.gate__lead{color:var(--text-2);margin:0 0 6px;font-size:14px}.gate__input{border:1px solid var(--border-2);background:var(--surface-2);width:100%;height:42px;color:var(--text);border-radius:10px;outline:none;padding:0 14px;font-size:15px}.gate__input:focus{border-color:var(--focus)}.gate__error{color:var(--err);margin:0;font-size:13px}.gate__error[hidden]{display:none}.gate__btn{background:var(--focus);color:#fff;border-radius:10px;width:100%;height:42px;font-size:15px;font-weight:600}.gate__btn:hover{background:color-mix(in srgb, var(--focus) 85%, var(--text))}
