.vg-lineage-board{--ink:#1a1c1e;--mute:#5c6570;--paper:#f3efe6;--paper-2:#e8e2d4;--card:#fffcf6;--card-edge:#d9d1c0;--accent:#2f5d50;--accent-soft:#d7e6df;--warn:#8a5a28;--warn-soft:#f0e2cf;--mid:#3d4f6f;--mid-soft:#d9e0ec;--shadow:0 8px 22px rgba(26,28,30,.07);--radius:10px;box-sizing:border-box;min-width:0;max-width:100%;font-family:DM Sans,system-ui,sans-serif;color:var(--ink);background:#fff;padding:8px 0 24px;border-radius:0;border:0}.vg-lineage-board *,.vg-lineage-board *:before,.vg-lineage-board *:after{box-sizing:border-box}.vg-lineage-board .search-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:12vh 16px 24px}.vg-lineage-board .search-modal[hidden]{display:none!important}.vg-lineage-board .search-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#1a1c1e47;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.vg-lineage-board .search-panel{position:relative;z-index:1;width:min(520px,100%);background:#fff;border:1px solid #e3e3ea;border-radius:12px;box-shadow:0 18px 48px #1a1c1e2e;overflow:hidden}.vg-lineage-board .search-panel input{width:100%;font:inherit;font-size:1.05rem;padding:14px 16px;border:0;border-bottom:1px solid var(--card-edge);background:transparent;color:var(--ink);outline:none}.vg-lineage-board .swatch{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px;border:1px solid rgba(0,0,0,.08)}.vg-lineage-board .swatch.shared{background:#efe6d4}.vg-lineage-board .swatch.base{background:var(--accent-soft)}.vg-lineage-board .swatch.lib{background:var(--mid-soft)}.vg-lineage-board .swatch.svc{background:var(--card)}.vg-lineage-board .swatch.ext{background:#ece8f5}.vg-lineage-board .swatch.mid{background:#ebe4d6}.vg-lineage-board .lb-wrap{display:block;position:relative;min-width:0;max-width:100%;margin:0}.vg-lineage-board .board-scroll{width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:visible;padding-bottom:8px;-webkit-overflow-scrolling:touch}.vg-lineage-board .board{position:relative;display:grid;grid-template-columns:repeat(5,260px);column-gap:112px;row-gap:28px;align-items:start;padding:8px 8px 28px;width:max-content;max-width:none;min-width:0}.vg-lineage-board .layer{position:relative;z-index:2}.vg-lineage-board .layer-head{font-family:IBM Plex Mono,monospace;font-size:.74rem;letter-spacing:.06em;color:var(--mute);margin:0 0 10px 2px}.vg-lineage-board .layer-head span{display:inline-block;background:#fff;border:1px solid var(--card-edge);border-radius:8px;padding:4px 8px;box-shadow:var(--shadow)}.vg-lineage-board .stack{display:flex;flex-direction:column;gap:18px}.vg-lineage-board .card{background:var(--card);border:1px solid var(--card-edge);border-radius:var(--radius);box-shadow:var(--shadow);padding:10px 11px;cursor:crosshair;position:relative;z-index:3}.vg-lineage-board .card.shared{background:linear-gradient(180deg,#f7f0e3,#f3e9d7)}.vg-lineage-board .card.base{background:linear-gradient(180deg,#eef6f2,#e4efe9);border-color:#b7cfc4}.vg-lineage-board .card.mid{background:linear-gradient(180deg,#f4f0e8,#ebe4d6);border-color:#cbbfa8}.vg-lineage-board .card.ext{background:linear-gradient(180deg,#f3f0fa,#ebe6f5);border-color:#c9bfd9}.vg-lineage-board .card.lib{background:linear-gradient(180deg,#eef1f7,#e4e9f2);border-color:#b8c3d6}.vg-lineage-board .card.svc{padding:7px 9px}.vg-lineage-board .card .vuln-row{display:flex;flex-wrap:wrap;align-items:center;gap:3px;margin-top:5px;padding-top:5px;border-top:1px solid rgba(26,28,30,.08);font-family:IBM Plex Mono,monospace;font-size:.62rem;font-weight:600;line-height:1}.vg-lineage-board .card .vuln-row+.vuln-row{margin-top:3px;padding-top:3px;border-top-color:#1a1c1e0d}.vg-lineage-board .card .vuln-row .surf-ico{display:inline-flex;width:12px;height:12px;flex:0 0 auto;opacity:.78;margin-right:2px;color:var(--mute)}.vg-lineage-board .card .vuln-row .surf-ico svg{width:12px;height:12px;display:block}.vg-lineage-board .card .vuln-row .v.none{background:transparent;border-color:#1a1c1e2e;color:var(--mute);font-weight:500;min-width:auto;padding:1px 4px}.vg-lineage-board .card .vuln-row:empty{display:none;margin:0;padding:0;border:0}.vg-lineage-board .card .vuln-row .v{display:inline-flex;align-items:center;justify-content:center;min-width:1.2rem;padding:2px 5px;border-radius:4px;border:1px solid transparent;color:#fff}.vg-lineage-board .card .vuln-row .v.crit{background:#9f1239;border-color:#881337}.vg-lineage-board .card .vuln-row .v.high{background:#c2410c;border-color:#9a3412}.vg-lineage-board .card .vuln-row .v.med{background:#a16207;border-color:#854d0e}.vg-lineage-board .card .vuln-row .v.low{background:#57534e;border-color:#44403c}.vg-lineage-board .card .vuln-row .v.unk{background:#64748b;border-color:#475569}.vg-lineage-board .card .vuln-row .v.ok{background:#166534;border-color:#14532d}.vg-lineage-board .card .vuln-row .v.err{background:#9f1239;border-color:#881337;letter-spacing:.02em}.vg-lineage-board .swatch.vuln-crit{background:#9f1239}.vg-lineage-board .swatch.vuln-high{background:#c2410c}.vg-lineage-board .swatch.vuln-med{background:#a16207}.vg-lineage-board .swatch.vuln-low{background:#57534e}.vg-lineage-board .kind{font-family:IBM Plex Mono,monospace;font-size:.64rem;letter-spacing:.05em;text-transform:uppercase;color:var(--mute);margin-bottom:2px}.vg-lineage-board .name{font-size:.92rem;font-weight:650;letter-spacing:-.02em;line-height:1.2;word-break:break-word}.vg-lineage-board .card.svc .name{font-size:.8rem;font-weight:600}.vg-lineage-board .meta{margin-top:4px;font-size:.72rem;color:var(--mute);line-height:1.3}.vg-lineage-board .meta code{font-family:IBM Plex Mono,monospace;font-size:.68rem;background:#0000000a;padding:1px 4px;border-radius:3px}.vg-lineage-board .family{display:flex;flex-direction:column;gap:12px}.vg-lineage-board .family-label{font-family:IBM Plex Mono,monospace;font-size:.64rem;letter-spacing:.05em;text-transform:uppercase;margin:0 0 4px 2px;color:var(--mute)}.vg-lineage-board .pills{display:flex;flex-direction:column;gap:8px}.vg-lineage-board .edges{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:visible}.vg-lineage-board .edges path.edge-halo{fill:none;stroke:#fffcf6;stroke-width:5;stroke-linecap:square;stroke-linejoin:miter}.vg-lineage-board .edges path.edge{fill:none;stroke-linecap:square;stroke-linejoin:miter;stroke-width:2.6;opacity:.92}.vg-lineage-board .edges path.edge.soft{stroke-dasharray:7 5;stroke-width:2.2}.vg-lineage-board .edges path.edge.embed{stroke-dasharray:2 4;stroke-width:2}.vg-lineage-board .edges path.edge.dim,.vg-lineage-board .edges path.edge-halo.dim{opacity:0!important}.vg-lineage-board .edges path.edge.hi{opacity:1!important;stroke-width:3.4;filter:brightness(1.15)}.vg-lineage-board .card.hi-src,.vg-lineage-board .card.hi-dst,.vg-lineage-board .card.hi-mid{outline:2px solid #2f5d50;outline-offset:2px}.vg-lineage-board .card.hi-dst{outline-color:#3d4f6f}.vg-lineage-board .card.hi-mid{outline-color:#8a5a28;outline-style:dashed}.vg-lineage-board .card.dim-card{opacity:.22;filter:grayscale(.4)}.vg-lineage-board .search-list{margin:0;padding:6px;list-style:none;max-height:min(360px,50vh);overflow:auto}.vg-lineage-board .search-list[hidden]{display:none}.vg-lineage-board .search-list li{padding:9px 10px;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:2px}.vg-lineage-board .search-list li[aria-selected=true],.vg-lineage-board .search-list li:hover{background:var(--accent-soft)}.vg-lineage-board .search-list .sn{font-weight:650;font-size:.9rem}.vg-lineage-board .search-list .sk{font-family:IBM Plex Mono,monospace;font-size:.68rem;color:var(--mute);text-transform:uppercase;letter-spacing:.04em}.vg-lineage-board .search-empty{padding:16px;color:var(--mute);font-size:.85rem;text-align:center}.vg-lineage-board .prospects{margin:0 0 18px;padding:10px 12px;border:1px solid #cbbfa8;border-radius:10px;background:linear-gradient(135deg,#fff8e8,#f3efe6 48%,#e4efe9);box-shadow:var(--shadow)}.vg-lineage-board .prospects h2{margin:0 0 8px;font-size:.92rem;letter-spacing:-.02em;font-weight:650;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.vg-lineage-board .prospects-sub{font-size:.68rem;font-weight:500;color:var(--mute);letter-spacing:.02em;font-family:IBM Plex Mono,monospace;text-transform:uppercase}.vg-lineage-board .prospects-empty{margin:0;font-size:.82rem;color:var(--mute);line-height:1.45;max-width:70ch}.vg-lineage-board .pb-role,.vg-lineage-board .prospect-card .pb-role{font-size:.55rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--mute);margin-right:2px}.vg-lineage-board .prospect-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.vg-lineage-board .prospect-card{background:#fffcf6;border:1px solid var(--card-edge);border-radius:8px;padding:7px 9px;cursor:pointer}.vg-lineage-board .prospect-card:hover{border-color:#2f5d50}.vg-lineage-board .prospect-card.active{outline:2px solid #2f5d50;outline-offset:2px}.vg-lineage-board .prospect-card.hot{border-color:#b45309}.vg-lineage-board .prospect-card .pkg{font-weight:650;font-size:.8rem;letter-spacing:-.01em;word-break:break-word;display:flex;align-items:baseline;justify-content:space-between;gap:8px}.vg-lineage-board .prospect-card .pkg .eco{color:var(--mute);font-weight:500;font-size:.64rem;font-family:IBM Plex Mono,monospace;text-transform:uppercase}.vg-lineage-board .prospect-card .ladder{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:5px;font-family:IBM Plex Mono,monospace;font-size:.64rem}.vg-lineage-board .prospect-card .ver{background:#1a1c1e0d;border-radius:4px;padding:1px 5px;display:inline-flex;align-items:center;gap:4px}.vg-lineage-board .prospect-card .ver.mute,.vg-lineage-board .card .pb-ver.mute{opacity:.7;font-style:normal;color:var(--mute)}.vg-lineage-board .prospect-card .arrow{color:var(--mute)}.vg-lineage-board .prospect-card .vuln-row{display:inline-flex;flex-wrap:wrap;gap:2px;margin:0;padding:0;border:0}.vg-lineage-board .page-lineage-skel{display:flex;flex-direction:column;gap:14px;min-height:520px}.vg-lineage-board .swatch.pkg{background:#fde68a}.vg-lineage-board .card .pkg-bumps{display:flex;flex-direction:column;gap:5px;margin-top:6px;padding-top:6px;border-top:1px solid rgba(26,28,30,.08)}.vg-lineage-board .card .pkg-bump{display:flex;flex-direction:column;gap:3px;padding:6px 7px;border-radius:7px;background:#fff7ed;border:1px solid #fdba74}.vg-lineage-board .card .pkg-bump.clean{background:#1a1c1e08;border-color:#1a1c1e14}.vg-lineage-board .card .pkg-bump .pb-name{display:flex;align-items:center;gap:4px;font-size:.68rem;font-weight:650;letter-spacing:-.01em;word-break:break-word;line-height:1.2}.vg-lineage-board .card .pkg-bump .pb-name .surf-ico{display:inline-flex;width:11px;height:11px;flex:0 0 auto;opacity:.75;color:var(--mute)}.vg-lineage-board .card .pkg-bump .pb-name .surf-ico svg{width:11px;height:11px;display:block}.vg-lineage-board .card .pkg-bump .pb-ladder{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-family:IBM Plex Mono,monospace;font-size:.6rem}.vg-lineage-board .card .pkg-bump .pb-ver{display:inline-flex;align-items:center;gap:3px;padding:1px 4px;border-radius:4px;background:#ffffffb3;border:1px solid rgba(26,28,30,.08)}.vg-lineage-board .card .pkg-bump .pb-arrow{color:var(--mute);font-weight:600}:root{color-scheme:light;--bg: #f4f4fd;--panel: #ffffff;--border: #e8e8ee;--line: #efeff3;--text: #17171f;--muted: #6a6a7a;--faint: #9c9caa;--accent: #5b5bd6;--accent-soft: #eeeefd;--accent-text: #4b4bc4;--accent-line: #c9c9f5;--ok: #2f8a5f;--ok-bg: #e7f4ec;--err: #b5485e;--err-bg: #fbebee;--crit: #e85a56;--high: #f09448;--med: #efc048;--low: #4479fb;--unkn: #8b8b9a;--blk: #c4312b;--mono: "Geist Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-feature-settings:"cv11","ss01","tnum";-webkit-font-smoothing:antialiased;color:var(--text);font-size:13.5px;background:#fff}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}button:disabled{cursor:default}input{font:inherit;color:inherit}ul{list-style:disc}:focus-visible{outline:2px solid var(--accent-line);outline-offset:2px}.mono{font-family:var(--mono);font-feature-settings:normal;letter-spacing:0}.ic{flex:none;display:inline-block;vertical-align:middle}.ell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.row{display:flex;align-items:center}.faint{color:var(--faint)}.muted{color:var(--muted)}.lnk{color:var(--accent-text);font-weight:500;cursor:pointer}.lnk:hover{text-decoration:underline}.lbl{font-size:12px;color:var(--faint)}.code{font-family:var(--mono);font-size:.92em;background:#f4f4f7;border-radius:5px;padding:1px 5px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.app{display:flex;height:100vh;min-height:600px}.side{width:200px;flex:none;background:#fafafb;border-right:1px solid #f0f0f3;display:flex;flex-direction:column;padding:20px 12px;position:relative}.ws{display:flex;align-items:center;gap:10px;padding:2px 8px 20px}.ws b{font-weight:600;font-size:13.5px}.ws small{display:block;color:var(--faint);font-size:11.5px}.nav a{display:flex;align-items:center;gap:10px;height:34px;padding:0 10px;border-radius:8px;color:var(--muted);font-weight:500;font-size:13.5px}.nav a:hover{color:var(--text)}.nav a.on{background:var(--accent-soft);color:var(--accent-text);box-shadow:none}.nav a.on .ic{color:var(--accent)}.spacer{flex:1}.me{display:flex;align-items:center;gap:10px;padding:8px;border-radius:10px;font-size:12px;color:var(--muted);width:100%;text-align:left}.me:hover,.me.on{background:#fff;box-shadow:0 0 0 1px #ececf1}.av{width:28px;height:28px;border-radius:50%;background:#e9e8fb;color:var(--accent-text);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;flex:none}.acct{position:absolute;left:12px;bottom:64px;width:240px;background:#fff;border-radius:12px;box-shadow:0 0 0 1px #ececf1,0 16px 40px -12px #1e1e3c2e;z-index:30}.acct .hd{padding:14px 14px 12px}.acct .grp{border-top:1px solid #f2f2f5;padding:6px}.acct .grp a,.acct .grp button{display:flex;align-items:center;gap:10px;height:34px;padding:0 10px;border-radius:7px;color:var(--text);font-size:13px;width:100%}.acct .grp a:hover,.acct .grp button:hover{background:#f6f6fa}.main{flex:1;min-width:0;overflow-y:auto;background:var(--bg)}.page{padding:28px 40px}.page-lineage{min-width:0;max-width:100%;overflow-x:hidden}.page-lineage-bar{display:flex;flex-wrap:nowrap;align-items:center;gap:14px;margin-bottom:4px;min-width:0}.page-lineage-bar>h1{margin:0;flex:none;white-space:nowrap;line-height:32px}.page-lineage-bar-spacer{flex:1;min-width:0}.page-lineage-profile{display:inline-flex;align-items:center;gap:8px;flex:none;font-size:13px;white-space:nowrap}.page-lineage-profile select{height:32px;border-radius:8px;border:1px solid #e3e3ea;padding:0 10px;min-width:140px;max-width:220px;background:#fff;font:inherit}.lb-search-trigger{display:inline-flex;flex:1 1 auto;align-items:center;justify-content:space-between;gap:12px;min-width:160px;max-width:420px;height:32px;padding:0 10px 0 12px;margin:0;cursor:pointer;font:inherit;font-size:13px;color:var(--muted);text-align:left;background:#fff;border:1px solid #e3e3ea;border-radius:8px;white-space:nowrap}.lb-search-trigger>span{overflow:hidden;text-overflow:ellipsis;min-width:0}.lb-search-trigger:hover{border-color:#2f5d50;color:var(--text)}.lb-search-trigger kbd{flex:none;font-family:var(--mono);font-size:11px;letter-spacing:.02em;color:var(--muted);background:#1a1c1e0a;border:1px solid rgba(26,28,30,.1);border-radius:6px;padding:2px 6px;line-height:1}h1{font-size:22px;font-weight:600;letter-spacing:-.02em}.sub{color:var(--muted);font-size:13px;margin-top:6px}.btn{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 14px;border-radius:9px;font-weight:500;font-size:13px;white-space:nowrap}.btn-p{background:var(--accent);color:#fff}.btn-p:hover{background:#5050cc}.btn-p:disabled{background:#b7b7ec;color:#f6f6fe}.btn-g{color:var(--text);box-shadow:inset 0 0 0 1px #e6e6ec;background:#fff}.btn-g:hover{box-shadow:inset 0 0 0 1px #d6d6e0}.btn-t{color:var(--muted);padding:0 8px}.btn-t:hover{color:var(--text)}.ibtn{width:32px;height:32px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);box-shadow:inset 0 0 0 1px #e6e6ec}.ibtn:hover{color:var(--text)}.ibtn.on{color:var(--accent-text);box-shadow:inset 0 0 0 1px #cfcff5;background:#f7f7fe}.status{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ok);font-weight:500;white-space:nowrap}.status i{width:7px;height:7px;border-radius:50%;background:currentColor}.status.err{color:var(--err)}.status.run{color:var(--accent-text)}.status.run i{box-shadow:0 0 0 3px #e6e6fb}.status.q{color:var(--muted)}.dd{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px 0 12px;border-radius:9px;box-shadow:inset 0 0 0 1px #e6e6ec;font-size:12.5px;color:var(--muted);white-space:nowrap}.dd b{color:var(--text);font-weight:600}.stack{display:inline-grid}.stack>*{grid-area:1 / 1}.dd.on{box-shadow:inset 0 0 0 1.4px #cfcff5}.res{font-size:12.5px;color:var(--blk);font-weight:500;white-space:nowrap;min-width:74px;font-variant-numeric:tabular-nums}.unk{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:10px;background:#f3f3f6;color:#8a8a98;font-size:11.5px;font-weight:500;white-space:nowrap}.pl{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:10px;font-size:11px;font-weight:500;white-space:nowrap}.pl-b{background:#fdecea;color:var(--blk)}.pl-d{color:#6e6e80;background:#fff;border:1px dashed #bdbdcb}.pl-r{background:#eef6f0;color:#2f7a47}.pl-c{background:#fbf3e6;color:#a7702f}.pl-a{background:#f1f1f6;color:#4a4a5c}.lg i.lg-pl{width:14px;height:9px;border:0;border-radius:5px;padding:0}.deps svg .more:focus-visible .box{stroke:var(--accent);stroke-width:2px}svg.deps .more,svg.deps .more:focus{outline:none}.kchip{font-size:10.5px;fill:#5b5b70}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:7px;vertical-align:1px}.tip,[data-tip]{position:relative}.vg-data-tip{position:fixed;z-index:2147483000;width:max-content;max-width:300px;background:#1f2937;color:#fff;font-size:11.5px;line-height:1.45;font-weight:400;padding:9px 11px;border-radius:9px;box-shadow:0 10px 28px #0f172a52;white-space:normal;text-align:left;pointer-events:none}.vg-data-tip[hidden]{display:none!important}.btn-g:disabled{color:var(--faint)}.wrap{position:relative;display:inline-flex;align-items:center;gap:10px}.pop{position:absolute;top:40px;right:0;z-index:25;background:#fff;border-radius:12px;box-shadow:0 0 0 1px #ececf1,0 16px 40px -12px #1e1e3c2e;padding:6px;font-size:13px;text-align:left}.pop .hd{padding:10px 10px 8px;font-size:12px;color:var(--faint)}.pop .o{display:flex;align-items:center;gap:10px;min-height:36px;padding:0 10px;border-radius:7px;color:var(--text);white-space:nowrap;width:100%;text-align:left}.pop .o.tall{min-height:50px}.pop .o:hover{background:#f7f7fa}.pop .o.on{background:#f4f4f8}.pop .o .r{margin-left:auto;color:var(--faint);font-size:12px;padding-left:12px}.pop .o .ck{width:15px;color:var(--accent);display:inline-flex}.pop .sep{height:1px;background:#f2f2f5;margin:6px 4px}.pop .ft{padding:8px 10px;font-size:12px;color:var(--faint);line-height:1.5;white-space:normal}.cb{width:15px;height:15px;border-radius:4px;box-shadow:inset 0 0 0 1.3px #cfcfda;display:inline-flex;align-items:center;justify-content:center;flex:none}.cb.on{background:var(--accent);box-shadow:none;color:#fff}.fchip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 6px 0 10px;border-radius:13px;background:#f4f4f8;font-size:12px;color:var(--muted);white-space:nowrap}.tabs{display:flex;gap:26px;border-bottom:1px solid #f0f0f3;align-items:center;height:48px}.tabs>a,.tabs>span.t{height:48px;display:inline-flex;align-items:center;color:var(--muted);font-weight:500;font-size:13.5px}.tabs>a:hover{color:var(--text)}.tabs>a.on{color:var(--text);box-shadow:inset 0 -2px 0 var(--text)}.tabs>span.t.off{color:#c9c9d3;cursor:not-allowed}.tabs .right{margin-left:auto;display:flex;align-items:center;gap:10px}.vt{display:inline-flex;border-radius:9px;box-shadow:inset 0 0 0 1px #e6e6ec;padding:2px}.vt button{width:30px;height:28px;display:inline-flex;align-items:center;justify-content:center;color:var(--faint);border-radius:7px}.vt button.on{background:#f2f2f6;color:var(--text)}.sk{background:linear-gradient(90deg,#f3f3f6,#fafafb,#f3f3f6);background-size:200% 100%;animation:sk 1.4s ease-in-out infinite;border-radius:8px}@keyframes sk{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.sk{animation:none}}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--muted);font-size:13.5px;padding:80px 0}.empty.fill{min-height:calc(100vh - 120px);padding:0}.empty h3{font-size:16px;font-weight:600;color:var(--text);margin-bottom:8px}.empty p{max-width:440px;line-height:1.55}.inline-err{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#fcf6f7;border-radius:9px;font-size:12.5px;color:var(--muted);margin-top:16px}.inline-err .ic{color:var(--err)}.signin{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#fafafb}.si{width:360px;text-align:center}.si form{text-align:left}.si label{display:block;font-size:12.5px;font-weight:500;margin-bottom:6px}.si input{width:100%;height:40px;border-radius:9px;background:#fff;border:0;box-shadow:inset 0 0 0 1px #e3e3ea;padding:0 12px;margin-bottom:16px;font-size:13.5px;outline:none}.si input:focus{box-shadow:inset 0 0 0 1.5px var(--accent),0 0 0 3px var(--accent-soft)}.si .btn-p{width:100%;justify-content:center;height:40px;margin-top:8px}.si .msg{font-size:12.5px;line-height:1.5;margin:-4px 0 14px;color:var(--err)}.si .msg.ok{color:var(--muted)}.si .alt{font-size:12px;margin-top:18px;color:var(--faint);text-align:center}.si .alt button:hover{color:var(--text)}.si .hint{font-size:12px;color:var(--faint);margin:-8px 0 16px;line-height:1.45}.ov2-scan-bar{height:6px;border-radius:4px;background:#ececf2;overflow:hidden}.ov2-scan-bar i{display:block;height:100%;background:var(--accent);border-radius:4px;transition:width .4s ease}.ov2-scan-bar i.err{background:var(--err)}.ov2-scan-stages{display:flex;gap:0;margin:10px 0 0;padding:0;list-style:none;flex-wrap:wrap}.ov2-scan-stages li{font-size:11.5px;color:var(--faint);padding:2px 10px 2px 0;position:relative}.ov2-scan-stages li:not(:last-child):after{content:"·";margin-left:10px;color:#d0d0d8}.ov2-scan-stages li.done{color:var(--text);font-weight:500}.ov2-scan-stages li.current{color:var(--accent-text);font-weight:600}.ov2-quiet{font-size:13px;color:var(--muted);line-height:1.5;max-width:720px}.ov3{display:flex;flex-direction:column;gap:18px;margin-top:8px;max-width:1280px}.ov3-ctrl select{height:32px;border-radius:8px;border:1px solid #e3e3ea;padding:0 10px;min-width:140px;background:var(--panel);color:var(--text);font:inherit}.ov3-hd{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:10px}.ov3-hd h1{margin:0 0 4px;font-size:26px;font-weight:700;letter-spacing:-.03em}.ov3-hd .sub{max-width:48ch;font-size:13.5px}.ov3-hd-ctrls{gap:10px;flex-wrap:wrap;align-items:center}.ov3-hd-ctrls .ov3-ctrl{gap:8px;font-size:13px}.ov3-bc{display:flex;align-items:center;gap:8px;font-size:13px;margin-bottom:18px;color:var(--muted)}.ov3-bc .lnk{color:var(--accent-text);font-weight:500}.ov3-bc .mono{color:var(--text);font-weight:500}.ov3-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:6px 20px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:12px 18px;background:var(--panel);box-shadow:0 1px 2px #14142808}.ov3-strip-ok{border-color:#d7eadc}.ov3-strip-run{border-color:var(--accent-line);background:linear-gradient(180deg,#f7f7ff 0%,var(--panel) 70%)}.ov3-strip-err{border-color:#f0d0d0;background:linear-gradient(180deg,#fff7f7 0%,var(--panel) 70%)}.ov3-strip-lbl{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);margin-bottom:5px;font-weight:500}.ov3-strip-val{font-size:13.5px;color:var(--text)}.ov3-strip-end{justify-self:end;align-self:center;display:inline-flex;align-items:center;gap:8px}.ov3-scan-ico{width:32px;height:32px;padding:0;justify-content:center;border-radius:8px;color:var(--muted);background:#fff;border:1px solid var(--line)}.ov3-scan-ico:hover{color:var(--accent-text);border-color:var(--accent-line)}.ov3-strip-progress{grid-column:1 / -1;margin-top:4px}.ov3-mstf-cell{min-width:0}.ov3-mstf-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ov3-sev-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;background:var(--faint)}.ov3-sev-dot.sev-critical{background:var(--sev-critical, #c43c3c)}.ov3-sev-dot.sev-high{background:var(--sev-high, #d97706)}.ov3-sev-dot.sev-medium{background:var(--sev-medium, #ca8a04)}.ov3-sev-dot.sev-low{background:var(--sev-low, #3b82f6)}.ov3-sev-dot.sev-unknown{background:var(--sev-unknown, #94a3b8)}.ov3-mstf-overrides{font-size:12.5px;padding:6px 12px;border-radius:999px;font-weight:600;background:#f3f0ff;border:1px solid #e4defa;color:#4c3d8a}.ov3-mstf-overrides.on{background:#ebe6ff}.ov3-mstf-overrides.open{box-shadow:0 0 0 2px #5b5bd62e}.ov3-mstf-lineage{font-size:13px;margin-left:4px;white-space:nowrap}.ov3-mstf-panel{grid-column:1 / -1;border-top:1px solid var(--line);margin-top:4px;padding-top:14px}.ov3-mstf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px 16px}.ov3-mstf-repo{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:12.5px}.ov3-metrics{display:grid;grid-template-columns:1.15fr .95fr .95fr minmax(0,2.35fr);align-items:stretch;padding:26px 20px 24px;margin:0 0 4px;background:#f8f7ff;border:1px solid #ebeaf4;border-radius:18px;box-shadow:0 1px 2px #14142806;min-height:128px;box-sizing:border-box}.ov3-metrics.ov3-metrics-fp{grid-template-columns:1.05fr .85fr .9fr 1.15fr minmax(0,2.5fr);margin-bottom:20px}.ov3-metrics.ov3-metrics-fp-noeta{grid-template-columns:1.05fr .85fr .9fr minmax(0,2.5fr);margin-bottom:20px}.ov3-metric-bad .ov3-metric-num{color:#b42318}.ov3-metric-lbl-tip{display:inline-flex;align-items:flex-end;gap:6px;max-width:8.5rem}.ov3-sev.ov3-sev-fp{grid-template-columns:repeat(4,minmax(0,1fr))}.ov3-metric{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;padding:6px 18px;position:relative}.ov3-metric:first-child{padding-left:10px}.ov3-metric+.ov3-metric:before,.ov3-sev:before{content:"";position:absolute;left:0;top:8%;bottom:8%;width:1px;background:#e4e4ec}.ov3-sev{position:relative}.ov3-metric-hero{min-width:0}.ov3-metric-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.ov3-metric-lbl{font-size:13px;color:#787897;margin-top:10px;font-weight:500;line-height:1.25}.ov3-metric-big,.ov3-metric-num{font-family:Inter Tight,Inter,system-ui,sans-serif;font-size:30px;font-weight:700;letter-spacing:-.03em;line-height:1;color:var(--text);font-variant-numeric:tabular-nums}.ov3-metric-quiet{font-size:18px;font-weight:600;letter-spacing:-.02em;line-height:1}.ov3-metric-sm{min-width:96px}.ov3-metric-delta{min-width:108px}.ov3-metric-delta-val{display:inline-flex;align-items:baseline;gap:4px;font-size:24px;font-weight:650;letter-spacing:-.02em;line-height:1}.ov3-metric-hero .ov3-delta-pct{font-size:18px;font-weight:700}.ov3-metric-delta.dn .ov3-metric-delta-val{color:#1f7a3a}.ov3-metric-delta.up .ov3-metric-delta-val{color:#b42318}.ov3-delta{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;font-weight:600;line-height:1.15;padding-bottom:2px}.ov3-delta-pct{font-size:15px;display:inline-flex;align-items:baseline;gap:4px}.ov3-delta-arrow{font-size:13px;line-height:1}.ov3-delta-sub{font-size:12px;font-weight:500;color:var(--muted)}.ov3-delta.dn{color:var(--ok)}.ov3-delta.dn .ov3-delta-sub{color:var(--muted)}.ov3-delta.up{color:var(--err)}.ov3-delta.up .ov3-delta-sub{color:var(--muted)}.ov3-delta-pill{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border-radius:999px;font-size:12.5px;font-weight:650;white-space:nowrap}.ov3-delta.dn .ov3-delta-pill{background:#e7f4ec;color:#1f7a3a}.ov3-delta.up .ov3-delta-pill{background:#fbebee;color:#b42318}.ov3-delta-pill.dn{background:#e7f4ec;color:#1f7a3a}.ov3-delta-pill.up{background:#fbebee;color:#b42318}.ov3-sev{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;min-width:0;margin-left:0;padding:6px 6px 6px 18px;overflow:visible}.ov3-sev-pill{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0;padding-right:4px}.ov3-sev-pill:last-child{padding-right:0}.ov3-sev-num{display:inline-flex;align-items:center;gap:8px;line-height:1;font-variant-numeric:tabular-nums;min-height:1em}.ov3-sev-num b{font-family:Inter Tight,Inter,system-ui,sans-serif;font-size:24px;font-weight:700;letter-spacing:-.03em;color:var(--text);line-height:1}.ov3-sev-num i{width:10px;height:10px;border-radius:50%;display:inline-block;flex:0 0 auto;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 18%,transparent),0 0 8px 2px color-mix(in srgb,currentColor 22%,transparent)}.ov3-sev-lbl{font-size:13px;color:#787897;font-weight:500;line-height:1.2;padding-left:18px}.ov3-fix-row{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:16px;align-items:start}.ov3-fix-cta{display:flex;flex-direction:column;gap:0;justify-content:space-between;padding:36px 40px 40px;border-radius:24px;color:var(--text);background:#f4f2ff;border:1px solid #f4f2ff;box-shadow:none;width:360px;height:270px;max-width:100%;box-sizing:border-box;align-self:start}.ov3-fix-cta-copy{display:flex;flex-direction:column;align-items:stretch}.ov3-fix-cta-top{display:flex;align-items:center;justify-content:flex-start;gap:14px;width:100%}.ov3-fix-cta-ic{flex:0 0 auto;width:44px;height:44px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#e5e2fb;color:#3f32dd}.ov3-fix-cta-ic .ic{fill:currentColor;stroke:none}.ov3-fix-cta-title{font-family:Inter Tight,Inter,system-ui,sans-serif;font-size:21px;font-weight:700;letter-spacing:-.025em;color:#14141f;line-height:1.1}.ov3-fix-cta-text{font-size:16.5px;line-height:1.42;margin-top:20px;color:#454556;font-weight:500;text-align:center}.ov3-fix-cta-text b{color:#14141f;font-weight:700}.ov3-fix-cta-btn,.ov3-fix-cta .btn-p{background:linear-gradient(180deg,#9a95ef,#7a74ea 12%,#625aee 28%,#534fee 48%,#453ee1 72%,#4139de);color:#fff;align-self:stretch;width:100%;border-radius:12px;font-weight:650;height:48px;min-width:0;padding:0 18px;border:0;margin-top:0;justify-content:center;font-size:15px;white-space:nowrap;box-sizing:border-box;box-shadow:0 1px #ffffff40 inset,0 2px 10px #372db44d}.ov3-fix-cta .btn-p:hover{background:linear-gradient(180deg,#7a74ea,#3e36d9);color:#fff}.ov3-fix-cta .btn:not(.btn-p){background:#fff;color:var(--accent-text);border:1px solid var(--accent-line);align-self:flex-start}.ov3-waves{border:1px solid #e8e7f2;border-radius:16px;padding:18px 22px 10px;background:#f8f7fd;box-shadow:none;min-height:100%;align-self:stretch}.ov3-waves-hd{display:flex;justify-content:space-between;align-items:center;margin:0 0 2px;padding:0 2px 14px;border-bottom:1px solid #ececf2}.ov3-waves-hd h2{font-size:15px;font-weight:700;letter-spacing:-.01em;margin:0;display:inline-flex;align-items:center;gap:8px;color:var(--text)}.ov3-waves-hd .fp-info{color:#9b9bb0}.ov3-waves-view{font-size:13.5px;font-weight:600;color:var(--accent-text)}.ov3-wave{display:grid;grid-template-columns:78px minmax(150px,1.05fr) minmax(168px,1fr) auto;gap:10px 14px;align-items:center;padding:16px 4px;border-top:1px solid #ececf2;cursor:pointer}.ov3-wave:first-of-type{border-top:0}.ov3-wave:hover{background:#ffffff8c;border-radius:12px}.ov3-wave-n{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 12px;border-radius:999px;font-size:12px;font-weight:700;width:fit-content;background:#ebe7ff;color:#3f38c7;border:0;letter-spacing:-.01em}.ov3-wave-title{font-size:14px;font-weight:500;color:#3a3a48;line-height:1.3}.ov3-wave-title b{font-weight:700;color:var(--text)}.ov3-wave-exp{color:#6a6a7a;font-weight:500}.ov3-wave-hint{font-size:13px;color:var(--faint)}.ov3-wave-hint-act{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:#6a6a7a;padding-right:16px;border-right:1px solid #e4e4ec;min-height:30px}.ov3-wave-hint-act.go{color:#5c5c6a}.ov3-wave-hint-act.go .ic{color:#1f7a3a}.ov3-wave-hint-act.blocked{color:#6a6a7a}.ov3-wave-hint-act.blocked .ic{color:#5b5bd6}.ov3-wave-hint-act.plain{color:var(--faint);border-right-color:transparent}.ov3-wave .ov3-pill{height:28px;padding:0 12px;font-size:12.5px;font-weight:600;gap:6px}.ov3-wave .ov3-pill-go,.ov3-wave .ov3-pill-run{background:#e8f6eb;border-color:transparent;color:#1f7a3a}.ov3-wave .ov3-pill-wait{background:transparent;border-color:transparent;color:#6a6a7a;padding-left:2px;font-weight:500}.ov3-wave .ov3-pill-idle{background:transparent;border-color:transparent;color:var(--faint);padding-left:2px}.ov3-wave-more{font-size:12px}.ov3-pill{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 10px;border-radius:999px;font-size:11.5px;font-weight:600;border:1px solid var(--line);color:var(--muted);background:#fafafa;white-space:nowrap}.ov3-pill-go{background:#eef8f0;border-color:#cfe8d5;color:#1f7a3a}.ov3-pill-wait{background:#f4f4f8;border-color:#e4e4ec;color:#6a6a7a}.ov3-pill-run{background:#eef8f0;border-color:#cfe8d5;color:#1f7a3a}.ov3-pill-idle{background:#f6f6f8;color:var(--faint)}.ov3-pill-sev{background:#fff}.ov3-pill-block{background:#fff1f1;border-color:#f0c8c8;color:#b42318}.ov3-trends{border:1px solid var(--line);border-radius:16px;padding:18px 20px 20px;background:var(--panel);box-shadow:0 1px 2px #14142808}.ov3-trends-hd{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.ov3-trends-hd h2{font-size:15px;font-weight:650;margin:0}.ov3-trends-sub{margin-top:3px;font-size:12.5px;color:var(--muted);font-weight:500;max-width:480px;line-height:1.3}.ov3-trends-view{font-size:13px;font-weight:600}.ov3-trends-grid{display:grid;grid-template-columns:148px minmax(0,1.45fr) minmax(220px,.95fr);gap:20px;align-items:start}.ov3-trends-grid-2{grid-template-columns:minmax(0,1.45fr) minmax(210px,.95fr)}.ov3-trends-side{display:flex;flex-direction:column;gap:0;padding:8px 10px;border:1px solid #ececf2;border-radius:12px;background:#fafafc}.ov3-trends-stat{padding:9px 2px;border-top:1px solid #ececf2}.ov3-trends-stat:first-child{border-top:0;padding-top:2px}.ov3-trends-stat b{display:block;font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1.1}.ov3-trends-stat-lbl{display:block;font-size:12.5px;color:var(--muted);font-weight:500;margin-bottom:2px}.ov3-trends-stat-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}.ov3-trends-stat-meta>span:first-child{font-size:12px;color:var(--muted);font-weight:500}.ov3-trends-stat .ov3-delta-pill{height:22px;font-size:11.5px;padding:0 8px}@media(max-width:980px){.ov3-trends-grid,.ov3-fix-row{grid-template-columns:1fr}}.ov3-wave-repos{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:8px}.ov3-wave-repo{font-size:12.5px;line-height:1.35}.ov3-chart{min-width:0;position:relative}.ov3-chart-empty{height:168px;border:1px dashed var(--border);border-radius:10px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--faint);font-size:13px}.ov3-chart-title{font-size:13px;font-weight:650;color:var(--text);margin-bottom:4px}.ov3-chart-hd{display:flex;justify-content:space-between;align-items:baseline;font-size:12.5px;margin-bottom:2px}.ov3-chart-hd b{font-weight:600;font-size:14px}.ov3-chart-plot{position:relative}.ov3-chart-ft{display:flex;justify-content:space-between;font-size:11.5px;margin-top:6px}.ov3-chart-plot>svg{display:block;cursor:crosshair;width:100%}.ov3-chart-axis{fill:var(--faint);font-size:10px;font-family:inherit}.ov3-chart-mark{position:absolute;left:0;top:0;transform:translate(-50%);display:inline-flex;flex-direction:row;align-items:center;gap:8px;width:max-content;max-width:none;box-sizing:border-box;background:#fff;border:1px solid #cfd0f5;border-radius:10px;padding:8px 14px 8px 10px;color:var(--text);box-shadow:0 6px 18px #3c378c24;white-space:nowrap;overflow:visible;pointer-events:none;z-index:3}.ov3-chart-mark.on:after{content:"";position:absolute;left:50%;bottom:-5px;transform:translate(-50%) rotate(45deg);width:9px;height:9px;background:#fff;border-right:1px solid #cfd0f5;border-bottom:1px solid #cfd0f5;z-index:-1}.ov3-chart-mark-txt{display:flex;flex-direction:column;align-items:flex-start;gap:1px;line-height:1.2;flex:0 0 auto;min-width:0}.ov3-chart-mark-txt strong{display:block;font-size:12px;font-weight:700;color:var(--text);letter-spacing:-.01em}.ov3-chart-mark-txt>span{display:block;font-size:11.5px;font-weight:500;color:#3a3a48}.ov3-chart-mark>.ic{flex:none;width:14px;height:14px;color:var(--accent-text)}.ov3-chart-mark-soft{box-shadow:0 4px 12px #3c378c1a}.ov3-chart-mark.on{border-color:#b8b9ef;box-shadow:0 8px 20px #3c378c2e}.ov3-top{min-height:168px;display:flex;flex-direction:column;border:1px solid #ececf2;border-radius:12px;background:#fafafc;padding:14px 16px 16px}.ov3-top-hd{font-size:13px;font-weight:600;color:var(--text);margin-bottom:12px}.ov3-top-hd-sub{font-weight:500;color:var(--muted)}.ov3-top-row{display:flex;justify-content:flex-start;gap:12px;align-items:baseline;width:100%;text-align:left;background:transparent;border:0;padding:8px 0;border-bottom:1px solid #f2f2f5;cursor:pointer;font:inherit;color:var(--text)}.ov3-top-row:hover .ov3-top-repo{color:var(--accent-text)}.ov3-top-delta{flex:none;min-width:5.25rem;font-size:14px;font-weight:650;letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap;display:inline-flex;align-items:baseline;gap:4px}.ov3-top-delta.up{color:#e11d48}.ov3-top-delta.dn{color:#16a34a}.ov3-top-repo{min-width:0;font-size:13.5px;font-weight:500;color:var(--text);font-family:var(--mono)}.ov3-top-sev{font-size:11.5px;font-weight:600;letter-spacing:.02em}.ov3-top-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;padding:18px 10px 10px;min-height:120px}.ov3-top-empty-ic{width:48px;height:48px;border-radius:50%;background:#e8e5fa;color:var(--accent-text);display:inline-flex;align-items:center;justify-content:center}.ov3-top-empty-ic .ic{color:var(--accent-text)}.ov3-top-empty-title{font-size:14px;font-weight:650;color:var(--text);line-height:1.35;max-width:16rem}.ov3-top-empty-msg{font-size:13px;color:var(--faint);padding:8px 0;line-height:1.4}.ov3-gaps{border:1px solid var(--line);border-radius:12px;padding:14px 18px 12px;background:var(--panel)}.ov3-repo{margin-top:0;max-width:1120px}.ov3-repo-hd{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;flex-wrap:wrap}.ov3-repo-hd-left{min-width:0}.ov3-repo-title{display:flex;align-items:center;gap:12px;margin:0;font-size:28px;font-weight:650;letter-spacing:-.03em;line-height:1.15;color:var(--text)}.ov3-repo-ico{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:#fff;border:1px solid var(--line);color:var(--accent-text);flex:none}.ov3-repo-status{display:flex;align-items:center;gap:8px;margin:12px 0 0;font-size:14px;line-height:1.4;color:var(--muted);font-weight:500}.ov3-repo-status-dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--faint)}.ov3-repo-status-go{color:#1f7a3a}.ov3-repo-status-go .ov3-repo-status-dot{background:#1f7a3a}.ov3-repo-status-wait{color:#9a6b10}.ov3-repo-status-wait .ov3-repo-status-dot{background:#c9922a}.ov3-repo-status-block{color:#b42318}.ov3-repo-status-block .ov3-repo-status-dot{background:#b42318}.ov3-repo-status-idle{color:var(--muted)}.ov3-repo-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding-top:2px}.ov3-bc{display:inline-block;margin-bottom:10px;font-size:13px;background:none;border:0;padding:0;cursor:pointer;font:inherit}.ov3-repo-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.95fr);grid-template-areas:"diff action" "art status";gap:16px;align-items:stretch;margin-top:22px}.ov3{min-height:560px}.ov3-settle{content-visibility:auto}.ov3-metrics{min-height:108px}.ov3-diff-chunk{border-top:1px solid #e5e7eb;margin-top:2px;padding-top:2px}.ov3-cell-diff{grid-area:diff}.ov3-cell-action{grid-area:action}.ov3-cell-art{grid-area:art}.ov3-cell-status{grid-area:status}.ov3-card{border:1px solid #e6e6ec;border-radius:16px;padding:18px 20px;background:#fff;min-width:0;box-shadow:0 1px 2px #1818280a}.ov3-card-hd{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;margin-bottom:14px;color:var(--text)}.ov3-card-hd-err{color:#b42318}.ov3-card-hd-ok{color:#1f7a3a}.ov3-zap{color:var(--accent);display:inline-flex}.ov3-card-action{background:#f4f4ff;border-color:#d8d8f6}.ov3-card-blocked{background:#fff5f5;border-color:#f0c8c8}.ov3-card-ready{background:#f7faf8;border-color:#d5e6db}.ov3-suggest-text{font-size:14.5px;line-height:1.55;color:var(--text)}.ov3-suggest-btn{margin-top:18px;width:100%;justify-content:center;height:40px;border-radius:10px;background:#e4e4fb;color:var(--accent-text);border:0;font-weight:600}.ov3-suggest-btn:hover{background:#d8d8f8}.ov3-block-btn{margin-top:18px;width:100%;justify-content:center;height:40px;border-radius:10px;background:#fff;color:var(--accent-text);box-shadow:inset 0 0 0 1.5px var(--accent-line);font-weight:600}.ov3-empty{font-size:13px;color:var(--faint);line-height:1.45}.ov3-diff{margin:0;font-family:var(--mono);font-size:12.5px;line-height:1.45;background:#f3f4f6;color:var(--text);border-radius:12px;overflow:hidden;border:1px solid #e5e7eb}.ov3-diff-lg{min-height:140px;max-height:320px;overflow:auto}.ov3-diff-line{padding:8px 14px;white-space:pre-wrap;word-break:break-all}.ov3-diff-line.del{background:#fdecec;color:#b42318}.ov3-diff-line.add{background:#e8f6ee;color:#1f7a3a}.ov3-diff-line.mute{color:var(--faint);background:transparent}.ov3-art-list{list-style:none;margin:0;padding:0}.ov3-art-list li{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid #f0f0f4;font-size:13.5px}.ov3-art-list li:last-child{border-bottom:0;padding-bottom:0}.ov3-art-list li:first-child{padding-top:0}.ov3-art-ico{color:var(--faint);display:inline-flex}.ov3-art-badge{flex:none;font-size:12px;color:var(--muted);background:#f1f1f5;border-radius:999px;padding:4px 10px;white-space:nowrap}@media(max-width:980px){.ov3-fix-row,.ov3-trends-grid,.ov3-strip{grid-template-columns:1fr}.ov3-repo-grid{grid-template-columns:1fr;grid-template-areas:"diff" "action" "art" "status"}.ov3-strip-end{justify-self:start}.ov3-sev{margin-left:0}}.sb{display:flex;gap:2px;border-radius:9px;overflow:hidden}.sb i{display:block}.big{font-size:56px;font-weight:600;letter-spacing:-.03em;line-height:1}.sec{margin-top:52px}.ov2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:28px 32px;margin-top:32px;max-width:1560px}.ov2-wide{grid-column:1 / -1;min-width:0}.ov2-hero{display:grid;grid-template-columns:minmax(470px,1fr) minmax(0,1.25fr);gap:40px;align-items:end}.ov2-sev{margin-top:18px;font-size:13px;line-height:1.9}.ov2-sev a{color:var(--text);white-space:nowrap}.ov2-sev a:hover{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}.ov2-sev i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;vertical-align:1px}.ov2-trend{min-width:0}.ov2-trend svg{display:block;cursor:crosshair}.ov2-trend-hd{display:flex;justify-content:space-between;align-items:baseline;font-size:12.5px;margin-bottom:6px}.ov2-trend-hd b{font-weight:600;font-size:14px}.ov2-trend-ft{display:flex;justify-content:space-between;font-size:11.5px;margin-top:6px}.ov2-trend-empty{height:112px;border:1px dashed var(--border);border-radius:10px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--faint);font-size:13px}.ov2-ready{display:flex;align-items:center;gap:20px;padding:12px 18px;border:1px solid var(--line);border-radius:10px;background:var(--panel);font-size:13px;color:var(--muted)}.ov2-ready b{font-weight:600;color:var(--text)}.ov2-ready:hover{border-color:var(--accent-line)}.ov2-ready-bar{flex:1;min-width:80px;height:4px;border-radius:4px;background:var(--err-bg);overflow:hidden}.ov2-ready-bar i{display:block;height:100%;background:var(--accent);border-radius:4px}.ov2-card{min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px 22px 10px}.ov2-hd{display:flex;justify-content:space-between;align-items:baseline;font-size:12.5px;margin-bottom:4px}.ov2-hd h2{font-size:14px;font-weight:600;margin:0}.ov2-card .li{height:56px}.ov2-card .li:last-child{border-bottom:0}.ov2-card h3{font-size:12px;font-weight:500;color:var(--faint);margin:14px 0 4px}.ov2-row{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(48px,1fr) 80px;align-items:center;gap:14px;height:34px;font-size:13px;color:var(--text);border-radius:6px}a.ov2-row:hover .mono{color:var(--accent-text)}.ov2-meter{height:4px;border-radius:4px;background:#f1f1f5;overflow:hidden}.ov2-meter i{display:block;height:100%;border-radius:4px;background:var(--accent-line)}a.ov2-row:hover .ov2-meter i{background:var(--accent)}.ov2-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:9px;vertical-align:1px}.ov2-n{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.ov2-run{display:grid;grid-template-columns:120px minmax(0,1fr) 90px 140px 150px;align-items:center;gap:16px;height:46px;border-bottom:1px solid #f2f2f5;font-size:13px;color:var(--text)}.ov2-run:hover{background:#fcfcfd}.ov2-delta{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}.ov2-delta.dn{color:var(--ok)}.ov2-delta.up{color:var(--err)}@media(max-width:1199px){.ov2{grid-template-columns:minmax(0,1fr)}.ov2-hero{grid-template-columns:minmax(0,1fr);gap:28px;align-items:start}}.sec h2{font-size:14px;font-weight:600;margin-bottom:8px}.li{display:flex;align-items:center;gap:16px;height:60px;border-bottom:1px solid #f2f2f5}.li .rk{width:22px;color:var(--faint);font-size:12.5px}.li .t{font-weight:500}.li .s{color:var(--faint);font-size:12.5px;margin-top:3px}.li .v{margin-left:auto;color:var(--ok);font-weight:600;font-size:13.5px;white-space:nowrap}.li .v em{font-style:normal;font-weight:400;color:var(--faint);font-size:12px;margin-left:6px}table.runs{width:100%;border-collapse:collapse;margin-top:8px}table.runs th{text-align:left;font-weight:500;font-size:12px;color:var(--faint);padding:0 0 10px;border-bottom:1px solid #f0f0f3}table.runs td{height:56px;border-bottom:1px solid #f4f4f6;font-size:13px}table.runs tbody tr.click{cursor:pointer}table.runs tbody tr.click:hover td{background:#fcfcfd}table.runs td .id{font-size:11.5px;color:var(--faint);margin-top:3px}table.runs .why{margin-top:4px;font-size:12px;color:var(--faint);max-width:320px;width:fit-content}table.runs .why>span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ftabs{display:flex;gap:22px;margin:28px 0 18px;font-size:13px;font-weight:500;color:var(--muted)}.ftabs button.on{color:var(--text)}.dim{position:fixed;top:0;right:0;bottom:0;left:0;background:#14142347;z-index:50}.modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:540px;max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:16px;padding:26px 28px;box-shadow:0 30px 60px -20px #14143259;z-index:51}.modal h2{font-size:17px;font-weight:600}.srch{display:flex;align-items:center;gap:8px;height:36px;border-radius:9px;box-shadow:inset 0 0 0 1px #e6e6ec;padding:0 12px;color:var(--faint);margin:22px 0 8px;font-size:13px}.srch input{border:0;outline:0;flex:1;height:34px;color:var(--text);background:none}.mlist{position:relative;height:360px;overflow-y:auto}.rr{display:flex;align-items:center;gap:12px;height:40px;border-bottom:1px solid #f4f4f6;padding-right:4px;width:100%;text-align:left}.rr .cb{width:16px;height:16px;border-radius:5px}.rr input.sha{width:92px;border:0;background:none;text-align:right;font-family:var(--mono);font-size:12px;color:var(--faint);outline:none;margin-left:auto}.rr input.sha:focus{color:var(--text);box-shadow:inset 0 -1px 0 var(--accent-line)}.opt{display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:10px;box-shadow:inset 0 0 0 1px #ececf1;margin-top:10px;width:100%;text-align:left}.opt.on{box-shadow:inset 0 0 0 1.5px var(--accent);background:#fbfbff}.opt b{font-weight:500}.opt span.d{display:block;font-size:12.5px;color:var(--faint);margin-top:3px}.radio{width:16px;height:16px;border-radius:50%;box-shadow:inset 0 0 0 1.4px #cfcfda;flex:none;margin-top:1px}.opt.on .radio{box-shadow:inset 0 0 0 5px var(--accent)}.plist{margin-top:8px}.pr{display:flex;justify-content:space-between;align-items:center;height:64px;padding:0 16px;border-radius:10px;width:100%;text-align:left;color:inherit;text-decoration:none}.pr:hover{background:#fafafc}.chips{display:flex;flex-wrap:wrap;gap:6px}.chips .code{font-size:11.5px;padding:3px 7px}.pform{max-width:560px;margin-top:8px}.pform textarea.fi{height:auto;min-height:88px;padding:10px 12px;resize:vertical;line-height:1.45}.crumb span{color:var(--text)}.dp{flex:none;min-width:0;border-left:1px solid #f0f0f3;padding:6px 2px 0 28px}.dp-hint{color:var(--faint);font-size:13px;line-height:1.55;padding-top:40px}.dp .pt{font-size:16px;font-weight:600;margin-top:16px}.dp .pt.mono{font-size:14px;line-height:1.4;word-break:break-all;margin-top:12px}.dp dl{display:grid;grid-template-columns:84px 1fr;row-gap:12px;margin-top:24px;font-size:13px}.dp dt{color:var(--faint)}.dp dd{color:var(--text);min-width:0}.dp .x{color:var(--faint)}.dp .x:hover{color:var(--text)}.dp .kp{display:flex;gap:32px;margin-top:26px}.dp .kp b{display:block;font-size:24px;font-weight:600;letter-spacing:-.02em}.dp .kp span{font-size:12px;color:var(--faint)}.opts{display:flex;flex-wrap:wrap;gap:6px}.opts span{font-size:12px;padding:4px 10px;border-radius:14px;box-shadow:inset 0 0 0 1px #e6e6ec;color:var(--muted)}.hint{margin-top:18px;padding:12px 14px;border-radius:10px;background:#fafafb;box-shadow:inset 0 0 0 1px #f0f0f3;font-size:12.5px;line-height:1.55;color:var(--muted)}.hint b{color:var(--text);font-weight:500}.avs{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.avs .av{width:22px;height:22px;font-size:9px;color:#fff}.nx{display:flex;gap:8px;font-size:13px;align-items:center}.nx b{font-weight:500;cursor:pointer}.nx b:hover{color:var(--accent-text)}.lg{display:flex;gap:16px;font-size:12px;color:var(--faint)}.lg span{display:inline-flex;align-items:center;gap:6px}.lg i{width:12px;height:9px;border-radius:3px;border:1.3px solid #dadae2;display:inline-block}svg.deps .nd{cursor:pointer}.deps-cap{height:22px;line-height:22px;margin-bottom:6px;font-size:12.5px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}svg.deps .nd,svg.deps .nd:focus,svg.deps .nd:focus-visible{outline:none}svg.deps .nd:focus-visible .box{stroke:var(--accent);stroke-width:2px}.deps svg .more{cursor:pointer}.deps svg .more:hover .box{stroke:var(--accent)}.ph2{display:flex;align-items:baseline;gap:10px;margin:30px 0 4px;font-size:13px;font-weight:600;width:100%;text-align:left}.ph2 span{font-weight:400;color:var(--faint);font-size:12.5px}.ph2 .chev{margin-left:auto;color:var(--faint);align-self:center}.cr{display:flex;align-items:center;gap:16px;height:42px;border-bottom:1px solid #f4f4f6;font-size:13px;width:100%;text-align:left}.cr:hover{background:#fcfcfd}.cr.on{background:#f6f6fa}.cr .rk{width:30px;color:var(--faint);font-size:12.5px;flex:none}.cr .nm{font-weight:500;width:240px;flex:none}.cr .ds{color:var(--faint);font-size:12px;flex:1;min-width:0}.cr.bd .nm{color:var(--muted)}.prg{margin-top:36px}.prg h2{font-size:22px;font-weight:600;letter-spacing:-.012em;line-height:1.3;max-width:900px}.prg .lead{color:var(--muted);font-size:14px;line-height:1.55;margin-top:8px;max-width:760px}.prg .lead.err{color:var(--text)}.prg .note{color:var(--faint);font-size:13px;margin-top:4px}.prg-steps{list-style:none;padding:0;margin-top:40px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:24px}.ps-bar{display:block;height:4px;border-radius:2px;background:#ececf3}.ps-done .ps-bar{background:var(--accent)}.ps-current .ps-bar{background:var(--accent-line);animation:pulse 1.6s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.ps-current .ps-bar{animation:none}}.ps-failed .ps-bar{background:var(--err)}.ps-stopped .ps-bar{background:var(--muted)}.ps-skipped .ps-bar{background:#f4f4f7}.ps-head{display:flex;align-items:flex-start;gap:10px;margin-top:16px}.ps-i{flex:none;width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;color:var(--faint);box-shadow:inset 0 0 0 1px #e2e2ea}.ps-done .ps-i{background:var(--accent);color:#fff;box-shadow:none}.ps-current .ps-i{box-shadow:none}.ps-current .ps-i .pulse{width:8px;height:8px}.ps-failed .ps-i{background:var(--err);color:#fff;box-shadow:none}.ps-stopped .ps-i{background:var(--muted);color:#fff;box-shadow:none}.ps-l{font-weight:500;font-size:13.5px;line-height:20px}.ps-upcoming .ps-l,.ps-skipped .ps-l{color:var(--muted)}.ps-m{display:block;margin:4px 0 0 30px;font-size:12.5px;color:var(--faint);font-variant-numeric:tabular-nums}.ps-current .ps-m{color:var(--accent-text)}.ps-failed .ps-m{color:var(--err)}.prg2{margin-top:32px;display:grid;grid-template-columns:minmax(360px,400px) minmax(0,1fr);gap:48px;align-items:start;max-width:1560px}.prg2-l h2{font-size:21px;font-weight:600;letter-spacing:-.012em;line-height:1.3}.prg2-l .lead{color:var(--muted);font-size:13.5px;line-height:1.55;margin-top:8px}.prg2-l .lead.err{color:var(--text)}.prg2-l .note{color:var(--faint);font-size:13px;margin-top:4px}.vst{list-style:none;padding:0;margin:30px 0 0}.vs{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr) auto;column-gap:12px;align-items:center;padding-bottom:22px}.vs:last-child{padding-bottom:0}.vs:not(:last-child):after{content:"";position:absolute;left:9.5px;top:24px;bottom:4px;width:1px;background:#e6e6ee}.vs.ps-done:not(:last-child):after{background:var(--accent-line)}.vs-l{font-size:13.5px;font-weight:500;line-height:20px}.vs.ps-upcoming .vs-l,.vs.ps-skipped .vs-l{color:var(--muted)}.vs-m{font-size:12.5px;color:var(--faint);font-variant-numeric:tabular-nums;white-space:nowrap}.vs.ps-current .vs-m{color:var(--accent-text)}.vs.ps-failed .vs-m{color:var(--err)}.prg2-time{margin:28px 0 0;padding-top:18px;border-top:1px solid var(--line);display:grid;gap:10px;font-size:13px}.prg2-time>div{display:flex;gap:12px}.prg2-time dt{width:72px;flex:none;color:var(--faint)}.prg2-time dd{margin:0;font-variant-numeric:tabular-nums}.repos{display:flex;flex-direction:column;min-width:0;min-height:420px;background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}.repos-hd{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 18px 14px;border-bottom:1px solid var(--line)}.repos-hd h3{font-size:14px;font-weight:600;margin:0}.repos-hd .seg .faint{font-variant-numeric:tabular-nums}.repos-list{list-style:none;margin:0;padding:0 0 6px;overflow-y:auto;flex:1;min-height:0}.repo{display:grid;grid-template-columns:16px minmax(140px,.9fr) minmax(0,1.3fr);align-items:center;column-gap:12px;min-height:40px;padding:0 18px;border-bottom:1px solid #f3f3f6;font-size:13px}.repo.pin{position:sticky;top:0;z-index:1;background:#f7f7fe;box-shadow:inset 2px 0 0 var(--accent)}.repo-i{display:inline-flex;align-items:center;justify-content:center}.repo-d{font-size:12.5px;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.repo-failed .repo-d{white-space:normal;padding:8px 0;line-height:1.4}.repo-waiting .repo-n,.repo-cloned .repo-n{color:var(--muted)}.ri{width:14px;height:14px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff}.ri-wait{box-shadow:inset 0 0 0 1.4px #d6d6e0}.ri-done{background:var(--accent)}.ri-failed{background:var(--err)}.ri-stopped{background:var(--muted)}.repos-empty{padding:28px 18px;font-size:13px;text-align:center}.err-t{color:var(--err)}@media(max-width:1199px){.prg2{grid-template-columns:minmax(0,1fr);gap:32px}.repos{height:560px!important}}.prg-ft{margin-top:44px;padding-top:20px;border-top:1px solid var(--line);gap:16px;font-size:13px}.wt{width:12px;height:12px;border-radius:50%;border:1.4px dashed #cfcfda;display:inline-block}.log{margin-top:18px;background:#fbfbfc;box-shadow:inset 0 0 0 1px #f0f0f3;border-radius:10px;padding:14px 16px;font-size:12px;line-height:1.6;color:#4a4a58;white-space:pre-wrap;word-break:break-word;max-height:320px;overflow:auto}.lnk-q:hover{color:var(--text)}.sp{width:12px;height:12px;border-radius:50%;border:1.6px solid #e3e3f7;border-top-color:var(--accent);display:inline-block;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.brief{--risk: #d92d20;--risk-d: #b42318;--risk-s: #fef3f2;--ink: #101018;--way: #4b4bc4;position:relative}.disp,.brief h2.big,.brief .hero-n,.brief .stats b,.brief .sevl b,.brief .cd .nums b,.brief .ask .k,.brief .ask h3,.brief .ask .eff b,.brief .pct{font-family:Inter Tight,Inter,system-ui,sans-serif}.brief .eb{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--risk)}.brief .eb.w{color:var(--way)}.brief .eb i{font-style:normal;color:#b9b9c6;margin:0 8px}.brief .sec{padding:84px 0 96px;border-top:1px solid #f0f0f3}.brief .sec[data-sec=hero]{border-top:0;padding-top:0}.brief #ask{min-height:760px}.brief h2.big{font-size:54px;line-height:1.06;font-weight:650;letter-spacing:-.032em;color:var(--ink);margin-top:18px;max-width:1000px}.brief h2.big em{font-style:normal;color:var(--risk)}.brief h2.big em.w{color:var(--way)}.brief .lead{font-size:18px;line-height:1.55;color:#4a4a58;margin-top:20px;max-width:760px}.brief .hero-n{font-size:196px;line-height:.9;font-weight:700;letter-spacing:-.055em;color:var(--ink);margin-top:26px}.brief .hero-l{font-size:20px;color:#4a4a58;margin-top:14px}.brief .sevb{display:flex;height:34px;border-radius:8px;overflow:hidden;gap:3px;margin-top:44px}.brief .sevb i{display:block;min-width:3px}.brief .sevl{display:flex;margin-top:14px;font-size:13px;color:#4a4a58}.brief .sevl div{flex:none;margin-right:40px}.brief .sevl b{display:block;font-size:22px;font-weight:650;color:var(--ink);letter-spacing:-.02em}.brief .stats{display:flex;gap:56px;margin-top:40px}.brief .stats b{display:block;font-size:34px;font-weight:650;letter-spacing:-.025em;color:var(--ink)}.brief .stats b.r{color:var(--risk)}.brief .stats span{font-size:13.5px;color:#6a6a7a}.brief .sticky{position:sticky;top:0;z-index:5;background:#fffffff0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);height:52px;margin:0 -48px -52px;padding:0 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f0f0f3;opacity:0;pointer-events:none;transition:opacity .15s}.brief .sticky.show{opacity:1;pointer-events:auto}.brief .sticky .t{font-size:13.5px;font-weight:600}.brief .sticky .t span{color:var(--faint);font-weight:400;margin-left:8px}.brief .prog{display:flex;gap:22px;font-size:12.5px;color:var(--faint)}.brief .prog button{color:inherit}.brief .prog button:hover{color:var(--text)}.brief .prog .on{color:var(--text);font-weight:500}.brief .blast-row{display:flex;gap:56px;margin-top:40px;align-items:flex-start}.brief .fan-w{flex:0 1 820px;min-width:0}.brief .fan-w svg{display:block;width:100%;height:auto}.brief .blast-k{flex:1 0 240px;padding-top:80px}.brief .pct{font-size:112px;font-weight:700;letter-spacing:-.05em;line-height:.9;color:var(--way)}.brief .pct-l{font-size:17px;line-height:1.5;color:#33333f;margin-top:18px}.brief .sd{width:8px;height:8px;border-radius:50%;display:inline-block}.brief .cards{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;margin-top:48px}.brief .cd{min-width:0;border-radius:16px;padding:30px 32px;background:#fff;box-shadow:inset 0 0 0 1px #ececf1}.brief .cd .pk{font-family:var(--mono);font-size:22px;font-weight:600;color:var(--ink);margin-top:16px}.brief .cd .cv{font-size:13.5px;color:#6a6a7a;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brief .cd .nums{display:flex;gap:36px;margin-top:26px}.brief .cd .nums b{display:block;font-size:40px;font-weight:650;letter-spacing:-.03em;color:var(--ink);line-height:1}.brief .cd .nums b.r{color:var(--risk)}.brief .cd .nums span{font-size:12.5px;color:#6a6a7a}.brief .cd .where{font-size:13px;color:#4a4a58;margin-top:22px;line-height:1.5}.brief .cd .opts{display:flex;gap:8px;margin-top:26px;flex-wrap:wrap}.brief .cd .opts span{height:30px;padding:0 13px;border-radius:15px;box-shadow:inset 0 0 0 1px #e2e2ea;font-size:12.5px;font-weight:500;display:inline-flex;align-items:center;color:#33333f}.brief .dn{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:12px;background:var(--risk-s);color:var(--risk-d);font-size:12px;font-weight:600}.brief .dn i{width:6px;height:6px;border-radius:50%;background:var(--risk)}.brief .foot{font-size:12px;color:var(--faint);margin-top:28px}.brief .ask{margin-top:44px;display:flex;flex-direction:column}.brief .ask .it{display:grid;grid-template-columns:72px 1fr 260px;align-items:center;padding:26px 0;border-top:1px solid #efeff3}.brief .ask .it:last-child{border-bottom:1px solid #efeff3}.brief .ask .k{font-size:44px;font-weight:650;color:#d5d5e0;letter-spacing:-.03em}.brief .ask h3{font-size:24px;font-weight:600;letter-spacing:-.015em;color:var(--ink)}.brief .ask p{font-size:14px;color:#5a5a68;margin-top:6px}.brief .ask .eff{text-align:right;font-size:13px;color:#6a6a7a}.brief .ask .eff b{display:block;font-size:28px;font-weight:650;color:var(--way);letter-spacing:-.02em}.brief .src{columns:2;column-gap:26px;margin-top:6px;font-size:8.5pt;color:#4a4a58;line-height:1.45}.brief .src div{break-inside:avoid;margin-top:7px}.brief .src b{color:var(--ink)}.brief .src .mono{font-size:7.5pt;color:#8a8a98}.brief .burn-w{--burn-col-min: 56px;--burn-step-min: 96px;--burn-gap: 14px;container-type:inline-size}.brief .burn{display:flex;align-items:stretch;gap:var(--burn-gap)}.brief .burn-col{flex:1 1 72px;min-width:var(--burn-col-min);max-width:168px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.brief .burn-v{font-size:clamp(20px,3.1cqi,38px);font-weight:650;letter-spacing:-.03em;line-height:1;color:var(--ink);margin-bottom:12px;white-space:nowrap;font-variant-numeric:tabular-nums}.brief .burn-col.risk .burn-v{color:var(--risk-d)}.brief .burn-bar{width:100%;height:max(4px,calc(var(--f) * 220px));border-radius:8px;background:var(--way);opacity:.85}.brief .burn-col.risk .burn-bar{background:#f04438;opacity:1}.brief .burn-col.left .burn-bar{opacity:1}.brief .burn-col.done .burn-bar{background:var(--ok);opacity:1}.brief .burn-x{height:34px;padding-top:12px;font-size:13px;color:#6a6a7a;white-space:nowrap;text-align:center}.brief .burn-step{flex:1 .25 auto;min-width:var(--burn-step-min);display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:54px}.brief .burn-lab{text-align:center;padding:0 4px}.brief .burn-lab b{display:block;font-size:20px;font-weight:600;letter-spacing:-.01em;color:var(--ink);white-space:nowrap}.brief .burn-lab span{margin-top:4px;font-size:12.5px;line-height:1.35;color:#6a6a7a;text-wrap:balance;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.brief .burn-arr{display:block;position:relative;height:10px;margin:12px 6px 0}.brief .burn-arr:before{content:"";position:absolute;left:0;right:1px;top:50%;border-top:1.5px solid #c9c9d3;transform:translateY(-50%)}.brief .burn-arr:after{content:"";position:absolute;right:1px;top:50%;width:7px;height:7px;border-top:1.5px solid #c9c9d3;border-right:1.5px solid #c9c9d3;transform:translateY(-50%) rotate(45deg)}.brief .burn-w[data-stack] .burn{flex-direction:column;gap:0}.brief .burn-w[data-stack] .burn-col{flex:none;max-width:none;min-width:0;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px}.brief .burn-w[data-stack] .burn-x{order:0;flex:none;width:108px;height:auto;padding:0;text-align:left}.brief .burn-w[data-stack] .burn-bar{order:1;flex:none;height:26px;width:max(4px,calc(var(--f) * (100% - 220px)));border-radius:6px}.brief .burn-w[data-stack] .burn-v{order:2;margin:0;font-size:22px}.brief .burn-w[data-stack] .burn-step{flex:none;min-width:0;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;padding:6px 0 6px 120px}.brief .burn-w[data-stack] .burn-arr{order:0;flex:none;width:10px;height:34px;margin:0}.brief .burn-w[data-stack] .burn-arr:before{left:50%;right:auto;top:0;bottom:1px;border-top:0;border-left:1.5px solid #c9c9d3;transform:translate(-50%)}.brief .burn-w[data-stack] .burn-arr:after{left:50%;right:auto;top:auto;bottom:1px;transform:translate(-50%) rotate(135deg)}.brief .burn-w[data-stack] .burn-lab{order:1;text-align:left;padding:0}.brief .burn-w[data-stack] .burn-lab b{display:inline;font-size:16px;margin-right:8px}.brief .burn-w[data-stack] .burn-lab span{display:inline;margin:0}.print-only{display:none}@media print{@page{size:A4;margin:14mm 16mm 12mm}html,body,#root,.app{height:auto!important;overflow:visible!important;background:#fff}.side,.tabs,.run>.row,.run>.sub,.brief .sticky,.screen-only,.tipbox{display:none!important}.main{overflow:visible!important}.page{padding:0!important;max-width:none!important}.print-only{display:block}.brief .ph{display:flex!important;justify-content:space-between;font-size:8.5pt;color:#8a8a98;border-bottom:1px solid #efeff3;padding-bottom:8px}.brief .sec{padding:22px 0 0!important;border:0;break-inside:avoid}.brief .sec[data-sec=stuck],.brief .sec[data-sec=ask]{break-before:page}.brief .src-sec{break-inside:auto;padding-top:14px!important}.brief .src{columns:3;column-gap:18px;font-size:6.8pt;line-height:1.35}.brief .src div{margin-top:4px}.brief .src .mono{font-size:6pt;overflow-wrap:anywhere}.brief #ask{min-height:0}.brief h2.big{font-size:26px;max-width:none;margin-top:10px}.brief .lead{font-size:11px;margin-top:8px;max-width:none}.brief .hero-n{font-size:110px;margin-top:12px}.brief .hero-l{font-size:13px}.brief .sevb{height:20px;margin-top:20px;-webkit-print-color-adjust:exact;print-color-adjust:exact}.brief .sevl{font-size:9.5px}.brief .sevl b{font-size:15px}.brief .sevl div{margin-right:24px}.brief .stats{gap:28px;margin-top:18px}.brief .stats b{font-size:21px}.brief .stats span{font-size:9.5px}.brief .blast-row{gap:16px;margin-top:14px;align-items:center}.brief .fan-w{flex:1}.brief .burn-w{--burn-col-min: 40px;--burn-step-min: 80px;--burn-gap: 10px}.brief .fan-w svg{width:100%;height:auto}.brief .blast-k{flex:none;width:140px;padding-top:0}.brief .pct{font-size:54px}.brief .pct-l{font-size:10px}.brief .cards{gap:12px;margin-top:16px}.brief .cd{padding:16px 18px}.brief .cd .pk{font-size:14px;margin-top:8px}.brief .cd .cv,.brief .cd .nums span,.brief .cd .where{font-size:9.5px}.brief .cd .nums{gap:20px;margin-top:12px}.brief .cd .nums b{font-size:24px}.brief .cd .opts{margin-top:10px;gap:5px}.brief .cd .opts span{height:20px;font-size:9px;padding:0 8px}.brief .dn{height:20px;font-size:10px}.brief .foot{font-size:8pt;margin-top:10px}.brief .ask{margin-top:16px}.brief .ask .it{grid-template-columns:40px 1fr 140px;padding:13px 0}.brief .ask .k{font-size:26px}.brief .ask h3{font-size:15px}.brief .ask p{font-size:10px}.brief .ask .eff{font-size:9.5px}.brief .ask .eff b{font-size:19px}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.logs{padding-bottom:32px}.lg-tl{margin-top:22px}.lg-tl .sgs{display:flex;gap:6px}.sg{min-width:0;outline:none}.sg:focus-visible .sgbar{box-shadow:0 0 0 3px var(--accent-soft)}.sg .sgbar{height:6px;border-radius:4px;background:#e3e3ea}.sg.done .sgbar{background:#9ccfb3}.sg.run .sgbar{background:linear-gradient(90deg,var(--accent) 0 55%,#dcdcf8 55%)}.sg.fail .sgbar{background:#e3a1ae}.sg .lab{display:flex;align-items:center;gap:6px;margin-top:9px;font-size:12.5px;white-space:nowrap;overflow:hidden}.sg .lab b{font-weight:500}.sg .lab b{overflow:hidden;text-overflow:ellipsis}.sg .d{color:var(--faint);font-size:12px;margin:2px 0 0 22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.sg.run .lab b{color:var(--accent-text);font-weight:600}.sg .sgi{width:16px;height:16px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:none}.sg.done .sgi{background:var(--ok-bg);color:var(--ok)}.sg.fail .sgi{background:var(--err-bg);color:var(--err)}.pulse{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #e3e3fb;display:inline-block;animation:pulse 1.6s ease-in-out infinite}.pulse.sm{width:7px;height:7px;box-shadow:0 0 0 3px #e3e3fb}@keyframes pulse{50%{opacity:.45}}.lg-total{margin-top:12px;font-size:12px}.lg-tb{display:flex;align-items:center;gap:12px;margin-top:26px;flex-wrap:wrap}.inp{display:flex;align-items:center;gap:8px;height:32px;border-radius:9px;box-shadow:inset 0 0 0 1px #e6e6ec;padding:0 10px;color:var(--faint);font-size:12.5px;background:#fff}.inp input{border:0;outline:0;flex:1;min-width:0;height:30px;color:var(--text);background:none;font-size:12.5px}.inp:focus-within{box-shadow:inset 0 0 0 1px var(--accent-line),0 0 0 3px var(--accent-soft)}.inp>button{display:inline-flex}.lg-q{width:300px}.seg{display:inline-flex;height:32px;border-radius:9px;box-shadow:inset 0 0 0 1px #e6e6ec;padding:3px;gap:2px}.seg>button{display:inline-flex;align-items:center;gap:6px;padding:0 10px;border-radius:6px;font-size:12.5px;color:var(--muted);font-weight:500}.seg>button:hover{color:var(--text)}.seg>button.on{background:#f1f1f6;color:var(--text)}.seg em{font-style:normal;font-size:11px;color:var(--faint);font-weight:500}.lg-cnt{margin-left:auto;gap:14px;font-size:12.5px}.cnt-w{color:#9a6b12}.cnt-e{color:var(--err)}.tog{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-weight:500;font-size:12.5px}.tog i{width:28px;height:16px;border-radius:9px;background:#dadae2;position:relative;transition:background .15s}.tog i:after{content:"";position:absolute;left:2px;top:2px;width:12px;height:12px;border-radius:50%;background:#fff;transition:left .15s}.tog.on{color:var(--accent-text)}.tog.on i{background:var(--accent)}.tog.on i:after{left:14px}.exb{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:10px;background:#fff6e5;color:#9a6b12;font-size:11px;font-weight:500;white-space:nowrap;box-shadow:inset 0 0 0 1px #f3e2bc}.lg-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:14px;font-size:12px;color:var(--muted);box-shadow:inset 0 0 0 1px #e6e6ec;font-weight:500;background:#fff}.chip:hover{color:var(--text)}.chip.on{background:var(--accent-soft);color:var(--accent-text);box-shadow:inset 0 0 0 1px var(--accent-line)}.lv-box{margin-top:16px;border-radius:12px;box-shadow:0 0 0 1px #ededf2;overflow:hidden;background:#fff}.lv-scroll{position:relative;max-height:max(360px,calc(100vh - 430px));overflow:auto;overscroll-behavior:contain}.ln{display:grid;grid-template-columns:104px 56px 70px 1fr;align-items:baseline;gap:0 12px;padding:5px 16px;font-family:var(--mono);font-size:12px;line-height:1.6;color:#2a2a36;width:100%;text-align:left}.ln:nth-child(odd){background:#fcfcfd}.ln .t{color:var(--faint);white-space:nowrap}.ln .st{color:var(--muted)}.ln .lv{font-family:Inter,system-ui,sans-serif;font-size:11px;font-weight:500;color:var(--faint);display:inline-flex;align-items:center}.ln .lm{white-space:pre-wrap;word-break:break-word;min-width:0}.ln.warn{background:#fffbf2!important}.ln.warn .lv{color:#9a6b12}.ln.err{background:#fdf2f4!important}.ln.err .lv{color:var(--err)}.ln.err.soft{background:#fffbf2!important}.ln.err.soft .lv{color:#9a6b12}.ln.hit{box-shadow:inset 3px 0 0 var(--err);background:#fbe7eb!important}.ln.fold{color:var(--muted);background:#f7f7fa!important;cursor:pointer}.ln.fold:hover{background:#f1f1f6!important}.ln.fold .lm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ln.fold b{font-weight:500;color:var(--text)}.ln mark{background:#fff0b8;color:inherit;border-radius:3px;padding:0 1px}.ln.cur .lm:after{content:"";display:inline-block;width:7px;height:13px;background:var(--accent);margin-left:4px;vertical-align:-2px;animation:pulse 1.1s steps(2) infinite}.lv-msg{display:flex;align-items:center;justify-content:center;gap:8px;padding:40px 16px;color:var(--muted);font-size:12.5px}.lfoot{display:flex;align-items:center;gap:8px;padding:10px 16px;border-top:1px solid #f0f0f3;font-size:12px;color:var(--faint);background:#fff}.lfoot .live{color:var(--accent-text);font-weight:500}.err-card{margin-top:22px;border-radius:12px;box-shadow:0 0 0 1px #f2d3da;background:#fffafb;padding:16px 18px;display:flex;gap:14px;align-items:flex-start}.err-card .eic{width:28px;height:28px;border-radius:8px;background:var(--err-bg);color:var(--err);display:flex;align-items:center;justify-content:center;flex:none}.err-card h3{font-size:14px;font-weight:600}.err-card p{font-size:12.5px;color:var(--muted);margin-top:4px;line-height:1.55}.err-card .em-inline{color:var(--text);font-size:12px}.err-card .em,.lg-empty .em{font-family:var(--mono);font-size:12px;color:#2a2a36;margin-top:10px;background:#fff;border-radius:8px;padding:8px 10px;box-shadow:inset 0 0 0 1px #f2e3e7;white-space:pre-wrap;word-break:break-word}.err-card .src{font-size:11.5px;color:var(--faint);margin-top:6px}.lg-empty{margin-top:22px;border-radius:12px;box-shadow:0 0 0 1px #ededf2;min-height:440px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px}.lg-empty .empty{padding:0}.lg-empty .em{max-width:640px;background:#fafafb;box-shadow:none;margin-top:14px}.lg-empty .inline-err{max-width:560px}.lg-empty>.exb{margin-top:14px}.bump{font-size:11.5px;padding:5px 0;border-bottom:1px solid var(--line, #eee);min-width:0}.bump:last-of-type{border-bottom:0}.bump-pkg{display:flex;align-items:baseline;gap:6px;overflow-wrap:anywhere;word-break:break-word}.bump-pkg .dot{flex:none;transform:translateY(-1px)}.bump-ver{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:2px 0 0 12px}.sc{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:11px;font-family:var(--mono);font-size:11px;background:#f4f4f8;color:#4a4a5c;white-space:nowrap}.sc.w{background:#fbf3e6;color:#a7702f}.sc.more{background:#fff;box-shadow:inset 0 0 0 1px #e6e6ec;color:var(--muted);font-family:inherit}.scs{display:flex;flex-wrap:wrap;gap:5px;max-width:340px}.status.exp{color:#a7702f}.status.rev{color:var(--faint)}.soon{color:#a7702f}.kp-id{font-size:11.5px;color:var(--faint);margin-top:3px}.modal.wide{width:680px;padding:26px 30px}.fl{display:block;font-size:12.5px;font-weight:500;margin:18px 0 6px}.fi{width:100%;height:36px;border-radius:9px;border:0;box-shadow:inset 0 0 0 1px #e3e3ea;padding:0 12px;font-size:13.5px;background:#fff;outline:none;font-family:inherit;color:var(--text)}.fi:focus{box-shadow:inset 0 0 0 1.5px var(--accent),0 0 0 3px var(--accent-soft)}select.fi{font-size:13px;padding:0 8px 0 10px;cursor:pointer}.sgrp{margin-top:6px;border-radius:10px;box-shadow:inset 0 0 0 1px #ececf1;overflow:hidden}.sgrp h4{font-size:11.5px;font-weight:600;color:var(--faint);text-transform:uppercase;letter-spacing:.06em;padding:10px 14px 6px;background:#fafafb;border-bottom:1px solid #f2f2f5}.srow{display:grid;grid-template-columns:18px minmax(132px,168px) minmax(0,1fr) 72px;align-items:center;gap:12px;min-height:36px;padding:5px 14px;border-bottom:1px solid #f4f4f6;font-size:12.5px;cursor:pointer;position:relative}.srow:last-child{border-bottom:0}.srow:hover{background:#fcfcfd}.srow:focus-within .cb{box-shadow:inset 0 0 0 1.3px var(--accent),0 0 0 3px var(--accent-soft)}.srow .mono{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.srow .d{color:var(--muted);line-height:1.4;min-width:0}.srow.off .d,.srow.off .mono{color:var(--faint)}.scope-risk{display:inline-flex;align-items:center;justify-content:flex-start;gap:5px;width:100%;box-sizing:border-box;font-size:11px;font-weight:500;white-space:nowrap}.scope-risk--low{color:var(--ok)}.scope-risk--medium{color:#a7702f}.scope-risk--high{color:var(--err)}.scope-risk-dot{flex:none;display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pchips{display:flex;flex-wrap:wrap;gap:6px;min-height:36px;align-items:center}.pchip{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border-radius:13px;font-size:12px;color:var(--muted);box-shadow:inset 0 0 0 1px #e3e3ea;background:#fff}.pchip.on{color:var(--accent-text);box-shadow:inset 0 0 0 1.5px var(--accent);background:#fbfbff}.lock{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:10px 12px;border-radius:10px;background:#fafafb;box-shadow:inset 0 0 0 1px #f0f0f3;font-size:12px;color:var(--muted);line-height:1.5}.lock .ic{color:var(--faint);margin-top:1px;flex:none}.secret{display:flex;align-items:center;gap:10px;margin-top:18px;padding:6px 6px 6px 14px;min-height:48px;border-radius:10px;background:#fbfbfc;box-shadow:inset 0 0 0 1.5px var(--accent-line)}.secret .mono{flex:1;font-size:13px;letter-spacing:.02em}.okc{width:40px;height:40px;border-radius:50%;background:var(--ok-bg);color:var(--ok);display:flex;align-items:center;justify-content:center;flex:none}.warnb{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:11px 14px;border-radius:10px;background:#fdf8ee;font-size:12.5px;line-height:1.5;color:#7a5a2a}.warnb .ic{color:#c08a3e;margin-top:1px;flex:none}.snip{margin-top:16px;background:#1e1e28;color:#d9d9e6;border-radius:10px;padding:12px 14px;font-family:var(--mono);font-size:11.5px;line-height:1.7;white-space:pre;overflow-x:auto}.snip .c{color:#8b8ba3}.mcp{margin-top:18px}.card .mcp{margin-top:0}.mcp h3{margin:0;font-size:14px;font-weight:600}.mcp .kv dd{word-break:break-all}.crumb{display:flex;align-items:center;gap:8px;min-width:0;font-size:12.5px;color:var(--faint);margin-bottom:10px}.crumb a:hover{color:var(--text)}.crumb-sep{color:var(--faint);flex:none}.crumb>span.ell{color:var(--text);min-width:0}.pf-hd{display:flex;justify-content:space-between;align-items:flex-start;gap:12px 20px;flex-wrap:wrap}.pf-hd-main{min-width:0;flex:1 1 240px}.pf-hd-main h1{margin:0;overflow-wrap:anywhere}.pf-hd-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;flex:0 1 auto;max-width:100%}.pf-meta{margin-top:22px}.dgrid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:40px;margin-top:26px}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 22px}.card h2{font-size:14px;font-weight:600}.act{display:grid;grid-template-columns:120px minmax(0,1fr) 60px;gap:14px;align-items:center;min-height:46px;padding:6px 0;border-bottom:1px solid #f4f4f6;font-size:12.5px}.act:last-child{border-bottom:0}.act.hd{min-height:34px;font-size:12px;color:var(--faint)}.code2{font-family:var(--mono);font-size:11px;padding:2px 6px;border-radius:5px}.c2xx{background:var(--ok-bg);color:var(--ok)}.c4xx{background:var(--err-bg);color:var(--err)}dl.kv{display:grid;grid-template-columns:110px 1fr;row-gap:12px;font-size:13px;margin-top:14px}dl.kv dt{color:var(--faint)}.spark{display:flex;align-items:flex-end;gap:3px;height:44px;margin-top:12px}.spark i{flex:1;background:var(--accent-line);border-radius:2px}.btn-d{color:var(--err);box-shadow:inset 0 0 0 1px #f0d3d9;background:#fff}.btn:disabled{cursor:default}.rec{margin-top:18px;padding:10px 12px;border-radius:10px;background:#fafafb;box-shadow:inset 0 0 0 1px #f0f0f3;font-size:12.5px;line-height:1.5}.rec+.rec{margin-top:8px}.rec .by{color:var(--faint);font-size:11.5px;margin-top:2px}.rec.agent{background:#fbfbff;box-shadow:inset 0 0 0 1px #e4e4fa}.opts button{font-size:12px;padding:4px 10px;border-radius:14px;box-shadow:inset 0 0 0 1px #e6e6ec;color:var(--muted)}.opts button:hover{color:var(--text);box-shadow:inset 0 0 0 1px #d6d6e0}.opts button.on{color:var(--accent-text);box-shadow:inset 0 0 0 1.5px var(--accent);background:#fbfbff}.ffb{margin-top:14px}.ffb-line{display:flex;align-items:center;gap:14px;min-height:40px;flex-wrap:wrap}.seg{display:inline-flex;background:#f5f5f8;border-radius:9px;padding:2px}.seg button{height:28px;padding:0 11px;border-radius:7px;font-size:12.5px;color:var(--muted)}.seg button:hover{color:var(--text)}.seg button.on{background:#fff;color:var(--accent-text);font-weight:500;box-shadow:0 1px 2px #1e1e3c14}.ffb-pill{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 10px;border-radius:12px;background:var(--accent-soft);color:var(--accent-text);font-size:12px;font-weight:500}.ffb-pill.off{background:#f3f3f6;color:var(--muted)}.ffb-must{font-size:13px}.ffb-more{margin-left:auto;display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:12.5px}.ffb-more:hover{color:var(--text)}.ffb-det{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:28px;margin-top:10px;padding:16px 18px;background:#fafafc;border-radius:12px;font-size:13px;line-height:1.55}.ffb-det p{margin-top:4px}.ffb-det p.faint{font-size:12px}.ffb-blk{color:var(--blk);font-weight:500}.wv{display:flex;gap:40px;margin-top:18px;align-items:flex-start}.wv-list{flex:1;min-width:0;max-width:900px}.wv-side{width:300px;flex:none;position:sticky;top:16px;min-height:1px}.wv-wave{margin-bottom:26px}.wv-wave h3{display:flex;align-items:baseline;gap:10px;font-size:13px;font-weight:600;padding:0 10px 8px}.wv-wave h3 span{font-weight:400;color:var(--muted)}.wv-wave h3 .wv-count{margin-left:auto;color:var(--faint);font-size:12px}.wv-row{display:grid;grid-template-columns:44px minmax(0,1fr) 190px 150px 96px;align-items:center;gap:12px;height:42px;padding:0 10px;border-radius:9px;cursor:pointer;transition:opacity .12s,background .12s}.wv-row:hover,.wv-row.lit{background:#f7f7fd}.wv-row.on{background:var(--accent-soft)}.wv-row.faded:not(:hover){opacity:.42}.wv-row .rk{color:var(--faint);font-size:12.5px}.wv-row .nm{font-weight:500}.wv-row .ty{margin-left:10px;font-weight:400;color:var(--faint);font-size:12.5px}.wv-row .ch{display:flex;gap:6px}.wv-row .wf{color:var(--muted);font-size:12.5px}.wv-row .ac{text-align:right;font-size:12.5px}.wv-more{font-size:12.5px;margin:6px 0 0 66px}.sc{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:10px;font-size:11.5px;font-weight:500;white-space:nowrap}.sc-c{background:#fbedf0;color:#a8435a}.sc-h{background:#fbf2ea;color:#a5672f}.rb{height:26px;padding:0 10px;border-radius:7px;font-size:12.5px;font-weight:500;color:var(--text);box-shadow:inset 0 0 0 1px #e6e6ec;background:#fff}.rb-p{color:var(--accent-text);box-shadow:inset 0 0 0 1px var(--accent-line)}.rb-p:hover{background:var(--accent-soft)}.rb-t{box-shadow:none;background:none;color:var(--muted)}.rb-t:hover{color:var(--text)}.wg{font-size:13px;line-height:1.5;padding:4px 0 0 24px;border-left:1px solid #f0f0f3}.wg-t{font-size:15px;font-weight:600;margin-bottom:6px}.wg dl{display:grid;grid-template-columns:70px 1fr;row-gap:8px;margin:16px 0}.wg dt{color:var(--faint)}.wg dd{min-width:0}.wg .lbl{margin-top:12px}.wg ul{list-style:none;margin-top:4px}.wg li{padding:2px 0}.wg-why{margin-top:12px;color:var(--muted)}.dr-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#17171f29;z-index:40}.dr{position:fixed;top:0;right:0;bottom:0;width:min(950px,96vw);background:#fff;z-index:41;display:flex;flex-direction:column;box-shadow:-18px 0 50px -20px #1e1e3c40}.dr-hd{position:relative;z-index:3;display:flex;justify-content:space-between;gap:16px;padding:22px 22px 12px}.dr-hd .x{color:var(--faint)}.dr-hd .x:hover{color:var(--text)}.dr-t{font-size:18px;font-weight:600;letter-spacing:-.01em}.dr-sub{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:12.5px;color:var(--muted);flex-wrap:wrap}.dr-body{overflow:auto;padding:4px 22px 36px;flex:1}.dr-act{padding:12px 0 16px}.dr-gap{flex:1}.dr-draft{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.dr-why{margin-top:10px;font-size:12.5px;color:var(--muted);line-height:1.6}.dr-manual{margin-top:10px;font-size:12.5px}.dr-in{height:32px;width:100%;max-width:360px;padding:0 10px;border-radius:8px;border:1px solid #e3e3ea;font-size:12.5px}.dr-sec{margin-top:24px}.dr-sec>.lbl,.dr-two .lbl{margin-bottom:8px}.dr-two{display:grid;grid-template-columns:1fr 1fr;gap:32px}.dr-two p{line-height:1.55}.dr-title{margin-top:10px;font-size:12px;color:var(--muted)}.dr-dl{display:grid;grid-template-columns:96px 1fr;row-gap:10px;column-gap:12px;font-size:13px}.dr-dl dt{color:var(--faint);padding-top:1px}.dr-dl dd{min-width:0;line-height:1.45}.dr-ul{padding-left:18px;line-height:1.55;font-size:13px}.dr-note{display:flex;align-items:flex-start;gap:8px;margin:0 0 10px;padding:10px 12px;border-radius:10px;background:#fbf7ee;color:#7a5a2a;font-size:12.5px;line-height:1.55}.dr-note .ic{margin-top:1px;flex:none}.dr-status{display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:12px;margin-bottom:10px}.dr-status-ok{background:var(--ok-bg);box-shadow:inset 0 0 0 1px #c7e6d4;color:var(--ok)}.dr-status-ok b{display:block;font-size:14px;font-weight:600;color:var(--ok)}.dr-status-bad{background:var(--err-bg);box-shadow:inset 0 0 0 1px #f0c9d1;color:var(--err)}.dr-status-bad b{display:block;font-size:14px;font-weight:600;color:var(--err)}.dr-status-verify{background:#fff;box-shadow:inset 0 0 0 1px var(--border);align-items:center}.dr-status-verify b{display:block;font-size:13.5px;font-weight:600;color:var(--text)}.dr-status-ico{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #c7e6d4;color:var(--ok);flex:none}.dr-status-ico.ok{background:var(--ok-bg)}.dr-status-ico.bad{box-shadow:inset 0 0 0 1px #f0c9d1;color:var(--err);background:#fff}.dr-status-text{flex:1;min-width:0}.dr-status-sub{margin-top:2px;font-size:12.5px;color:var(--muted);line-height:1.45}.dr-status-ok .dr-status-sub{color:#3d7a58}.dr-status-bad .dr-status-sub{color:#9a4455}.dr-status-verify .btn{flex:none}.dr-status-bad .btn{flex:none;align-self:center}.dr-status-bad .dr-status-text{flex:1;min-width:0}.dr-card{margin-top:12px;border-radius:12px;box-shadow:inset 0 0 0 1px var(--border);background:#fff;overflow:hidden}.dr-card-hd{display:flex;align-items:flex-start;gap:10px;width:100%;padding:14px;text-align:left}.dr-card-hd:hover{background:#fafafc}.dr-card-ico{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:#f4f4f8;color:var(--muted);flex:none}.dr-card-meta{flex:1;min-width:0}.dr-card-title{display:flex;align-items:center;gap:8px}.dr-card-title b{font-size:13.5px;font-weight:600}.dr-card-n{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#f0f0f5;color:var(--muted);font-size:11.5px;font-weight:600}.dr-card-blurb{display:block;margin-top:2px;font-size:12.5px;color:var(--muted);line-height:1.4}.dr-card-hd>.ic{color:var(--faint);margin-top:6px}.dr-card-body{padding:0 14px 14px}.dr-deps{list-style:none;margin:0}.dr-deps li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:13px}.dr-deps li:first-child{border-top:0;padding-top:2px}.dr-pill{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:11px;font-size:11.5px;color:var(--muted);background:#f4f4f8}.dr-pill-ok{color:var(--ok);background:var(--ok-bg)}.dr-pill-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.dr-code{display:inline-block;padding:3px 8px;border-radius:6px;background:#f4f4f8;font-size:12px}.pk{width:100%;border-collapse:collapse;font-size:12.5px}.pk td{padding:7px 10px 7px 0;border-bottom:1px solid #f4f4f6;vertical-align:top}.pk td.mono{font-size:12px}.pk-warn{color:#a5672f}.job{margin-top:14px;padding:12px 14px;border-radius:10px;background:#fafafc;font-size:13px;line-height:1.6}.job-failed{background:var(--err-bg)}.job-needs_publish,.job-at-target{background:var(--ok-bg);box-shadow:inset 0 0 0 1px #c7e6d4;color:var(--ok)}.job-opened,.job-dry_run,.job-live-open{background:#fff;box-shadow:inset 0 0 0 1px var(--accent-line)}.dr-publish{margin-top:10px;padding:10px 12px;border-radius:10px;background:var(--ok-bg);box-shadow:inset 0 0 0 1px #c7e6d4;color:var(--ok);font-size:13px;line-height:1.5}.job.job-live-merged{background:#eef8f1;box-shadow:inset 0 0 0 1px #c7e6d4}.job.job-live-failed{background:var(--err-bg);box-shadow:inset 0 0 0 1px #f0c9d1}.job.job-live-closed{background:#f3f3f7;box-shadow:inset 0 0 0 1px #e6e6ec}.df{margin-top:10px;border-radius:10px;box-shadow:inset 0 0 0 1px #ececf1;overflow:hidden}.df-f+.df-f{border-top:1px solid #ececf1}.df-h{display:flex;align-items:center;gap:8px;width:100%;height:36px;padding:0 12px;background:#fafafc;font-size:12.5px;text-align:left}.df-add{color:var(--ok);margin-left:auto}.df-del{color:var(--err)}.df-t{width:100%;border-collapse:collapse;font-size:11.5px;line-height:1.6;table-layout:fixed}.df-cn{width:48px}.df-n{width:48px;text-align:right;padding:0 8px;color:var(--faint);-webkit-user-select:none;user-select:none}.df-c{white-space:pre-wrap;word-break:break-all;padding-right:12px}.df-s{display:inline-block;width:14px;color:var(--faint);-webkit-user-select:none;user-select:none}.df-l-add td{background:#eef8f1}.df-l-del td{background:#fcf0f2}.df-hk td{background:#f4f4fb;color:var(--accent-text);padding:3px 12px}.pt{margin-top:22px}.pt-hd{display:flex;align-items:baseline;gap:8px;font-size:13px}.pt-hd b{font-weight:600}.pt-hd .faint{font-size:12px}.pt-t{width:100%;border-collapse:collapse;margin-top:6px;font-size:13px}.pt-t th{text-align:left;font-size:11.5px;font-weight:500;color:var(--faint);padding:6px 8px;border-bottom:1px solid var(--line)}.pt-t td{padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:middle}.pt-sev{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);white-space:nowrap}.pt-pk{font-weight:500}.pt-pk .mono{font-size:12.5px;white-space:nowrap}.pt-via{font-size:12px;color:var(--faint);font-weight:400;margin-left:6px}.pt-vr{font-family:var(--mono);font-size:12px;color:var(--muted);white-space:nowrap}.pt-to{color:var(--accent-text);font-weight:500}.pt-rel{font-family:Inter,system-ui,sans-serif;font-size:12.5px;color:var(--accent-text);font-weight:500}.pt-none{font-family:Inter,system-ui,sans-serif;font-size:12.5px;color:#a7702f;font-weight:500}.pt-maj{margin-left:6px;font-family:Inter,system-ui,sans-serif}.pt-ar{color:var(--faint);padding:0 2px!important;width:14px}.pt-parent td{border-bottom:none;padding-bottom:2px}.pt-parent .pt-pk .mono{color:var(--muted)}.pt-child .pt-pk{padding-left:30px;position:relative}.pt-child .pt-pk:before{content:"";position:absolute;left:14px;top:0;height:50%;width:9px;border-left:1px solid #d2d2dc;border-bottom:1px solid #d2d2dc;border-bottom-left-radius:3px}.pt-child:not(.pt-last) .pt-pk:after{content:"";position:absolute;left:14px;top:50%;bottom:0;border-left:1px solid #d2d2dc}.pt-child:not(.pt-last) td{border-bottom-color:transparent}.how{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 9px;border-radius:11px;font-size:11.5px;white-space:nowrap}.h-ed{background:#eef6f1;color:#2f7a55}.h-lk{background:#f4f4f8;color:#4a4a5c}.h-up{background:var(--accent-soft);color:var(--accent-text)}.h-dc{background:#fbf3e6;color:#a7702f}.h-at{background:#eef2fb;color:#3d5a99}.pt-fn{color:var(--accent-text);font-weight:600}.pt-foot{margin-top:10px;font-size:12px;color:var(--muted);line-height:1.55;display:flex;gap:6px}.pt-foot b{font-weight:600;color:#33333f}.pt-compact{margin-top:0}.pt-compact .pt-t td{padding:6px 5px}.pt-compact .pt-t th{padding:5px}.pt-compact .pt-child .pt-pk{padding-left:24px}.pt-compact .pt-child .pt-pk:before,.pt-compact .pt-child:not(.pt-last) .pt-pk:after{left:10px}.pt-compact .how{padding:0 7px}.pt-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -14px;padding:0 14px}.pt-scroll .pt-t{width:max-content;min-width:100%}.pt-scroll .pt-t th,.pt-scroll .pt-t td{white-space:nowrap}.pt-head td{border-bottom:none}.pt-via{white-space:nowrap}.prs{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border-radius:11px;font-size:11.5px;font-weight:500;white-space:nowrap;background:var(--accent-soft);color:var(--accent-text);box-shadow:inset 0 0 0 1px var(--accent-line)}.prs:hover{box-shadow:inset 0 0 0 1px currentColor}.prs-dot{width:6px;height:6px;border-radius:3px;background:currentColor;flex:none}.prs-n{opacity:.75}.prs-sub{font-weight:400;opacity:.8}.prs-go{opacity:.6;font-size:10px}.prs--wait{background:var(--accent-soft);color:var(--accent-text);box-shadow:inset 0 0 0 1px var(--accent-line)}.prs--run{background:#fbf3e6;color:#95621f;box-shadow:inset 0 0 0 1px #f0dcb8}.prs--run .prs-dot{animation:prs-pulse 1.6s ease-in-out infinite}.prs--ok{background:var(--ok-bg);color:var(--ok);box-shadow:inset 0 0 0 1px #c7e6d4}.pr-checks{display:flex;flex-wrap:wrap;gap:4px 12px}.pr-ck a{color:inherit;text-decoration:underline;text-decoration-color:#d0d0dc}.pr-ck-failing{color:var(--err)}.pr-ck-expected{color:var(--faint)}.pr-sonar{font-size:12.5px}.pr-sonar-failed b{color:var(--err)}.pr-sonar-passed b{color:var(--ok)}.prs--bad{background:var(--err-bg);color:var(--err);box-shadow:inset 0 0 0 1px #f0c9d1}.prs--mute{background:#f3f3f7;color:var(--muted);box-shadow:inset 0 0 0 1px #e6e6ec}.prs--merged{background:#8250df;color:#fff;box-shadow:none;font-weight:600}.prs--merged .prs-n,.prs--merged .prs-sub,.prs--merged .prs-go{opacity:.92}.prs--merged:hover{background:#7340d0;box-shadow:none}@keyframes prs-pulse{50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.prs--run .prs-dot{animation:none}}.kchip-pr{font-size:10.5px;font-weight:500}.kchip-pr--badge{font-size:9.5px}a.pt-to{text-decoration:underline dotted;text-underline-offset:2px}.units-panel{margin:18px 0 8px;padding:16px 18px;border-radius:12px;background:#fafafc;box-shadow:inset 0 0 0 1px var(--line, #e8e8ef)}.units-panel__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.units-panel__head h2{margin:0;font-size:15px;font-weight:600}.units-panel__head p{margin:0;font-size:12.5px;color:var(--muted)}.units-panel__list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.units-panel__row{display:grid;grid-template-columns:minmax(8rem,1fr) auto auto;gap:8px 12px;align-items:center;font-size:13px}.units-panel__name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.units-panel__sha{font-size:11.5px;color:var(--faint)}.units-panel__err{grid-column:1 / -1;font-size:12px;color:var(--err)}.units-chip{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:11px;font-size:11.5px;font-weight:500;background:#f3f3f7;color:var(--muted)}.units-chip--ok{background:var(--ok-bg, #e8f6ee);color:var(--ok, #1b7a45)}.units-chip--warn{background:#fbf3e6;color:#95621f}.units-chip--bad{background:var(--err-bg, #fdecef);color:var(--err)}.vg-select{position:relative;display:inline-block;min-width:120px;vertical-align:middle}.vg-select-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:32px;padding:0 10px 0 12px;border-radius:9px;background:#fff;box-shadow:inset 0 0 0 1px #e3e3ea;color:var(--text);font:inherit;font-size:13px;text-align:left;cursor:pointer}.vg-select-btn:hover{box-shadow:inset 0 0 0 1px #d4d4de}.vg-select.open .vg-select-btn,.vg-select-btn:focus-visible{box-shadow:inset 0 0 0 1.5px var(--accent),0 0 0 3px var(--accent-soft);outline:none}.vg-select.disabled .vg-select-btn{opacity:.55;cursor:default;background:#f7f7f9}.vg-select-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vg-select-label.placeholder{color:var(--faint)}.vg-select-btn .ic{color:var(--faint);flex:none}.vg-select-menu{position:absolute;z-index:40;top:calc(100% + 4px);left:0;right:0;margin:0;padding:4px;list-style:none;max-height:min(280px,50vh);overflow:auto;background:#fff;border-radius:10px;box-shadow:0 0 0 1px #ececf1,0 14px 36px -12px #1e1e3c38}.vg-select-opt{display:block;width:100%;text-align:left;padding:8px 10px;border-radius:7px;font:inherit;font-size:13px;color:var(--text);background:transparent}.vg-select-opt:hover{background:#f6f6fa}.vg-select-opt.on{background:var(--accent-soft);color:var(--accent-text);font-weight:500}.pform .vg-select,.fl+.vg-select{display:block;width:100%}.pform .vg-select-btn{height:36px}.repo-dense{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0;max-height:340px;overflow:auto;border-radius:10px;background:#fff;box-shadow:inset 0 0 0 1px var(--line)}.repo-dense-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:baseline;min-height:28px;padding:4px 10px;border-bottom:1px solid #f3f3f6;font-size:12px}.repo-dense-row:nth-child(odd){background:#fcfcfd}.repo-dense-name{font-weight:500;font-size:11.5px}.repo-dense-pin{font-size:11px}.toml-view{margin:0;padding:12px 14px;border-radius:10px;background:#1e1e28;color:#d9d9e6;font-family:var(--mono);font-size:11.5px;line-height:1.55;overflow:auto;white-space:pre;-moz-tab-size:2;tab-size:2}.toml-view code{font:inherit}.toml-c{color:#8b8ba3}.toml-t{color:#9cdcfe;font-weight:500}.toml-k{color:#c5a5f5}.toml-s{color:#ce9178}.toml-n{color:#b5cea8}.toml-b{color:#569cd6}.toml-a{color:#dcdcaa}.sched-summary{display:flex;align-items:flex-start;gap:12px;max-width:520px;padding:14px 16px;border-radius:12px;background:#fff;border:1px solid var(--line)}.sched-summary.on{border-color:#d7eadc;background:#f7faf8}.sched-dot{width:8px;height:8px;border-radius:50%;margin-top:5px;flex:none;background:var(--faint)}.sched-dot.on{background:var(--ok)}.sched-summary-title{font-size:13.5px;font-weight:600}.sched-fields{max-width:560px;padding:14px 16px;border-radius:12px;background:#fff;border:1px solid var(--line)}.sched-toggle{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:13.5px;font-weight:500;margin-bottom:14px;-webkit-user-select:none;user-select:none}.sched-toggle input{position:absolute;opacity:0;width:1px;height:1px}.sched-toggle-ui{width:36px;height:20px;border-radius:999px;background:#e3e3ea;position:relative;flex:none;transition:background .15s ease}.sched-toggle-ui:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #14142833;transition:transform .15s ease}.sched-toggle.on .sched-toggle-ui{background:var(--accent)}.sched-toggle.on .sched-toggle-ui:after{transform:translate(16px)}.sched-toggle.disabled{opacity:.55;cursor:default}.sched-grid{display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:6px 12px;align-items:end}.sched-grid .fl{margin:0}@media(max-width:640px){.sched-grid{grid-template-columns:1fr 1fr}.sched-grid .vg-select{grid-column:1 / -1}}.page.fp{padding:28px 36px 40px}.fp .sub{font-size:13.5px;color:var(--muted);max-width:52ch;line-height:1.45}.fp .fp-hd{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin:4px 0 18px}.fp-title{display:inline-flex;align-items:center;gap:10px;font-size:24px;font-weight:700;letter-spacing:-.02em;margin:0 0 6px;color:var(--text)}.fp-title-ico{width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent-text);flex:none}.fp-hd-ctrls{align-items:center;gap:10px;flex-wrap:wrap}.fp-profile{gap:8px;font-size:13px}.fp-prompt{font-size:13.5px;color:var(--muted);margin:0 0 14px}.fp-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin-bottom:14px}.fp-mstf{gap:8px;flex-wrap:wrap}.fp-mstf-lbl{font-size:12.5px;font-weight:550;display:inline-flex;align-items:center;gap:4px}.fp-mstf-link{font-size:12.5px;color:var(--accent-text);font-weight:550;white-space:nowrap}.fp-mstf-link:hover{text-decoration:underline}.fp-info{display:inline-flex;color:#9b9bb0;cursor:help;flex:none;margin-bottom:1px}.fp-sev-row{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center}.fp-sev{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 11px;border-radius:999px;font-size:12.5px;font-weight:550;color:var(--text);background:#fff;border:1px solid var(--line);box-shadow:0 1px #14142805}.fp-sev b{font-weight:700;font-variant-numeric:tabular-nums}.fp-sev i{width:8px;height:8px;border-radius:50%;display:inline-block;background:#94a3b8;flex:none}.fp-sev.sev-critical i{background:#c43c3c}.fp-sev.sev-high i{background:#d97706}.fp-sev.sev-medium i{background:#ca8a04}.fp-sev.sev-low i{background:#3b82f6}.fp-body{display:grid;grid-template-columns:minmax(340px,1.08fr) minmax(320px,.92fr);gap:22px;align-items:start}@media(max-width:980px){.fp-body{grid-template-columns:1fr}}.fp-section-hd{font-size:13px;font-weight:650;color:var(--muted);margin:0 0 10px;letter-spacing:.01em}.fp-waves{display:flex;flex-direction:column;gap:0;min-width:0}.fp-wave-arrow{display:flex;justify-content:center;align-items:center;color:#7c76e8;font-size:15px;line-height:1;padding:14px 0}.fp-wave-arrow span{width:32px;height:32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#eef0ff;border:1px solid #d9dbf5;color:#5b54d6;box-shadow:0 1px 2px #372da014;font-weight:700}.fp-wave{border:1px solid #e6e6ef;border-radius:18px;padding:18px 16px 16px;background:#fff;box-shadow:0 2px 8px #28235a0d}.fp-wave.go{border-color:#cfe8d5;background:linear-gradient(180deg,#f5fbf7,#fff 42%);box-shadow:0 0 0 1px #1f7a3a0a,0 2px 8px #28235a0a}.fp-wave-hd{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.fp-wave-hd-left{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.fp-wave-title{display:inline-flex;align-items:center;height:26px;padding:0 12px;border-radius:999px;font-size:12.5px;font-weight:700;letter-spacing:-.01em;background:#ece8ff;color:#3f3a9e;border:1px solid #ddd7fb}.fp-wave-tag{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 11px;border-radius:999px;font-size:12px;font-weight:650;background:#f1f1f5;color:#5c5c72;border:1px solid #e4e4ec}.fp-wave-tag-ico{display:inline-flex;align-items:center;justify-content:center;font-size:10px;line-height:1}.fp-wave-tag-parallel{background:#e9f7ee;border-color:#c6e6d0;color:#1f7a3a}.fp-wave-tag-waiting{background:#f2f2f6;border-color:#e4e4ec;color:#6a6a80}.fp-wave-sum{font-size:12.5px;white-space:nowrap;color:#8b8b9e;font-weight:550}.fp-wave-empty{font-size:13px;padding:8px 2px 10px}.fp-wave-list{list-style:none;margin:0;padding:2px 0 0}.fp-wave-list li{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:14px 10px;border-top:1px solid #f1f1f5;border-radius:12px}.fp-wave-list li:first-child{border-top:0}.fp-wave-list li.on{background:#f4f3ff}.fp-wave-ico{width:30px;height:30px;border-radius:9px;background:#f3f3f8;color:#6b6b88;display:inline-flex;align-items:center;justify-content:center;flex:none}.fp-wave-list li.on .fp-wave-ico{background:#fff;color:#4f46e5}.fp-wave-repo{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;border:0;background:transparent;cursor:pointer;padding:0;color:inherit;min-width:0}.fp-wave-name{font-size:13.5px;font-weight:650;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.fp-wave-bits{font-size:12px;color:#8b8b9e;font-weight:500}.fp-review{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 12px;font-size:12.5px;font-weight:650;color:#4f46e5;white-space:nowrap;border-radius:9px;background:#fff;border:1px solid #c9c6f2;box-shadow:0 1px #372da00a}.fp-review:hover{background:#f4f3ff}.fp-more{display:inline-flex;align-items:center;justify-content:center;margin-top:12px;height:30px;padding:0 14px;border-radius:999px;border:0;background:#ece8ff;color:#4338ca;font-size:12.5px;font-weight:650;cursor:pointer}.fp-more:hover{background:#e0dbff}.fp-pill{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;font-size:11.5px;font-weight:650;border:1px solid transparent;background:transparent;color:var(--muted);justify-self:end}.fp-pill i{width:7px;height:7px;border-radius:50%;display:inline-block;background:currentColor;flex:none}.fp-pill.sev-critical{background:#fff1f1;border-color:#f0c8c8;color:#b42318}.fp-pill.sev-high{background:transparent;border-color:transparent;color:#c27803}.fp-pill.sev-medium{background:transparent;border-color:transparent;color:#a16207}.fp-pill.sev-low{background:transparent;border-color:transparent;color:#2563eb}.fp-detail{display:flex;flex-direction:column;gap:12px;min-width:0}.fp-detail-card{border:1px solid var(--line);border-radius:16px;padding:16px;background:var(--panel);box-shadow:0 1px 2px #14142808;display:flex;flex-direction:column;gap:12px}.fp-detail-empty{border:1px dashed var(--line);border-radius:16px;padding:36px 18px;text-align:center;background:#fafafa}.fp-detail-hd{display:flex;align-items:flex-start;gap:12px}.fp-detail-ico{width:38px;height:38px;border-radius:11px;background:#f3f3f7;color:var(--muted);display:flex;align-items:center;justify-content:center;flex:none}.fp-detail-hd-main{flex:1;min-width:0}.fp-detail-repo{font-size:16px;font-weight:700;letter-spacing:-.01em}.fp-detail-meta{font-size:12.5px;margin-top:3px}.fp-open{width:100%;justify-content:center;height:42px;font-size:14px;font-weight:650;gap:8px;border-radius:11px}.fp-block{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff}.fp-block-hd{font-size:12.5px;font-weight:650;margin-bottom:8px;color:var(--text)}.fp-block-diff .fp-block-hd{font-size:13px;margin-bottom:10px}.fp-preview-sum{cursor:pointer;list-style:none;display:flex;align-items:baseline;flex-wrap:wrap;gap:4px;margin-bottom:0}.fp-preview-sum::-webkit-details-marker{display:none}.fp-block-diff[open] .fp-preview-sum{margin-bottom:10px}.fp-preview-body{margin-top:2px}.fp-edit-sites{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.fp-edit-sites li{margin:0;line-height:1.45;min-width:0}.fp-diff{margin:0;font-family:var(--mono);font-size:12.5px;line-height:1.55;background:#fff;color:var(--text);border:1px solid #e8e8ef;border-radius:10px;padding:6px 0;overflow:auto;max-height:420px}.fp-diff-chunk+.fp-diff-chunk{margin-top:4px;border-top:1px solid #f0f0f4;padding-top:4px}.fp-diff-file,.fp-diff-line{display:grid;grid-template-columns:72px 18px minmax(0,1fr);align-items:baseline;gap:0;padding:1px 10px 1px 0;min-width:0}.fp-diff-file{color:#5b5b6e;font-size:12px;font-weight:650;margin:6px 0 2px;padding-top:8px;border-top:1px solid #ececf2;background:#fafafc}.fp-diff-file:first-child{border-top:0;margin-top:0;padding-top:4px}.fp-diff-path{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;min-width:0}.fp-diff-gutter-pair{display:grid;grid-template-columns:1fr 1fr;gap:0;-webkit-user-select:none;user-select:none}.fp-diff-gutter{text-align:right;color:#a0a0b0;font-variant-numeric:tabular-nums;padding-right:6px;-webkit-user-select:none;user-select:none;font-size:11.5px}.fp-diff-mark{text-align:center;font-weight:700;-webkit-user-select:none;user-select:none;width:18px}.fp-diff-code{white-space:pre-wrap;word-break:break-word;min-width:0}.fp-diff-hunk .fp-diff-code{font-size:11.5px}.fp-block-embedded{border:0;padding:0;border-radius:0;background:transparent}.ov3-cell-diff .fp-preview-sum{margin-bottom:0}.ov3-cell-diff details[open] .fp-preview-sum{margin-bottom:10px}.fp-diff-line.del{background:#fee2e2;color:#7f1d1d}.fp-diff-line.del .fp-diff-mark{color:#b42318}.fp-diff-line.add{background:#dcfce7;color:#14532d}.fp-diff-line.add .fp-diff-mark{color:#15803d}.fp-diff-line.ctx{color:#6b6b7b}.fp-diff-line.ctx .fp-diff-code{letter-spacing:.08em}.fp-cve{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;font-size:12px;font-family:var(--mono)}.fp-cve li{margin:0;padding:4px 8px;border-radius:7px;background:#f6f6fa;border:1px solid var(--line);color:var(--text)}.fp-pkg{width:100%;border-collapse:collapse;font-size:12.5px}.fp-pkg th{text-align:left;font-size:11px;font-weight:600;color:var(--faint);padding:0 8px 6px 0;border-bottom:1px solid var(--line)}.fp-pkg td{padding:7px 8px 7px 0;border-bottom:1px solid #f2f2f5;vertical-align:top}.fp-pkg .mono{font-family:var(--mono);font-size:12px}.fp-pkg-arrow{color:var(--faint);width:16px;padding-right:4px!important}.fp-block-rel{background:#fbfaff}.fp-rel-tabs{display:flex;gap:6px;margin:0 0 12px;padding:0;background:transparent}.fp-rel-tabs>*{flex:1;text-align:center;height:32px;line-height:32px;border-radius:999px;font-size:12.5px;font-weight:650;color:#5c5c72;background:#ececf3;text-decoration:none}.fp-rel-tabs>.on,.fp-rel-tabs>[aria-selected=true]{background:#4f46e5;color:#fff;box-shadow:0 1px 2px #372db438}.fp-rel-tree{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.fp-rel-tree>li.root{position:relative;z-index:1}.fp-rel-tree>li:not(.root){position:relative;margin-left:18px;padding-left:16px}.fp-rel-tree>li:not(.root):before{content:"";position:absolute;left:0;top:-10px;bottom:50%;width:14px;border-left:1.5px solid #d4d4e0;border-bottom:1.5px solid #d4d4e0;border-radius:0 0 0 6px}.fp-rel-tree>li:not(.root):not(:last-of-type):after{content:"";position:absolute;left:0;top:50%;bottom:-10px;width:0;border-left:1.5px solid #d4d4e0}.fp-rel-node,.fp-rel-row{width:100%;display:flex;align-items:center;gap:8px;padding:10px 12px;text-align:left;cursor:default;background:#fff;border:1px solid #ebeaf4;border-radius:12px;box-shadow:0 1px 3px #372d780f,0 0 0 1px #4f46e505;color:inherit;box-sizing:border-box;min-width:0}.fp-rel-row{cursor:pointer}.fp-rel-row:hover{border-color:#d9d7f0;box-shadow:0 2px 6px #372d7814}.fp-rel-chev{display:inline-flex;color:#8b8b9e;flex:none;margin-left:-2px}.fp-rel-ico{width:22px;height:22px;border-radius:7px;background:#f3f2fa;color:#6b6b88;display:inline-flex;align-items:center;justify-content:center;flex:none}.fp-rel-name{flex:1;min-width:0;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fp-rel-st{font-size:11.5px;font-weight:650;height:22px;padding:0 9px;border-radius:999px;display:inline-flex;align-items:center;gap:5px;border:1px solid transparent;flex:none}.fp-rel-st i{width:6px;height:6px;border-radius:50%;display:inline-block;background:currentColor;flex:none}.fp-rel-st.ready{background:#eef8f0;color:#1f7a3a}.fp-rel-st.waiting{background:#fff8eb;color:#a16207}.fp-rel-st.blocked{background:#fff1f1;color:#b42318}.fp-rel-st.in_flight{background:var(--accent-soft);color:var(--accent-text)}.fp-rel-st.sev-critical{background:#fff1f1;color:#b42318}.fp-rel-st.sev-high{background:#fff8eb;color:#9a6b10}.fp-rel-st.sev-medium{background:#fffbeb;color:#a16207}.fp-rel-st.sev-low{background:#eff6ff;color:#1d4ed8}.fp-rel-go{display:inline-flex;color:#4f46e5;flex:none;margin-left:2px}.fp-rel-more{display:inline-flex;align-items:center;justify-content:center;margin-top:10px;height:30px;padding:0 14px;border-radius:999px;border:0;background:#ece8ff;color:#4338ca;font-size:12.5px;font-weight:650;cursor:default}.fp-blockers{border:1px solid #f0c8c8;border-radius:12px;padding:12px 14px;background:#fffafb}.fp-blockers-hd{font-size:13px;font-weight:650;color:#b42318;margin-bottom:8px}.fp-blockers-hd span{font-weight:500;color:var(--muted)}.fp-blockers ul{margin:0;padding-left:16px;font-size:13px}.fp-blockers li{margin:6px 0}
