:root{color-scheme:light;--bg: #f5f6f8;--surface: #ffffff;--surface-2: #fafbfc;--soft: #eef1f5;--sidebar: #fbfbfc;--border: #e1e5eb;--border-strong: #cdd3dc;--text: #161b22;--text-2: #3b4452;--muted: #5f6b7a;--faint: #8a94a3;--accent: #2f5bea;--accent-strong: #2348c4;--accent-soft: #eaf0ff;--on-accent: #ffffff;--pass: #157347;--fail: #c42b2b;--running: #8f5500;--running-fill: #d98a00;--warn-text: #7a4b00;--tint-fail: #fdecec;--tint-warn: #fff4db;--tint-pass: #e7f6ee;--tint-info: #eaf0ff;--warn-border: #f0d08a;--fail-border: #f3c2c2;--pass-border: #b9e2cb;--info-border: #c9d7ff;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--s-8: 64px;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--r-pill: 999px;--fs-xs: .75rem;--fs-sm: .8125rem;--fs-md: .9375rem;--fs-lg: 1.0625rem;--fs-xl: 1.25rem;--fs-2xl: 1.5rem;--fs-3xl: 1.875rem;--shadow-1: 0 1px 2px rgb(16 24 40 / .06), 0 1px 1px rgb(16 24 40 / .04);--shadow-2: 0 6px 18px rgb(16 24 40 / .1), 0 2px 4px rgb(16 24 40 / .06);--shadow-pop: 0 12px 32px rgb(16 24 40 / .16), 0 2px 6px rgb(16 24 40 / .08);--focus: 0 0 0 3px color-mix(in srgb, var(--accent) 35%, transparent);--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--sidebar-w: 248px;--topbar-h: 56px;--content-max: 1240px}:root[data-theme=dark]{color-scheme:dark;--bg: #0f1216;--surface: #171b21;--surface-2: #1b2027;--soft: #222932;--sidebar: #13171c;--border: #2b323c;--border-strong: #3a434f;--text: #e7eaef;--text-2: #c3cad4;--muted: #9aa5b5;--faint: #6f7a89;--accent: #8aa7ff;--accent-strong: #a9beff;--accent-soft: #1e2a47;--on-accent: #0f1216;--pass: #4cc26e;--fail: #f07070;--running: #e7b450;--running-fill: #e0a63a;--warn-text: #f0c96a;--tint-fail: #3a1f22;--tint-warn: #3a3118;--tint-pass: #1d3324;--tint-info: #212a3d;--warn-border: #6b5a22;--fail-border: #6b2a2e;--pass-border: #2c5a3a;--info-border: #33446b;--shadow-1: 0 1px 2px rgb(0 0 0 / .4);--shadow-2: 0 6px 18px rgb(0 0 0 / .45);--shadow-pop: 0 12px 32px rgb(0 0 0 / .55)}:root[data-theme=dark] img{opacity:.94}h2{margin-top:.5rem}.health{display:flex;gap:1.25rem;margin:.25rem 0 1rem}tr.row-fail td{background:var(--tint-fail)}tr.row-warn td{background:var(--tint-warn)}tr.findings-row td{padding:.25rem .75rem}tr.findings-row summary{cursor:pointer;padding:.1rem 0}.findings.compact{padding-top:.35rem;gap:.3rem}.findings.compact .finding{padding:.3rem .6rem;font-size:.85rem;background:#ffffffa6}h3.section{margin-top:2rem}a{color:var(--accent)}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.95em}.muted{color:var(--muted)}.small{font-size:.85em}.error{color:var(--fail)}.pass{color:var(--pass);font-weight:600}.fail{color:var(--fail);font-weight:600}.centered{display:flex;align-items:center;justify-content:center;min-height:100vh}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-4) var(--s-5);box-shadow:var(--shadow-1)}.cards{display:flex;flex-wrap:wrap;gap:1rem}.cards .card{min-width:200px}.cards h3{margin:0 0 .5rem;font-size:.95rem}.login{width:340px;display:flex;flex-direction:column;gap:.9rem}.login h1{font-size:1.3rem;margin:0 0 .5rem}.form{display:flex;flex-direction:column;gap:1rem;max-width:560px}.form.wide{max-width:none}.mode-row{display:flex;gap:1.75rem;flex-wrap:wrap}.mode-row .row{font-weight:600}.mode-hint{margin:-.5rem 0 0;min-height:2.2em}.runner-row{display:flex;gap:1.5rem;flex-wrap:wrap}.runner-list{display:flex;flex-direction:column;gap:.5rem}.runner-list .runner{align-items:baseline}.runner-desc{display:block}.jobs{display:flex;flex-direction:column;gap:.75rem}.job{display:flex;flex-direction:column;gap:.4rem;text-decoration:none;color:var(--text)}.job:hover{border-color:var(--accent)}.job-head{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap}.job-activity{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.flow{border:1px solid var(--border);border-radius:8px;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:1rem}.flow-steps{display:flex;gap:.75rem;flex-wrap:wrap}.flow-step{padding:.25rem .9rem;border-radius:999px;border:1px solid var(--border);color:var(--muted);font-size:.85rem;font-weight:600}.flow-step.active{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.flow-step.done{color:var(--pass);border-color:var(--pass)}.flow-actions{display:flex;gap:.75rem;flex-wrap:wrap}.findings{display:flex;flex-direction:column;gap:.5rem}.finding{display:flex;gap:.6rem;align-items:baseline;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.55rem .8rem}.finding .finding-body{flex:1;overflow-wrap:anywhere}.finding.is-ignored{opacity:.6}.livelog.small-log{max-height:12rem;font-size:.78rem}.schedule-fields{flex-wrap:wrap;align-items:flex-end}.schedule-fields select{min-width:9rem;max-width:100%}.livelog{background:#14181d;color:var(--border);border-radius:8px;padding:.9rem 1.1rem;font-size:.82rem;line-height:1.5;max-height:45vh;overflow:auto;white-space:pre-wrap;word-break:break-word}label{display:flex;flex-direction:column;gap:.3rem;font-weight:500}label.row{flex-direction:row;align-items:center;gap:.5rem;font-weight:400}.row.gap{display:flex;gap:1.5rem}input,select,textarea{padding:.5rem .65rem;border:1px solid var(--border-strong);border-radius:var(--r-sm);font:inherit;color:var(--text);background:var(--surface)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--focus)}input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:1rem;height:1rem;padding:0}fieldset{border:1px solid var(--border);border-radius:6px;display:flex;flex-direction:column;gap:.4rem}legend{font-weight:500;padding:0 .4rem}button{padding:.5rem 1rem;border:1px solid transparent;border-radius:var(--r-sm);background:var(--accent);color:var(--on-accent);font:inherit;font-weight:600;cursor:pointer;align-self:flex-start;transition:background .12s,border-color .12s,box-shadow .12s}button:hover:not(:disabled){background:var(--accent-strong)}button:focus-visible{outline:none;box-shadow:var(--focus)}button:disabled{opacity:.5;cursor:default}button.link{background:none;color:var(--accent);padding:0;font-weight:400;text-decoration:underline}.tabs{display:flex;gap:.5rem;margin-bottom:1rem}.tabs button{background:var(--surface);color:var(--muted);border:1px solid var(--border)}.tabs button.active{color:var(--accent);border-color:var(--accent)}table{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}th,td{text-align:left;padding:.55rem .8rem;border-bottom:1px solid var(--border)}th{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600;background:var(--surface-2)}tr:last-child td{border-bottom:none}.badge{display:inline-block;padding:.12rem .55rem;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:600;line-height:1.5;color:var(--surface);background:var(--muted);white-space:nowrap}.badge.pass{background:var(--pass)}.badge.fail{background:var(--fail)}.badge.running{background:var(--running)}.badge.mode-compare{background:#7048b6}.badge.mode-capture{background:#1971c2}.badge.mode-review{background:#5f6b7a}details{margin:.75rem 0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:.5rem 1rem}details summary{cursor:pointer;padding:.25rem 0}details table{border:none;margin-top:.5rem}iframe.report{width:100%;height:75vh;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.gallery{display:flex;flex-wrap:wrap;gap:1rem}.thumb{width:180px;text-decoration:none;color:var(--text)}.thumb img{width:100%;max-height:220px;object-fit:cover;object-position:top;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.thumb span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;margin-top:.75rem}.page-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}.page-card.card-fail{border-color:var(--fail)}.page-card.card-warn{border-color:var(--running)}.card-thumb{display:block;height:150px;overflow:hidden;background:var(--bg);border-bottom:1px solid var(--border)}.card-thumb img{width:100%;height:150px;object-fit:cover;object-position:top;display:block}.card-body{padding:10px 12px;display:flex;flex-direction:column;gap:6px}.card-head{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.card-head a{overflow-wrap:anywhere}.card-title{font-weight:600;font-size:.95rem;line-height:1.3}.card-meta{line-height:1.4}.card-tech,.tech-cloud,.filter-chips{display:flex;flex-wrap:wrap;gap:6px}.tech-cloud{padding-top:.75rem}.chip-tech{font-size:11.5px;font-family:ui-monospace,monospace;background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:1px 9px;color:var(--text)}.chip-tech.theme{border-style:dashed}.chip-tech.clickable{cursor:pointer}.chip-tech.clickable:hover,.chip-tech.active{border-color:var(--accent);color:var(--accent)}.card-errors{display:flex;gap:10px}.searchbar{display:flex;gap:12px;align-items:center;margin-top:1rem;flex-wrap:wrap}.searchbar input[type=search]{flex:1;min-width:240px}.explorer{display:flex;flex-direction:column;gap:.75rem}.explorer-summary{display:flex;flex-direction:column;gap:.5rem}.explorer-counts{font-size:.95rem}.explorer-toolbar{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.explorer-toolbar input[type=search]{flex:1;min-width:220px}.explorer-toolbar select{max-width:16rem}.explorer-toolbar label.row{gap:.3rem;white-space:nowrap}.chip-tech.sev-fail{border-color:var(--fail)}.chip-tech.sev-warn,.chip-tech.sev-error{border-color:var(--running)}.chip-tech.sev-fail.active{background:var(--tint-fail)}.chip-tech.sev-warn.active,.chip-tech.sev-error.active{background:var(--tint-warn)}.issues{display:flex;flex-direction:column;gap:.4rem}details.issue{margin:0;padding:.35rem .8rem;border-left:4px solid var(--border)}details.issue.sev-fail{border-left-color:var(--fail)}details.issue.sev-warn,details.issue.sev-error{border-left-color:var(--running)}details.issue.is-ignored{opacity:.55}details.issue>summary{display:flex;gap:.6rem;align-items:baseline;flex-wrap:wrap;list-style:none}details.issue>summary::-webkit-details-marker{display:none}details.issue>summary:before{content:"▸";color:var(--muted);font-size:.8em}details.issue[open]>summary:before{content:"▾"}.issue-sevs{display:inline-flex;gap:.3rem}.issue-msg{flex:1;min-width:12rem;overflow-wrap:anywhere}.issue-pages{white-space:nowrap}.issue-body{padding:.4rem 0 .3rem 1.1rem}.issue-actions{display:flex;gap:1rem;flex-wrap:wrap;margin:0 0 .4rem}.issue-pagelist{list-style:none;margin:0;padding:0;columns:3;column-gap:1.5rem;font-size:.85rem}.issue-pagelist li{break-inside:avoid;padding:.1rem 0;overflow-wrap:anywhere}.issue-pagelist li.is-ignored{opacity:.55}.issue-pagelist li button.link{margin-left:.4rem}.issue-pagelist li .badge{font-size:.7rem}@media(max-width:900px){.issue-pagelist{columns:1}}.chunk-more{margin:.5rem 0}.runner-strip{display:flex;gap:1.25rem;flex-wrap:wrap}code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.9em;background:var(--bg);padding:0 .3em;border-radius:4px}.overview{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem}.overview .stat{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.4rem .9rem;color:var(--text);font-weight:400;font-size:.9rem}.overview .stat strong{font-size:1.1rem;margin-right:.3rem}.overview button.stat{cursor:pointer}.overview button.stat:hover,.overview .stat.active{border-color:var(--accent)}.overview .stat.fail strong{color:var(--fail)}.overview .stat.warn strong{color:var(--running)}.overview .stat.pass strong{color:var(--pass)}.searchbar select{max-width:14rem}.page-table td{vertical-align:top}.page-table details{margin:.25rem 0 0;padding:0;border:none;background:none}.explorer-footnotes{display:flex;flex-direction:column;gap:.4rem;margin-top:.75rem}.explorer-footnotes details.issue>summary{display:block}details.issue.sev-preexisting{border-left-color:var(--border)}.baseline-sets{gap:.75rem}.baseline-table{margin-top:.25rem}.baseline-table td{vertical-align:top}.save-baseline{display:flex;flex-direction:column;gap:.4rem;padding:.6rem .8rem;background:var(--bg);border:1px solid var(--border);border-radius:8px}.compare-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1rem}.panel-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.9rem 1.1rem;display:flex;flex-direction:column;gap:.6rem}.panel-card h4{margin:0;font-size:.95rem}.panel-card p{margin:0}.panel-card.is-disabled{opacity:.6}details.plain{background:none;border:none;padding:0;margin:0}details.plain>summary{padding:0}.compare-head{margin:0;display:flex;gap:.6rem;align-items:baseline;flex-wrap:wrap}.project-card{cursor:pointer}.project-card:hover{border-color:var(--accent)}.overview a.stat{text-decoration:none}.overview a.stat:hover{border-color:var(--accent)}.site-icon{vertical-align:-3px;border-radius:3px;margin-right:.15rem}.project-card .card-thumb.is-empty{height:0;border:none}.run-summary{display:flex;flex-direction:column;gap:.6rem}.run-summary-head{display:flex;align-items:baseline;gap:.8rem;flex-wrap:wrap}.verdict-word{font-size:1.6rem;font-weight:800;letter-spacing:.04em}.verdict-word.pass,.verdict-word.warn{color:var(--pass)}.verdict-word.fail{color:var(--fail)}.verdict-word.error{color:var(--running)}.run-summary-device{margin:.25rem 0}.run-summary-table{width:auto;border:none;background:none}.run-summary-table td{padding:.2rem .6rem .2rem 0;border:none;vertical-align:baseline}.run-summary-label{font-weight:600;white-space:nowrap}.run-summary-line{overflow-wrap:anywhere}.device-list{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}.device-rows{width:100%;border-collapse:collapse;margin-top:.75rem;font-size:.92rem}.device-rows th{text-align:left;font-weight:600;color:var(--muted);padding:.25rem .5rem;border-bottom:1px solid var(--border)}.device-rows td{padding:.4rem .5rem;border-bottom:1px solid var(--border, var(--tint-info));vertical-align:middle}.device-rows button.small{padding:.2rem .6rem;font-size:.85rem}.device-tabs{margin-bottom:.5rem;align-items:center}.badge.mode-staging{background:var(--tint-warn);color:var(--warn-text);border:1px solid var(--warn-border)}.comparison-report .runner-pill{display:inline-block;margin:0 .5rem .25rem 0;padding:.1rem .5rem;border-radius:999px;background:var(--tint-info)}.comparison-report .runner-pill.fail{background:var(--tint-fail);color:var(--fail)}.comparison-report .runner-pill.warn{background:var(--tint-warn);color:var(--warn-text)}.comparison-report .runner-pill.error{background:var(--soft);color:var(--text)}.cause-group{border:1px solid var(--border);border-radius:8px;padding:.4rem .7rem;margin:.4rem 0;background:var(--surface)}.cause-group>summary{cursor:pointer}.page-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:.6rem 0}.page-chip{display:flex;flex-direction:column;align-items:stretch;gap:.2rem;width:150px;padding:.3rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);cursor:pointer;text-align:left;font:inherit;color:inherit}.page-chip.active{outline:2px solid var(--accent)}.page-chip img{width:100%;height:80px;object-fit:cover;object-position:top;border-radius:3px;background:var(--soft)}.page-chip .mono{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-chip .badge{align-self:flex-start}.page-detail{border-top:1px dashed var(--border);padding-top:.6rem;margin-top:.4rem}.compare-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-bottom:.5rem}.compare-strip a{display:flex;flex-direction:column;gap:.2rem}.compare-strip img{width:100%;max-height:420px;object-fit:cover;object-position:top;border:1px solid var(--border);border-radius:4px;background:var(--soft)}.changed-findings li.is-ignored{opacity:.55}.warn-fold{margin:.75rem 0;padding:.4rem .7rem;border:1px solid var(--border);border-radius:8px}.warn-fold>summary{cursor:pointer}.tech-changes{width:auto;border:none}.tech-changes td{padding:.2rem .8rem .2rem 0;border:none}.problem-group h4{margin:.6rem 0 .3rem}@media(max-width:720px){.compare-strip{grid-template-columns:1fr}}.fail-box{border:2px solid var(--fail);border-radius:10px;padding:.6rem .9rem .8rem;margin:.9rem 0;background:var(--tint-fail)}.fail-box.clean{border-color:var(--pass);background:var(--tint-pass)}.fail-box>h3{margin:.2rem 0 .4rem}.fail-box h4{margin:.7rem 0 .3rem}.issue>summary .issue-ignore-all{margin-left:.6rem}.issue-groups{display:flex;flex-direction:column;gap:.6rem;margin:.4rem 0}.issue-groups-controls{display:flex;gap:.4rem;justify-content:flex-end}details.runner-group>summary,details.type-group>summary{display:flex;gap:.6rem;align-items:baseline;flex-wrap:wrap;list-style:none}details.runner-group>summary::-webkit-details-marker,details.type-group>summary::-webkit-details-marker{display:none}details.runner-group>summary:before,details.type-group>summary:before{content:"▸";color:var(--muted);font-size:.8em}details.runner-group[open]>summary:before,details.type-group[open]>summary:before{content:"▾"}details.runner-group{margin:0;padding:.6rem 1rem;border-left:5px solid var(--border)}details.runner-group>summary .group-title{font-size:1.05rem}details.runner-group.sev-fail{border-left-color:var(--fail)}details.runner-group.sev-warn,details.runner-group.sev-error{border-left-color:var(--running)}.runner-group-body{display:flex;flex-direction:column;gap:.9rem;padding:.7rem 0 .2rem}.group-kinds{flex-basis:100%;padding-left:1.1rem}.type-group,details.type-group{margin:0;padding:0 0 0 .8rem;border:none;border-left:3px solid var(--border);border-radius:0;background:none}.type-group.sev-fail{border-left-color:var(--fail)}.type-group.sev-warn,.type-group.sev-error{border-left-color:var(--running)}.type-group-head{display:flex;gap:.6rem;align-items:baseline;flex-wrap:wrap;padding:.1rem 0}.type-group-body{padding-top:.2rem}details.type-group[open]>summary .group-preview{display:none}.group-preview{display:inline-flex;flex-wrap:wrap;gap:.3rem;align-items:baseline;flex-basis:100%;padding-left:1.1rem}.group-subject{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;padding:0 .35rem;border:1px solid var(--border);border-radius:4px;background:var(--surface);max-width:22rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.issue-row{padding:.55rem .2rem;border-top:1px solid var(--border)}.issue-row:first-child{border-top:none}.issue-row.is-ignored{opacity:.55}.issue-line{display:flex;gap:.55rem;align-items:baseline}.issue-line .issue-msg{flex:1;min-width:0;line-height:1.45;overflow-wrap:anywhere}.issue-where{display:flex;flex-wrap:wrap;gap:.25rem 1rem;align-items:baseline;margin-top:.25rem;line-height:1.5}.issue-where a{overflow-wrap:anywhere}.issue-row .issue-pagelist{margin-top:.4rem}.issues>.issue-row,.problem-group>.issue-row,.warn-fold>.issue-row,.explorer-footnotes .issue-row{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:6px;padding:.55rem .8rem;margin:.3rem 0}.issue-row.sev-fail{border-left-color:var(--fail)}.issues>.issue-row.sev-warn,.issues>.issue-row.sev-error,.problem-group>.issue-row.sev-warn,.warn-fold>.issue-row.sev-warn,.warn-fold>.issue-row.sev-error,.explorer-footnotes .issue-row.sev-warn{border-left-color:var(--running)}.type-group-body>.issue-row.sev-fail{border-left:none}.theme-toggle{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:.2rem .7rem;font-size:.85rem;cursor:pointer}.theme-toggle:hover{border-color:var(--accent)}.compare-cell{display:flex;flex-direction:column;gap:.2rem;padding:0;border:none;background:none;color:inherit;font:inherit;text-align:left;cursor:zoom-in}.compare-cell img{width:100%;max-height:420px;object-fit:cover;object-position:top;border:1px solid var(--border);border-radius:4px;background:var(--soft)}.lightbox{position:fixed;inset:0;z-index:1000;background:#080a0eeb;display:flex;flex-direction:column}.lightbox-bar{display:flex;align-items:center;gap:1rem;padding:.5rem 1rem;background:var(--surface);border-bottom:1px solid var(--border);color:var(--text)}.lightbox-title{font-family:ui-monospace,Menlo,monospace}.lightbox-tabs button{border:1px solid var(--border);background:var(--soft);color:var(--text);padding:.25rem .8rem;border-radius:999px;margin-right:.3rem;cursor:pointer;font:inherit}.lightbox-tabs button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.lightbox-close{border:none;background:none;color:var(--text);font-size:1.6rem;line-height:1;cursor:pointer;padding:0 .3rem}.lightbox-stage{flex:1;overflow:auto;display:flex;align-items:flex-start;justify-content:center;padding:1rem 3rem;position:relative}.lightbox-stage img{max-width:100%;height:auto;cursor:zoom-in;box-shadow:0 0 0 1px var(--border);background:#fff}.lightbox-stage.actual img{max-width:none;cursor:zoom-out}.lightbox-arrow{position:fixed;top:50%;transform:translateY(-50%);border:none;background:#ffffff1f;color:#fff;font-size:2.4rem;line-height:1;width:2.6rem;height:3.6rem;border-radius:6px;cursor:pointer}.lightbox-arrow.prev{left:.5rem}.lightbox-arrow.next{right:.5rem}.lightbox-note{padding:.4rem 1rem;background:var(--surface);border-top:1px solid var(--border)}.lightbox-figure{position:relative;max-width:100%}.lightbox-stage.actual .lightbox-figure{max-width:none}.lightbox-figure img{display:block}.lightbox-box{position:absolute;border:3px solid #e02020;background:#e0202014;pointer-events:none;box-sizing:border-box;min-width:6px;min-height:6px}.lightbox-box span{position:absolute;top:-1.4rem;left:-3px;background:#e02020;color:#fff;font:700 .75rem/1.2rem sans-serif;padding:0 .4rem;border-radius:3px}.page-shot{display:block;padding:0;margin:.35rem 0 .15rem;border:1px solid var(--border);border-radius:4px;background:var(--soft);color:inherit;cursor:zoom-in;max-width:100%}.page-shot img{display:block;width:320px;max-width:100%;height:120px;object-fit:cover;object-position:left top;border-radius:3px}.page-shot span{display:block;padding:.3rem .6rem}.page-shot .page-shot-zoom{width:320px;max-width:100%;height:140px;padding:0;background-repeat:no-repeat;background-color:#fff;border-radius:3px}.page-shot:hover{border-color:var(--accent)}.issue-detail{display:block;overflow-wrap:anywhere}.issue-pagelist li.has-shot{padding:.3rem 0}.run-summary-pages a{margin:0}.page-chip-foot{display:flex;justify-content:space-between;align-items:center}.page-detail-links{margin:0 0 .4rem}.export-menu{position:relative}.export-panel{position:absolute;right:0;top:calc(100% + 4px);z-index:50;min-width:460px;max-width:92vw;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0000002e;padding:.4rem .2rem}.export-row{display:flex;align-items:baseline;gap:.6rem;padding:.4rem .7rem;flex-wrap:wrap}.export-row .muted{flex:1 1 200px}.export-row a{padding:.1rem .5rem;border:1px solid var(--border);border-radius:999px;text-decoration:none}.export-row a:hover{border-color:var(--accent)}.diff-head{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.5rem}.diff-summary{margin:.4rem 0 .8rem}.diff-table{width:100%}.diff-table tr.muted td{opacity:.6}.diff-pages{list-style:none;padding:0;margin:.5rem 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:.25rem 1rem}.tab-count{display:inline-block;margin-left:.4rem;padding:0 .45rem;border-radius:999px;background:var(--tint-warn);color:var(--warn-text);font-size:.75rem}.chip-tech.fail{background:var(--tint-fail);color:var(--fail)}.redirect-table input{width:100%;max-width:420px;font-size:.85rem;padding:.25rem .4rem}.url-table td.cell-missing{background:var(--tint-fail)}.url-table .missing{color:var(--fail);font-weight:600}.rules-box{margin:.5rem 0 .8rem;padding:.5rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--soft)}.rules-text{width:100%;margin-top:.4rem;font-size:.82rem;white-space:pre;overflow:auto}.redirect-builder{margin-top:1.5rem;padding:.9rem 1rem;border:2px dashed var(--accent);border-radius:10px}.redirect-builder>h3{margin:0 0 .6rem}.builder-row{display:flex;gap:.8rem;align-items:flex-end;flex-wrap:wrap}.builder-col{flex:1 1 320px;display:flex;flex-direction:column;gap:.25rem}.builder-arrow{font-size:1.6rem;color:var(--muted);padding-bottom:.3rem}.picker{position:relative}.picker-field{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center;min-height:2.3rem;padding:.25rem .4rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);cursor:text}.picker.open .picker-field{border-color:var(--accent)}.picker-field input{flex:1 1 140px;min-width:120px;border:none;background:none;color:inherit;font:inherit;padding:.2rem;outline:none}.bubble{display:inline-flex;align-items:center;gap:.3rem;padding:.1rem .5rem;border-radius:999px;background:var(--tint-info);color:var(--accent);font-family:ui-monospace,Menlo,monospace;font-size:.82rem;margin:.1rem .2rem .1rem 0}.bubble button{border:none;background:none;color:inherit;cursor:pointer;font-size:1rem;line-height:1;padding:0}.bubble.static a{color:inherit;text-decoration:none}.picker-list{position:absolute;z-index:60;left:0;right:0;top:calc(100% + 2px);max-height:280px;overflow:auto;margin:0;padding:.2rem 0;list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 24px #0000002e}.picker-list li{padding:.3rem .6rem;cursor:pointer}.picker-list li.hi{background:var(--tint-info)}.rules-table td,.reconcile-table td{vertical-align:top}.reconcile-table tr.state-unmapped td.cell-missing{background:var(--tint-fail)}.reconcile-table tr.state-same,.reconcile-table tr.state-new{opacity:.75}.decision{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.decision .picker{flex:1 1 260px}.decision .picker-field{min-height:1.9rem;padding:.1rem .3rem}.bulk-bar{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;padding:.5rem .7rem;margin:.3rem 0 .6rem;border:1px solid var(--accent);border-radius:8px;background:var(--tint-info)}.layout main:has(.collection-diff.wide){max-width:1280px}.url-reconcile{overflow-x:auto}.reconcile-table{table-layout:fixed;min-width:900px}.reconcile-table th,.reconcile-table td{padding:.35rem .5rem}.reconcile-table th:nth-child(1){width:1.8rem}.reconcile-table th:nth-child(2){width:30%}.reconcile-table th:nth-child(3),.reconcile-table th:nth-child(4){width:4.5rem}.reconcile-table td.path-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reconcile-table td:nth-child(3),.reconcile-table td:nth-child(4){white-space:nowrap}.decision{display:flex;flex-direction:column;gap:.15rem}.decision-main{display:flex;align-items:center;gap:.5rem}.decision-main .picker{flex:1 1 auto;min-width:0}.decision-main .picker-field{min-height:1.8rem;padding:.05rem .3rem}.decision-links{display:flex;gap:.7rem;flex-wrap:wrap}.decision-links button{padding:0}.reconcile-table tr.state-same td,.reconcile-table tr.state-new td{padding-top:.25rem;padding-bottom:.25rem}.decision{align-items:stretch}.decision-main .picker,.decision-main .picker-field,.decision-main .picker-field input{width:100%}.recon-section{border:1px solid var(--border);border-radius:8px;margin:.6rem 0;background:var(--surface)}.recon-section>summary{padding:.55rem .8rem;cursor:pointer;list-style:revert}.recon-title{font-weight:600;font-size:1.02rem}.badge.count{background:var(--soft);color:var(--text);margin-left:.3rem}.recon-body{padding:.2rem .8rem .7rem}.recon-toolbar{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;padding:.3rem 0 .5rem}.recon-list{list-style:none;margin:0;padding:0}.recon-row{display:flex;align-items:center;gap:.7rem;padding:.35rem 0;border-top:1px solid var(--border)}.recon-list.plain .recon-row{padding:.25rem 0}.recon-path{flex:0 1 34%;min-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recon-dest{flex:1 1 320px;min-width:240px}.recon-dest .picker-field{min-height:1.8rem;padding:.05rem .3rem}.recon-dest .picker-field input{width:100%}.recon-actions{flex:0 0 auto;display:flex;gap:.6rem;align-items:center;white-space:nowrap}.recon-actions button{padding:0}@media(max-width:900px){.recon-row{flex-wrap:wrap}.recon-path{flex-basis:100%}}.retention fieldset{border:1px solid var(--border);border-radius:8px;padding:.6rem .9rem .8rem;margin:.9rem 0}.retention legend{padding:0 .3rem;font-weight:600}.retention-rows{display:grid;gap:.2rem}.retention-row{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:1rem;align-items:center;padding:.55rem 0;border-top:1px solid var(--border)}.retention-row:first-child{border-top:0}.retention-row>p{grid-column:1 / -1;margin:.15rem 0 0}.retention-row.off strong{color:var(--muted)}.retention-days{display:flex;flex-direction:row;align-items:center;gap:.4rem;white-space:nowrap;font-weight:400}.retention-days input,.retention input.narrow{width:5.5rem}.retention-preview{margin-top:.8rem}.retention-preview td:not(:first-child),.retention-preview th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.retention-preview tr.total td{font-weight:600;border-top:2px solid var(--border)}.disk{display:grid;gap:.3rem;margin:.8rem 0}.disk-bar{height:10px;border-radius:5px;background:var(--soft);overflow:hidden}.disk-bar>span{display:block;height:100%;border-radius:5px}.disk-bar>.ok{background:var(--pass)}.disk-bar>.high{background:var(--warn-text)}.disk-bar>.full{background:var(--fail)}@media(max-width:560px){.retention-row{grid-template-columns:1fr;row-gap:.4rem}}.retention .row.gap{flex-wrap:wrap;gap:.75rem}.nav-menu{position:relative}.nav-trigger{background:none;border:0;border-radius:0;padding:.2rem 0;font:inherit;color:var(--muted);cursor:pointer}.nav-trigger:hover{color:var(--text)}.nav-trigger.active{color:var(--accent);border-bottom:2px solid var(--accent)}.nav-panel{position:absolute;left:0;top:calc(100% + 8px);z-index:60;width:340px;max-width:92vw;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0000002e;padding:.3rem;display:flex;flex-direction:column}.topbar nav .nav-panel a.nav-item{display:flex;flex-direction:column;gap:2px;padding:.5rem .6rem;border-radius:6px;border-bottom:0;color:var(--text)}.topbar nav .nav-panel a.nav-item:hover{background:var(--soft, #eef1f5)}.topbar nav .nav-panel a.nav-item.active strong{color:var(--accent)}.topbar nav .nav-panel a.nav-all{border-top:1px solid var(--border);border-radius:0 0 6px 6px;color:var(--accent)}a.tool-card{color:inherit;text-decoration:none}a.tool-card:hover{border-color:var(--accent)}.site-input{position:relative}.site-input input{width:100%}.site-suggestions{position:absolute;left:0;right:0;top:calc(100% + 2px);z-index:40;list-style:none;margin:0;padding:.25rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000026;font-weight:400}.site-suggestions li{display:flex;align-items:baseline;gap:.6rem;padding:.4rem .5rem;border-radius:6px;cursor:pointer}.site-suggestions li.active{background:var(--soft, #eef1f5)}.site-suggestions .site-url{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-suggestions .forget{padding:0 .3rem}.tool-head{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.5rem}.spell-table td{vertical-align:top}.spell-table tr.is-ignored td{opacity:.5}.spell-page{width:24%;min-width:170px;overflow-wrap:anywhere}.spell-context mark{background:var(--tint-warn, #fdf0c8);color:inherit;font-weight:600;padding:0 2px;border-radius:3px}@media(max-width:760px){.spell-table{display:block;overflow-x:auto}}.past-runs{margin-top:1.5rem}table.clickable-rows tbody tr{cursor:pointer}table.clickable-rows tbody tr:hover td,table.clickable-rows tbody tr:focus td{background:var(--tint-info)}table.clickable-rows tbody tr:focus{outline:2px solid var(--accent);outline-offset:-2px}.explorer-ignored{margin-top:1.5rem;padding:.6rem .9rem;border:1px dashed var(--border);border-radius:8px;background:var(--soft)}.explorer-ignored>summary{cursor:pointer}.explorer-ignored[open]>summary{margin-bottom:.6rem}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);font-size:var(--fs-md);line-height:1.5;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{line-height:1.25;letter-spacing:-.01em}h1{font-size:var(--fs-2xl);margin:0 0 var(--s-2)}h2{font-size:var(--fs-xl)}h3{font-size:var(--fs-lg)}a{color:var(--accent);text-underline-offset:2px}a:focus-visible{outline:none;box-shadow:var(--focus);border-radius:4px}code,.mono{font-family:var(--mono)}.spacer{flex:1}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip-link{position:absolute;left:-999px;top:8px;z-index:100;background:var(--surface);padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);box-shadow:var(--shadow-2)}.skip-link:focus{left:8px}button.secondary,.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border-strong)}button.secondary:hover:not(:disabled),.btn-secondary:hover{background:var(--soft)}button.ghost{background:transparent;color:var(--text-2);border:1px solid transparent;padding:.4rem .6rem}button.ghost:hover:not(:disabled){background:var(--soft)}button.danger{background:var(--fail)}button.small,.btn-small{padding:.3rem .65rem;font-size:var(--fs-sm)}a.button{display:inline-flex;align-items:center;gap:var(--s-2);padding:.5rem 1rem;border-radius:var(--r-sm);background:var(--accent);color:var(--on-accent);font-weight:600;text-decoration:none;border:1px solid transparent}a.button:hover{background:var(--accent-strong)}a.button.secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}a.button.secondary:hover{background:var(--soft)}.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.1rem .55rem;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:600;background:var(--soft);color:var(--text-2);border:1px solid var(--border);white-space:nowrap}.chip.is-main{background:var(--accent-soft);color:var(--accent-strong);border-color:var(--info-border)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--faint);flex:none}.dot.pass{background:var(--pass)}.dot.fail{background:var(--fail)}.dot.error{background:var(--running-fill)}.dot.running{background:var(--accent);animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{50%{opacity:.35}}.empty{text-align:center;padding:var(--s-7) var(--s-5);color:var(--muted);border:1px dashed var(--border-strong);border-radius:var(--r-lg);background:var(--surface-2)}.empty h3{color:var(--text);margin:0 0 var(--s-2)}.banner{display:flex;gap:var(--s-3);align-items:center;padding:var(--s-3) var(--s-4);border-radius:var(--r-md);border:1px solid var(--info-border);background:var(--tint-info)}.banner.warn{border-color:var(--warn-border);background:var(--tint-warn);color:var(--warn-text)}.banner.fail{border-color:var(--fail-border);background:var(--tint-fail)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh}.shell-main{display:flex;flex-direction:column;min-width:0}.content{width:100%;max-width:var(--content-max);margin:0 auto;padding:var(--s-5) var(--s-6) var(--s-8);outline:none}.brand{display:flex;align-items:center;gap:10px;padding:4px 8px;color:var(--text);text-decoration:none;font-weight:700;font-size:1rem;letter-spacing:-.01em}.brand-mark{display:block;flex:none;object-fit:contain}.splash{display:grid;place-items:center;min-height:100vh}.splash .brand-mark{animation:pulse 1.2s ease-in-out infinite}.login-screen{display:grid;place-items:center;min-height:100vh;padding:var(--s-5);background:radial-gradient(1200px 600px at 20% -10%,var(--accent-soft),transparent 60%),var(--bg)}.login-screen .login{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-6);box-shadow:var(--shadow-2);width:min(380px,100%)}.login-screen .login button{align-self:stretch}.login-title{display:flex;align-items:center;gap:10px}.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;z-index:30;display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-4) var(--s-3);background:var(--sidebar);border-right:1px solid var(--border)}.side-new{justify-content:center}.side-search{position:relative;display:flex;flex-direction:row;align-items:center;gap:0;font-weight:400}.side-search .icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--faint);pointer-events:none}.side-search input{width:100%;padding-left:32px;padding-right:40px;background:var(--surface)}.side-kbd{position:absolute;right:8px;top:50%;transform:translateY(-50%);font:600 10px/1 var(--font);color:var(--faint);border:1px solid var(--border);border-radius:4px;padding:3px 4px}.side-nav{display:flex;flex-direction:column;gap:2px}.side-heading{margin:var(--s-4) 8px var(--s-1);font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--faint)}.side-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.side-item{display:flex;align-items:center;gap:10px;min-height:34px;padding:6px 8px;border-radius:8px;color:var(--text-2);text-decoration:none;font-size:var(--fs-sm);font-weight:500}.side-item:hover{background:var(--soft);color:var(--text)}.side-item.is-active,.side-item.active{background:var(--accent-soft);color:var(--accent-strong)}.side-item:focus-visible{outline:none;box-shadow:var(--focus)}.side-icon{display:inline-grid;place-items:center;width:18px;height:18px;flex:none;color:var(--muted)}.side-icon .site-icon{border-radius:4px}.side-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-note{margin:4px 8px;font-size:var(--fs-sm);color:var(--muted)}.topbar{position:sticky;top:0;z-index:20;height:var(--topbar-h);display:flex;align-items:center;gap:var(--s-3);padding:0 var(--s-5);background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(8px);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--border)}.topbar-menu{display:none}.topbar-context{display:flex;align-items:center;gap:var(--s-2);min-width:0;flex:1}.topbar-project{font-weight:700;color:var(--text);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:26ch}.topbar-project:hover{color:var(--accent)}.topbar-nav{display:flex;align-items:center;gap:2px}.topbar-nav a{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:8px;color:var(--text-2);text-decoration:none;font-size:var(--fs-sm);font-weight:500}.topbar-nav a:hover{background:var(--soft);color:var(--text)}.topbar-nav a.active{color:var(--accent-strong);background:var(--accent-soft)}.count-badge{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:var(--on-accent);font-size:11px;font-weight:700;display:inline-grid;place-items:center}.menu{position:relative}.menu-panel{position:absolute;top:calc(100% + 6px);z-index:50;min-width:280px;max-width:min(420px,92vw);background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-pop);padding:6px}.menu-panel.align-end{right:0}.menu-panel.align-start{left:0}.menu-heading{margin:6px 10px;font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--faint)}.menu-note{margin:-2px 10px 8px}.menu-item,.env-option,.env-add{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:8px;background:transparent;color:var(--text);border:none;font-weight:500;text-align:left}.menu-item:hover,.env-option:hover,.env-add:hover{background:var(--soft)}.env-option.is-current{background:var(--accent-soft)}.env-option-text{display:flex;flex-direction:column;flex:1;min-width:0}.env-option-label{display:flex;align-items:center;gap:6px;font-weight:600}.env-option-host{font-size:var(--fs-xs);color:var(--muted);font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.env-add{color:var(--accent-strong);border-top:1px solid var(--border);border-radius:0 0 8px 8px;margin-top:4px;padding-top:10px}.env-trigger{display:inline-flex;align-items:center;gap:8px;max-width:46ch;padding:6px 10px;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:999px;font-weight:600}.env-trigger:hover:not(:disabled){background:var(--soft)}.env-trigger .icon:first-child{color:var(--accent)}.env-trigger-host{color:var(--muted);font-weight:400;font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar{width:34px;height:34px;padding:0;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--text-2);border:1px solid var(--border);font-size:var(--fs-sm);font-weight:700}.avatar:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-strong)}.user-menu-panel{min-width:220px}.page{display:flex;flex-direction:column;gap:var(--s-5)}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap}.page-head h1{margin:0;font-size:var(--fs-3xl)}.page-head p{margin:var(--s-1) 0 0}.eyebrow{margin:0 0 2px;font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-strong)}.toolbar{display:flex;gap:var(--s-3);align-items:center;flex-wrap:wrap}.search-field{position:relative;flex:1;min-width:220px;max-width:460px;font-weight:400;flex-direction:row}.search-field .icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--faint);pointer-events:none}.search-field input{width:100%;padding-left:36px}.inline-select{flex-direction:row;align-items:center;gap:var(--s-2);font-weight:500;color:var(--muted);font-size:var(--fs-sm)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-5);box-shadow:var(--shadow-1)}.panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-4)}.panel-head h2{margin:0;font-size:var(--fs-lg)}.crumbs{margin-bottom:var(--s-3)}.crumbs a{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);font-weight:600;text-decoration:none}@media(max-width:1100px){:root{--sidebar-w: 220px}.content{padding:var(--s-5) var(--s-5) var(--s-7)}.env-trigger-host{display:none}}@media(max-width:860px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;left:0;top:0;bottom:0;width:min(300px,86vw);transform:translate(-100%);transition:transform .18s ease;box-shadow:var(--shadow-pop)}.shell.nav-open .sidebar{transform:none}.scrim{position:fixed;inset:0;z-index:25;background:#0f121666}.topbar-menu{display:inline-grid}.topbar{padding:0 var(--s-3)}.topbar-nav a span:not(.count-badge){display:none}.content{padding:var(--s-4) var(--s-4) var(--s-7)}.page-head h1{font-size:var(--fs-2xl)}}@media(max-width:520px){.topbar-project{display:none}}fieldset.access-gate{border:0;padding:0;margin:0;min-width:0}.settings-form>fieldset.access-gate{display:flex;flex-direction:column;gap:var(--s-4)}fieldset.access-gate:not(.settings-form>*){display:block}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:var(--s-5)}.project-card{position:relative;display:flex;flex-direction:column;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1);transition:box-shadow .15s,transform .15s,border-color .15s}.project-card:hover{box-shadow:var(--shadow-2);transform:translateY(-2px);border-color:var(--border-strong)}.project-card:focus-within{box-shadow:var(--focus),var(--shadow-2)}.project-card.is-loading{min-height:290px;background:linear-gradient(100deg,var(--surface) 30%,var(--soft) 50%,var(--surface) 70%);background-size:300% 100%;animation:shimmer 1.4s linear infinite}@keyframes shimmer{to{background-position:-300% 0}}.project-card .thumb-frame{border-bottom:1px solid var(--border)}.project-card-body{display:flex;flex-direction:column;gap:6px;padding:var(--s-3) var(--s-4) var(--s-4)}.project-card-title{display:flex;align-items:center;gap:8px;margin:0;font-size:var(--fs-lg)}.project-card-title a{color:var(--text);text-decoration:none}.project-card-title a:focus-visible{box-shadow:none}.stretched:after{content:"";position:absolute;inset:0;z-index:1}.project-card-host{margin:0;font-size:var(--fs-sm);color:var(--muted)}.env-chips{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 2px;padding:0}.project-card-status{display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px;margin:4px 0 0;font-size:var(--fs-sm);font-weight:600}.project-card-status>span{white-space:nowrap}.project-card-status.status-fail{color:var(--fail)}.project-card-status.status-pass{color:var(--pass)}.project-card-status.status-error,.project-card-status.status-warn{color:var(--running)}.thumb-frame{aspect-ratio:16 / 10;background:var(--soft);overflow:hidden;display:grid;place-items:center;color:var(--faint)}.thumb-frame img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}.thumb-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:var(--fs-sm);color:var(--muted)}.home-integrations{margin-bottom:var(--s-5)}.home-integrations .section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-2)}.home-integrations .section-head h2{margin:0;font-size:var(--fs-lg)}.int-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--s-3)}.int-card{position:relative;display:flex;flex-direction:column;gap:2px;padding:var(--s-3) var(--s-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1);transition:box-shadow .15s,border-color .15s}.int-card:hover{box-shadow:var(--shadow-2);border-color:var(--border-strong)}.int-card:focus-within{box-shadow:var(--focus),var(--shadow-2)}.int-card h3{margin:0 0 var(--s-1);font-size:var(--fs-md)}.int-card h3 a{color:inherit;text-decoration:none}.int-card p{margin:0}.env-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap}.env-head h1{display:flex;align-items:baseline;gap:var(--s-3);flex-wrap:wrap;margin:0;font-size:var(--fs-3xl)}.env-head-site{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-md);font-weight:500;color:var(--muted);text-decoration:none}.env-head-site:hover{color:var(--accent)}.env-head-meta{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;margin:var(--s-1) 0 0;color:var(--muted);font-size:var(--fs-sm)}.env-head-actions{display:flex;gap:var(--s-2);flex-wrap:wrap;align-items:center}.dashboard .run-summary{border:none;padding:0;background:none}.page.narrow{max-width:820px;margin:0 auto;width:100%}.back-link{display:inline-flex;align-items:center;gap:6px;margin-bottom:var(--s-2);font-size:var(--fs-sm);font-weight:600;text-decoration:none}.form-panel{display:flex;flex-direction:column;gap:var(--s-5)}.form-section{display:flex;flex-direction:column;gap:var(--s-3)}.form-section+.form-section{border-top:1px solid var(--border);padding-top:var(--s-5)}.form-section h2{margin:0;font-size:var(--fs-lg)}.form-section>p{margin:-4px 0 0}.form-foot{display:flex;flex-direction:column;gap:var(--s-3);border-top:1px solid var(--border);padding-top:var(--s-5)}.form-foot p{margin:0}.field{display:flex;flex-direction:column;gap:6px;font-weight:400}.field-label{font-size:var(--fs-sm);font-weight:600;color:var(--text-2)}.field input[aria-invalid=true]{border-color:var(--fail)}.field-error{font-size:var(--fs-sm);color:var(--fail)}.env-row{display:grid;grid-template-columns:minmax(130px,200px) minmax(0,1fr) auto;gap:var(--s-3);align-items:start}.env-row-remove{margin-top:26px}@media(max-width:640px){.env-row{grid-template-columns:minmax(0,1fr) auto}.env-row-url{grid-column:1 / -1;grid-row:2}.env-row-remove{grid-column:2;grid-row:1}}.first-checks{display:grid;gap:var(--s-4)}.first-check{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-4) var(--s-5);box-shadow:var(--shadow-1);display:flex;flex-direction:column;gap:var(--s-2)}.first-check header{display:flex;align-items:baseline;gap:var(--s-3);flex-wrap:wrap}.first-check h3{margin:0;display:flex;align-items:center;gap:8px}.first-check-sizes{display:flex;gap:6px;margin:0}.first-check-state{display:flex;align-items:center;gap:8px;margin:0;font-weight:600}.first-check-state.verdict-pass{color:var(--pass)}.first-check-state.verdict-fail{color:var(--fail)}.first-check-state.verdict-error{color:var(--running)}.first-check-activity{margin:0;font-size:var(--fs-xs);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.first-check.is-done{border-color:var(--pass-border)}.progress-indeterminate{position:relative;height:4px;border-radius:2px;background:var(--soft);overflow:hidden}.progress-indeterminate:after{content:"";position:absolute;inset:0;width:35%;border-radius:2px;background:var(--accent);animation:slide 1.4s ease-in-out infinite}@keyframes slide{0%{transform:translate(-100%)}to{transform:translate(290%)}}.dialog{border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-5);width:min(640px,94vw);background:var(--surface);color:var(--text);box-shadow:var(--shadow-pop)}.dialog::backdrop{background:#0f121673}.dialog form{display:flex;flex-direction:column;gap:var(--s-4)}.dialog h2{margin:0;font-size:var(--fs-xl)}.dialog p{margin:-6px 0 0}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--s-2)}.settings-page{max-width:980px}.settings-form{display:flex;flex-direction:column;gap:var(--s-4)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:var(--s-3) var(--s-4)}.check-row{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-5)}.check-option{display:flex;flex-direction:row;align-items:flex-start;gap:10px;font-weight:400}.check-option input{flex:none;margin-top:3px}.check-option>span{min-width:0}.check-help{display:block;font-size:var(--fs-sm);color:var(--muted)}.inline-form{display:flex;gap:var(--s-2);flex-wrap:wrap}.inline-form input{flex:1;min-width:220px;max-width:420px}.tabs-bar{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--border)}.tabs-bar button{background:none;color:var(--text-2);border:none;border-bottom:2px solid transparent;border-radius:0;padding:8px 12px;font-weight:600}.tabs-bar button:hover:not(:disabled){background:var(--soft)}.tabs-bar button.is-on{color:var(--accent-strong);border-bottom-color:var(--accent)}.env-admin{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.env-admin li{display:grid;grid-template-columns:minmax(180px,260px) 1fr auto;gap:var(--s-3);align-items:center;padding:var(--s-3) 0;border-top:1px solid var(--border)}.env-admin li .banner{grid-column:1 / -1;margin:0}.env-admin-name{display:flex;gap:6px}.env-admin-name input{width:100%}.env-admin-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}@media(max-width:720px){.env-admin li{grid-template-columns:1fr}.env-admin-actions{justify-content:flex-start}}.danger-zone{border-color:var(--fail-border)}.ignored-group{margin:0}.ignored-group summary{display:flex;gap:8px;align-items:baseline}.ignored-group summary .link{margin-left:auto}.ignored-group ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:var(--fs-sm)}.ignored-group code{word-break:break-all}.ghost-link{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:8px;color:var(--muted)}.ghost-link:hover{background:var(--soft);color:var(--text)}.env-head-summary{margin:var(--s-2) 0 0;font-size:var(--fs-lg);font-weight:600;color:var(--text)}.ov-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(290px,100%),1fr));gap:var(--s-4)}.ov-card{position:relative;display:flex;flex-direction:column;gap:6px;min-height:196px;padding:var(--s-4) var(--s-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1);transition:box-shadow .15s,transform .15s,border-color .15s}.ov-card:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:0 3px 3px 0;background:transparent}.ov-card.state-fail:before{background:var(--fail)}.ov-card.state-warn:before{background:var(--running-fill)}.ov-card.state-error:before{background:var(--running-fill)}.ov-card.state-pass:before{background:var(--pass)}.ov-card:hover{box-shadow:var(--shadow-2);transform:translateY(-1px);border-color:var(--border-strong)}.ov-card:focus-within{box-shadow:var(--focus),var(--shadow-2)}.ov-card.is-loading{background:linear-gradient(100deg,var(--surface) 30%,var(--soft) 50%,var(--surface) 70%);background-size:300% 100%;animation:shimmer 1.4s linear infinite}.ov-wide{grid-column:1 / -1}.ov-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2)}.ov-card-head h3{margin:0;font-size:var(--fs-md);font-weight:650}.ov-card-head h3 a{color:var(--text);text-decoration:none}.ov-card-head h3 a:focus-visible{box-shadow:none}.ov-headline{margin:4px 0 0;font-size:var(--fs-2xl);font-weight:700;letter-spacing:-.02em;line-height:1.15;font-variant-numeric:tabular-nums}.ov-card.state-fail .ov-headline{color:var(--fail)}.ov-card.state-pass .ov-headline{color:var(--pass)}.ov-card.state-never .ov-headline{color:var(--muted);font-size:var(--fs-xl)}.ov-sub{margin:0;color:var(--muted);font-size:var(--fs-sm)}.ov-top{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:3px;font-size:var(--fs-sm)}.ov-top li{display:flex;align-items:center;gap:6px;min-width:0}.ov-top-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-2)}.ov-top li>.muted{flex:none;white-space:nowrap}.dot.warn{background:var(--running-fill)}.card-foot{margin:auto 0 0;padding-top:var(--s-2);display:flex;align-items:center;gap:6px;font-size:var(--fs-xs);color:var(--faint)}.card-foot.is-stale{color:var(--running)}.ov-sizes{list-style:none;margin:4px 0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:var(--fs-sm)}.ov-sizes li{display:grid;grid-template-columns:16px 70px 1fr;gap:6px;align-items:center}.ov-sizes li.has .icon{color:var(--pass)}.ov-none{color:var(--faint);text-align:center}.verdict-pass{color:var(--pass)}.verdict-fail{color:var(--fail)}.verdict-error{color:var(--running)}.ov-mosaic{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:4px}.ov-mosaic figure{margin:0;min-width:0}.ov-mosaic .thumb-frame{border-radius:6px;border:1px solid var(--border)}.ov-mosaic figcaption{font-size:var(--fs-xs);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.ov-tech-theme{font-size:var(--fs-xl)}.ov-chips{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.state-tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:650;white-space:nowrap;border:1px solid transparent}.state-tag.state-fail{background:var(--tint-fail);color:var(--fail);border-color:var(--fail-border)}.state-tag.state-warn{background:var(--tint-warn);color:var(--warn-text);border-color:var(--warn-border)}.state-tag.state-error{background:var(--tint-warn);color:var(--running);border-color:var(--warn-border)}.state-tag.state-pass{background:var(--tint-pass);color:var(--pass);border-color:var(--pass-border)}.state-tag.state-never{background:var(--soft);color:var(--muted);border-color:var(--border)}.status-nav{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-bottom:calc(-1 * var(--s-2))}.status-nav a{padding:5px 10px;border-radius:var(--r-pill);font-size:var(--fs-sm);color:var(--text-2);text-decoration:none;border:1px solid transparent}.status-nav a:hover{background:var(--soft)}.status-nav a.active{background:var(--accent-soft);color:var(--accent-strong);border-color:var(--info-border);font-weight:600}.status-nav-back{display:inline-flex;align-items:center;gap:4px;font-weight:600;margin-right:var(--s-2)}.status-head h1{font-size:var(--fs-3xl)}.status-basis{margin:var(--s-2) 0 0;color:var(--muted)}.seg{display:inline-flex;border:1px solid var(--border-strong);border-radius:var(--r-sm);overflow:hidden;background:var(--surface)}.seg button{border:none;border-radius:0;background:transparent;color:var(--text-2);padding:6px 12px;font-weight:600}.seg button+button{border-left:1px solid var(--border-strong)}.seg button.is-on{background:var(--accent-soft);color:var(--accent-strong)}.seg button:hover:not(.is-on){background:var(--soft)}.page-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));gap:var(--s-4)}.gallery-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-1)}.gallery-shot{display:block;padding:0;border:none;border-radius:0;background:none;border-bottom:1px solid var(--border);cursor:zoom-in;align-self:stretch}.gallery-shot:hover:not(:disabled){background:none}.gallery-shot:disabled{cursor:default;opacity:1}.gallery-body{padding:var(--s-2) var(--s-3) var(--s-3);display:flex;flex-direction:column;gap:2px;min-width:0}.gallery-path{font-weight:600;font-size:var(--fs-sm);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gallery-title{margin:0;font-size:var(--fs-sm);color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gallery-meta{margin:4px 0 0;display:flex;flex-wrap:wrap;gap:4px;align-items:center}.tech-blurb{margin:-8px 0 var(--s-3)}.tech-table td .chip{margin-left:8px}.tech-cover{min-width:160px}.tech-cover-in{display:flex;align-items:center;gap:8px}.cover-bar{flex:1;max-width:140px;height:6px;background:var(--soft);border-radius:3px;overflow:hidden}.cover-bar span{display:block;height:100%;background:var(--accent);border-radius:3px}.digest{display:flex;flex-direction:column;gap:var(--s-3)}.digest-strip{margin:0;font-size:var(--fs-lg);font-weight:650}.digest-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:var(--s-5)}.digest-breakdown h3{margin:0 0 var(--s-2);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.digest-breakdown ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.digest-breakdown li{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.digest-key{font-weight:600}.digest-pages{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:4px;font-size:var(--fs-sm)}.seo-rules tr.is-fail td:first-child{color:var(--fail);font-weight:600}.section-title{margin:var(--s-4) 0 0;font-size:var(--fs-xl)}.tool-grid-wrap{display:flex;flex-direction:column;gap:var(--s-3)}.tool-group-title{margin:var(--s-2) 0 0;font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--faint)}.tool-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:var(--s-3)}.tool-card{position:relative;padding:var(--s-3) var(--s-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);transition:border-color .15s,box-shadow .15s}.tool-card:hover{border-color:var(--accent);box-shadow:var(--shadow-1)}.tool-card:focus-within{box-shadow:var(--focus)}.tool-card.group-full{background:linear-gradient(180deg,var(--accent-soft),var(--surface) 70%)}.tool-card h4{margin:0 0 4px;font-size:var(--fs-md)}.tool-card h4 a{color:var(--text);text-decoration:none}.tool-card h4 a:focus-visible{box-shadow:none}.tool-card p{margin:0;font-size:var(--fs-sm);color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tool-page{max-width:1100px}.tool-desc{max-width:75ch}.tool-form{gap:var(--s-5)}.form-actions{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap}.field-group{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--s-2)}.field-group legend{font-size:var(--fs-sm);font-weight:600;color:var(--text-2);padding:0;margin-bottom:var(--s-2)}.field-help{margin:0;font-size:var(--fs-sm);color:var(--muted)}.size-options{display:grid;grid-template-columns:repeat(3,minmax(0,160px));gap:var(--s-2)}@media(max-width:520px){.size-options{grid-template-columns:1fr}}.size-option{flex-direction:row;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center;padding:10px 12px;border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);cursor:pointer;font-weight:400}.size-option input{grid-row:1 / 3}.size-option.is-on{border-color:var(--accent);background:var(--accent-soft)}.size-option.is-disabled{opacity:.55;cursor:not-allowed}.size-label{font-weight:600}.size-hint{font-size:var(--fs-xs);color:var(--muted)}.page-picker{position:relative}.picker-box{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:44px;padding:6px 8px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);cursor:text}.picker-box:focus-within{border-color:var(--accent);box-shadow:var(--focus)}.picker-box input{flex:1;min-width:220px;border:none;padding:4px;box-shadow:none!important;background:transparent}.picker-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 4px 2px 9px;border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent-strong);font-size:var(--fs-sm);font-weight:600;max-width:100%}.picker-chip.is-new{background:var(--soft);color:var(--text-2);border:1px dashed var(--border-strong)}.picker-chip-x{display:inline-grid;place-items:center;width:20px;height:20px;padding:0;border-radius:50%;background:transparent;color:inherit;border:none}.picker-chip-x:hover:not(:disabled){background:color-mix(in srgb,currentColor 15%,transparent)}.picker-list{position:absolute;z-index:40;left:0;right:0;top:calc(100% - 22px);max-height:320px;overflow-y:auto;list-style:none;margin:0;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-pop)}.picker-list li{display:flex;flex-direction:column;padding:6px 10px;border-radius:6px;cursor:pointer}.picker-list li.is-active{background:var(--accent-soft)}.picker-path{font-weight:600;font-size:var(--fs-sm);word-break:break-all}.picker-title{font-size:var(--fs-xs);color:var(--muted)}.picker-problems{margin:0;padding-left:1.2rem;color:var(--fail);font-size:var(--fs-sm)}.advanced{margin:0;padding:0;background:none;border:1px solid var(--border);border-radius:var(--r-md)}.advanced>summary{padding:10px 14px;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.advanced-title{font-weight:600}.advanced[open]>summary{border-bottom:1px solid var(--border)}.advanced .field-group{padding:12px 14px}.check-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:8px 16px}.run-progress{display:flex;flex-direction:column;gap:var(--s-2)}.run-progress-actions{margin:var(--s-2) 0 0;color:var(--muted)}.run-head{display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);flex-wrap:wrap}.run-head-what{margin:0;color:var(--text-2)}.run-head-actions{display:flex;align-items:center;gap:var(--s-2)}.table-wrap{overflow-x:auto}.history-table td,.history-table th{white-space:nowrap}.spelling-result{display:flex;flex-direction:column;gap:var(--s-3)}.spell-frequent{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0}.chip-btn{padding:3px 10px;border-radius:var(--r-pill);background:var(--soft);color:var(--text);border:1px solid var(--border);font-weight:600;font-size:var(--fs-sm)}.chip-btn:hover:not(:disabled){background:var(--accent-soft)}.chip-btn.is-on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.spell-table tr.is-ignored td{opacity:.55}.spell-context mark{background:var(--tint-warn);color:inherit;font-weight:700;padding:0 2px;border-radius:3px}.export-list{list-style:none;margin:var(--s-3) 0 0;padding:0;display:flex;flex-direction:column}.export-list li{display:flex;justify-content:space-between;align-items:center;gap:var(--s-4);padding:var(--s-3) 0;border-top:1px solid var(--border);flex-wrap:wrap}.export-list p{margin:2px 0 0}.export-links{display:flex;gap:var(--s-2);flex-wrap:wrap}.page-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-2)}.page-row{margin:0;padding:0;border-radius:var(--r-md)}.page-row.has-fails{border-left:3px solid var(--fail)}.page-row.has-warns{border-left:3px solid var(--running-fill)}.page-row>summary{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:var(--s-3);align-items:center;padding:8px 12px}.page-row-shot .thumb-frame{border-radius:6px;border:1px solid var(--border)}.page-row-text{display:flex;flex-direction:column;min-width:0}.page-row-path{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-row-title{font-size:var(--fs-sm);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-row-tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.page-row-body{padding:0 12px 12px;border-top:1px solid var(--border)}@media(max-width:640px){.page-row>summary{grid-template-columns:64px minmax(0,1fr)}.page-row-tags{grid-column:1 / -1;justify-content:flex-start}}.ba-step{display:flex;flex-direction:column;gap:var(--s-4)}.ba-step.is-locked{opacity:.7}.ba-step-head{display:flex;gap:var(--s-3);align-items:flex-start}.ba-step-head h2{margin:0;font-size:var(--fs-xl)}.ba-step-head p{margin:4px 0 0}.ba-num{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--accent);color:var(--on-accent);font-weight:700}.ba-table{max-width:560px}.ba-targets{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:var(--s-2)}.ba-target{flex-direction:row;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:var(--r-md);font-weight:400;cursor:pointer}.ba-target.is-on{border-color:var(--accent);background:var(--accent-soft)}.ba-target input{margin-top:3px}.ba-target .chip{margin-left:6px}.ba-set{align-self:flex-start}.ba-confirm{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap}.ba-done h2{margin:0 0 var(--s-2)}.ba-promote{padding:var(--s-3) var(--s-4)}.host-tool{display:flex;flex-direction:column;gap:2px}.tool-card .tool-card-button,.tool-card .tool-card-button:hover:not(:disabled),.tool-card .tool-card-button:focus-visible,.tool-card .tool-card-button:disabled{padding:0;border:0;border-radius:0;background:none;box-shadow:none;outline:none;color:var(--text);font:inherit;font-weight:inherit;text-align:left;cursor:pointer;opacity:1}.tool-card .tool-card-button:disabled{cursor:progress;color:var(--muted)}.tool-via{margin-top:auto;padding-top:var(--s-2);font-size:var(--fs-xs);color:var(--faint)}.tool-card-actions{position:relative;z-index:2;display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);margin-top:var(--s-2)}.tool-card-actions .tool-via{margin:0 0 0 auto;padding:0}.tool-group-via{font-weight:600;text-transform:none;letter-spacing:0}.actions-running{display:flex;flex-direction:column;gap:2px}.icon-btn{display:inline-grid;place-items:center;width:32px;height:32px;padding:0;background:transparent;color:var(--text-2);border:1px solid transparent;border-radius:var(--r-sm);font-size:1.1rem;line-height:1}.icon-btn:hover:not(:disabled){background:var(--soft);color:var(--text)}.sev-dot{display:inline-block;flex:none;width:10px;height:10px;border-radius:50%;background:var(--running-fill)}.sev-dot.sev-fail{background:var(--fail)}.sev-dot.sev-error{background:var(--faint)}.size-chip{display:inline-block;padding:0 6px;border-radius:var(--r-pill);background:var(--soft);border:1px solid var(--border);color:var(--text-2);font-size:var(--fs-xs);font-weight:600;line-height:1.6}.fact-list{display:grid;grid-template-columns:minmax(110px,max-content) 1fr;gap:4px var(--s-3);margin:0;font-size:var(--fs-sm)}.fact-list .fact{display:contents}.fact-list dt{color:var(--muted);font-weight:600}.fact-list dd{margin:0;min-width:0;overflow-wrap:anywhere}.fact-list.is-compact{gap:2px var(--s-2)}.fact-code{margin:0;padding:var(--s-2);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);font-family:var(--mono);font-size:var(--fs-xs);white-space:pre-wrap;overflow-wrap:anywhere;max-height:16em;overflow:auto}.fact-url{font-family:var(--mono);font-size:var(--fs-xs);overflow-wrap:anywhere}.fact-items{margin:0;padding-left:1.1em}@media(max-width:520px){.fact-list{grid-template-columns:1fr}.fact-list dt{margin-top:4px}}.problem-list{display:flex;flex-direction:column;gap:var(--s-4);margin-top:var(--s-4)}.problem-toolbar{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-3);align-items:center}.problem-toolbar .seg button{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm)}.problem-toolbar-end{margin-left:auto;display:inline-flex;gap:6px;align-items:center}.problem-group{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--running-fill);border-radius:var(--r-md);box-shadow:var(--shadow-1);overflow:hidden}.problem-group.sev-fail{border-left-color:var(--fail)}.problem-group.sev-error{border-left-color:var(--faint)}.problem-group-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-3);padding:var(--s-3) var(--s-4) 0}.problem-group-head h3{margin:0;font-size:var(--fs-lg)}.problem-group-counts{display:inline-flex;gap:6px}.problem-group-help{margin:var(--s-1) var(--s-4) 0;color:var(--text-2);font-size:var(--fs-sm);max-width:80ch}.problem-rows{display:flex;flex-direction:column;margin-top:var(--s-3);border-top:1px solid var(--border)}.problem-rows .chunk-more{margin:var(--s-2) var(--s-4)}.problem{border-bottom:1px solid var(--border)}.problem:last-child{border-bottom:none}.problem-head{display:grid;grid-template-columns:16px 10px minmax(0,1fr) auto;align-items:center;gap:var(--s-3);width:100%;padding:var(--s-3) var(--s-4);background:transparent;color:var(--text);border:none;border-radius:0;text-align:left;font-weight:400}.problem-head:hover:not(:disabled){background:var(--surface-2)}.problem-chev{color:var(--faint);transition:transform .12s}[aria-expanded=true]>.problem-chev,.problem.is-open .problem-chev{transform:rotate(90deg);color:var(--text-2)}.problem-text{display:flex;flex-direction:column;min-width:0}.problem-subject{font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.problem-msg{color:var(--text-2);font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.problem-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px var(--s-2);font-size:var(--fs-sm);color:var(--text-2);white-space:nowrap}.problem-has{padding:0 6px;border-radius:var(--r-pill);background:var(--tint-info);color:var(--accent-strong);font-size:var(--fs-xs);font-weight:600}.problem.is-open{background:var(--surface-2)}.problem.is-open .problem-msg{white-space:normal}@media(max-width:640px){.problem-head{grid-template-columns:16px 10px minmax(0,1fr)}.problem-meta{grid-column:3;justify-content:flex-start}}.problem-detail{display:flex;flex-direction:column;gap:var(--s-4);padding:0 var(--s-4) var(--s-4) calc(var(--s-4) + 16px + 10px + 2 * var(--s-3))}@media(max-width:640px){.problem-detail{padding-left:var(--s-4)}}.pd-section h4{margin:0 0 var(--s-2);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.pd-message{margin:0;overflow-wrap:anywhere}.pd-help{margin:var(--s-2) 0 0;padding:var(--s-2) var(--s-3);background:var(--tint-info);border:1px solid var(--info-border);border-radius:var(--r-sm);font-size:var(--fs-sm);color:var(--text-2)}.pd-help strong{color:var(--text);margin-right:4px}.pd-variants{margin-top:var(--s-1)}.pd-variants ul{margin:4px 0 0;padding-left:1.2em}.pd-pages{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-2)}.pd-page{padding:var(--s-2) var(--s-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);display:flex;flex-direction:column;gap:6px}.pd-page-head{display:flex;flex-wrap:wrap;align-items:center;gap:4px var(--s-2)}.pd-page-path{font-weight:600;font-family:var(--mono);font-size:var(--fs-sm);overflow-wrap:anywhere;text-align:left}button.pd-page-path{text-decoration:none}button.pd-page-path:hover{text-decoration:underline}.pd-page-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:40ch}.pd-sizes{display:inline-flex;gap:4px}.pd-live{display:inline-flex;align-items:center;gap:2px}.pd-page-detail{margin:0;color:var(--text-2);overflow-wrap:anywhere}.pd-page .page-shot{margin:0}.pd-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-3)}.pd-actions .button,.pd-actions button{display:inline-flex;align-items:center;gap:6px}.pd-actions .button.small{padding:.3rem .65rem;font-size:var(--fs-sm)}.problem-ignored{margin:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-3) var(--s-4)}.problem-ignored>summary{cursor:pointer}.problem-ignored .problem-rows{margin-top:var(--s-3)}.spell-row{cursor:pointer}.spell-row.is-open td{background:var(--surface-2)}.spell-toggle{width:36px;padding-right:0}.spell-toggle .icon-btn{width:28px;height:28px}.spell-detail-row td{background:var(--surface-2);padding-top:0}.spell-detail{display:flex;flex-direction:column;gap:var(--s-2);padding-bottom:var(--s-2)}.spell-detail-actions{margin:0;display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-3);align-items:center}.sb-filters{padding:var(--s-3) var(--s-4);margin:var(--s-3) 0 var(--s-4)}.sb-filters>summary{cursor:pointer}.sb-facets{display:flex;flex-direction:column;gap:var(--s-2);margin-top:var(--s-3)}.sb-facet{display:grid;grid-template-columns:130px 1fr;gap:var(--s-2);align-items:start}.sb-facet-title{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding-top:6px}.sb-facet-items{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.sb-facet-items .chip-btn{font-weight:550}.sb-facet-items .chip-btn .muted{font-weight:400;margin-left:2px}@media(max-width:640px){.sb-facet{grid-template-columns:1fr;gap:4px}}.gallery-body button.gallery-path{text-align:left;text-decoration:none;color:var(--accent);max-width:100%}.gallery-body button.gallery-path:hover{text-decoration:underline}.gallery-live{margin-left:auto;color:var(--muted);display:inline-flex}.gallery-shot{cursor:pointer}dialog.inspector{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:none;background:var(--bg);color:var(--text);display:grid;grid-template-columns:minmax(320px,400px) minmax(0,1fr);overflow:hidden}dialog.inspector:not([open]){display:none}dialog.inspector::backdrop{background:#10182880}.insp-side{display:flex;flex-direction:column;min-height:0;background:var(--surface);border-right:1px solid var(--border);padding-top:env(safe-area-inset-top,0px)}.insp-head{display:flex;align-items:flex-start;gap:var(--s-2);padding:var(--s-4) var(--s-4) var(--s-2)}.insp-title{flex:1;min-width:0}.insp-title h2{margin:0;font-size:var(--fs-lg);font-family:var(--mono);overflow-wrap:anywhere}.insp-title p{margin:2px 0 0}.insp-nav{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);padding:0 var(--s-4) var(--s-2)}.insp-nav .button{display:inline-flex;align-items:center;gap:6px}.insp-step{display:inline-flex;align-items:center;gap:4px;margin-left:auto}.insp-sizes{margin:0 var(--s-4) var(--s-2);align-self:flex-start}.insp-scroll{flex:1;min-height:0;overflow:auto;padding:0 var(--s-4) var(--s-5);border-top:1px solid var(--border)}.insp-section,.insp-ignored,.pd-variants,.sb-filters details{margin:0;background:none;border:none;border-radius:0;padding:0}.insp-section{border-bottom:1px solid var(--border);padding:var(--s-3) 0}.insp-section>summary{cursor:pointer;list-style:none;display:flex;align-items:center}.insp-section>summary::-webkit-details-marker{display:none}.insp-section>summary:after{content:"▸";margin-left:auto;color:var(--faint)}.insp-section[open]>summary:after{content:"▾"}.insp-section h3{margin:0;font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--text-2)}.insp-section>:not(summary){margin-top:var(--s-2)}.insp-problems{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.insp-problem{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface)}.insp-problem.is-selected{border-color:var(--accent);box-shadow:var(--focus)}.insp-problem-head{display:flex;gap:var(--s-2);align-items:flex-start;width:100%;padding:var(--s-2);background:transparent;color:var(--text);border:none;text-align:left;font-weight:400}.insp-problem-head:hover:not(:disabled){background:var(--surface-2)}.insp-problem-head .sev-dot{margin:5px 4px 0}.insp-num{flex:none;display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:var(--r-pill);background:var(--running-fill);color:#fff;font-size:var(--fs-xs);font-weight:700}.insp-problem.sev-fail .insp-num{background:var(--fail)}.insp-problem-text{display:flex;flex-direction:column;min-width:0}.insp-problem-type{font-weight:650;font-size:var(--fs-sm)}.insp-problem-msg{color:var(--text-2);font-size:var(--fs-sm);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.insp-problem-body{padding:0 var(--s-2) var(--s-2);display:flex;flex-direction:column;gap:var(--s-2)}.insp-problem-body p{margin:0}.insp-problem-actions{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-3)}.insp-ignored{margin-top:var(--s-2)}.insp-facts{display:grid;grid-template-columns:max-content 1fr;gap:6px var(--s-3);margin:0;font-size:var(--fs-sm)}.insp-facts>div{display:contents}.insp-facts dt{color:var(--muted);font-weight:600}.insp-facts dd{margin:0;min-width:0;overflow-wrap:anywhere}.insp-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}.insp-chips li{padding:1px 8px;border-radius:var(--r-pill);background:var(--soft);border:1px solid var(--border);font-size:var(--fs-xs)}.insp-list{margin:0;padding-left:1.1em;font-size:var(--fs-sm);display:flex;flex-direction:column;gap:4px}.insp-viewer{display:flex;flex-direction:column;min-width:0;min-height:0}.insp-zoom{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-4);background:var(--surface);border-bottom:1px solid var(--border);padding-top:max(var(--s-2),env(safe-area-inset-top,0px))}.insp-zoom .icon-btn{border-color:var(--border-strong);font-weight:700}.insp-zoom .is-on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.insp-zoom-pct{min-width:4ch;text-align:center;font-variant-numeric:tabular-nums;font-weight:600}.insp-size{margin-left:auto}.insp-stage{flex:1;min-height:0;overflow:auto;padding:var(--s-5);background:repeating-conic-gradient(var(--soft) 0 25%,var(--bg) 0 50%) 0 0 / 24px 24px;outline:none}.insp-stage:focus-visible{box-shadow:inset var(--focus)}.insp-figure{position:relative;margin:0 auto;box-shadow:var(--shadow-2);background:#fff}.insp-figure img{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none}.insp-box{position:absolute;padding:0;border:2px solid var(--running-fill);border-radius:3px;background:color-mix(in srgb,var(--running-fill) 12%,transparent);box-shadow:0 0 0 1px #fffc;cursor:pointer}.insp-box.sev-fail{border-color:var(--fail);background:color-mix(in srgb,var(--fail) 10%,transparent)}.insp-box:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 14%,transparent)}.insp-box.is-selected{border-color:var(--accent);border-width:3px;background:color-mix(in srgb,var(--accent) 16%,transparent);z-index:2}.insp-box span{position:absolute;top:-11px;left:-11px;min-width:20px;height:20px;padding:0 5px;border-radius:var(--r-pill);background:inherit;background-color:var(--running-fill);color:#fff;font-size:12px;font-weight:700;line-height:20px;text-align:center;box-shadow:0 0 0 2px #fff}.insp-box.sev-fail span{background-color:var(--fail)}.insp-box.is-selected span{background-color:var(--accent)}.insp-noimage{display:grid;place-items:center;gap:var(--s-2);height:100%;color:var(--muted);text-align:center}.insp-note{margin:0;padding:var(--s-2) var(--s-4);background:var(--tint-warn);border-top:1px solid var(--warn-border);color:var(--warn-text)}@media(max-width:860px){dialog.inspector{grid-template-columns:1fr;grid-template-rows:minmax(0,46dvh) minmax(0,1fr)}.insp-side{border-right:none;border-bottom:1px solid var(--border)}.insp-stage{padding:var(--s-3)}.insp-size{display:none}}.problem-table{display:flex;flex-direction:column;gap:var(--s-3)}.problem-table .digest-strip,.problem-table .empty{margin:0}.pt{border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;background:var(--surface)}.pt-head,.pt-row{display:grid;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3)}.pt-head{background:var(--surface-2);border-bottom:1px solid var(--border);font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.pt-group{border-bottom:1px solid var(--border);border-left:4px solid transparent}.pt-group:last-child{border-bottom:none}.pt-group.sev-fail{border-left-color:var(--fail)}.pt-group.sev-warn{border-left-color:var(--running-fill)}.pt-group.sev-error{border-left-color:var(--faint)}.pt-row{width:100%;background:transparent;color:var(--text);border:none;border-radius:0;text-align:left;font-weight:400;padding-left:calc(var(--s-3) - 4px)}.pt-row:hover:not(:disabled){background:var(--surface-2)}.pt-row:disabled{opacity:1;cursor:default}.pt-label{display:flex;flex-direction:column;min-width:0}.pt-label strong{overflow-wrap:anywhere}.pt-label .muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pt-cell{min-width:0;font-size:var(--fs-sm)}.pt-tags{display:inline-flex;flex-wrap:wrap;gap:4px}.pt-group.is-open>.pt-row{background:var(--surface-2)}.pt-body{padding:0 var(--s-3) var(--s-3) calc(var(--s-3) + 20px + var(--s-3));background:var(--surface-2);display:flex;flex-direction:column;gap:var(--s-2)}.pt-body .problem-rows{margin-top:0;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);overflow:hidden}.pt-body .pd-help{margin:0}.pt-page-actions{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-3)}.problem-type{display:inline-block;margin-right:6px;padding:0 6px;border-radius:var(--r-sm);background:var(--soft);border:1px solid var(--border);color:var(--text-2);font-size:var(--fs-xs);font-weight:600;vertical-align:1px}@media(max-width:720px){.pt-head{display:none}.pt-row{grid-template-columns:20px minmax(0,1fr)!important;row-gap:4px}.pt-cell{grid-column:2}.pt-cell[data-title]:before{content:attr(data-title) ": ";color:var(--muted);font-size:var(--fs-xs)}.pt-body{padding-left:var(--s-3)}}.tech-row{cursor:pointer}.tech-row.is-open td{background:var(--surface-2)}.tech-pages ul{margin:0 0 var(--s-2);padding-left:1.1em;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:2px var(--s-4)}.tech-pages li{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tech-pages p{margin:0;display:flex;gap:var(--s-3);flex-wrap:wrap}.pt-lone .problem-detail{padding:0}.pd-page-head>button.link.small:last-child{margin-left:auto}.pd-infra{margin:0;padding-left:1.1em;display:flex;flex-direction:column;gap:4px;overflow-wrap:anywhere}.block{display:block}.warn-text{color:var(--warn-text)}.conn-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-3)}.conn-row{display:grid;grid-template-columns:minmax(200px,1.4fr) minmax(180px,1.4fr) minmax(160px,1fr) auto;align-items:center;gap:var(--s-3) var(--s-4);padding:var(--s-4) var(--s-5)}.conn-main{display:flex;flex-direction:column;gap:2px;min-width:0}.conn-name{font-weight:650;font-size:var(--fs-md);color:var(--text);text-decoration:none}.conn-name:hover{color:var(--accent-strong)}.conn-state{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}.conn-actions{display:flex;gap:var(--s-2);justify-content:flex-end}.conn-actions .icon,.env-head-actions .icon{vertical-align:-2px}.conn-note{grid-column:1 / -1;margin:0}@media(max-width:860px){.conn-row{grid-template-columns:1fr}.conn-actions{justify-content:flex-start}}.provider-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:var(--s-4)}.provider-card{width:100%;height:100%;display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-2);text-align:left;padding:var(--s-4) var(--s-5);background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1)}.provider-card:hover:not(:disabled){background:var(--surface);border-color:var(--accent);box-shadow:var(--shadow-2)}.provider-card strong{font-size:var(--fs-lg)}.provider-roles{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.integration-form{max-width:640px}.integration-form .banner .icon{flex:none;color:var(--pass)}.sites-toolbar{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:center;justify-content:space-between;margin-bottom:var(--s-4)}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.sites-table{width:100%;border-collapse:collapse}.sites-table th,.sites-table td{text-align:left;padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--border);vertical-align:top}.sites-table thead th{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}.sites-table .group-row th{padding-top:var(--s-4);font-size:var(--fs-sm);color:var(--text-2);border-bottom:1px solid var(--border-strong)}.site-name{font-weight:600;margin-right:6px}.site-url{display:block;color:var(--muted);text-decoration:none;overflow-wrap:anywhere}.site-url:hover{color:var(--accent-strong)}.env-chip{font-size:var(--fs-xs)}.site-row.is-missing td{opacity:.7}.site-actions{white-space:nowrap;text-align:right}.site-actions .icon{vertical-align:-2px}.link-picker{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-end;white-space:normal}.link-picker select{max-width:280px}.jobs-table .job-row{cursor:pointer}.jobs-table .job-row:hover td{background:var(--soft)}.jobs-table .dot{margin-right:4px}.job-detail td{background:var(--surface-2);white-space:normal}.job-log{margin:0;max-height:320px;overflow:auto;padding:var(--s-3);background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);font-family:var(--mono);font-size:var(--fs-xs);line-height:1.5;white-space:pre-wrap}.ssh-key{margin:0;padding:var(--s-3);background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);font-family:var(--mono);font-size:var(--fs-xs);white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.ssh-key-row{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:center;margin-top:var(--s-2)}.ssh-key-item+.ssh-key-item{margin-top:var(--s-4)}.ssh-key-item h3{margin:0 0 var(--s-1);font-size:var(--fs-sm)}.ssh-key-item p{margin:0 0 var(--s-2)}.facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(180px,100%),1fr));gap:var(--s-3) var(--s-5);margin:0}.facts div{display:flex;flex-direction:column;gap:2px}.facts dt{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}.facts dd{margin:0;font-size:var(--fs-md)}.wp-table tr.has-update td{background:var(--tint-warn)}.warn-chip{margin-left:6px;background:var(--tint-fail);color:var(--fail);border-color:var(--fail-border)}.event-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:var(--fs-sm)}.event-list li{display:grid;grid-template-columns:130px 1fr;gap:var(--s-3)}.event-list time{color:var(--muted)}.plain-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.plain-list .chip{margin-left:6px}.updates-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.updates-list>li{padding:var(--s-3) 0;border-top:1px solid var(--border)}.updates-list>li:first-child{border-top:none}.updates-list .update-items{margin:4px 0 0;font-size:var(--fs-sm);color:var(--text-2)}.host-tags{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px;position:relative;z-index:1}.host-tag{font-size:var(--fs-xs);background:var(--accent-soft);color:var(--accent-strong);border-color:var(--info-border)}.provider-card.is-static{cursor:default}.provider-card.is-static:hover{border-color:var(--border);box-shadow:var(--shadow-1)}.provider-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);width:100%;margin-top:var(--s-2)}a.button.small{padding:.3rem .65rem;font-size:var(--fs-sm)}.action-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-2) var(--s-4);padding:var(--s-2) 0}.action-row+.action-row{border-top:1px solid var(--border)}.action-buttons{display:flex;flex-wrap:wrap;gap:var(--s-2)}.action-running{display:flex;align-items:center;gap:var(--s-2);margin:0 0 var(--s-2)}.domain-txt{margin:2px 0 0;overflow-wrap:anywhere}.chip.is-warn{background:var(--tint-warn);color:var(--warn-text);border-color:var(--warn-border)}.int-overview,.int-tools{display:flex;flex-direction:column;gap:var(--s-4)}.int-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--s-3)}.int-tile{display:flex;flex-direction:column;gap:2px;padding:var(--s-3) var(--s-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text);text-align:left;font:inherit}button.int-tile,button.int-tile:hover:not(:disabled),button.int-tile:focus-visible{cursor:pointer;background:var(--surface);color:var(--text);font-weight:inherit;padding:var(--s-3) var(--s-4);border:1px solid var(--border);border-radius:var(--r-md);align-self:stretch}button.int-tile:hover:not(:disabled){border-color:var(--accent)}button.int-tile:focus-visible{box-shadow:var(--focus)}.int-tile-value{font-size:var(--fs-xl);font-weight:700;font-variant-numeric:tabular-nums}.int-tile-label{font-size:var(--fs-sm);color:var(--text-2)}.int-tile.is-pass .int-tile-value{color:var(--pass)}.int-tile.is-warn .int-tile-value{color:var(--warn-text)}.int-tile.is-info .int-tile-value{color:var(--accent-strong)}.int-versions-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--s-4)}.int-versions h3{margin:0 0 var(--s-2);font-size:var(--fs-sm)}.int-versions li{display:grid;grid-template-columns:5em 1fr 2.5em;align-items:center;gap:var(--s-2)}.int-bar{height:6px;border-radius:3px;background:linear-gradient(to right,var(--accent) var(--w),var(--border) var(--w))}.int-tools .search-field{max-width:320px;margin-bottom:var(--s-2)}.login-button{display:inline-flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.fail-text{color:var(--fail)}.facts dd{overflow-wrap:anywhere;min-width:0}.domain-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.domain-list>li{padding:var(--s-2) 0}.domain-list>li+li{border-top:1px solid var(--border)}.domain-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2)}.domain-name{font-weight:600;overflow-wrap:anywhere}.domain-actions{display:flex;flex-wrap:wrap;gap:var(--s-1);margin-left:auto}.domain-note{margin:4px 0 0;overflow-wrap:anywhere}.row-actions{display:flex;flex-wrap:wrap;gap:var(--s-1);justify-content:flex-end}.plugin-system summary{cursor:pointer;padding:var(--s-2) 0;color:var(--muted);font-size:var(--fs-sm)}.row-actions-cell{text-align:right;white-space:nowrap}.dns-setup{margin:var(--s-2) 0 0;padding:var(--s-2) var(--s-3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2)}.dns-setup.is-pending{border-color:var(--warn-border);background:var(--tint-warn)}.dns-setup p{margin:0}.dns-setup-title{font-weight:600}.dns-table{width:100%;border-collapse:collapse;margin:var(--s-2) 0}.dns-table th{text-align:left;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:2px var(--s-2) 4px 0}.dns-table td{padding:4px var(--s-2) 4px 0;vertical-align:middle;border-top:1px solid var(--border)}.dns-table td:first-child{white-space:nowrap;width:1%}.copyable{display:inline-flex;align-items:center;gap:var(--s-1);max-width:100%}.copyable-value{font-family:var(--mono);font-size:var(--fs-sm);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:1px 6px;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.copy-btn{flex:none}.dns-done{margin:var(--s-2) 0 0}.dns-done summary{cursor:pointer}.dns-ok{color:var(--pass);font-weight:600}.dns-done.is-finishing .dns-ok{color:var(--pass)}.dns-done[open] .dns-setup{margin-top:var(--s-1)}.wp-address .button,.wp-address button{margin-top:var(--s-2)}.action-result{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3);margin:0}.action-result span{overflow-wrap:anywhere}.banner.pass{border-color:var(--pass-border, var(--border));background:var(--tint-pass);color:var(--pass)}.email-state{margin:0 0 var(--s-1);font-weight:600}.email-state.is-pass{color:var(--pass)}.email-state.is-fail{color:var(--fail)}.email-state.is-pending{color:var(--warn-text)}.action-result{flex-wrap:wrap}.action-result-text{flex:1 1 60%;overflow-wrap:anywhere}.action-result-log{flex:1 0 100%}.log-toggle{padding:0 var(--s-1);font-size:var(--fs-xs);vertical-align:baseline}.job-log{margin:var(--s-1) 0 var(--s-2)}.job-log pre{margin:0;max-height:280px;overflow:auto;padding:var(--s-2) var(--s-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);font-size:var(--fs-xs);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text)}.panel-buttons{display:flex;gap:var(--s-2);flex-wrap:wrap;justify-content:flex-end}.dns-changes caption{text-align:left;caption-side:top;padding-bottom:var(--s-1)}.dns-changes td{overflow-wrap:anywhere}.dns-changes td:first-child{width:auto}.dns-changes tr.is-undone td{color:var(--muted)}.zone-search{display:flex;gap:var(--s-2)}.zone-search input{flex:1;min-width:0}.zone-list{max-height:15rem;overflow-y:auto;border:1px solid var(--border);border-radius:var(--r-sm);display:flex;flex-direction:column}.zone-option{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:6px var(--s-2);border-top:1px solid var(--border);font-weight:400;cursor:pointer}.zone-option:first-child{border-top:none}.zone-option.is-on{background:var(--soft)}.zone-option input{flex:none}.zone-text{display:flex;flex-direction:column;min-width:0;flex:1 1 10rem}.zone-option .chip{flex:none}.zone-name{overflow-wrap:anywhere}.zone-list>p{margin:var(--s-2)}.perf-sev{display:inline-block;padding:1px 8px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:600;border:1px solid var(--border);background:var(--soft);color:var(--text);white-space:nowrap}.perf-sev.sev-high{background:var(--tint-fail);border-color:var(--fail-border);color:var(--fail)}.perf-sev.sev-medium{background:var(--tint-warn);border-color:var(--warn-border);color:var(--warn-text)}.perf-sev.sev-info{color:var(--muted)}.perf-findings,.perf-saves,.perf-owners,.perf-bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-2)}.perf-finding{border:1px solid var(--border);border-left:4px solid var(--faint);border-radius:var(--r-sm);padding:var(--s-2) var(--s-3)}.perf-finding.sev-high{border-left-color:var(--fail)}.perf-finding.sev-medium{border-left-color:var(--running-fill)}.perf-finding summary{display:flex;align-items:baseline;gap:var(--s-2);cursor:pointer;flex-wrap:wrap}.perf-finding-title{font-weight:600;flex:1 1 16rem;min-width:0;overflow-wrap:anywhere}.perf-finding p{margin:var(--s-2) 0 0;overflow-wrap:anywhere}.perf-fix{color:var(--muted)}.perf-save{border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--s-2) var(--s-3)}.perf-save.is-stopped{border-left:4px solid var(--fail)}.perf-save summary{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-3);cursor:pointer}.perf-save-what{flex:1 1 14rem;min-width:0;overflow-wrap:anywhere}.perf-save-time{font-weight:600}.perf-save details>:not(summary){margin-top:var(--s-2)}.perf-meter{display:inline-block;position:relative;height:8px;flex:0 1 10rem;min-width:4rem;border-radius:var(--r-pill);background:var(--soft);overflow:hidden}.perf-meter>span{position:absolute;inset:0 auto 0 0;background:var(--accent);border-radius:var(--r-pill)}.perf-meter>span.is-hot{background:var(--fail)}.perf-bars li{display:grid;grid-template-columns:minmax(7rem,14rem) 1fr 4.5rem;align-items:center;gap:var(--s-3)}.perf-bars .perf-meter{flex:none;width:100%}.perf-bar-label{overflow-wrap:anywhere}.perf-bar-value{text-align:right}.perf-list{margin:var(--s-2) 0 0;padding-left:1.2rem}.perf-list li{overflow-wrap:anywhere}.perf-owners summary{cursor:pointer}@media(max-width:560px){.perf-bars li{grid-template-columns:1fr 4rem}.perf-bars .perf-meter{grid-column:1 / -1;grid-row:2}}.chip.is-fail{background:var(--tint-fail);color:var(--fail);border-color:var(--fail-border)}.nowrap{white-space:nowrap}.perf-meter-wide{flex:none;width:100%}.logs-chart{margin:var(--s-3) 0}.logs-chart-scroll{overflow-x:auto;padding-bottom:var(--s-1)}.logs-bars{display:grid;grid-template-columns:repeat(var(--hours),minmax(6px,1fr));gap:2px;height:120px;min-width:calc(var(--hours) * 8px);align-items:end}.logs-hour{display:flex;flex-direction:column;align-items:center;height:100%;gap:3px}.logs-stack{flex:1;width:100%;display:flex;flex-direction:column-reverse;justify-content:flex-start;background:var(--soft);border-radius:2px;overflow:hidden}.logs-seg{display:block;width:100%}.logs-seg.is-gateway,.logs-key.is-gateway{background:var(--fail)}.logs-seg.is-server,.logs-key.is-server{background:var(--running-fill)}.logs-seg.is-gaveup,.logs-key.is-gaveup{background:var(--faint)}.logs-dot{width:6px;height:6px;border-radius:50%;background:var(--muted);flex:none}.logs-dot.is-fatal{background:var(--fail)}.logs-axis{display:flex;justify-content:space-between;min-width:calc(var(--hours, 0) * 8px)}.logs-legend{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-1) var(--s-2);color:var(--muted);margin:var(--s-1) 0 0}.logs-key{display:inline-block;width:10px;height:10px;border-radius:2px}.logs-block{margin-top:var(--s-4)}.logs-block>summary{cursor:pointer;display:flex;align-items:baseline;gap:var(--s-2);flex-wrap:wrap}.logs-block>summary h3{display:inline;margin:0;font-size:var(--fs-lg)}.logs-block>:not(summary){margin-top:var(--s-3)}.logs-filters{display:flex;flex-direction:column;gap:var(--s-2)}.logs-filters .chip-row{display:flex;flex-wrap:wrap;gap:var(--s-1)}.logs-search{max-width:28rem;width:100%}.logs-addr{overflow-wrap:anywhere;min-width:12rem}.logs-ua{max-width:16rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logs-php-link{display:block;text-align:left;overflow-wrap:anywhere}.logs-sample{margin-top:var(--s-2)}.logs-pre{margin:var(--s-1) 0 0;padding:var(--s-2);background:var(--soft);border-radius:var(--r-sm);font-size:var(--fs-xs);white-space:pre-wrap;overflow-wrap:anywhere;max-height:16rem;overflow-y:auto}.logs-php .facts{margin-top:var(--s-2)}.pass-text{color:var(--pass)}.pl-sources summary{cursor:pointer;list-style:none;color:var(--muted)}.pl-sources summary::-webkit-details-marker{display:none}.pl-sources summary .link{color:var(--accent-strong);text-decoration:underline;text-underline-offset:2px}.pl-source-list{list-style:none;margin:var(--s-2) 0 0;padding:var(--s-3) var(--s-4);display:flex;flex-direction:column;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md)}.pl-source-list li{display:grid;grid-template-columns:8px minmax(0,1fr) minmax(0,1.2fr);align-items:center;gap:var(--s-3)}@media(max-width:720px){.pl-source-list li{grid-template-columns:8px minmax(0,1fr)}.pl-source-list li>.muted{grid-column:2}}.plugins-page .banner .icon{flex:none;color:var(--accent-strong)}.pl-toolbar{display:flex;flex-direction:column;gap:var(--s-3);margin-bottom:var(--s-4)}.pl-toolbar-row{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:center;justify-content:space-between}.pl-toolbar .search-field{max-width:360px}.pl-sort{display:inline-flex;flex-direction:row;align-items:center;gap:var(--s-2);font-weight:400}.pl-sort select{width:auto;max-width:100%}.pl-nowrap{white-space:nowrap}.pl-lines{display:flex;flex-direction:column;gap:1px}.plugin-table td{vertical-align:middle}.plugin-row{cursor:pointer}.plugin-row:hover td{background:var(--surface-2)}.plugin-row.is-open td{background:var(--surface-2);border-bottom-color:transparent}.plugin-row.is-inactive .site-name{color:var(--text-2);font-weight:550}.pl-version{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.pl-version .mono{white-space:nowrap}.pl-menu-cell{width:44px;text-align:right}.plugin-menu-trigger{width:32px;height:32px}.plugin-detail-row>td{background:var(--surface-2);padding-top:0;padding-bottom:var(--s-4)}.chip.risk-low{background:var(--tint-pass);color:var(--pass);border-color:var(--pass-border)}.chip.risk-medium,.chip.rating-medium,.chip.rating-low,.chip.rating-unknown,.chip.level-warning,.chip.level-database,.chip.level-error{background:var(--tint-warn);color:var(--warn-text);border-color:var(--warn-border)}.chip.risk-high,.chip.rating-critical,.chip.rating-high,.chip.level-fatal,.chip.level-timeout,.chip.level-upstream{background:var(--tint-fail);color:var(--fail);border-color:var(--fail-border)}.plugin-detail{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));align-items:start;gap:var(--s-4);padding-top:var(--s-2)}.pl-section{min-width:0;padding:var(--s-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md)}.pl-section h3{margin:0 0 var(--s-3);font-size:var(--fs-md)}.pl-section p{margin:0 0 var(--s-2)}.pl-section>:last-child{margin-bottom:0}.pl-sub{margin:var(--s-4) 0 var(--s-2);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.pl-list{margin:0 0 var(--s-2);padding-left:1.1em;display:flex;flex-direction:column;gap:3px}ul.pl-list:has(>li>.icon){list-style:none;padding-left:0}.pl-list .icon{vertical-align:-2px;color:var(--faint)}.pl-pages{list-style:none;margin:0 0 var(--s-2);padding:0;display:flex;flex-direction:column;gap:6px}.pl-section>.pl-sub:first-of-type{margin-top:var(--s-2)}.pl-browse{margin-top:var(--s-2)}.pl-pages li{overflow-wrap:anywhere}.pl-pages a.pd-page-path{text-decoration:none;color:var(--accent-strong)}.pl-pages a.pd-page-path:hover{text-decoration:underline}.pl-evidence{display:inline-flex;flex-wrap:wrap;gap:4px;margin-left:6px;vertical-align:1px}.chip.pl-chip{font-family:var(--mono);font-weight:500;white-space:normal;overflow-wrap:anywhere}.pl-provides{margin:var(--s-3) 0 0;display:flex;flex-direction:column;gap:var(--s-2)}.pl-provides div{display:grid;grid-template-columns:9.5em minmax(0,1fr);gap:var(--s-2);align-items:baseline}.pl-provides dt{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}.pl-provides dd{margin:0;display:flex;flex-wrap:wrap;gap:4px}.pl-more{margin:var(--s-1) 0 0}.pl-more summary{cursor:pointer;font-size:var(--fs-sm);color:var(--accent-strong)}.pl-more .job-log{margin-top:var(--s-2);max-height:260px}.pl-errors,.pl-vulns{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.pl-errors>li,.pl-vulns>li{padding:var(--s-2) 0;border-top:1px solid var(--border)}.pl-errors>li:first-child,.pl-vulns>li:first-child{border-top:none;padding-top:0}.pl-error-head{display:flex;align-items:flex-start;gap:var(--s-2)}.pl-error-head .chip{flex:none;margin-top:1px}.pl-error-text{overflow-wrap:anywhere;min-width:0;font-weight:500}.pl-error-meta{margin:4px 0 0;overflow-wrap:anywhere}.pl-vulns p{margin:4px 0 0}.pl-copyright{font-size:11px;color:var(--faint)}.pl-copyright a{color:inherit}.pl-risk{margin:var(--s-3) 0;padding:var(--s-3);border:1px solid var(--border);border-left-width:3px;border-radius:var(--r-sm);background:var(--surface-2)}.pl-risk.risk-low{border-left-color:var(--pass)}.pl-risk.risk-medium{border-left-color:var(--running-fill)}.pl-risk.risk-high{border-left-color:var(--fail)}.pl-risk p{margin:0 0 var(--s-2)}.pl-reasons{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px;font-size:var(--fs-sm)}.pl-reasons li{display:grid;grid-template-columns:3.2em minmax(0,1fr);gap:var(--s-2)}.pl-points{color:var(--muted);text-align:right}.pl-changelog{padding:var(--s-2) 0;border-top:1px solid var(--border)}.pl-changelog:first-of-type{border-top:none}.pl-changelog-head{margin:0 0 4px}.pl-note-head{margin:var(--s-2) 0 2px;font-weight:650;color:var(--text-2)}.pl-link+.pl-link:before{content:" · ";color:var(--faint)}.pl-facts{grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr))}.pl-unattributed>summary{cursor:pointer}.pl-unattributed .pl-errors{margin-top:var(--s-3)}.menu-panel.plugin-menu{min-width:250px;max-width:min(340px,92vw)}.plugin-menu .menu-item{align-items:flex-start;font-weight:500}.plugin-menu .menu-item>.icon{margin-top:2px;color:var(--text-2);flex:none}a.menu-item{color:var(--text);text-decoration:none}.menu-item-text{display:flex;flex-direction:column;gap:1px;min-width:0}.menu-item-hint{font-size:var(--fs-xs);font-weight:400;color:var(--muted)}.menu-item.is-after-first{margin-top:4px;position:relative}.menu-item.is-after-first:before{content:"";position:absolute;left:6px;right:6px;top:-3px;border-top:1px solid var(--border)}.menu-item.is-danger,.menu-item.is-danger>.icon{color:var(--fail)}.menu-item.is-disabled,.menu-item.is-disabled>.icon{color:var(--faint);cursor:not-allowed}.menu-item.is-disabled:hover{background:transparent}.menu-item.is-disabled .menu-item-hint{color:var(--faint)}
