@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@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");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@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");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@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");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@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");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@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");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@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");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@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");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@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");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@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");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@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");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@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");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@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");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@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");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--ink:#17201b;--ink-strong:#141614;--ink-2:#3a443f;--ink-3:#47514c;--muted:#56605b;--muted-2:#5e6863;--nav-ink:#4b5550;--bg:#f5f6f5;--surface:#fff;--surface-sunken:#fafbfa;--hover:#f0f2f1;--border:#e0e3e1;--border-soft:#eef0ef;--border-mid:#ebedec;--border-input:#c6cdc9;--border-pill:#d0d6d3;--divider:#d5dad7;--accent:#1d5f8a;--accent-hover:#174e72;--accent-ink:#164a6c;--accent-tint:#edf3f7;--accent-tint-2:#e9f0f5;--flash:#9cc2dd;--active:#175479;--active-bg:#e6f0f6;--active-ring:#d7e6f0;--info-bg:#eef4f9;--info-border:#c7daea;--info-ink:#1d3c55;--review:#1c4b82;--review-bg:#e5eef8;--ok:#1d6436;--ok-bg:#e2f2e7;--ok-banner-bg:#eaf5ee;--ok-border:#bcdcc6;--ok-ink:#1b4a2c;--warn:#7d440c;--warn-bg:#fbeedb;--warn-banner-bg:#fcf4e7;--warn-border:#e9cc97;--warn-ink:#583608;--warn-bar:#b8741f;--bad:#9a2820;--bad-bg:#fbe6e4;--bad-banner-bg:#fcefee;--bad-border:#ebc3bf;--bad-ink:#6f1e18;--bad-solid:#a6302a;--bad-solid-hover:#8c2620;--neutral-bg:#eef0ef;--neutral-ink:#47514c;--neutral-banner-bg:#f1f3f2;--neutral-border:#dce0de;--neutral-banner-ink:#2b3430;--violet:#4a3577;--violet-bg:#efeaf6;--violet-avatar-bg:#e7e1f1;--proto-ink:#5e4a06;--proto-bg:#fffcf2;--proto-tag-bg:#fbf6e6;--proto-border:#b59b55;--radius-sm:6px;--radius:7px;--radius-md:10px;--radius-lg:12px}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent)}a:hover{color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mono{font-family:var(--font-mono)}.sr-only{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.app{flex-direction:column;min-height:100vh;display:flex}h1{letter-spacing:-.015em;margin:0;font-size:24px;font-weight:600;line-height:1.25}h2{margin:0;font-size:15px;font-weight:600}h3{margin:0;font-size:13.5px;font-weight:600}p{margin:0}.muted{color:var(--muted)}.small{font-size:13px}.xs{font-size:12px}.eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11.5px;font-weight:600}.row{align-items:center;gap:8px;display:flex}.stack{flex-direction:column;gap:6px;display:flex}.num{font-variant-numeric:tabular-nums}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:20;justify-content:space-between;align-items:center;gap:16px;height:56px;padding:0 24px;display:flex;position:sticky;top:0}.tb-left,.tb-right{align-items:center;gap:20px;min-width:0;display:flex}.brand{letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:10px;font-size:15px;font-weight:600;display:flex}.env-tag{letter-spacing:.02em;color:var(--warn);background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:600}.brand-name{color:var(--ink-strong)}.brand-sep{background:var(--divider);width:1px;height:18px}.brand-desc{color:var(--nav-ink);font-weight:500}.nav{gap:4px;display:flex}.nav-link{border-radius:var(--radius);color:var(--nav-ink);cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:8px;min-height:36px;padding:0 12px;font-weight:500;text-decoration:none;display:flex}.nav-link:hover{background:var(--hover);color:var(--ink)}.nav-link.on{background:var(--accent-tint-2);color:var(--accent-ink)}.count{background:var(--surface);color:#3c4641;font-variant-numeric:tabular-nums;border:1px solid #d3d9dd;border-radius:999px;padding:0 7px;font-size:11.5px;line-height:18px}.proto-tag{color:var(--proto-ink);background:var(--proto-tag-bg);border:1px dashed var(--proto-border);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:12px}.acct{position:relative}.acct-btn{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;min-height:36px;padding:4px 8px 4px 4px;display:flex}.acct-btn:hover{background:var(--hover)}.avatar{width:28px;height:28px;color:var(--accent-ink);background:#dce7ef;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:inline-flex}.avatar.rev{background:var(--violet-avatar-bg);color:var(--violet)}.menu{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);z-index:30;width:250px;padding:6px;position:absolute;top:44px;right:0;box-shadow:0 12px 32px #141e191f}.menu-h{border-bottom:1px solid var(--border-soft);margin-bottom:4px;padding:10px 10px 8px}.menu-i{text-align:left;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;width:100%;padding:9px 10px;display:block}.menu-i:hover{background:#f2f4f3}.page{width:100%;max-width:1400px;margin:0 auto;padding:28px 32px 140px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.head-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.btn{border-radius:var(--radius);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:0 14px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);color:#fff}.btn-secondary{background:var(--surface);border-color:var(--border-input);color:var(--ink)}.btn-secondary:hover{background:#f2f4f3}.btn-ghost{color:var(--accent);background:0 0}.btn-ghost:hover{background:var(--accent-tint)}.btn-danger{background:var(--surface);color:var(--bad);border-color:#e0b3ae}.btn-danger:hover{background:#fcf1f0}.btn-danger-solid{background:var(--bad-solid);color:#fff}.btn-danger-solid:hover{background:var(--bad-solid-hover)}.btn-sm{min-height:30px;padding:0 10px;font-size:13px}.btn:disabled,.btn:disabled:hover{border-color:var(--border);color:#69726d;cursor:not-allowed;background:#eceeed}.icon-btn{border-radius:var(--radius-sm);cursor:pointer;width:30px;height:30px;color:var(--nav-ink);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--hover);color:var(--ink)}.icon-btn:disabled{color:#b5bcb8;cursor:not-allowed;background:0 0}.ic{flex:none;width:16px;height:16px}.link{color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-weight:500;text-decoration:none}.link:hover{color:var(--accent);text-decoration:underline}.tlink{color:var(--accent)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);transition:box-shadow .3s}.card.flash{box-shadow:0 0 0 3px var(--flash)}.card-h{border-bottom:1px solid var(--border-mid);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:13px 18px;display:flex}.card-b{padding:16px 18px}.input{border:1px solid var(--border-input);border-radius:var(--radius);background:var(--surface);width:100%;min-height:36px;padding:6px 12px}.input:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.input[readonly]{background:#f7f8f7}textarea.input{resize:vertical;line-height:1.55}.field{color:var(--ink-2);flex-direction:column;gap:5px;font-size:12.5px;font-weight:500;display:flex}.flabel{color:var(--ink-2);font-size:12.5px;font-weight:500}.err{color:var(--bad);align-items:center;gap:6px;font-size:12.5px;display:flex}.sel{border:1px solid var(--border-input);border-radius:var(--radius);background:var(--surface);width:100%;min-height:32px;padding:0 8px;font-size:13px}.check-line{cursor:pointer;align-items:center;gap:8px;display:flex}.proj-filter{align-items:center;gap:8px;display:flex}.proj-filter .sel{width:auto;min-width:210px;min-height:36px}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0;display:grid}.metric{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;flex-direction:column;gap:1px;padding:14px 16px;display:flex}.metric:hover{border-color:#b9c3be}.metric.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.metric-v{font-variant-numeric:tabular-nums;font-size:26px;font-weight:600;line-height:1.2}.metric-l{font-size:13.5px;font-weight:500}.metric-h{color:var(--muted);font-size:12px}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.search{flex:0 320px;min-width:220px;position:relative}.search .ic{color:var(--muted-2);position:absolute;top:10px;left:11px}.search .input{padding-left:34px}.seg{flex-wrap:wrap;gap:6px;display:flex}.pill{border:1px solid var(--border-pill);background:var(--surface);cursor:pointer;color:#333d38;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;min-height:30px;padding:0 12px;font-size:13px;display:inline-flex}.pill:hover{border-color:#9ea9a3}.pill.on{background:var(--ink);color:#fff;border-color:var(--ink)}.tbl-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow-x:auto}table{border-collapse:collapse;width:100%}.tbl-wrap table{min-width:760px}th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);background:var(--surface-sunken);white-space:nowrap;padding:10px 16px;font-size:12px;font-weight:600}td{border-bottom:1px solid var(--border-soft);vertical-align:middle;padding:12px 16px}tbody tr:last-child td{border-bottom:0}tr.click{cursor:pointer}tr.click:hover td{background:#f6f9fa}.chip{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;height:24px;padding:0 9px;font-size:12px;font-weight:500;line-height:1;display:inline-flex}.chip:before{content:"";background:currentColor;border-radius:50%;flex:none;width:7px;height:7px}.chip-draft{background:var(--neutral-bg);color:#3b4540}.chip-draft:before{background:0 0;border:1.5px solid;width:5px;height:5px}.chip-review{background:var(--review-bg);color:var(--review)}.chip-changes{background:var(--warn-bg);color:var(--warn)}.chip-changes:before{border-radius:1px;width:6px;height:6px;transform:rotate(45deg)}.chip-ok{background:var(--ok-bg);color:var(--ok)}.chip-active{background:var(--active-bg);color:var(--active)}.chip-active:before{animation:1.4s ease-in-out infinite pulse}.chip-failed{background:var(--bad-bg);color:var(--bad)}.chip-failed:before{border-radius:1px}.chip-neutral{background:var(--neutral-bg);color:var(--neutral-ink)}.chip-plain{background:var(--neutral-banner-bg);color:#3b4540}.chip-plain:before{display:none}.chip-inactive{background:var(--surface);color:#3f4944;border:1px dashed #8f9993}.chip-inactive:before{background:0 0;border:1.5px solid;border-radius:1px;width:5px;height:5px}.chip-human{background:var(--violet-bg);color:var(--violet)}.chip-human:before{border-radius:2px;width:6px;height:6px}.tag{color:var(--violet);background:var(--violet-bg);border-radius:5px;padding:1px 7px;font-size:11.5px;font-weight:500;display:inline-flex}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.dot-live{background:var(--active);border-radius:50%;width:8px;height:8px;animation:1.4s infinite pulse;display:inline-block}.sk{background:linear-gradient(90deg,#e9ecea 0%,#f4f6f5 50%,#e9ecea 100%) 0 0/200% 100%;border-radius:6px;animation:1.2s linear infinite sk}@keyframes sk{0%{background-position:200% 0}to{background-position:-200% 0}}.empty{text-align:center;color:var(--ink-2);flex-direction:column;align-items:center;gap:8px;padding:48px 24px;display:flex}.empty-ic{width:44px;height:44px;color:var(--accent);background:#eef3f7;border-radius:12px;justify-content:center;align-items:center;margin-bottom:6px;display:flex}.crumbs{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;font-size:13px;display:flex}.ws-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.ws-title{flex:420px;min-width:0}.meta-row{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:10px;font-size:13px;display:flex}.sep{background:var(--divider);width:1px;height:16px}.save{color:var(--muted);align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.save.bad{color:var(--bad)}.ws-actions{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.btn-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.reason{color:var(--warn);text-align:right;align-items:center;gap:6px;max-width:380px;font-size:12.5px;display:flex}.versions{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.vpill{border:1px solid var(--border-pill);background:var(--surface);cursor:pointer;color:#333d38;border-radius:6px;min-height:26px;padding:0 8px;font-size:12.5px}.vpill.on{border-color:var(--accent);background:var(--accent-tint);color:var(--accent-ink);font-weight:500}.banner{border-radius:var(--radius-md);border:1px solid;align-items:flex-start;gap:12px;margin-bottom:12px;padding:12px 16px;font-size:13.5px;display:flex}.banner .ic{margin-top:2px}.banner-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.banner-info{background:var(--info-bg);border-color:var(--info-border);color:var(--info-ink)}.banner-warn{background:var(--warn-banner-bg);border-color:var(--warn-border);color:var(--warn-ink)}.banner-ok{background:var(--ok-banner-bg);border-color:var(--ok-border);color:var(--ok-ink)}.banner-neutral{background:var(--neutral-banner-bg);border-color:var(--neutral-border);color:var(--neutral-banner-ink)}.banner-bad{background:var(--bad-banner-bg);border-color:var(--bad-border);color:var(--bad-ink)}.tabs{border-bottom:1px solid #dde1df;gap:2px;margin-bottom:20px;display:flex;overflow-x:auto}.tab{color:#4d5752;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:10px 14px;font-weight:500;display:inline-flex}.tab:hover{color:var(--ink)}.tab.on{color:var(--ink);border-bottom-color:var(--accent)}.ws-body{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.ws-main{flex-direction:column;flex:999 600px;gap:16px;min-width:0;display:flex}.ws-rail{flex-direction:column;flex:300px;gap:16px;max-width:350px;display:flex}@media (width<=1000px){.ws-rail{max-width:none}}.pgrid{grid-template-columns:minmax(0,1.75fr) minmax(250px,1fr);align-items:start;gap:16px;display:grid}@media (width<=1240px){.pgrid{grid-template-columns:minmax(0,1fr)}}.editor{font-family:var(--font-mono);resize:vertical;background:var(--surface);border:0;border-radius:0 0 10px 10px;width:100%;min-height:380px;padding:16px 18px;font-size:13px;line-height:1.65;display:block}.editor:focus{outline:2px solid var(--accent);outline-offset:-2px}.editor[readonly]{background:var(--surface-sunken)}.md{flex-direction:column;gap:8px;min-height:380px;padding:18px 22px;font-size:14px;display:flex}.md-h1{margin-top:2px;font-size:19px;font-weight:600}.md-h2{margin-top:10px;font-size:15px;font-weight:600}.md-li{gap:10px;display:flex}.md-li:before{content:"";background:var(--muted);border-radius:50%;flex:none;width:5px;height:5px;margin-top:9px}.toggle{border:1px solid var(--border-pill);border-radius:var(--radius);display:inline-flex;overflow:hidden}.toggle button{background:var(--surface);cursor:pointer;min-height:28px;color:var(--ink-2);border:0;padding:0 11px;font-size:12.5px}.toggle button.on{background:var(--ink);color:#fff}.out-row{border-top:1px solid var(--border-soft);align-items:flex-start;gap:10px;padding:10px 0;display:flex}.out-row:first-child{border-top:0;padding-top:0}.drop{border-radius:var(--radius-md);background:var(--surface-sunken);text-align:left;border:1.5px dashed #b9c1bd;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;padding:20px;transition:background .15s,border-color .15s;display:flex}.drop.over{border-color:var(--accent);background:var(--accent-tint)}.file-row{border-top:1px solid var(--border-soft);grid-template-columns:minmax(190px,1.3fr) 150px minmax(240px,1.5fr) minmax(150px,auto);align-items:center;gap:16px;padding:14px 18px;display:grid}@media (width<=1180px){.file-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.file-name{word-break:break-all;font-size:13.5px;font-weight:500}.file-state{flex-direction:column;gap:6px;min-width:0;display:flex}.file-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.bar{background:#e3e8e5;border-radius:99px;height:6px;overflow:hidden}.bar-fill{background:var(--accent);border-radius:99px;height:100%;transition:width .45s linear}.bar-fill.paused{background:#7f8a85}.bar-fill.interrupted,.bar-fill.failed{background:var(--warn-bar)}.purpose{color:#33403a;align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.purpose.ref{color:var(--violet)}.preview{background:var(--surface-sunken);border:1px solid var(--border-mid);white-space:pre;border-radius:8px;flex-direction:column;grid-column:1/-1;gap:2px;padding:10px 12px;font-size:12px;display:flex;overflow-x:auto}.chk{border-top:1px solid var(--border-soft);align-items:flex-start;gap:10px;padding:10px 0;display:flex}.chk:first-child{border-top:0}.chk-ic{border-radius:50%;flex:none;justify-content:center;align-items:center;width:20px;height:20px;margin-top:1px;display:flex}.k-pass{background:var(--ok-bg);color:var(--ok)}.k-block{background:var(--bad-bg);color:var(--bad)}.k-warn{background:var(--warn-bg);color:var(--warn)}.k-pending{background:var(--neutral-bg);color:var(--muted)}.chk-t{color:var(--ink-3);align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.chk-m{color:var(--ink);font-size:13px}.rail-list{color:var(--ink-2);flex-direction:column;gap:8px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.rail-list li{gap:8px;display:flex}.rail-list li:before{content:"";background:#7f8a85;border-radius:50%;flex:none;width:4px;height:4px;margin-top:9px}.kv{flex-direction:column;gap:10px;font-size:13px;display:flex}.kv-row{flex-direction:column;gap:1px;display:flex}.kv-k{color:var(--muted);font-size:12px}.crit{border-top:1px solid var(--border-soft);grid-template-columns:40px minmax(0,1fr) 112px 36px;align-items:start;gap:14px;padding:16px 18px;display:grid}.crit:first-child{border-top:0}.crit.ro{grid-template-columns:40px minmax(0,1fr) 90px}.crit-n{color:var(--ink-3);flex-direction:column;align-items:center;gap:2px;font-size:13px;font-weight:600;display:flex}.crit-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.crit-fields .full{grid-column:1/-1}.weight{align-items:center;gap:6px;display:flex}.weight .input{text-align:right}.total{border-top:1px solid var(--border);background:var(--surface-sunken);border-radius:0 0 10px 10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:13px 18px;display:flex}.total.bad{background:#fcf1ef}.total-v{font-variant-numeric:tabular-nums;font-weight:600}.stages{flex-wrap:wrap;align-items:center;gap:6px 0;display:flex}.stage{color:var(--muted);white-space:nowrap;align-items:center;gap:8px;font-size:13px;display:flex}.stage.done{color:var(--ok)}.stage.current{color:var(--active);font-weight:600}.stage.failed{color:var(--bad);font-weight:600}.stage.stopped{color:var(--ink-3);font-weight:600}.sdot{background:var(--surface);border:1.5px solid #c2c9c5;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.stage.done .sdot{border-color:var(--ok);background:var(--ok);color:#fff}.stage.current .sdot{border-color:var(--active);box-shadow:0 0 0 3px var(--active-ring)}.stage.current .sdot:after{content:"";background:var(--active);border-radius:50%;width:8px;height:8px;animation:1.4s infinite pulse}.stage.failed .sdot{border-color:var(--bad);background:var(--bad);color:#fff}.stage.stopped .sdot{border-color:var(--ink-3);background:var(--ink-3);color:#fff}.sline{background:#d0d6d3;width:32px;height:1.5px;margin:0 10px}.sum{border:1px solid var(--border);border-radius:var(--radius-md);background:#e6e9e7;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;display:grid;overflow:hidden}.sum>div{background:var(--surface);flex-direction:column;gap:2px;padding:13px 16px;display:flex}.score-big{font-variant-numeric:tabular-nums;font-size:26px;font-weight:600;line-height:1.2}.res td{vertical-align:top;font-size:13px}.evidence{font-family:var(--font-mono);color:var(--ink-2);background:var(--bg);border-radius:6px;margin-top:6px;padding:6px 8px;font-size:12px}.log{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.log summary{cursor:pointer;padding:12px 18px;font-size:13.5px;font-weight:500;list-style-position:inside}.log-b{border-top:1px solid var(--border-mid);background:var(--surface-sunken);border-radius:0 0 10px 10px;flex-direction:column;gap:3px;max-height:280px;padding:12px 18px;font-size:12px;display:flex;overflow:auto}.log-line{gap:14px;display:flex}.log-t{color:var(--muted-2);flex:none}.thread{flex-direction:column;display:flex}.post{border-top:1px solid var(--border-soft);gap:12px;padding:16px 18px;display:flex}.post:first-child{border-top:0}.post-h{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.anchor{color:#33403a;background:var(--neutral-banner-bg);border-radius:5px;align-items:center;gap:5px;margin-top:6px;padding:2px 7px;font-size:12px;display:inline-flex}.decision{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;gap:12px;padding:16px 18px;display:flex}.overlay{z-index:50;background:#121a166b;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.dialog{background:var(--surface);border-radius:var(--radius-lg);flex-direction:column;gap:16px;width:100%;max-width:500px;max-height:calc(100vh - 32px);padding:22px 24px;display:flex;overflow:auto;box-shadow:0 24px 60px #0003}.dialog:focus{outline:none}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.req{border:1px solid var(--border-mid);border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.toast{background:var(--ink);color:#fff;z-index:60;border-radius:9px;align-items:center;gap:10px;max-width:min(560px,100vw - 32px);padding:11px 16px;font-size:13.5px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0003}.demo{z-index:40;background:var(--proto-bg);border:1.5px dashed var(--proto-border);border-radius:var(--radius-lg);flex-direction:column;gap:12px;width:290px;max-height:calc(100vh - 40px);padding:14px;font-size:13px;display:flex;position:fixed;bottom:20px;left:20px;overflow:auto;box-shadow:0 10px 30px #281e001f}.demo-open{z-index:40;background:var(--proto-bg);border:1.5px dashed var(--proto-border);color:var(--proto-ink);cursor:pointer;border-radius:999px;min-height:36px;padding:0 14px;font-size:13px;font-weight:500;position:fixed;bottom:20px;left:20px}.demo-g{flex-direction:column;gap:6px;display:flex}.demo-l{color:var(--proto-ink);text-transform:uppercase;letter-spacing:.05em;font-size:11.5px;font-weight:600}.demo .pill{min-height:28px;font-size:12.5px}.auth{flex:1;justify-content:center;align-items:center;padding:40px 16px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:18px;width:100%;max-width:400px;padding:32px;display:flex}.auth-divider{color:var(--muted);align-items:center;gap:12px;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}@media (width<=1100px){.brand-sep,.brand-desc{display:none}}@media (width<=760px){.brand-name{display:none}.tb-left{flex:1;gap:10px;min-width:0}.tb-right{flex:none}.nav{scrollbar-width:none;min-width:0;overflow-x:auto}.nav-link{padding:0 8px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.page{padding:20px 16px 140px}.proto-tag{display:none}.crit,.crit-fields{grid-template-columns:minmax(0,1fr)}.topbar{padding:0 12px}.acct-name{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.proj-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:20px;margin-top:22px;display:grid}@media (width<=1000px){.proj-layout{grid-template-columns:minmax(0,1fr)}}.suggest{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);z-index:30;max-height:300px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 32px #141e191f}.suggest li{border-radius:var(--radius-sm);cursor:pointer;padding:8px 10px}.suggest li[aria-selected=true]{background:#f2f4f3}.tbl-compact th,.tbl-compact td{padding-left:12px;padding-right:12px}
