:root{--bg:#f6f7f9;--surface:#fff;--surface-2:#f1f3f6;--border:#dde1e7;--border-strong:#c5cbd4;--text:#1b1f24;--text-2:#5b6470;--text-3:#8a929d;--left:#3b5bdb;--left-soft:#e7ecfd;--right:#c8661f;--right-soft:#fcefe4;--equal:#4a8a5c;--equal-soft:#e6f2ea;--diff:#b7791f;--diff-soft:#fbf1dc;--noaccess:#6b7280;--noaccess-soft:#eceef1;--error:#c53030;--error-soft:#fde8e8;--focus:#3b5bdb;--radius:8px;--radius-sm:5px;--shadow:0 1px 2px #1018280f, 0 1px 3px #10182814;--mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0f1216;--surface:#171b21;--surface-2:#1e232b;--border:#2a313b;--border-strong:#3a4350;--text:#e6e9ee;--text-2:#a3abb7;--text-3:#707a87;--left:#7c93f5;--left-soft:#1d2540;--right:#f0a066;--right-soft:#3a2616;--equal:#6fbf86;--equal-soft:#17291e;--diff:#e3b04f;--diff-soft:#33270f;--noaccess:#9aa3ae;--noaccess-soft:#23282f;--error:#f27b7b;--error-soft:#3a1717;--focus:#7c93f5;--shadow:0 1px 2px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font:14px/1.45 var(--sans);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}code,.mono{font-family:var(--mono);font-size:12.5px}.app{max-width:1400px;margin:0 auto;padding:0 20px 48px}.topbar{border-bottom:1px solid var(--border);align-items:center;gap:16px;margin-bottom:8px;padding:14px 0;display:flex}.brand{align-items:center;gap:10px;font-size:16px;font-weight:650;display:flex}.brand-mark{gap:3px;display:inline-flex}.brand-sub{color:var(--text-3);font-size:13px;font-weight:450}.brand-mark i{border-radius:2px;width:7px;height:16px;display:block}.brand-mark i:first-child{background:var(--left)}.brand-mark i:last-child{background:var(--right)}.topbar .spacer{flex:1}.sides{grid-template-columns:1fr auto 1fr;align-items:start;gap:12px;margin:16px 0;display:grid}.swap-col{flex-direction:column;align-items:center;gap:8px;padding-top:44px;display:flex}@media (width<=860px){.sides{grid-template-columns:1fr}.swap-col{flex-direction:row;justify-content:center;padding-top:0}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.side-card{border-top:3px solid var(--side-color);padding:14px 16px 16px}.side-card.left{--side-color:var(--left);--side-soft:var(--left-soft)}.side-card.right{--side-color:var(--right);--side-soft:var(--right-soft)}.side-title{letter-spacing:.06em;text-transform:uppercase;color:var(--side-color);align-items:center;gap:8px;margin:0 0 12px;font-size:12px;font-weight:700;display:flex}.field{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.field>span{color:var(--text-2);font-size:12px;font-weight:550}.row{align-items:center;gap:8px;display:flex}.row>.grow{flex:1;min-width:0}input[type=text],input[type=password],input[type=search],select{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;height:34px;padding:0 10px}input::placeholder{color:var(--text-3)}select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--text-2) 50%), linear-gradient(135deg, var(--text-2) 50%, transparent 50%);background-position:calc(100% - 15px) 15px,calc(100% - 10px) 15px;background-repeat:no-repeat;background-size:5px 5px;padding-right:28px}.btn{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;height:34px;padding:0 14px;font-weight:550;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--text);color:var(--bg);border-color:var(--text)}.btn.primary:hover:not(:disabled){opacity:.88;background:var(--text)}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled){background:var(--surface-2)}.btn.small{height:28px;padding:0 10px;font-size:13px}.btn.icon{width:34px;padding:0}.btn.icon.small{width:28px}.btn.big{height:40px;padding:0 28px;font-size:15px}.segmented{border:1px solid var(--border-strong);border-radius:var(--radius-sm);display:inline-flex;overflow:hidden}.segmented button{background:var(--surface);cursor:pointer;border:0;border-right:1px solid var(--border);height:30px;padding:0 12px;font-size:13px}.segmented button:last-child{border-right:0}.segmented button[aria-pressed=true]{background:var(--surface-2);font-weight:650}.segmented button:disabled{color:var(--text-3);cursor:not-allowed}.toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-weight:550;display:inline-flex}.toggle input{opacity:0;pointer-events:none;position:absolute}.toggle .track{background:var(--border-strong);border-radius:10px;width:34px;height:20px;transition:background .15s;position:relative}.toggle .track:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0000004d}.toggle input:checked+.track{background:var(--diff)}.toggle input:checked+.track:after{transform:translate(14px)}.toggle input:focus-visible+.track{outline:2px solid var(--focus);outline-offset:2px}.conn-chip{background:var(--side-soft);border-radius:var(--radius-sm);align-items:center;gap:10px;margin-bottom:10px;padding:8px 10px;display:flex}.conn-chip .who{flex:1;min-width:0}.conn-chip .name{font-weight:650}.conn-chip .meta{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.dot{background:var(--equal);border-radius:50%;flex:none;width:8px;height:8px}.dot.expired,.dot.unreachable{background:var(--error)}.notice{border-radius:var(--radius-sm);margin:8px 0;padding:8px 10px;font-size:13px}.notice.error{background:var(--error-soft);color:var(--error)}.notice.warn{background:var(--diff-soft);color:var(--diff)}.notice.info{background:var(--surface-2);color:var(--text-2)}.muted{color:var(--text-2)}.subtle{color:var(--text-3);font-size:12px}.compare-bar{justify-content:center;margin:4px 0 20px;display:flex}.results-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.filters{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:14px;align-items:center;gap:6px;height:28px;padding:0 10px;font-size:13px;display:inline-flex}.chip[aria-pressed=true]{border-color:var(--text);background:var(--surface-2);font-weight:650}.chip .n{font-variant-numeric:tabular-nums;color:var(--text-2)}input.search{width:260px}.cols-head{letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid var(--border);background:var(--surface-2);border-radius:var(--radius) var(--radius) 0 0;grid-template-columns:1fr 1fr;gap:0;padding:8px 14px;font-size:12px;font-weight:700;display:grid}.cols-head .l{color:var(--left)}.cols-head .r{color:var(--right);text-align:right}.secret{border-bottom:1px solid var(--border)}.secret:last-child{border-bottom:0}.secret-head{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:20px 1fr auto;align-items:center;gap:10px;width:100%;padding:10px 14px;display:grid}.secret-head:hover{background:var(--surface-2)}.caret{color:var(--text-3);transition:transform .12s;display:inline-block}.secret[data-open=true] .caret{transform:rotate(90deg)}.secret-path{font-family:var(--mono);overflow-wrap:anywhere;font-size:13px}.secret-path .dir{color:var(--text-3)}.secret-meta{align-items:center;gap:10px;display:flex}.vers{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:12px}.badge{white-space:nowrap;border-radius:11px;align-items:center;gap:5px;height:22px;padding:0 8px;font-size:12px;font-weight:650;display:inline-flex}.badge.equal{background:var(--equal-soft);color:var(--equal)}.badge.different{background:var(--diff-soft);color:var(--diff)}.badge.left_only{background:var(--left-soft);color:var(--left)}.badge.right_only{background:var(--right-soft);color:var(--right)}.badge.no_access,.badge.unknown{background:var(--noaccess-soft);color:var(--noaccess)}.badge.error{background:var(--error-soft);color:var(--error)}.keys{padding:0 14px 14px 44px}.key-row{border-top:1px dashed var(--border);grid-template-columns:minmax(0,1fr) 120px minmax(0,1fr);align-items:start;gap:10px;padding:8px 0;display:grid}.key-row:first-child{border-top:0}.key-name{font-family:var(--mono);grid-column:1/-1;align-items:center;gap:8px;font-size:12.5px;font-weight:650;display:flex}.key-mid{flex-direction:column;align-items:center;gap:4px;padding-top:4px;display:flex}.val{font-family:var(--mono);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);white-space:pre-wrap;overflow-wrap:anywhere;min-height:30px;max-height:9.5em;padding:6px 8px;font-size:12px;overflow:auto}.val.expanded{max-height:none}.val.masked{color:var(--text-3);letter-spacing:2px}.val.absent{color:var(--text-3);font-family:var(--sans);letter-spacing:0;background:0 0;border-style:dashed}.val.diff-l{border-color:var(--left)}.val.diff-r{border-color:var(--right)}.val-wrap{position:relative}.type-tag{font-family:var(--sans);background:var(--diff-soft);color:var(--diff);vertical-align:1px;border-radius:4px;margin-right:8px;padding:0 6px;font-size:11px;font-weight:650;line-height:18px;display:inline-block}.val-wrap .copy{opacity:0;background:var(--surface);border-color:var(--border);transition:opacity .1s;position:absolute;top:3px;right:3px}.val-wrap:hover .copy,.val-wrap .copy:focus-visible{opacity:1}.val-tools{gap:4px;margin-top:4px;display:flex}.vers .del{color:var(--error)}.empty{text-align:center;color:var(--text-2);padding:32px}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=700px){.key-row{grid-template-columns:1fr}.key-mid{flex-direction:row;justify-content:flex-start}.keys{padding-left:14px}input.search{width:100%}}.arrows{gap:4px;display:flex}.arrow{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;width:30px;height:24px;color:var(--text-2);border-radius:12px;font-size:14px;line-height:1}.arrow:hover{background:var(--surface-2);color:var(--text)}.arrow.to-right[aria-pressed=true]{background:var(--right);border-color:var(--right);color:#fff}.arrow.to-left[aria-pressed=true]{background:var(--left);border-color:var(--left);color:#fff}.key-row[data-incoming=right]>:nth-child(4) .val{outline:2px dashed var(--left);outline-offset:2px}.key-row[data-incoming=left]>:nth-child(2) .val{outline:2px dashed var(--right);outline-offset:2px}.val-cell{min-width:0}.val-meta{color:var(--text-3);font-variant-numeric:tabular-nums;margin-top:3px;font-size:11.5px}.staged-count{color:var(--text);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:10px;padding:0 8px;font-size:12px;font-weight:650}.secret-actions{flex-wrap:wrap;align-items:center;gap:8px;padding:4px 0 10px;display:flex}.to-right-btn[aria-pressed=true]{background:var(--right);border-color:var(--right);color:#fff}.to-left-btn[aria-pressed=true]{background:var(--left);border-color:var(--left);color:#fff}.changeset-bar{z-index:5;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);align-items:center;gap:10px;margin-top:16px;padding:10px 14px;display:flex;position:sticky;bottom:12px;box-shadow:0 6px 24px #0000002e}.spacer{flex:1}dialog.review{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);width:min(920px,100vw - 32px);max-height:calc(100vh - 48px);color:var(--text);flex-direction:column;padding:0;display:flex}dialog.review:not([open]){display:none}dialog.review::backdrop{background:#0a0c108c}.review-head,.review-foot{align-items:center;gap:10px;padding:12px 16px;display:flex}.review-head{border-bottom:1px solid var(--border);justify-content:space-between}.review-head h2{margin:0;font-size:16px}.review-foot{border-top:1px solid var(--border);flex-wrap:wrap}.review-body{padding:12px 16px;overflow:auto}.plan-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.plan{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px}.plan.conflict,.plan.denied,.plan.invalid,.plan.error{border-color:var(--error)}.plan-head{overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:10px;display:flex}.dir-r{color:var(--right);font-weight:700}.dir-l{color:var(--left);font-weight:700}.plan-keys{border-collapse:collapse;width:100%;margin-top:8px;font-size:13px}.plan-keys td{border-top:1px dashed var(--border);vertical-align:top;padding:4px 8px 4px 0}.plan-keys tr.unchanged{color:var(--text-3)}.plan-keys td.vals{overflow-wrap:anywhere;white-space:pre-wrap}.action{border-radius:4px;padding:0 6px;font-size:12px;font-weight:650}.action.add{background:var(--equal-soft);color:var(--equal)}.action.update{background:var(--diff-soft);color:var(--diff)}.action.unchanged{background:var(--noaccess-soft);color:var(--noaccess)}.confirm{align-items:center;gap:8px;display:flex}.confirm input{width:16px;height:16px}.val-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.badge.kind{border-radius:4px;height:18px;padding:0 6px;font-size:11px;font-weight:600}.inspect-btn{margin-top:2px}dialog.inspector{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);width:min(1200px,100vw - 32px);max-height:calc(100vh - 48px);color:var(--text);flex-direction:column;padding:0;display:flex}dialog.inspector:not([open]){display:none}dialog.inspector::backdrop{background:#0a0c108c}.inspector-trust{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px 14px;padding:8px 16px;font-size:13px;display:flex}.inline-check{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.trust-picker summary{cursor:pointer;color:var(--text-2)}.trust-list{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);flex-direction:column;gap:4px;max-height:160px;margin-top:6px;padding:6px 8px;display:flex;overflow:auto}.inspect-cols{gap:16px;display:grid}.inspect-cols.n2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}@media (width<=900px){.inspect-cols.n2{grid-template-columns:1fr}}.inspect-col{min-width:0}.inspect-col h3{margin:4px 0 8px;font-size:13px}.inspect-col.left h3{color:var(--left)}.inspect-col.right h3{color:var(--right)}.pw-row{background:var(--surface-2);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;padding:8px 10px;display:flex}.pw-row select,.pw-row input{width:auto;min-width:160px;height:30px}.dim{opacity:.55;transition:opacity .15s}.node{border-left:2px solid var(--border);margin:6px 0;padding:6px 0 6px 12px}.node.depth0{border-left:0;padding-left:0}.node-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.node-label{overflow-wrap:anywhere;font-weight:650}.note{margin:4px 0}.kv{flex-wrap:wrap;align-items:center;gap:10px;margin:6px 0;font-size:13px;display:flex}.check{color:var(--text-2);font-size:12.5px;font-weight:600}.check.ok{color:var(--equal)}.check.bad{color:var(--error)}.zip-list{border-collapse:collapse;margin:6px 0;font-size:13px}.zip-list td{padding:2px 12px 2px 0}.img-preview{border:1px solid var(--border);border-radius:var(--radius-sm);background-color:var(--surface-2);background-image:linear-gradient(45deg, var(--border) 25%, transparent 25%, transparent 75%, var(--border) 75%), linear-gradient(45deg, var(--border) 25%, transparent 25%, transparent 75%, var(--border) 75%);background-position:0 0,8px 8px;background-size:16px 16px;margin:8px 0;padding:12px;display:inline-block}.img-preview img{image-rendering:auto;max-width:100%;max-height:320px;display:block}pre.preview{margin:8px 0}.cert-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);margin:8px 0;padding:10px 12px}.cert-status{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.cert-fields{grid-template-columns:max-content minmax(0,1fr);gap:4px 12px;margin:8px 0 0;font-size:13px;display:grid}.cert-fields dt{color:var(--text-2)}.cert-fields dd{overflow-wrap:anywhere;margin:0}.cert-fields .fp{font-size:11px}.chain{margin:6px 0}.chain-verdict{border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.chain-verdict.equal{background:var(--equal-soft)}.chain-verdict.different{background:var(--diff-soft)}.chain-verdict.error{background:var(--error-soft)}.chain-links{border-left:2px dotted var(--border-strong);margin:6px 0 0;padding:0 0 0 10px;list-style:none}.chain-links li{flex-wrap:wrap;align-items:center;gap:4px 10px;padding:4px 0 4px 12px;display:flex;position:relative}.chain-links li:before{content:"";background:var(--equal);border:2px solid var(--surface);border-radius:50%;width:10px;height:10px;position:absolute;top:11px;left:-6px}.chain-links li.bad:before{background:var(--error)}.chain-subject{font-size:13px;font-weight:600}.chain-checks{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chain-problem{width:100%;color:var(--error);font-size:12.5px}.cert-diff-wrap h3{margin:0 0 6px;font-size:13px}.cert-diff{border-collapse:collapse;width:100%;margin-bottom:14px;font-size:12.5px}.cert-diff th,.cert-diff td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;overflow-wrap:anywhere;padding:4px 8px}.cert-diff thead .l{color:var(--left)}.cert-diff thead .r{color:var(--right)}.cert-diff tbody th{color:var(--text-2);white-space:nowrap;font-weight:600}.cert-diff tr.diff td{background:var(--diff-soft)}.tabs{border-bottom:1px solid var(--border);gap:4px;margin:4px 0 16px;display:flex}.tabs button{cursor:pointer;color:var(--text-2);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;font-weight:600}.tabs button[aria-selected=true]{color:var(--text);border-bottom-color:var(--text)}.expiry-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.expiry-head .subtle{max-width:760px;font-size:13px}.scope{margin:0 4px;font-weight:600}.scope.left{color:var(--left)}.scope.right{color:var(--right)}.tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:14px;display:grid}.tile{text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;display:flex}.tile[aria-pressed=true]{outline:2px solid var(--text);outline-offset:-1px}.tile-n{font-variant-numeric:tabular-nums;font-size:26px;font-weight:700;line-height:1.1}.tile-l{color:var(--text-2);font-size:12.5px}.tile.error .tile-n{color:var(--error)}.tile.different .tile-n{color:var(--diff)}.tile.equal .tile-n{color:var(--equal)}.chip-like{border:1px solid var(--border);border-radius:14px;height:28px;padding:0 10px;font-size:13px}.table-wrap{overflow-x:auto}.expiry-table{border-collapse:collapse;width:100%;font-size:13px}.expiry-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-2);background:var(--surface-2);border-bottom:1px solid var(--border);padding:8px 12px;font-size:12px}.expiry-table td{border-bottom:1px solid var(--border);vertical-align:top;overflow-wrap:anywhere;padding:8px 12px}.expiry-table tr:last-child td{border-bottom:0}.cert-name{flex-wrap:wrap;align-items:center;gap:6px;font-weight:600;display:flex}.side-dot{vertical-align:1px;border-radius:50%;width:8px;height:8px;display:inline-block}.side-dot.left{background:var(--left)}.side-dot.right{background:var(--right)}.locked{margin-top:12px;font-size:13px}.locked summary{cursor:pointer;color:var(--text-2)}.locked ul{margin:6px 0 0;padding-left:18px}@media (width<=860px){.expiry-head{flex-direction:column;align-items:stretch}}.profile-bar{grid-template-columns:minmax(220px,320px) 1fr auto;align-items:end;gap:8px 16px;margin:0 0 14px;padding:12px 16px;display:grid}.profile-bar .field{margin-bottom:0}.profile-info{flex-direction:column;gap:2px;min-width:0;padding-bottom:6px;display:flex}.profile-sum{font-size:13px;font-weight:600}.profile-actions{flex-wrap:wrap;gap:6px;padding-bottom:3px;display:flex}.profile-error{grid-column:1/-1;margin:0}@media (width<=860px){.profile-bar{grid-template-columns:1fr}}.profile-effect{margin-top:0}dialog.profile-editor{width:min(820px,100vw - 32px)}.editor-h{margin:16px 0 2px;font-size:14px}.rule-row{margin-bottom:6px}.rule-row input{height:32px}textarea{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;padding:8px 10px}.map-arrow{color:var(--text-3);padding:0 2px}.map-l{color:var(--left)}.map-r{color:var(--right)}.badge.ignored{background:var(--noaccess-soft);color:var(--noaccess);font-weight:600}.key-row.ignored .val{opacity:.6}.key-row.ignored .key-name{color:var(--text-2)}.demo-banner{border-radius:var(--radius-sm);background:var(--left-soft);color:var(--text);border:1px solid var(--border);margin:10px 0 0;padding:8px 12px;font-size:13px}
