:root{--brand-green:#4e7d3b;--brand-green-deep:#3c6430;--brand-green-soft:#e9f1e4;--brand-orange:#f15a22;--brand-orange-deep:#d24a17;--brand-orange-soft:#fdebe3;--paper:#f7f8f5;--raised:#fff;--ink:#1c241a;--ink-soft:#4a5546;--ink-faint:#7e8a79;--line:#e2e6dc;--line-strong:#c9cfc2;--accent:var(--brand-green);--accent-deep:var(--brand-green-deep);--accent-soft:var(--brand-green-soft);--attention:var(--brand-orange);--attention-deep:var(--brand-orange-deep);--attention-soft:var(--brand-orange-soft);--p0:#c0392b;--p0-soft:#fbe4e1;--p1:var(--brand-orange);--p1-soft:var(--brand-orange-soft);--p2:#b07d12;--p2-soft:#fbf1d6;--p3:#7e8a79;--p3-soft:#edf0ea;--good:var(--brand-green);--good-soft:var(--brand-green-soft);--shadow:0 1px 2px #1c241a0a, 0 8px 24px #1c241a0f;--radius:12px;--radius-sm:8px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--brand-green:#7fb36a;--brand-green-deep:#9cc78a;--brand-green-soft:#24331f;--brand-orange:#ff7a45;--brand-orange-deep:#ff9166;--brand-orange-soft:#3d2418;--paper:#131712;--raised:#1c221a;--ink:#eaeee6;--ink-soft:#b7c0b1;--ink-faint:#7f8a7a;--line:#2b332a;--line-strong:#3a4438;--p0:#ff6b5e;--p0-soft:#3e1f1c;--p2:#e0b04a;--p2-soft:#3a2f14;--p3:#8a958a;--p3-soft:#262d25;--shadow:0 1px 2px #0000004d, 0 8px 24px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Be Vietnam Pro,-apple-system,Segoe UI,system-ui,sans-serif;font-size:15px;line-height:1.55}a{color:var(--accent)}a:hover{color:var(--accent-deep)}h1,h2,h3{letter-spacing:-.015em;margin:0;font-weight:700}.topbar{background:var(--raised);border-bottom:1px solid var(--line);z-index:10;align-items:center;gap:1.75rem;padding:.7rem clamp(1rem,4vw,2.5rem);display:flex;position:sticky;top:0}.brand{color:var(--ink);align-items:center;gap:.75rem;text-decoration:none;display:inline-flex}.brand img{width:auto;height:34px;display:block}.brand-product{color:var(--ink-soft);border-left:1px solid var(--line);padding-left:.75rem;font-size:.95rem;font-weight:600}.topnav{gap:1.1rem;font-size:.9rem;font-weight:500;display:flex}.topnav a{color:var(--ink-soft);text-decoration:none}.topnav a:hover{color:var(--accent)}.topbar-user{align-items:center;gap:1rem;margin-left:auto;font-size:.85rem;display:flex}.topbar-name{color:var(--ink-faint)}.logout{margin:0}.logout button{font:inherit;color:var(--ink-soft);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:.3rem .7rem;font-size:.82rem;font-weight:500}.logout button:hover{border-color:var(--line-strong);color:var(--ink)}.wrap{max-width:1180px;margin:0 auto;padding:2rem clamp(1rem,4vw,2.5rem) 4rem}.page-head{margin-bottom:1.5rem}.page-head h1{font-size:1.55rem}.page-head p{color:var(--ink-soft);margin:.3rem 0 0}.subnav{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;display:flex}.tabs{flex-wrap:wrap;gap:.15rem;display:flex}.tab{color:var(--ink-soft);white-space:nowrap;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.5rem .8rem;font-size:.88rem;text-decoration:none}.tab:hover{color:var(--ink);background:var(--raised)}.tab.active{color:var(--accent-deep);border-bottom-color:var(--accent);font-weight:600}.tab{font-weight:500}.ranges{gap:.15rem;padding-bottom:.4rem;display:flex}.range{color:var(--ink-faint);border-radius:5px;padding:.2rem .55rem;font-size:.78rem;text-decoration:none}.range:hover{background:var(--raised);color:var(--ink)}.range.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.stats{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;margin-bottom:1.75rem;display:grid;overflow:hidden}.stat{background:var(--raised);padding:.9rem 1rem}.stat .n{font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:700;line-height:1.1}.stat .l{color:var(--ink-faint);margin-top:.2rem;font-size:.75rem}.grid{grid-template-columns:1.35fr 1fr;align-items:start;gap:1.25rem;display:grid}@media (max-width:900px){.grid{grid-template-columns:1fr}}.card{background:var(--raised);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.card-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:1rem;padding:.85rem 1.1rem;display:flex}.card-head h2{font-size:.95rem;font-weight:600}.card-head .meta{color:var(--ink-faint);font-size:.78rem}.card-body{padding:.4rem 0}.card-body.pad{padding:1.1rem}.row{border-bottom:1px solid var(--line);align-items:flex-start;gap:.8rem;padding:.7rem 1.1rem;display:flex}.row:last-child{border-bottom:none}.row .main{flex:1;min-width:0}.row .title{margin-bottom:.15rem;font-size:.9rem}.row .sub{color:var(--ink-faint);word-break:break-word;font-size:.8rem}.row .score{font-variant-numeric:tabular-nums;text-align:right;min-width:3rem;font-size:1rem;font-weight:600}.group-head{background:var(--paper);border-bottom:1px solid var(--line);border-top:1px solid var(--line);letter-spacing:.02em;justify-content:space-between;align-items:baseline;gap:1rem;padding:.5rem 1.1rem;font-size:.78rem;font-weight:600;display:flex}.group-head .rest{color:var(--ink-faint);font-weight:400}.empty{color:var(--ink-faint);padding:1.5rem 1.1rem;font-size:.9rem}.pager{border-top:1px solid var(--line);color:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1.1rem;font-size:.82rem;display:flex}.pager-links{align-items:center;gap:.9rem;display:flex}.pager-links a{text-decoration:none}.pager-links .disabled{color:var(--line-strong)}.pager-page{font-variant-numeric:tabular-nums;color:var(--ink-faint)}.filters{flex-direction:column;gap:.5rem;margin-bottom:1.25rem;display:flex}.filter-group{flex-wrap:wrap;align-items:center;gap:.2rem;display:flex}.triage{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.chip-btn{font:inherit;border:1px solid var(--line-strong);background:var(--raised);color:var(--ink-soft);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;padding:.3rem .75rem;font-size:.78rem;font-weight:500}.chip-btn:hover{border-color:var(--accent);color:var(--accent)}.chip-btn.primary{border-color:var(--attention);background:var(--attention);color:#fff;font-weight:600}.chip-btn.primary:hover{border-color:var(--attention-deep);background:var(--attention-deep);color:#fff}.link-btn{font:inherit;color:var(--ink-faint);cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem;text-decoration:underline}.link-btn:hover{color:var(--accent)}.badge{letter-spacing:.03em;white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;padding:.18rem .5rem;font-size:.7rem;font-weight:600;display:inline-flex}.b-P0{background:var(--p0-soft);color:var(--p0)}.b-P1{background:var(--p1-soft);color:var(--p1)}.b-P2{background:var(--p2-soft);color:var(--p2)}.b-P3{background:var(--p3-soft);color:var(--p3)}.b-type{background:var(--accent-soft);color:var(--accent)}.b-ok{background:var(--good-soft);color:var(--good)}.factors{color:var(--ink-faint);grid-template-columns:8rem 1fr 2.5rem;align-items:center;gap:.3rem .6rem;margin-top:.5rem;font-size:.75rem;display:grid}.bar{background:var(--p3-soft);border-radius:3px;height:5px;overflow:hidden}.bar>i{background:var(--accent);height:100%;display:block}.bar.penalty>i{background:var(--p1)}.factors .v{text-align:right;font-variant-numeric:tabular-nums}.tbl-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:560px;font-size:.86rem}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.55rem 1.1rem}th{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);background:var(--paper);font-size:.72rem;font-weight:500}tr:last-child td{border-bottom:none}td.num{font-variant-numeric:tabular-nums;text-align:right}.chart{gap:.6rem;padding:1.1rem 1.1rem 0;display:flex}.chart-axis{height:96px;color:var(--ink-faint);text-align:right;flex-direction:column;justify-content:space-between;min-width:3rem;margin:-.45rem 0;font-size:.68rem;display:flex}.chart-plot{flex:1;height:96px;position:relative}.chart-plot>.grid{border-top:1px dashed var(--line);position:absolute;left:0;right:0}.chart-plot>.grid.base{border-top-style:solid}.chart-bars{align-items:flex-end;gap:3px;display:flex;position:absolute;inset:0}.chart-bars>.bar-week{background:var(--line);border-top:2px solid var(--ink-faint);border-radius:2px 2px 0 0;flex:1;min-height:2px}.chart-bars>.bar-week.recent{background:var(--accent-soft);border-top-color:var(--accent)}.chart-ticks{color:var(--ink-faint);gap:3px;padding:.4rem 1.1rem 1rem 4.7rem;font-size:.68rem;display:flex}.chart-ticks>span{text-align:center;white-space:nowrap;flex:1}.login-wrap{place-items:center;min-height:70vh;padding:2rem 1rem;display:grid}.login-card{background:var(--raised);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;flex-direction:column;gap:.5rem;width:100%;max-width:340px;padding:1.75rem;display:flex}.login-card h1{font-size:1.15rem}.login-card p{color:var(--ink-soft);margin:0 0 .5rem;font-size:.88rem}.login-card label{color:var(--ink-faint);font-size:.78rem}.login-card input{font:inherit;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:6px;padding:.5rem .65rem}.login-card input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.login-card button{font:inherit;background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-top:.6rem;padding:.55rem .75rem;font-weight:500}.login-card button:hover{filter:brightness(1.08)}.login-error{background:var(--p0-soft);color:var(--p0);border-radius:6px;padding:.45rem .6rem;font-size:.83rem}.logout{margin-left:auto}.logout button{font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem}.logout button:hover{color:var(--accent)}.rationale{background:var(--paper);border-left:2px solid var(--accent);color:var(--ink-soft);border-radius:0 6px 6px 0;margin-top:.5rem;padding:.6rem .75rem;font-size:.82rem}.rationale p{margin:0}.rationale p+p{margin-top:.45rem}.rationale-action{color:var(--ink);font-weight:500}.rec{border-bottom:1px solid var(--line);padding:1rem 1.1rem}.rec:last-child{border-bottom:0}.rec-head{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.7rem;font-size:.82rem;display:flex}.rec-source{color:var(--ink-faint);margin-left:auto;font-size:.72rem}.rewrite{grid-template-columns:1fr 1fr;gap:.9rem;display:grid}@media (max-width:720px){.rewrite{grid-template-columns:1fr}}.rewrite-label{color:var(--ink-faint);align-items:baseline;gap:.4rem;margin-bottom:.25rem;font-size:.72rem;display:flex}.count{font-variant-numeric:tabular-nums}.count.empty{color:var(--p1)}.rewrite-text{-webkit-user-select:all;user-select:all;border-radius:4px;padding:.55rem .7rem;font-size:.85rem;line-height:1.45}.rewrite-text.old{background:var(--p3-soft);color:var(--ink-soft)}.rewrite-text.none{background:var(--p1-soft);color:var(--p1);-webkit-user-select:none;user-select:none}.rewrite-text.new{background:var(--good-soft);color:var(--ink)}.rec-queries{color:var(--ink-faint);margin-top:.55rem;font-size:.75rem}.rec-reason{color:var(--ink-soft);border-left:2px solid var(--line);margin-top:.55rem;padding-left:.7rem;font-size:.8rem}.rec-link{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.6rem;font-size:.85rem;display:flex}.rec-link-from{color:var(--ink-soft)}.rec-link-arrow{color:var(--ink-faint)}.rec .triage{margin-top:.7rem}.coverage-bar{background:var(--line);border-radius:5px;height:10px;margin:0 1.1rem;display:flex;overflow:hidden}.coverage-bar>i.ok{background:var(--good)}.coverage-bar>i.bad{background:var(--p0)}.coverage-bar>i.unknown{background:var(--line)}.coverage-legend{color:var(--ink-soft);flex-wrap:wrap;gap:1.1rem;padding:.6rem 1.1rem 0;font-size:.75rem;display:flex}.coverage-legend i{border-radius:2px;width:9px;height:9px;margin-right:.35rem;display:inline-block}.coverage-legend i.ok{background:var(--good)}.coverage-legend i.bad{background:var(--p0)}.coverage-legend i.unknown{background:var(--line)}.coverage-states{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.2rem 1.1rem;padding:.8rem 1.1rem 1rem;font-size:.78rem;display:grid}.coverage-state{color:var(--ink-soft);border-bottom:1px dotted var(--line);justify-content:space-between;gap:.6rem;padding:.2rem 0;display:flex}.coverage-state .v{font-variant-numeric:tabular-nums;color:var(--ink)}.stages{margin:0;padding:0;list-style:none}.stage{grid-template-columns:6.5rem 1fr auto;align-items:baseline;gap:.75rem;padding:.45rem 1.1rem;font-size:.85rem;display:grid}.stage+.stage{border-top:1px solid var(--line)}.stage-status{color:var(--ink-faint);white-space:nowrap;align-items:center;gap:.45rem;font-size:.78rem;display:inline-flex}.dot{background:var(--line);border-radius:50%;flex:none;width:.55rem;height:.55rem}.d-SUCCESS{background:var(--good)}.d-FAILED{background:var(--p0)}.d-SKIPPED{border:1.5px solid var(--ink-faint);background:0 0}.d-PENDING{border:1.5px solid var(--line);background:0 0}.d-RUNNING{background:var(--p2);animation:1.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.stage.s-SUCCESS .stage-status,.stage.s-RUNNING .stage-status,.stage.s-FAILED .stage-status{color:var(--ink-soft)}.stage.s-FAILED .stage-name{color:var(--p0)}.stage.s-PENDING{color:var(--ink-faint)}.stage-name{color:var(--ink)}.stage.s-PENDING .stage-name,.stage.s-SKIPPED .stage-name{color:var(--ink-faint)}.stage-note{color:var(--ink-faint);text-align:right;font-size:.8rem}.stage-error{background:var(--p0-soft);color:var(--p0);border-radius:6px;margin-top:.6rem;padding:.5rem .65rem;font-size:.82rem}.rehearsal{margin-top:.4rem}.rehearsal .rewrite{margin-top:.35rem}.site-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.25rem;display:grid}.site-card{background:var(--raised);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:.9rem;padding:1.1rem 1.25rem .9rem;display:flex}.site-card.needs-person{border-left:3px solid var(--attention)}.site-card-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.site-domain{color:var(--ink);letter-spacing:-.01em;font-size:1.15rem;font-weight:700;text-decoration:none}.site-domain:hover{color:var(--accent-deep)}.site-meta{color:var(--ink-faint);margin-top:.1rem;font-size:.8rem}.run-now{flex:none;margin:0}.site-trend{align-items:center;gap:1rem;display:flex}.spark{flex:none;display:block}.spark-empty{border-radius:var(--radius-sm);background:repeating-linear-gradient(-45deg, var(--paper), var(--paper) 4px, transparent 4px, transparent 8px)}.spark-line{fill:none;stroke:var(--ink-faint);stroke-width:1.75px;stroke-linejoin:round;stroke-linecap:round}.spark-area{fill:var(--ink-faint);opacity:.08}.spark-dot{fill:var(--ink-faint)}.spark-up .spark-line,.spark-up .spark-dot{stroke:var(--good);fill:var(--good)}.spark-up .spark-line{fill:none}.spark-up .spark-area{fill:var(--good)}.spark-down .spark-line,.spark-down .spark-dot{stroke:var(--p0);fill:var(--p0)}.spark-down .spark-line{fill:none}.spark-down .spark-area{fill:var(--p0)}.delta{font-variant-numeric:tabular-nums;flex-direction:column;font-size:.9rem;font-weight:700;line-height:1.2;display:flex}.delta small{color:var(--ink-faint);font-size:.72rem;font-weight:400}.delta-up{color:var(--good)}.delta-down{color:var(--p0)}.delta-flat{color:var(--ink-soft)}.delta-none{color:var(--ink-faint);font-size:.78rem;font-weight:400}.site-facts{background:var(--line);border:1px solid var(--line);border-radius:var(--radius-sm);grid-template-columns:repeat(5,1fr);gap:1px;margin:0;display:grid;overflow:hidden}.fact{background:var(--raised);color:inherit;padding:.55rem .6rem;text-decoration:none;display:block}.fact:hover{background:var(--paper)}.fact dt{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;font-size:.68rem}.fact dd{font-variant-numeric:tabular-nums;margin:.05rem 0 0;font-size:1.25rem;font-weight:700;line-height:1.1}.fact-attention dd{color:var(--attention)}.fact-danger dd{color:var(--p0)}.site-card-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding-top:.6rem;font-size:.8rem;display:flex}.run-status{color:var(--ink-soft);align-items:center;gap:.45rem;display:inline-flex}.run-none{color:var(--ink-faint)}.run-failed{color:var(--p0);font-weight:500}.site-history{color:var(--ink-faint);white-space:nowrap;text-decoration:none}.site-history:hover{color:var(--accent)}@media (max-width:480px){.site-facts{grid-template-columns:repeat(3,1fr)}}.pipelines{gap:.75rem;margin-bottom:1.25rem;display:grid}details.pipeline>summary::-webkit-details-marker{display:none}details.jobs-log>summary::-webkit-details-marker{display:none}.pipeline-summary{cursor:pointer;-webkit-user-select:none;user-select:none;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.8rem 1.1rem;list-style:none;display:grid}.pipeline-summary:hover{background:var(--paper)}details[open]>.pipeline-summary{border-bottom:1px solid var(--line)}.pipeline-status .dot{width:.65rem;height:.65rem}.pipeline-title{font-size:.95rem;font-weight:600}.pipeline-meta{color:var(--ink-faint);white-space:nowrap;font-size:.8rem}.pipeline.p-FAILED .pipeline-meta{color:var(--p0);font-weight:500}.stage{grid-template-columns:6.5rem minmax(10rem,1fr) minmax(0,1.6fr)}.stage-note{color:var(--ink-faint);text-align:right;flex-wrap:wrap;justify-content:flex-end;gap:.35rem .85rem;font-size:.78rem;display:flex}.stage-stats{color:var(--ink-soft)}.stage-usage:before,.stage-time:before{content:"· "}.stage-note-error{color:var(--p0);text-align:left;justify-content:flex-start}.jobs-log .pipeline-summary{padding:.7rem 1.1rem}@media (max-width:720px){.stage{grid-template-columns:5.5rem 1fr}.stage-note{text-align:left;grid-column:2;justify-content:flex-start}}.diff-line{color:var(--ink);margin:.35rem 0 .6rem;font-size:.95rem;line-height:1.6}.diff-line del{text-decoration:line-through;-webkit-text-decoration-color:var(--p0);text-decoration-color:var(--p0);color:var(--ink-faint);background:var(--p0-soft);border-radius:3px;padding:0 .15em}.diff-line ins{color:var(--accent-deep);background:var(--good-soft);border-radius:3px;padding:0 .15em;font-weight:600;text-decoration:none}.group-actions{align-items:center;gap:.75rem;font-weight:400;display:inline-flex}.group-actions .triage{gap:.35rem}.chip-count{font-variant-numeric:tabular-nums;opacity:.7;margin-left:.4rem;font-weight:500}.range.active .chip-count{opacity:1}
