@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-700-normal-Bth3BMcD.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-ext-700-normal-aMgXseD4.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-700-normal-DZH6Xh-4.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-greek-700-normal-wyJ6jzdA.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-700-normal-CkZN0sRy.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff)format("woff")}:root{--bg:#f4f6f4;--surface:#fff;--surface-2:#f8faf9;--surface-3:#eef1ef;--line:#e1e5e2;--line-2:#cdd4d0;--ink:#121816;--ink-2:#47524f;--muted:#727d79;--accent:#0f5f5c;--accent-2:#0b4946;--accent-weak:#e3efed;--accent-line:#b5d4cf;--spark:#6f8f8b;--deemph:#c9d0cc;--ai:#5b45c9;--ai-weak:#f2effd;--ai-wash:#faf9ff;--ai-line:#b8acef;--good:#136f30;--good-weak:#e6f3e9;--good-line:#bfdfc8;--good-fill:#0ca30c;--warn:#7f5300;--warn-weak:#fdf3da;--warn-line:#efd391;--warn-fill:#fab219;--crit:#ac2d2d;--crit-weak:#fbeaea;--crit-line:#efc1c1;--crit-fill:#d03b3b;--info:#1f5fae;--info-weak:#e7f0fb;--info-line:#bcd3f1;--s1:#2a78d6;--s2:#eb6834;--s3:#1baf7a;--s4:#eda100;--s5:#e87ba4;--s6:#008300;--s7:#4a3aa7;--s8:#e34948;--grid:#e6e9e6;--axis:#c3c8c4;--f-ui:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--f-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--r:8px;--shadow:0 1px 2px #1218160f, 0 1px 1px #12181608;--shadow-lg:0 18px 50px #12181629, 0 3px 10px #12181612;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%}body{background:var(--bg);color:var(--ink);font:13px/1.45 var(--f-ui);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}h1,h2,h3,h4{text-wrap:balance;margin:0}p{margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.i{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.ap-root{background:var(--bg);min-height:100vh;container:frame/inline-size}.ap-root>.app{min-height:100vh}.ap-root .mono.ident{white-space:nowrap}@container frame (width<=640px){.ap-root>.app{grid-template-rows:minmax(0,1fr) auto}}.app{background:var(--bg);min-height:780px;color:var(--ink);font:13px/1.45 var(--f-ui);grid-template-columns:236px minmax(0,1fr);display:grid}.side{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;gap:14px;padding:14px 10px;display:flex}.brand{align-items:center;gap:8px;padding:2px 6px;display:flex}.brand-mark{align-items:flex-end;gap:2px;height:18px;display:inline-flex}.brand-mark i{background:var(--accent);border-radius:1.5px;width:4px}.brand-mark i:first-child{height:8px}.brand-mark i:nth-child(2){height:13px}.brand-mark i:nth-child(3){height:18px}.brand-name{font-size:14px;font-weight:600}.brand-tag{font:10px var(--f-mono);color:var(--muted);border:1px dashed var(--line-2);border-radius:4px;padding:0 4px}.ws{border:1px solid var(--line);border-radius:var(--r);background:var(--surface-2);align-items:center;gap:9px;padding:8px;display:flex}.ws-mark{color:#f5e6d3;background:#3b2a1e;border-radius:7px;flex:none;place-items:center;width:28px;height:28px;font-weight:700;display:grid}.ws-mark.ws-t{color:#f6d9cf;background:#2b1b26}.ws-txt{flex-direction:column;flex:1;min-width:0;display:flex}.ws-txt b{white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;overflow:hidden}.ws-txt small{color:var(--muted);font-size:11px}.ws>.i{color:var(--muted)}.nav{flex-direction:column;flex:1;gap:12px;display:flex}.nav-g{flex-direction:column;gap:1px;display:flex}.nav-l{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding:4px 8px;font-size:10.5px;font-weight:600}.nav-i{color:var(--ink-2);border-radius:6px;align-items:center;gap:9px;padding:6px 8px;font-weight:500;display:flex}.nav-i:hover{background:var(--surface-3);color:var(--ink)}.nav-i.on{background:var(--accent-weak);color:var(--accent-2)}.nav-i.on .i{color:var(--accent)}.side-foot{border-top:1px solid var(--line);align-items:center;gap:9px;padding:8px 6px 0;display:flex}.side-foot span{flex-direction:column;min-width:0;display:flex}.side-foot b{font-size:12.5px;font-weight:600}.side-foot small{color:var(--muted);font-size:11px}.av{width:28px;height:28px;color:var(--accent-2);background:#d9e8e5;border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:600;display:inline-grid}.av-b{color:#7a3b2c;background:#f1e2dc}.av-c{color:#3d3f8f;background:#e3e4f5}.av-d{color:#6d5310;background:#f4ecd2}.av-h{color:#f9e7ee;background:#5a3a4e}.main{flex-direction:column;min-width:0;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--line);align-items:center;gap:12px;min-height:52px;padding:8px 20px;display:flex;position:relative}.crumbs{min-width:0;color:var(--muted);flex:1;align-items:center;gap:6px;display:flex}.cr{white-space:nowrap}.cr-now{color:var(--ink);text-overflow:ellipsis;font-weight:500;overflow:hidden}.cr-sep{width:13px;height:13px}.top-r{align-items:center;gap:10px;display:flex}.search{border:1px solid var(--line);background:var(--surface-2);width:300px;height:32px;color:var(--muted);border-radius:7px;align-items:center;gap:7px;padding:0 10px;display:flex}.search input{font:13px var(--f-ui);min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1}.search kbd{font:11px var(--f-mono);border:1px solid var(--line-2);color:var(--muted);border-radius:4px;padding:0 5px}.icon-btn{width:32px;height:32px;color:var(--ink-2);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;place-items:center;display:inline-grid;position:relative}.icon-btn:hover{background:var(--surface-3)}.dot-badge{background:var(--crit-fill);border:1.5px solid var(--surface);border-radius:50%;width:7px;height:7px;position:absolute;top:7px;right:7px}.only-m{display:none!important}.m-only,.tabbar{display:none}.page{flex-direction:column;gap:18px;min-width:0;padding:22px 24px 40px;display:flex}.ph{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.ph-t{flex-direction:column;gap:4px;min-width:0;max-width:760px;display:flex}.ph h1{letter-spacing:-.01em;font-size:21px;font-weight:600}.ph-sub{color:var(--ink-2);max-width:70ch}.ph-a{flex-wrap:wrap;gap:8px;display:flex}.eyebrow{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.row{gap:16px;min-width:0;display:grid}.c2{grid-template-columns:repeat(2,minmax(0,1fr))}.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.c4{grid-template-columns:repeat(4,minmax(0,1fr))}.c5{grid-template-columns:repeat(5,minmax(0,1fr))}.c-2-1{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.c-1-2{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.c-3-2{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}.stack{flex-direction:column;gap:12px;min-width:0;display:flex}.hstack{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.spread{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.muted{color:var(--muted)}.ink2{color:var(--ink-2)}.small{font-size:12px}.mono{font-family:var(--f-mono);overflow-wrap:anywhere;font-size:12px}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.strong{font-weight:600}.grow{flex:1;min-width:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);min-width:0}.card-h{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 10px;min-width:0;padding:12px 16px;display:flex}.card-h h3{font-size:13.5px;font-weight:600}.card-h .sub{color:var(--muted);font-size:12px}.card-h-t{flex-direction:column;gap:1px;min-width:0;display:flex}.card-b{min-width:0;padding:14px 16px}.card-b.flush{padding:0}.card-f{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 16px;font-size:12px;display:flex}.card.card-pick{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.kpi{flex-direction:column;gap:4px;padding:14px 16px;display:flex}.kpi-l{color:var(--ink-2);align-items:center;gap:6px;font-size:12.5px;display:flex}.kpi-v{letter-spacing:-.015em;font-size:24px;font-weight:600;line-height:1.2}.kpi-d{flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.kpi-d .up{color:var(--good)}.kpi-d .down{color:var(--crit)}.kpi-d .flat{color:var(--ink-2)}.kpi-d .vs{color:var(--muted);font-weight:400}.kpi .chart-spark{margin-top:4px}.metric-ref{color:var(--muted);align-items:center;gap:4px;font-size:11px;display:inline-flex}.metric-ref .i{width:12px;height:12px;color:var(--good-fill)}.tw{min-width:0;overflow-x:auto}.tbl{border-collapse:collapse;width:100%;font-size:12.5px}.tbl th{text-align:left;color:var(--muted);letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--surface);padding:8px 12px;font-size:11px;font-weight:500}.tbl td{border-bottom:1px solid var(--line);vertical-align:middle;padding:9px 12px}.tbl tr:last-child td{border-bottom:0}.tbl th.num{text-align:right}.tbl tbody tr:hover td{background:var(--surface-2)}.tbl .tot td{background:var(--surface-2);border-top:1px solid var(--line-2);font-weight:600}.tbl .cell-t{align-items:center;gap:9px;min-width:0;display:flex}.tbl .cell-t b{font-weight:500}.tbl .cell-t small{color:var(--muted);font-size:11.5px;display:block}.tbl.compact td,.tbl.compact th{padding:6px 10px}.pivot td.heat{position:relative}.bar-in{background:var(--s1);vertical-align:middle;border-radius:3px;height:6px;margin-right:6px;display:inline-block}.pill{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;height:21px;padding:0 8px;font-size:11.5px;font-weight:500;line-height:1;display:inline-flex}.pill .i{width:12px;height:12px}.pill-approved{background:var(--good-weak);color:var(--good);border-color:var(--good-line)}.pill-draft{background:var(--surface-3);color:var(--ink-2);border-color:var(--line-2)}.pill-suggested{background:var(--ai-weak);color:var(--ai);border:1px dashed var(--ai-line)}.pill-review{background:var(--warn-weak);color:var(--warn);border-color:var(--warn-line)}.pill-deprecated{background:var(--surface-3);color:var(--muted);text-decoration:line-through}.pill-provider{background:var(--info-weak);color:var(--info);border-color:var(--info-line)}.pill-tenant{background:var(--surface);color:var(--ink-2);border-color:var(--line-2)}.pill-mode{background:var(--surface-3);color:var(--ink-2)}.pill-pii{color:#9a3c18;background:#fbeee8;border-color:#f0cdbf}.pill-new{background:var(--accent-weak);color:var(--accent-2)}.pill-soon{color:var(--muted);border:1px dashed var(--line-2);background:0 0}.pill-err{background:var(--crit-weak);color:var(--crit);border-color:var(--crit-line)}.pill-warn{background:var(--warn-weak);color:var(--warn);border-color:var(--warn-line)}.pill-ok{background:var(--good-weak);color:var(--good);border-color:var(--good-line)}.st{white-space:nowrap;align-items:center;gap:5px;font-size:12.5px;display:inline-flex}.st .i{width:15px;height:15px}.st-ok .i{color:var(--good-fill)}.st-warn{color:var(--warn)}.st-warn .i{color:#d39200}.st-err{color:var(--crit)}.st-err .i{color:var(--crit-fill)}.st-sync .i{color:var(--info)}.st-idle{color:var(--muted)}.btn{border:1px solid var(--line-2);background:var(--surface);height:32px;color:var(--ink);font:500 13px var(--f-ui);cursor:pointer;white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.btn:hover{background:var(--surface-2);border-color:#b9c2bd}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-2);border-color:var(--accent-2)}.btn-ai{background:var(--ai);border-color:var(--ai);color:#fff}.btn-ai:hover{background:#4a36b0;border-color:#4a36b0}.btn-ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-3);border-color:#0000}.btn-danger{color:var(--crit)}.btn-sm{border-radius:6px;height:26px;padding:0 9px;font-size:12px}.btn .i{width:15px;height:15px}.btn[disabled]{opacity:.5;cursor:not-allowed}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field>label,.lbl{font-size:12.5px;font-weight:500}.inp,.sel{border:1px solid var(--line-2);width:100%;height:34px;font:13px var(--f-ui);background:var(--surface);color:var(--ink);border-radius:7px;min-width:0;padding:0 10px}.inp.mono{font-family:var(--f-mono);overflow-wrap:anywhere;font-size:12px}.inp:focus,.sel:focus{outline:2px solid var(--accent-line);border-color:var(--accent)}.inp-secret{letter-spacing:.2em}.help{color:var(--muted);font-size:12px}.check{cursor:pointer;align-items:flex-start;gap:8px;display:flex}.check input{accent-color:var(--accent);margin:2px 0 0}.toggle{background:var(--line-2);border-radius:999px;flex:none;width:32px;height:18px;display:inline-block;position:relative}.toggle:after{content:"";width:14px;height:14px;box-shadow:var(--shadow);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.toggle.on{background:var(--accent)}.toggle.on:after{left:16px}.seg{background:var(--surface-3);border-radius:7px;gap:2px;padding:2px;display:inline-flex}.seg>a,.seg>button{color:var(--ink-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:5px;align-items:center;gap:5px;padding:4px 10px;font-size:12.5px;font-weight:500;display:inline-flex}.seg>.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.seg .i{width:14px;height:14px}.tabs{border-bottom:1px solid var(--line);gap:2px;display:flex;overflow-x:auto}.tab{color:var(--ink-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:9px 12px;font-weight:500;display:inline-flex}.tab.on{color:var(--ink);border-bottom-color:var(--accent)}.tab .cnt{color:var(--muted);background:var(--surface-3);border-radius:999px;padding:0 6px;font-size:11px}.chip{border:1px solid var(--line-2);background:var(--surface);height:28px;color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:7px;align-items:center;gap:6px;padding:0 10px;font-size:12.5px;display:inline-flex}.chip .k{color:var(--muted)}.chip .i{width:14px;height:14px;color:var(--muted)}.chip.on{border-color:var(--accent);background:var(--accent-weak)}.filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.callout{border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);border-radius:8px;flex-wrap:wrap;gap:10px;min-width:0;padding:11px 13px;display:flex}.callout>.i{margin-top:1px}.callout b{color:var(--ink);font-weight:600}.callout .co-body{flex-direction:column;flex:240px;gap:3px;min-width:0;display:flex}.callout .co-act{flex:none;align-self:center;gap:8px;margin-left:auto;display:flex}.co-info{background:var(--info-weak);border-color:var(--info-line)}.co-info>.i{color:var(--info)}.co-warn{background:var(--warn-weak);border-color:var(--warn-line)}.co-warn>.i{color:#b77d00}.co-err{background:var(--crit-weak);border-color:var(--crit-line)}.co-err>.i{color:var(--crit-fill)}.co-ok{background:var(--good-weak);border-color:var(--good-line)}.co-ok>.i{color:var(--good-fill)}.co-ai{background:var(--ai-wash);border:1px dashed var(--ai-line)}.co-ai>.i{color:var(--ai)}.co-sec{background:var(--surface);border-color:var(--accent-line)}.co-sec>.i{color:var(--accent)}.ai-card{border:1px dashed var(--ai-line);background:var(--ai-wash);border-radius:var(--r)}.ai-tag{color:var(--ai);align-items:center;gap:4px;font-size:11.5px;font-weight:500;display:inline-flex}.ai-tag .i{width:13px;height:13px}.code{color:#dbe5e1;font:12px/1.65 var(--f-mono);white-space:pre;tab-size:2;background:#111816;border-radius:8px;margin:0;padding:14px 16px;overflow-x:auto}.code .k{color:#8fd5c9}.code .s{color:#efc98a}.code .c{color:#7d8b87;font-style:italic}.code .f{color:#a9c6ff}.code .n{color:#f2a38f}.code .t{color:#c9b6f4}.code-wrap{position:relative}.code-wrap .copy{color:#dbe5e1;background:#26302d;border-color:#33403c;position:absolute;top:8px;right:8px}.inline-code{font:12px var(--f-mono);background:var(--surface-3);border-radius:4px;padding:1px 5px}.steps{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.steps li{color:var(--muted);align-items:center;gap:8px;padding-right:10px;font-weight:500;display:flex}.steps li+li:before{content:"";background:var(--line-2);width:22px;height:1px;margin-right:4px}.steps-n{border:1px solid var(--line-2);background:var(--surface);border-radius:50%;place-items:center;width:22px;height:22px;font-size:11.5px;display:grid}.steps-n .i{width:13px;height:13px}.steps .done{color:var(--ink-2)}.steps .done .steps-n{background:var(--accent);border-color:var(--accent);color:#fff}.steps .now{color:var(--ink)}.steps .now .steps-n{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.legend{color:var(--ink-2);flex-wrap:wrap;gap:6px 14px;margin-bottom:6px;font-size:12px;display:flex}.lg{align-items:center;gap:6px;display:inline-flex}.lg-box{border-radius:2px;width:10px;height:10px;display:inline-block}.lg-line{border-radius:1px;width:14px;height:2px;display:inline-block}.chart{width:100%;position:relative}.chart svg{display:block;overflow:visible}.chart .gl{stroke:var(--grid);stroke-width:1px}.chart .ax{stroke:var(--axis);stroke-width:1px}.chart .tk{fill:var(--muted);font:11px var(--f-ui);font-variant-numeric:tabular-nums}.chart .tk-dark{fill:var(--ink-2);font-size:12px}.chart .dl{font:11.5px var(--f-ui)}.chart .dl-v{fill:var(--ink);font-size:11.5px;font-weight:600}.chart .dl-v.sm{fill:var(--ink-2);font-size:11px;font-weight:500}.chart .dl-n{fill:var(--ink-2)}.chart .dn-v{fill:var(--ink);font:600 16px var(--f-ui)}.chart .xh{stroke:var(--ink-2);stroke-width:1px}.chart .mk{cursor:default;transition:opacity .12s}.chart .mk:hover{opacity:.82}.chart .hit{cursor:crosshair;outline:none}.tt{z-index:100;pointer-events:none;color:#eef3f1;min-width:140px;font:12px var(--f-ui);box-shadow:var(--shadow-lg);background:#121816;border-radius:7px;padding:8px 10px;display:none;position:fixed}.tt-h{color:#a7b4b0;margin-bottom:4px;font-size:11.5px}.tt-r{grid-template-columns:12px auto 1fr;align-items:center;gap:7px;display:grid}.tt-r i{border-radius:1px;width:12px;height:2px}.tt-r b{font-variant-numeric:tabular-nums;font-weight:600}.tt-r span{color:#b9c5c1}.skel{background:linear-gradient(90deg, var(--surface-3) 25%, #f6f8f7 50%, var(--surface-3) 75%);background-size:200% 100%;border-radius:5px;animation:1.4s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty{text-align:center;color:var(--ink-2);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:28px 16px;display:flex}.empty .em-ic{background:var(--surface-3);width:40px;height:40px;color:var(--muted);border-radius:10px;place-items:center;display:grid}.empty b{color:var(--ink)}.empty p{max-width:42ch}.sg{width:30px;height:30px;font:600 10.5px var(--f-mono);border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);border-radius:7px;flex:none;place-items:center;display:inline-grid}.sg.s-stripe{color:#4b3fb0;background:#eceafd;border-color:#d9d4fa}.sg.s-pg{color:#2d5f9a;background:#e6eef8;border-color:#cddcef}.sg.s-my{color:#1f6c7a;background:#e7f2f4;border-color:#cbe3e8}.sg.s-sb{color:#1e7a4b;background:#e5f4ec;border-color:#c8e7d6}.sg.s-file{color:#6b5e3b;background:#f2f0ea;border-color:#e3dfd2}.sg.s-xls{color:#2a6b3a;background:#e6f2e8;border-color:#cce4d1}.sg.s-rest{color:#5a4a78;background:#f1eef6;border-color:#e1dbec}.sg.lg{border-radius:9px;width:40px;height:40px;font-size:12px}.list{flex-direction:column;display:flex}.li{border-bottom:1px solid var(--line);align-items:center;gap:12px;min-width:0;padding:11px 16px;display:flex}.li:last-child{border-bottom:0}.li-t{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.li-t b{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.li-t small{color:var(--muted);font-size:12px}.li-r{flex:none;align-items:center;gap:10px;display:flex}.kv{grid-template-columns:minmax(80px,max-content) minmax(0,1fr);gap:7px 16px;font-size:12.5px;display:grid}.kv .st{white-space:normal}.kv dt{color:var(--muted)}.kv dd{color:var(--ink);min-width:0;margin:0}.lineage{flex-wrap:wrap;align-items:stretch;gap:0;display:flex}.lin-node{border:1px solid var(--line);background:var(--surface);border-radius:7px;flex-direction:column;gap:2px;min-width:0;padding:8px 10px;display:flex}.lin-node small{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:10.5px;font-weight:600}.lin-node b{font-size:12.5px;font-weight:500}.lin-node.focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.lin-arrow{color:var(--muted);place-items:center;padding:0 4px;display:grid}.drop{border:1.5px dashed var(--line-2);text-align:center;color:var(--ink-2);background:var(--surface-2);border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:22px;display:flex}.progress{background:var(--accent-weak);border-radius:3px;height:6px;overflow:hidden}.progress i{background:var(--accent);border-radius:3px;height:100%;display:block}.meter{background:#dbe8f8;border-radius:3px;height:6px;overflow:hidden}.meter i{background:var(--s1);height:100%;display:block}.diff-add{background:var(--good-weak);color:var(--good)}.diff-chg{background:var(--warn-weak);color:var(--warn)}.diff-del{background:var(--crit-weak);color:var(--crit)}.diff-tag{font:600 10.5px var(--f-mono);border-radius:4px;padding:1px 6px}.dash-c{min-width:0;container:dash/inline-size}.dash{grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;display:grid}@container dash (width<=760px){.dash .t3{grid-column:span 6}.dash .t4,.dash .t5,.dash .t6,.dash .t7,.dash .t8{grid-column:span 12}}@container dash (width<=430px){.dash{gap:10px}.dash>:not(.t3){grid-column:1/-1!important}.dash .t3{grid-column:span 6}.dash .kpi{padding:12px}.dash .kpi-v{font-size:19px}.dash .kpi-d .vs{display:none}}.c-side-l{grid-template-columns:300px minmax(0,1fr);align-items:start}.c-side-r{grid-template-columns:minmax(0,1fr) 260px;align-items:start}.t3{grid-column:span 3}.t4{grid-column:span 4}.t5{grid-column:span 5}.t6{grid-column:span 6}.t7{grid-column:span 7}.t8{grid-column:span 8}.t12{grid-column:span 12}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);flex-direction:column;min-width:0;display:flex}.tile-h{justify-content:space-between;align-items:flex-start;gap:8px;padding:12px 14px 0;display:flex}.tile-h h3{font-size:13px;font-weight:600}.tile-h .sub{color:var(--muted);margin-top:1px;font-size:11.5px}.tile-b{flex:1;min-width:0;padding:10px 14px 12px}.tile.editing{outline:1.5px dashed var(--accent-line);outline-offset:3px}.tile .grip{color:var(--muted);cursor:grab}.tile-resize{border-right:2px solid var(--accent-line);border-bottom:2px solid var(--accent-line);width:10px;height:10px;position:absolute;bottom:4px;right:4px}.tile-src{border-top:1px solid var(--line);color:var(--muted);align-items:center;gap:6px;padding:8px 14px;font-size:11.5px;display:flex}.tile-src .i{width:12px;height:12px}.rb{grid-template-columns:270px minmax(0,1fr);align-items:start;gap:16px;display:grid}.rb-panel{flex-direction:column;gap:14px;display:flex}.rb-sec h4{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);justify-content:space-between;margin-bottom:6px;font-size:11px;font-weight:600;display:flex}.fld{border:1px solid var(--line);background:var(--surface);cursor:pointer;text-align:left;border-radius:7px;align-items:center;gap:8px;width:100%;margin-bottom:5px;padding:7px 9px;display:flex}.fld:hover{border-color:var(--line-2)}.fld .fld-t{flex-direction:column;flex:1;min-width:0;display:flex}.fld .fld-t b{font-size:12.5px;font-weight:500}.fld .fld-t small{color:var(--muted);font-size:11.5px;line-height:1.35}.fld .box{border:1.5px solid var(--line-2);color:#fff;border-radius:4px;flex:none;place-items:center;width:16px;height:16px;display:grid}.fld .box .i{width:12px;height:12px}.fld.on{border-color:var(--accent);background:var(--accent-weak)}.fld.on .box{background:var(--accent);border-color:var(--accent)}.fld.radio .box{border-radius:50%}.fld .gv{width:14px;height:14px;color:var(--good-fill)}.viz-pick{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.viz-pick button{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer;border-radius:7px;flex-direction:column;align-items:center;gap:3px;padding:7px 2px;font-size:10.5px;display:flex}.viz-pick button .i{width:17px;height:17px}.viz-pick button.on{border-color:var(--accent);background:var(--accent-weak);color:var(--accent-2)}.rb-canvas{flex-direction:column;gap:12px;min-width:0;display:flex}.concepts{flex-wrap:wrap;gap:6px;display:flex}.sentence{color:var(--ink-2);font-size:15px;line-height:1.6}.sentence b{color:var(--ink);border-bottom:1.5px solid var(--accent-line);font-weight:600}.chat{flex-direction:column;gap:16px;display:flex}.msg-u{background:var(--accent);color:#fff;border-radius:12px 12px 3px;align-self:flex-end;max-width:72%;padding:9px 13px}.msg-a{gap:10px;min-width:0;max-width:100%;display:flex}.msg-a .bot{background:var(--surface-3);width:28px;height:28px;color:var(--ink-2);border-radius:8px;flex:none;place-items:center;display:grid}.msg-a .msg-b{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.explain{border-top:1px solid var(--line);grid-template-columns:max-content 1fr;gap:6px 14px;padding-top:10px;font-size:12px;display:grid}.explain dt{color:var(--muted)}.explain dd{flex-wrap:wrap;align-items:center;gap:5px;margin:0;display:flex}.composer{border:1px solid var(--line-2);background:var(--surface);box-shadow:var(--shadow);border-radius:12px;align-items:center;gap:8px;padding:8px 8px 8px 14px;display:flex}.composer input{font:14px var(--f-ui);background:0 0;border:0;outline:0;flex:1;min-width:0}.suggest-q{flex-wrap:wrap;gap:6px;display:flex}.suggest-q button{border:1px solid var(--line);background:var(--surface);cursor:pointer;color:var(--ink-2);border-radius:999px;padding:6px 10px;font-size:12.5px}.suggest-q button:hover{border-color:var(--accent-line);color:var(--ink)}.cand{border:1px dashed var(--ai-line);background:var(--surface);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 14px;display:grid}.cand-main{flex-direction:column;gap:6px;min-width:0;display:flex}.cand-side{text-align:right;flex-direction:column;align-items:flex-end;gap:4px;display:flex}.cand.picked{border-style:solid;border-color:var(--ai);box-shadow:0 0 0 3px var(--ai-weak)}.cand .formula{font:12px var(--f-mono);color:var(--ink-2);background:var(--surface-2);border-radius:5px;padding:6px 8px}.er{background-color:var(--surface-2);background-image:radial-gradient(#dfe4e1 1px,#0000 1px);background-size:16px 16px;border-radius:8px;position:relative;overflow-x:auto}.er svg{display:block}.er .ent rect.box{fill:var(--surface);stroke:var(--line-2)}.er .ent.sug rect.box{stroke:var(--ai-line);stroke-dasharray:4 3;fill:var(--ai-wash)}.er .ent text{fill:var(--ink);font:600 12px var(--f-ui)}.er .ent text.f{fill:var(--ink-2);font:11px var(--f-mono)}.er .ent text.src{fill:var(--muted);font:10.5px var(--f-ui)}.er .rel{stroke:var(--ink-2);stroke-width:1.5px;fill:none}.er .rel.sug{stroke:var(--ai);stroke-dasharray:5 4}.er .rel-l{fill:var(--ink-2);font:10.5px var(--f-ui)}.er .rel-l.sug{fill:var(--ai)}.er .ent rect.hdr{fill:var(--surface-3)}.er .ent.sug rect.hdr{fill:var(--ai-weak)}.er .ent .lockic{stroke:var(--accent)}@container frame (width<=1000px){.app{grid-template-columns:62px minmax(0,1fr)}.side{align-items:center;padding:14px 8px}.brand-name,.brand-tag,.ws-txt,.ws>.i,.nav-l,.nav-i span,.side-foot span{display:none}.ws{background:0 0;border:0;padding:4px}.nav-i{justify-content:center;padding:8px}.side-foot{padding:8px 0 0}.search{width:200px}.c4,.c5{grid-template-columns:repeat(2,minmax(0,1fr))}.c-3-2,.c-2-1,.c-1-2,.c-side-l{grid-template-columns:minmax(0,1fr)}.rb{grid-template-columns:230px minmax(0,1fr)}}@container frame (width<=640px){.app{grid-template-columns:minmax(0,1fr);padding-bottom:0}.side{display:none}.only-m{display:inline-grid!important}.hide-m{display:none!important}.m-only{display:flex}.topbar{padding:8px 12px}.page{gap:14px;padding:16px 14px 24px}.ph h1{font-size:19px}.c2,.c3,.c4,.c5,.c-3-2,.c-2-1,.c-1-2,.c-side-l,.c-side-r{grid-template-columns:minmax(0,1fr)}.row.keep2{grid-template-columns:repeat(2,minmax(0,1fr))}.rb{grid-template-columns:minmax(0,1fr)}.desk-only{display:none!important}.tabbar{background:var(--surface);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));z-index:3;grid-column:1/-1;justify-content:space-around;display:flex;position:sticky;bottom:0}.tabbar a{color:var(--muted);border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:4px 8px;font-size:10.5px;display:flex}.tabbar a.on{color:var(--accent)}.seg-mode{display:none}.kpi-v{font-size:22px}.m-notice{border:1px solid var(--info-line);background:var(--info-weak);color:var(--ink-2);border-radius:8px;gap:10px;padding:12px;display:flex}.m-notice b{color:var(--ink)}.msg-u{max-width:88%}.cand{grid-template-columns:minmax(0,1fr)}.cand-side{text-align:left;align-items:flex-start}.viz-pick{grid-template-columns:repeat(4,minmax(0,1fr))}}
