@import "https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;600;700&display=swap";:root{--text:#334155;--text-muted:#617089;--text-h:#0f172a;--bg:#f7f9fb;--surface:#fff;--border:#dde3ec;--accent:#0f5fdc;--accent-hover:#0d51bb;--accent-tint:#e8f0fe;--major:#b3261e;--major-bg:#fdeceb;--minor:#9a6700;--minor-bg:#fff8e1;--patch:#1a7f37;--patch-bg:#e9f7ee;--unknown:#57606a;--unknown-bg:#f0f1f3}*{box-sizing:border-box}body{color:var(--text);background:var(--bg);margin:0;font-family:Roboto,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,sans-serif;line-height:1.5}code{font-family:SF Mono,SFMono-Regular,ui-monospace,Menlo,monospace;font-size:.85em}h1{color:var(--text-h)}button{font:inherit;cursor:pointer}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.topnav{background:var(--surface);border-bottom:1px solid var(--border);color:var(--text);position:relative}.topnav-inner{justify-content:space-between;align-items:center;gap:.75rem;height:56px;padding:0 1rem;display:flex}.topnav-brand{appearance:none;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:.5rem;margin:0;padding:.15rem .25rem;display:flex}.topnav-brand:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.brand-mark{width:28px;height:28px;fill:var(--accent);filter:drop-shadow(0 4px 12px #818cf88c)}.brand-name{color:var(--text-h);font-size:.875rem;font-weight:600}.brand-badge{letter-spacing:.06em;text-transform:uppercase;color:#6fa0f5cc;background:#1a6de81a;border:1px solid #4183f033;border-radius:6px;padding:.15rem .45rem;font-size:.62rem;font-weight:700}.topnav-search{background:var(--bg);border:1px solid var(--border);max-width:420px;color:var(--text-muted);border-radius:6px;flex:1;align-items:center;gap:.5rem;padding:.45rem .75rem;font-size:.85rem;display:flex}.topnav-search:hover{border-color:#c7c7cf}.topnav-search svg{width:16px;height:16px}.topnav-search span{text-align:left;flex:1}.topnav-search kbd{color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:.05rem .35rem;font-family:ui-monospace,Menlo,monospace;font-size:.7rem}.topnav-actions{align-items:center;gap:.25rem;display:flex}.help-menu{position:relative}.menu{z-index:50;background:var(--surface);min-width:15rem;color:var(--text-h);border:1px solid var(--border);border-radius:10px;padding:.35rem;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 30px #00000040}.menu-label{letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);padding:.35rem .6rem .25rem;font-size:.62rem;font-weight:700}.menu-item{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;flex-direction:column;gap:.1rem;width:100%;padding:.5rem .6rem;text-decoration:none;display:flex}.menu-item:hover{background:var(--bg)}.menu-item-title{color:var(--text-h);font-size:.85rem;font-weight:600}.menu-item-sub{color:var(--text-muted);font-size:.72rem}.nav-icon{width:40px;height:40px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;text-decoration:none;display:flex}.nav-icon svg{width:20px;height:20px}.nav-icon:hover{background:var(--bg);color:var(--text-h)}.shell{flex-direction:column;min-height:100vh;display:flex}.shell-body{flex:1;align-items:stretch;min-height:0;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:.75rem;width:236px;padding:.9rem .75rem;display:flex}.sidebar-card{background:linear-gradient(135deg,#e8f0fe,#eef0fc66);border:1px solid #0f5fdc26;border-radius:10px;align-items:center;gap:.6rem;padding:.6rem .7rem;display:flex}.sidebar-card-mark{background:var(--accent);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:.72rem;font-weight:700;display:flex}.sidebar-card-text{flex-direction:column;min-width:0;display:flex}.sidebar-card-title{color:var(--text-h);font-size:.78rem;font-weight:600}.sidebar-card-sub{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);font-size:.62rem}.sidebar-nav{flex-direction:column;gap:.1rem;display:flex}.sidebar-section{letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);margin:.8rem 0 .2rem;padding:0 .7rem;font-size:.62rem;font-weight:700}.sidebar-item{color:var(--text-h);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.6rem;width:100%;padding:.5rem .7rem;font-size:.85rem;font-weight:500;text-decoration:none;display:flex}.sidebar-item:hover{background:var(--accent-tint);color:var(--accent-hover)}.sidebar-item:hover .sidebar-icon{color:var(--accent-hover)}.sidebar-item.disabled{color:var(--text-muted);opacity:.5;pointer-events:none}.sidebar-icon{width:18px;height:18px;color:var(--text-muted);flex-shrink:0}.app{flex:1;min-width:0;padding:2rem 2rem 3rem}.app-header h1{margin-bottom:.25rem}.app-header p{color:var(--text-muted);margin-top:0}.controls{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.upload-toggle{border:1px solid var(--border);border-radius:8px;align-self:flex-start;display:inline-flex;overflow:hidden}.toggle{background:var(--surface);color:var(--text-muted);border:none;padding:.4rem .9rem;font-size:.85rem;font-weight:600}.toggle+.toggle{border-left:1px solid var(--border)}.toggle.active{background:var(--accent);color:#fff}.dropzones{align-items:stretch;gap:.75rem;display:flex}.vs{color:var(--text-muted);align-self:center;font-weight:600}.dropzone{border:2px dashed var(--border);text-align:center;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:.25rem;padding:1.25rem 1rem;display:flex}.dropzone:hover,.dropzone.drag-over{border-color:var(--accent);background:var(--accent-tint)}.dropzone-label{color:var(--text-h);font-weight:600}.dropzone-hint{color:var(--text-muted);font-size:.85rem}.dropzone-file{color:var(--accent);word-break:break-all;font-family:ui-monospace,Menlo,monospace;font-size:.85rem}.compare-button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;align-self:flex-start;padding:.65rem 1.5rem;font-weight:600}.compare-button:hover:not(:disabled){background:var(--accent-hover)}.compare-button:disabled{opacity:.5;cursor:not-allowed}.error-banner{background:var(--major-bg);color:var(--major);border:1px solid var(--major);border-radius:8px;padding:.75rem 1rem}.results{flex-direction:column;gap:1.5rem;margin-top:2rem;display:flex}.summary-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:1rem;padding:1.25rem 1.5rem;display:flex}.summary-sources{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.source-badge{align-items:baseline;gap:.5rem;display:inline-flex}.source-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.75rem}.source-version{color:var(--text-muted);font-family:ui-monospace,Menlo,monospace;font-size:.85rem}.arrow{color:var(--text-muted)}.impact-tiles{grid-template-columns:repeat(4,1fr);gap:.75rem;display:grid}.impact-tile{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-direction:column;align-items:center;padding:.6rem .5rem;display:flex}.impact-tile .impact-count{font-size:1.5rem;font-weight:700}.impact-tile .impact-label{letter-spacing:.06em;font-size:.72rem}.impact-tile.level-major .impact-count{color:var(--major)}.impact-tile.level-minor .impact-count{color:var(--minor)}.impact-tile.level-patch .impact-count{color:var(--patch)}.impact-tile.level-unknown .impact-count{color:var(--unknown)}.impact-tile.selected{outline:2px solid var(--accent);outline-offset:-2px}.suggested-version{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.download-group{flex-wrap:wrap;gap:.5rem;margin-left:auto;display:flex}.download-button{border:1px solid var(--border);color:var(--text-h);background:0 0;border-radius:8px;padding:.4rem .9rem}.download-button:hover{border-color:var(--accent);color:var(--accent)}.download-button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.download-button.primary:hover{color:#fff;opacity:.92}.diff{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.diff-legend{border-bottom:1px solid var(--border);color:var(--text-muted);flex-wrap:wrap;gap:1.25rem;padding:.6rem 1rem;font-size:.8rem;display:flex}.legend-item{align-items:center;gap:.4rem;display:inline-flex}.swatch{border-radius:3px;width:12px;height:12px;display:inline-block}.swatch.removed{background:var(--major-bg);border:1px solid var(--major)}.swatch.added{background:var(--patch-bg);border:1px solid var(--patch)}.swatch.changed{background:var(--minor-bg);border:1px solid var(--minor)}.swatch.restored{border:1px solid var(--accent);background:#e8f0fe}.diff-headers{grid-template-columns:repeat(3,1fr);display:grid}.diff-header-cell{color:var(--text-h);border-bottom:1px solid var(--border);border-right:1px solid var(--border);align-items:center;gap:.5rem;padding:.6rem 1rem;font-weight:600;display:flex}.diff-header-cell:last-child{border-right:none}.rec-badge{color:var(--accent);background:#e8f0fe;border-radius:999px;padding:.1rem .55rem;font-size:.7rem;font-weight:600}.diff-body{grid-template-columns:repeat(3,1fr);max-height:70vh;display:grid;overflow-y:auto}.diff-col{border-right:1px solid var(--border);overflow-x:auto}.diff-col:last-child{border-right:none}.diff-code{tab-size:2;min-width:100%;margin:0;padding:0;font-family:SF Mono,SFMono-Regular,ui-monospace,Menlo,monospace;font-size:12.5px;display:inline-block;background:0 0!important}.diff-line{white-space:pre;box-sizing:border-box;width:max-content;min-width:100%;min-height:1.55em;padding:0 .75rem;line-height:1.55em}.diff-line.changed{background:var(--minor-bg)}.diff-line.removed{background:var(--major-bg)}.diff-line.added{background:var(--patch-bg)}.diff-line.restored{background:#e8f0fe}.diff-line.gap{background:repeating-linear-gradient(45deg,#fafafa,#fafafa 6px,#f1f1f4 6px 12px)}.findings-head{flex-wrap:wrap;align-items:baseline;gap:1rem;display:flex}.findings-head h2{color:var(--text-h);margin:0;font-size:1.15rem}.filter-note{color:var(--text-muted);font-size:.9rem}.link-button{color:var(--accent);background:0 0;border:none;padding:0;text-decoration:underline}.no-diffs{background:var(--patch-bg);color:var(--patch);border-radius:8px;margin-top:1rem;padding:1rem}.diff-list{flex-direction:column;gap:.9rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.diff-card{background:var(--surface);border:1px solid var(--border);border-left-width:4px;border-radius:10px;padding:1rem 1.25rem}.diff-card.level-major{border-left-color:var(--major)}.diff-card.level-minor{border-left-color:var(--minor)}.diff-card.level-patch{border-left-color:var(--patch)}.diff-card.level-unknown{border-left-color:var(--unknown)}.diff-head{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.impact-badge,.type-badge{letter-spacing:.05em;border-radius:999px;padding:.15rem .6rem;font-size:.7rem;font-weight:700}.impact-badge.level-major{background:var(--major-bg);color:var(--major)}.impact-badge.level-minor{background:var(--minor-bg);color:var(--minor)}.impact-badge.level-patch{background:var(--patch-bg);color:var(--patch)}.impact-badge.level-unknown,.type-badge{background:var(--unknown-bg);color:var(--unknown)}.diff-path{color:var(--text-muted);word-break:break-all}.diff-message{color:var(--text-h);margin:.6rem 0 .25rem}.diff-values{align-items:center;gap:.5rem;margin:.25rem 0 0;display:flex}.value-old{background:var(--major-bg);border-radius:4px;padding:.1rem .4rem}.value-new{background:var(--patch-bg);border-radius:4px;padding:.1rem .4rem}.recommendations{flex-direction:column;gap:.5rem;margin-top:.75rem;display:flex}.recommendation{background:var(--bg);border-radius:8px;padding:.6rem .9rem}.recommendation .rec-rule{color:var(--accent);text-transform:uppercase;letter-spacing:.03em;font-size:.78rem;font-weight:600}.recommendation p{margin:.25rem 0 0;font-size:.92rem}.no-rule{color:var(--text-muted);margin-top:.6rem;font-size:.88rem;font-style:italic}@media (width<=720px){.dropzones{flex-direction:column}.impact-tiles{grid-template-columns:repeat(2,1fr)}.diff-code{font-size:11px}}.footer{color:#fff;background:#12161e;position:relative}.footer-top{border-top:1px solid #33415580}.footer-inner{max-width:1280px;margin:0 auto}.footer-main{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;padding:2rem 1.5rem 1rem;display:flex}.footer-actian{width:auto;height:40px;transition:opacity .15s}.footer-actian:hover{opacity:.8}.footer-division{color:#475569;margin:.25rem 0 0;font-size:.6875rem}.footer-desc,.footer-copy{color:#617089;margin:.5rem 0 0;font-size:.75rem}.footer-copy a{color:inherit;text-decoration:none;transition:color .15s}.footer-copy a:hover{color:#fff;text-decoration:underline}.footer-social{align-items:center;gap:1rem;display:flex}.footer-social a{color:#8e9cb2;transition:color .15s}.footer-social a:hover{color:#fff}.footer-social svg{width:20px;height:20px}.footer-bottom{border-top:1px solid #33415580}.footer-bottom-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.5rem;display:flex}.footer-legal{flex-wrap:wrap;gap:1rem;display:flex}.footer-legal a{color:#617089;font-size:.75rem;text-decoration:none;transition:color .15s}.footer-legal a:hover{color:#fff}.footer-hcl{width:auto;height:16px;transition:opacity .15s}.footer-hcl:hover{opacity:.8}.modal-backdrop{z-index:100;background:#08060d8c;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:12px;width:100%;max-width:620px;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #00000059}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.modal-head h2{color:var(--text-h);margin:0;font-size:1.05rem}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1rem}.modal-body{padding:1.25rem;font-size:.9rem}.modal-body p{margin:0 0 .85rem}.ready-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.ready-backdrop{background:#08060d47}.ready-dialog{max-width:420px}.ready-text{color:var(--text)}.ready-checkbox{color:var(--text-muted);cursor:pointer;align-items:center;gap:.45rem;margin:.25rem 0 0;font-size:.82rem;display:flex}.ready-checkbox input{cursor:pointer}.api-endpoint{align-items:center;gap:.5rem;display:flex}.api-method{letter-spacing:.05em;background:var(--patch-bg);color:var(--patch);border-radius:6px;padding:.15rem .5rem;font-size:.7rem;font-weight:700}.api-params{border-collapse:collapse;width:100%;margin:.25rem 0 1rem}.api-params th,.api-params td{text-align:left;border-bottom:1px solid var(--border);padding:.4rem .6rem;font-size:.85rem}.api-params th{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.68rem}.curl-block{background:#0c1120;border-radius:8px;padding:.85rem 1rem;position:relative;overflow-x:auto}.curl-block pre{color:#e5e7eb;white-space:pre;margin:0;font-family:SF Mono,SFMono-Regular,ui-monospace,Menlo,monospace;font-size:.8rem}.copy-button{color:#e5e7eb;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff26;border-radius:6px;padding:.2rem .6rem;font-size:.72rem;position:absolute;top:.5rem;right:.5rem}.copy-button:hover{background:#fff3}.api-note{color:var(--text-muted);font-size:.8rem;margin-top:1rem!important}@media (width<=860px){.sidebar{display:none}}.palette-backdrop{z-index:120;background:#08060d59;justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.palette{background:var(--surface);border-radius:12px;width:100%;max-width:520px;overflow:hidden;box-shadow:0 20px 60px #0000004d}.palette-input{border:none;border-bottom:1px solid var(--border);width:100%;color:var(--text-h);outline:none;padding:.9rem 1rem;font-size:.95rem}.palette-input:focus-visible{border-bottom-color:var(--accent);box-shadow:inset 0 -2px 0 0 var(--accent)}.palette-list{max-height:320px;margin:0;padding:.35rem;list-style:none;overflow-y:auto}.palette-item{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:baseline;gap:1rem;width:100%;padding:.55rem .7rem;display:flex}.palette-item:hover{background:var(--bg)}.palette-item-label{color:var(--text-h);font-size:.9rem;font-weight:500}.palette-item-hint{color:var(--text-muted);font-size:.78rem}.palette-empty{color:var(--text-muted);padding:.9rem .7rem;font-size:.88rem}.panel-backdrop{z-index:120;background:#0f172a4d;position:fixed;inset:0}.panel{background:var(--surface);flex-direction:column;width:100%;max-width:30rem;height:100%;display:flex;position:absolute;top:0;right:0;box-shadow:-8px 0 40px #00000040}.panel-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.panel-title{align-items:center;gap:.5rem;display:flex}.panel-title svg{width:20px;height:20px;color:var(--accent)}.panel-title h2{color:var(--text-h);margin:0;font-size:1rem}.panel-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1rem}.panel-body{flex:1;padding:1.25rem;overflow-y:auto}.panel-section-label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .5rem;font-size:.72rem;font-weight:700}.panel-links{flex-direction:column;gap:.15rem;display:flex}.panel-links a,.panel-links .linklike{color:var(--accent);text-align:left;cursor:pointer;background:0 0;border:none;padding:.35rem 0;font-size:.9rem;text-decoration:none}.panel-links a:hover,.panel-links .linklike:hover{text-decoration:underline}.panel-divider{border:none;border-top:1px solid var(--border);margin:1rem 0}.panel-body textarea{border:1px solid var(--border);width:100%;font:inherit;resize:vertical;border-radius:8px;outline:none;padding:.6rem;font-size:.9rem}.panel-body textarea:focus{border-color:var(--accent)}.char-count{color:var(--text-muted);text-align:right;margin:.25rem 0 .75rem;font-size:.72rem}.attach-row{flex-wrap:wrap;align-items:baseline;gap:.5rem;margin-bottom:.5rem;display:flex}.attach-hint{color:var(--text-muted);font-size:.72rem}.attach-list{flex-direction:column;gap:.4rem;margin:0 0 .75rem;padding:0;list-style:none;display:flex}.attach-item{border:1px solid var(--border);background:var(--bg);border-radius:8px;align-items:center;gap:.6rem;padding:.4rem .5rem;display:flex}.attach-thumb{object-fit:cover;border:1px solid var(--border);background:var(--surface);border-radius:5px;flex-shrink:0;width:34px;height:34px}.attach-thumb-file{justify-content:center;align-items:center;font-size:1rem;display:flex}.attach-name{min-width:0;color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.8rem;overflow:hidden}.attach-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:5px;flex-shrink:0;padding:.2rem .35rem;font-size:.85rem}.attach-remove:hover{background:var(--major-bg);color:var(--major)}.context-box{border:1px solid var(--border);background:var(--bg);border-radius:8px;margin-bottom:1rem}.context-toggle{cursor:pointer;width:100%;color:var(--text-h);background:0 0;border:none;justify-content:space-between;align-items:center;padding:.55rem .75rem;font-size:.85rem;font-weight:500;display:flex}.context-box pre{border-top:1px solid var(--border);background:var(--surface);max-height:220px;margin:0;padding:.75rem;font-size:.72rem;overflow:auto}.panel-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:.5rem;padding-top:.9rem;display:flex}.btn-primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.45rem 1rem;font-weight:600}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--surface);color:var(--text-h);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:.45rem 1rem}.panel-success{background:var(--patch-bg);border:1px solid var(--patch);color:#14532d;border-radius:10px;padding:1rem}.panel-success p{margin:0 0 .5rem}.rail-tab{z-index:40;color:#fff;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;writing-mode:vertical-rl;background:#4183f0;border:none;border-radius:0 .375rem .375rem 0;align-items:center;gap:.25rem;width:1.75rem;padding:1.25rem .5rem;font-family:inherit;font-size:.75rem;font-weight:500;transition:background .15s;display:flex;position:fixed;right:0;transform:translateY(-50%)rotate(180deg);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.rail-tab:hover{background:#1a6de8}.rail-tab:focus-visible{outline-offset:2px;outline:2px solid #4183f0}.rail-tab-help{top:50%}.rail-tab-api{top:calc(50% + 6rem)}.modal-wide{width:min(56rem,92vw);max-width:56rem}.rules-body{max-height:70vh;overflow-y:auto}.rules-intro{color:var(--muted,#5c6470);margin:0 0 .75rem;font-size:.9rem}.rules-loading{color:var(--muted,#5c6470)}.rules-yaml{border:1px solid #e2e5e9;border-radius:8px;margin:0;padding:.75rem 1rem;font-size:.8rem;line-height:1.5;overflow-x:auto}.hero{flex-direction:column;gap:1rem;margin-top:1.25rem;display:flex}.hero .controls{margin:0}.samples-bar{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;align-items:center;gap:1.25rem;padding:1rem 1.25rem;display:flex}.samples-bar-head{flex:none;max-width:240px}.hero-aside-title{color:var(--text-h);margin:0;font-size:.95rem;font-weight:600}.samples-caption{color:var(--text-muted);margin:.15rem 0 0;font-size:.85rem}.samples-main{flex-direction:column;flex:320px;align-items:flex-start;min-width:0;display:flex}.samples-list{flex-flow:wrap;gap:.6rem;width:100%;display:flex}.samples-more{border:1px solid var(--border);color:var(--accent);background:0 0;border-radius:8px;align-self:flex-start;margin-top:.6rem;padding:.35rem .8rem;font-size:.82rem}.samples-more:hover{border-color:var(--accent)}.sample-btn{background:var(--surface);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:8px;flex-direction:column;flex:220px;align-items:flex-start;gap:.2rem;min-width:0;padding:.7rem .9rem;transition:border-color .15s,background .15s;display:flex}.sample-btn:hover:not(:disabled){border-color:var(--accent);background:var(--accent-tint)}.sample-btn:disabled{opacity:.5;cursor:not-allowed}.sample-btn-title{color:var(--text-h);font-size:.9rem;font-weight:600}.sample-btn-meta{text-transform:uppercase;letter-spacing:.04em;color:var(--accent-hover);font-size:.72rem}.sample-btn-desc{color:var(--text-muted);font-size:.8rem}.footer-collapse-btn{z-index:2;color:#cbd2dc;cursor:pointer;background:#37415199;border:none;border-radius:999px;padding:.25rem;transition:background .15s,color .15s;display:inline-flex;position:absolute;top:.5rem;right:.75rem}.footer-collapse-btn:hover{color:#fff;background:#4b5563e6}.footer-collapse-btn svg,.footer-restore-btn svg{width:14px;height:14px}.footer-restore-btn{z-index:40;color:#9aa4b2;cursor:pointer;background:#1f2937d9;border:none;border-radius:999px;padding:.4rem;transition:background .15s,color .15s;display:inline-flex;position:fixed;bottom:.5rem;right:.5rem;box-shadow:0 6px 20px #00000040}.footer-restore-btn:hover{color:#fff;background:#374151f2}@media (width<=640px){.samples-bar-head{flex:100%;max-width:none}}.statz{max-width:860px;margin:0 auto;padding:3rem 1.5rem}.statz-head h1{color:var(--text-h);margin:0 0 .4rem}.statz-head p{color:var(--text-muted);max-width:52ch;margin:0 0 2rem}.statz-loading{color:var(--text-muted)}.statz-activity{background:var(--surface);border:1px solid var(--accent);border-radius:12px;align-items:baseline;gap:.6rem;margin-bottom:1.5rem;padding:1.25rem 1.4rem;display:flex}.statz-activity-value{color:var(--accent);font-variant-numeric:tabular-nums;font-size:2.4rem;font-weight:700}.statz-activity-label{color:var(--text-muted);font-size:.95rem}.statz-tiles{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.statz-tile{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.35rem;padding:1.25rem 1.4rem;display:flex}.statz-value{color:var(--accent);font-variant-numeric:tabular-nums;font-size:2rem;font-weight:700}.statz-label{color:var(--text-muted);font-size:.85rem}.statz-back{margin-top:2rem}.statz-back a{color:var(--accent);text-decoration:none}.statz-back a:hover{text-decoration:underline}.button-row{flex-wrap:wrap;gap:.75rem;display:flex}.compare-button.secondary{color:#1f2937;background:#fff;border:1px solid #d1d5db}.compare-button.secondary:hover:not(:disabled){background:#f9fafb}.notice{border-radius:8px;margin:1rem 0;padding:.75rem 1rem;font-size:.9rem}.notice-ok{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.notice-block{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.result-section{margin-top:2rem}.result-section>h2{margin-bottom:.75rem;font-size:1.1rem}.muted{color:#6b7280}.verdict-banner{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.verdict-action{text-transform:uppercase;letter-spacing:.04em;color:#fff;white-space:nowrap;background:#1f2937;border-radius:6px;padding:.35rem .6rem;font-size:.8rem;font-weight:700}.action-merge .verdict-action{background:#7c3aed}.action-replace .verdict-action{background:#b91c1c}.action-version_upgrade .verdict-action{background:#2563eb}.action-create_new .verdict-action{background:#059669}.action-review .verdict-action{background:#d97706}.action-exclude .verdict-action,.action-no_action .verdict-action{background:#6b7280}.verdict-copy{flex:1}.verdict-copy strong{margin-bottom:.15rem;display:block}.verdict-copy p{color:#4b5563;margin:0;font-size:.9rem}.verdict-meta{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem 1.5rem;margin:1rem 0;display:grid}.verdict-meta dt{text-transform:uppercase;letter-spacing:.04em;color:#9ca3af;font-size:.72rem}.verdict-meta dd{margin:.1rem 0 0;font-size:.9rem}.verdict-meta code{color:#6b7280;font-size:.8rem}.verdict-compared-ids{color:var(--text-muted);word-break:break-all;margin-top:.15rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;display:block}.impact-row{flex-wrap:wrap;gap:.5rem;margin:.5rem 0 1rem;display:flex}.impact{color:#374151;background:#f3f4f6;border-radius:6px;padding:.25rem .5rem;font-size:.72rem;font-weight:600}.impact.major{color:#991b1b;background:#fee2e2}.impact.minor{color:#92400e;background:#fef3c7}.impact.patch{color:#1e40af;background:#dbeafe}.path-details{margin-top:.5rem}.path-details summary{cursor:pointer;color:#4b5563;font-size:.85rem}.path-list{margin:0;padding:.5rem 0 0;list-style:none}.path-list li{border-bottom:1px dashed #eef2f7;flex-wrap:wrap;align-items:baseline;gap:.5rem;padding:.3rem 0;font-size:.85rem;display:flex}.path-node{color:#fff;text-align:center;background:#111827;border-radius:4px;min-width:2rem;padding:.05rem .35rem;font-size:.72rem}.path-label{font-weight:500}.path-q{color:#6b7280}.path-a{color:#2563eb;font-weight:600}.path-signal{color:#9ca3af;font-style:italic}.similar-list{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.similar-item{background:#fff;border:1px solid #e5e7eb;border-radius:10px;gap:.85rem;padding:.85rem 1rem;display:flex}.similar-item.is-best{border-color:#2563eb;box-shadow:0 0 0 1px #2563eb33}.similar-rank{color:#9ca3af;min-width:1.5rem;font-weight:700}.similar-body{flex:1}.similar-head{align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.similar-name{font-weight:600}.chip{color:#4b5563;background:#f3f4f6;border-radius:999px;padding:.15rem .5rem;font-size:.72rem}.chip-best{color:#1e40af;background:#dbeafe}.score-bar{background:#f3f4f6;border-radius:6px;height:1.1rem;position:relative;overflow:hidden}.score-fill{background:linear-gradient(90deg,#60a5fa,#2563eb);height:100%}.score-num{color:#1f2937;font-size:.72rem;font-weight:600;line-height:1.1rem;position:absolute;top:0;right:.5rem}.signal-row{flex-wrap:wrap;gap:.75rem;margin-top:.4rem;display:flex}.signal{color:#6b7280;font-size:.72rem}.signal b{color:#374151}.tree-actions{margin-bottom:1rem}.tree-actions a.compare-button{align-items:center;text-decoration:none;display:inline-flex}.tree-figure{border:1px solid var(--border);background:#fff;border-radius:12px;max-height:75vh;padding:1rem;overflow:auto}.tree-figure img{width:100%;max-width:1550px;height:auto;margin:0 auto;display:block}.pair-mode{align-items:center;gap:.4rem;margin-top:-.5rem;display:flex}.pair-mode-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-right:.15rem;font-size:.72rem;font-weight:700}.pair-mode-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:.25rem .7rem;font-size:.78rem;font-weight:600}.pair-mode-btn:hover{border-color:var(--accent);color:var(--accent-hover)}.pair-mode-btn.active{background:var(--accent-tint);border-color:var(--accent);color:var(--accent-hover)}.pair-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:-.5rem;display:flex}.pair-chip{border:1px solid var(--border);background:var(--bg);border-radius:8px;align-items:center;gap:.45rem;max-width:22rem;padding:.3rem .5rem .3rem .35rem;font-size:.8rem;display:inline-flex}.pair-chip.empty{color:var(--text-muted);border-style:dashed}.pair-slot{background:var(--accent);color:#fff;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:.68rem;font-weight:700;display:inline-flex}.pair-chip.empty .pair-slot{background:var(--border);color:var(--text-muted)}.pair-name{text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,Menlo,monospace;font-size:.75rem;overflow:hidden}.pair-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 .1rem;line-height:1}.pair-remove:hover{color:#b4232a}.pair-swap{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:8px;padding:.3rem .6rem;font-size:.78rem;font-weight:600}.pair-swap:hover:not(:disabled){border-color:var(--accent);color:var(--accent-hover)}.pair-swap:disabled{opacity:.45;cursor:not-allowed}.verdict-actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.9rem 0 .2rem;display:flex}.export-row{flex-wrap:wrap;align-items:center;gap:.4rem;display:inline-flex}.export-note{color:var(--text-muted);max-width:34rem;font-size:.72rem}.export-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:.72rem;font-weight:700}.recommendation-downloads{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem;display:flex}.schema-diff-absent{margin-top:.9rem;font-size:.85rem}.port-contracts-warning{border:1px solid var(--minor);background:var(--minor-bg);color:var(--text);border-left-width:4px;border-radius:6px;margin-top:.9rem;padding:.7rem .9rem;font-size:.85rem}.port-contracts-warning strong{color:var(--minor)}.port-contracts-warning p{margin:.35rem 0 0}.schema-diff{padding-top:.6rem}.diff-filter{flex-wrap:wrap;gap:.35rem;margin:.5rem 0 .8rem;display:inline-flex}.diff-filter .toggle{border:1px solid var(--border);cursor:pointer;border-radius:999px;padding:.2rem .65rem;font-size:.75rem}.diff-entries{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.diff-entry{border:1px solid var(--border);background:var(--surface);border-left-width:4px;border-radius:8px;padding:.6rem .75rem}.diff-entry.impact-major{border-left-color:#b4232a}.diff-entry.impact-minor{border-left-color:#b8860b}.diff-entry.impact-patch{border-left-color:#2e7d32}.diff-entry.impact-unknown{border-left-color:var(--border)}.diff-entry-head{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.diff-type{letter-spacing:.03em;background:var(--bg);color:var(--text-muted);border-radius:5px;padding:.1rem .4rem;font-size:.72rem;font-weight:700}.diff-type.diff-add{color:#2e7d32}.diff-type.diff-remove{color:#b4232a}.diff-type.diff-change{color:#b8860b}.diff-entry-path{color:var(--text-h);overflow-wrap:anywhere;flex:1;min-width:0;font-family:ui-monospace,Menlo,monospace;font-size:.78rem}.diff-entry-message{color:var(--text-muted);margin:.4rem 0 0;font-size:.82rem}.diff-recs{color:var(--text-muted);flex-direction:column;gap:.25rem;margin:.5rem 0 0;padding-left:0;font-size:.78rem;list-style:none;display:flex}.tree-svg-holder svg{width:100%;max-width:1550px;height:auto;margin:0 auto;display:block}.tree-legend{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.legend-item{border-radius:999px;padding:.1rem .5rem;font-size:.72rem;font-weight:600}.legend-visited{color:#1e40af;border:1px solid var(--accent);background:#dbeafe}.legend-leaf{color:#14532d;background:#bbf7d0;border:1px solid #15803d}.legend-note{font-size:.75rem}.verdict-meta dd{overflow-wrap:anywhere}.explain{border:1px solid var(--border);border-left:4px solid var(--accent);background:var(--surface);border-radius:10px;margin-bottom:1rem;padding:1rem 1.15rem}.explain-headline{color:var(--text-h);margin:0 0 .35rem;font-size:1.05rem}.explain-meaning{color:var(--text);margin:0 0 .75rem}.explain-next{background:var(--accent-tint);border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:.5rem;padding:.5rem .7rem;display:flex}.explain-next-label{letter-spacing:.06em;text-transform:uppercase;color:var(--accent-hover);font-size:.68rem;font-weight:700}.explain-caveat{color:var(--text-muted);margin:.6rem 0 0;font-size:.85rem}.explain-reasoning{margin-top:.8rem}.explain-reasoning>summary,.pipeline-explainer>summary{cursor:pointer;color:var(--text-muted);font-size:.85rem;font-weight:600}.explain-steps{color:var(--text);flex-direction:column;gap:.3rem;margin:.6rem 0 0;padding-left:1.2rem;font-size:.88rem;display:flex}.pipeline-steps{flex-direction:column;gap:.5rem;margin:.7rem 0 0;padding-left:1.2rem;font-size:.85rem;display:flex}.pipeline-steps li strong{color:var(--text-h);display:block}.pipeline-steps li span{color:var(--text-muted)}.batch-screen{flex-direction:column;flex:1;min-width:0;display:flex}.batch-modes{align-self:flex-start;margin:1.5rem 2rem -1rem}.batch-progress .verdict-meta{margin-top:1rem}.batch-phase{align-items:center;gap:.6rem;margin-bottom:.6rem;display:flex}.batch-bar{height:10px}.batch-spinner{border:2px solid var(--accent-tint);border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.8s linear infinite batch-spin}.batch-tick{background:#15803d;border-radius:50%;flex-shrink:0;width:14px;height:14px}@keyframes batch-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.batch-spinner{animation:none}}.batch-filter{margin:.8rem 0 1rem}.skipped-list{color:var(--text-muted);flex-direction:column;gap:.25rem;margin:.6rem 0 0;padding-left:1.2rem;font-size:.82rem;display:flex}.findings{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.finding{border:1px solid var(--border);background:var(--surface);border-radius:10px;overflow:hidden}.finding-head{text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0;border:none;align-items:center;gap:.7rem;padding:.65rem .85rem;display:flex}.finding-head:hover{background:var(--bg)}.finding-pair{white-space:nowrap;text-overflow:ellipsis;max-width:30rem;font-family:ui-monospace,Menlo,monospace;font-size:.78rem;overflow:hidden}.finding-title{min-width:0;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.85rem;overflow:hidden}.finding-score,.finding-caret{color:var(--text-muted);font-size:.78rem}.chip-block{color:#991b1b;background:#fee2e2}.finding-body{border-top:1px solid var(--border);padding:.5rem .85rem 1rem}.topology-pair{grid-template-columns:repeat(auto-fit,minmax(26rem,1fr));align-items:start;gap:1.2rem;display:grid}.topology-pair>.topology{margin-bottom:0}.topology{border:1px solid var(--border);background:var(--surface);border-radius:10px;margin-bottom:1.2rem;padding:1.1rem 1.3rem 1.3rem}.topo-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.1rem;display:flex}.topo-head h3{color:var(--text-h);margin:0 0 .2rem;font-size:1.05rem}.topo-head p{margin:0;font-size:.82rem}.topo-grid{grid-template-columns:1fr;gap:.5rem;display:grid}.merged-topology .topo-grid{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.75rem}.merged-topology .topo-column{min-width:0}.merged-topology .topo-row{width:100%}.merged-topology .topo-row .topo-card{width:100%;max-width:25rem}.merged-topology .topo-centre{flex-direction:row;justify-content:center;align-items:center;gap:.5rem;display:flex}.merged-topology .topo-arrow{flex-shrink:0}.topo-column-title{letter-spacing:.08em;color:var(--text-muted);margin:0 0 .6rem;font-size:.7rem;font-weight:700}.topo-list{flex-direction:column;gap:.8rem;margin:0;padding:0;list-style:none;display:flex}.topo-row{align-items:center;display:flex}.topo-row .topo-card{flex:auto;min-width:0;max-width:100%}.topo-flow{flex-direction:column;align-items:center;padding:.15rem 0;display:flex}.topo-line{border-left:1px dashed var(--accent);opacity:.5;height:1.1rem}.topo-card{border:1px solid var(--border);border-left:4px solid var(--accent);background:var(--surface);border-radius:8px;padding:.6rem .8rem;position:relative;box-shadow:0 1px 3px #0f172a0f}.topo-card-movable{cursor:grab}.topo-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.topo-card-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.topo-kind{letter-spacing:.07em;color:var(--accent);font-size:.66rem;font-weight:700}.topo-type{color:var(--text-muted);font-size:.72rem}.topo-port-name{color:var(--text-h);margin:.3rem 0 .5rem;font-weight:600}.topo-contract{border-top:1px solid var(--border);flex-direction:column;gap:.15rem;padding-top:.45rem;display:flex}.topo-contract-name{color:var(--text);font-size:.85rem}.topo-version{color:var(--patch);margin-left:.4rem;font-size:.78rem}.topo-id{color:var(--text-muted);word-break:break-all;align-items:center;gap:.3rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;display:inline-flex}.topo-copy{cursor:pointer;color:var(--text-muted);background:0 0;border:0;padding:0 .15rem;font-size:.8rem}.topo-copy:hover{color:var(--accent)}.topo-contract.missing{border-top-color:var(--minor)}.topo-missing-flag{color:var(--minor);font-size:.72rem;font-weight:600}.topo-nocontract,.topo-empty{color:var(--text-muted);margin:.3rem 0 0;font-size:.78rem;font-style:italic}.topo-centre{flex-direction:column;align-items:center;display:flex}.topo-arrow{color:var(--text-muted);font-size:1.1rem;line-height:1}.topo-product{color:#e2e8f0;text-align:center;background:#0f172a;border-radius:10px;flex-direction:column;align-items:center;gap:.35rem;min-width:15rem;padding:1rem 1.2rem;display:flex;box-shadow:0 6px 18px #0f172a40}.topo-product .topo-kind{color:#93b4f5}.topo-product-name{color:#fff;font-size:1.25rem}.topo-product-meta{gap:.9rem;margin:0;font-size:.76rem;display:flex}.topo-product-meta div{gap:.25rem;display:flex}.topo-product-meta dt{color:#93a4bd}.topo-product-meta dd{color:#cbd5e1;margin:0;font-weight:600}.topo-product .topo-id,.topo-product .topo-copy{color:#93b4f5}.topo-contracts-table{border-top:1px solid var(--border);margin-top:1.4rem;padding-top:.9rem}.topo-contracts-table h4{letter-spacing:.08em;color:var(--accent);margin:0 0 .6rem;font-size:.72rem;font-weight:700}.topo-contracts-table table{border-collapse:collapse;width:100%;font-size:.83rem}.topo-contracts-table th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border);padding:.35rem .5rem;font-weight:600}.topo-contracts-table td{border-bottom:1px solid var(--border);padding:.4rem .5rem}.topo-row-missing{background:var(--minor-bg)}.artifact-badge{letter-spacing:.06em;border:1px solid var(--border);color:var(--text-muted);background:0 0;border-radius:4px;padding:.1rem .45rem;font-size:.68rem;font-weight:700;display:inline-block}.artifact-odps{color:#5b5bd6;background:#eeeefb;border-color:#c9c9f4}.artifact-odcs{color:#1a7f5c;background:#e7f7f0;border-color:#bfe5d6}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.topo-table-note{margin:.6rem 0 0;font-size:.8rem}@media (width<=900px){.merged-topology .topo-grid{grid-template-columns:1fr}.merged-topology .topo-centre{flex-direction:column;gap:.25rem}}.rec-diagram{border:1px solid var(--border);background:var(--surface);border-radius:10px;margin-bottom:1rem;padding:1.1rem 1.3rem}.rec-edge{grid-template-columns:minmax(0,1fr) minmax(8rem,2fr) minmax(0,1fr);align-items:center;gap:.8rem;display:grid}.rec-node{border:1px solid var(--border);border-left:4px solid var(--accent);background:var(--surface);border-radius:8px;flex-direction:column;gap:.2rem;min-width:0;padding:.7rem .9rem;display:flex}.rec-node strong{color:var(--text-h);word-break:break-word}.rec-node-kind{letter-spacing:.08em;color:var(--accent);font-size:.62rem;font-weight:700}.rec-link{text-align:center;flex-direction:column;align-items:center;gap:.15rem;min-width:0;display:flex}.rec-link-label{letter-spacing:.03em;text-transform:uppercase;color:var(--text-h);font-size:.78rem;font-weight:700}.rec-link-line{border-top:2px dashed var(--accent);opacity:.6;width:100%;margin:.25rem 0;position:relative}.rec-link-line:after{content:"";border:4px solid #0000;border-left-color:var(--accent);position:absolute;top:-5px;right:-1px}.rec-link-leaf{color:var(--text-muted);font-size:.72rem}.rec-outcome-row{flex-direction:column;align-items:center;margin-top:.2rem;display:flex}.rec-outcome-stem{border-left:2px dashed var(--accent);opacity:.6;width:0;height:.9rem}.rec-outcome{border:1px solid var(--border);background:#f8fafc;border-radius:999px;align-items:center;gap:.6rem;padding:.5rem .8rem;display:flex}.rec-outcome-action{text-transform:uppercase;letter-spacing:.04em;color:#fff;white-space:nowrap;background:#1f2937;border-radius:6px;padding:.25rem .55rem;font-size:.72rem;font-weight:700}.action-merge .rec-outcome-action{background:#7c3aed}.action-replace .rec-outcome-action{background:#b91c1c}.action-version_upgrade .rec-outcome-action{background:#2563eb}.action-create_new .rec-outcome-action{background:#059669}.action-review .rec-outcome-action{background:#d97706}.action-exclude .rec-outcome-action,.action-no_action .rec-outcome-action{background:#6b7280}.rec-outcome-title{color:var(--text-h);font-size:.88rem}.rec-qualifiers{flex-wrap:wrap;justify-content:center;gap:.35rem;margin:.7rem 0 0;display:flex}.rec-qualifier{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border:1px dashed var(--border);border-radius:999px;padding:.15rem .5rem;font-size:.7rem}.rec-feedback{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem .75rem;margin-top:.8rem;padding-top:.8rem;display:flex}.rec-feedback-prompt{color:var(--text-h);font-size:.82rem;font-weight:600}.rec-feedback-actions{gap:.5rem;display:flex}.rec-feedback .btn-secondary{white-space:nowrap}.rec-feedback-note{text-align:right;width:100%;color:var(--text-muted);margin:0;font-size:.8rem}.rec-feedback-error{color:var(--major)}.feedback-subject{color:var(--text-h);margin:0 0 1rem;font-size:.85rem}.feedback-subject .panel-section-label{margin-bottom:.15rem;display:block}.rec-path{border-top:1px solid var(--border);flex-direction:column;align-items:center;gap:.1rem;max-width:100%;margin-top:1rem;padding-top:.8rem;display:flex}.rec-path-item{flex-direction:column;align-items:center;gap:.15rem;max-width:100%;display:flex}.rec-path-arrow{color:var(--text-muted);margin:.05rem 0 .05rem .35rem;font-size:.9rem;line-height:1}.rec-chip{border:1px solid var(--border);background:var(--unknown-bg);cursor:help;white-space:normal;overflow-wrap:anywhere;border-radius:999px;flex-wrap:wrap;align-items:baseline;gap:.3rem;max-width:min(20rem,100%);padding:.2rem .5rem;font-size:.72rem;display:inline-flex}.rec-chip-label{color:var(--text-h);font-weight:700}.rec-chip-step{color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;max-width:22rem;font-weight:700;overflow:hidden}.rec-chip-answer{color:var(--text-muted);white-space:nowrap}.rec-chip.tone-yes{background:var(--patch-bg);border-color:var(--patch)}.rec-chip.tone-yes code{color:var(--patch)}.rec-chip.tone-no{background:var(--unknown-bg);border-color:var(--unknown)}.rec-chip.tone-leaf{background:var(--accent-tint);border-color:var(--accent);font-weight:600}.rec-chip.tone-leaf code{color:var(--accent)}@media (width<=760px){.rec-edge{grid-template-columns:1fr}.rec-link-line{display:none}}.merged-topology{border-left:4px solid var(--accent)}.merged-none h3{color:var(--text-h);margin:0 0 .3rem;font-size:1.05rem}.merged-none p{margin:0}.merged-origin{letter-spacing:.05em;text-transform:uppercase;background:var(--unknown-bg);color:var(--unknown);white-space:nowrap;border-radius:999px;padding:.1rem .4rem;font-size:.62rem;font-weight:700}.merged-origin.origin-both{background:var(--patch-bg);color:var(--patch)}.merged-card.origin-both{border-left-color:var(--patch)}.merged-card.merged-internal{border-style:dashed;border-left-color:var(--unknown);background:var(--unknown-bg);opacity:.9}.merged-internal-note{color:var(--text-muted);margin:.4rem 0 0;font-size:.7rem;font-style:italic}.merged-product{background:#0b2545}.merged-flow,.merged-shared{color:#93b4f5;font-size:.72rem}.merged-shared-tag{letter-spacing:.05em;text-transform:uppercase;background:var(--patch-bg);color:var(--patch);border-radius:999px;margin-left:.4rem;padding:.1rem .35rem;font-size:.62rem;font-weight:700}.merged-survives{color:#93b4f5;margin-top:.35rem;font-size:.72rem;display:block}.status-badge{letter-spacing:.05em;text-transform:uppercase;color:#475569;background:#94a3b82e;border-radius:999px;margin-right:.3rem;padding:.1rem .4rem;font-size:.62rem;font-weight:700;display:inline-block}.status-badge.status-active{color:#15803d;background:#16a34a24}.status-badge.status-retired,.status-badge.status-deprecated{color:#b91c1c;background:#dc26261f}.status-badge.status-draft{color:#b45309;background:#d9770624}.merged-survives .status-badge.status-active{color:#86efac;background:#4ade802e}.merged-survives .status-badge.status-retired,.merged-survives .status-badge.status-deprecated{color:#fca5a5;background:#f871712e}.artifact-changing{font-weight:600}.shared-topo{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:0;display:grid;position:relative}.shared-rows{grid-template-rows:1fr 1fr;grid-template-columns:auto auto auto;justify-content:start;align-items:center;gap:1rem 0;min-width:0;display:grid}.shared-row-ports{flex-direction:column;gap:.6rem;min-width:0;margin:0;padding:0;list-style:none;display:flex}.shared-row-ports:not(:empty){flex:auto;padding:0 .4rem}.shared-row-ports .topo-row{align-items:center;gap:.15rem;display:flex}.shared-row-ports .topo-row .topo-card{flex:auto;max-width:none}.shared-row-ports .topo-row .topo-line{display:none}.shared-row-ports:empty{min-height:1px}.shared-product{flex:none;gap:.2rem;min-width:15rem;max-width:22rem;padding:.8rem 1rem}.shared-product .topo-product-name{word-break:break-word;font-size:1.05rem}.shared-port-role{color:#93b4f5;font-size:.72rem}.shared-card-col{flex-direction:column;justify-content:center;align-self:stretch;gap:1rem;display:flex}.shared-card-col-input{padding-right:4.5rem}.shared-card-col-output{padding-left:4.5rem}.shared-card-cell{flex:auto;align-items:center;display:flex}.shared-connectors{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.shared-connectors-behind{z-index:0}.shared-connectors-over{z-index:3}.shared-connectors path{fill:none;stroke:var(--accent);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;opacity:.75}.shared-connectors polygon{fill:var(--accent);opacity:.85}.shared-product{z-index:2;position:relative}.shared-movable{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;position:relative}.shared-movable:active{cursor:grabbing}.shared-movable:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.shared-movable:active,.shared-movable:focus-visible{z-index:4}.shared-contract-card{border-left-color:var(--patch);cursor:default;flex-direction:column;flex:0 0 19rem;gap:.2rem;max-width:19rem;display:flex}.shared-contract-card.missing{border-left-color:var(--minor);background:var(--minor-bg)}.shared-contract-card .topo-port-name{margin:.2rem 0 .15rem}.shared-contract-link{align-self:flex-start;margin-top:.35rem;padding:.45rem .8rem;font-size:.78rem}.shared-contract-ref{flex-direction:column;gap:.1rem;display:flex}.shared-contract-ref+.shared-contract-ref{border-top:1px solid var(--border);margin-top:.5rem;padding-top:.5rem}.shared-equivalent-note{color:var(--text-muted);margin:.35rem 0 0;font-size:.7rem;font-style:italic}@media (width<=1100px){.shared-topo{grid-template-columns:1fr;gap:1rem}.shared-rows{grid-template-rows:auto;grid-template-columns:1fr;justify-content:stretch;row-gap:.6rem}.shared-connectors{display:none}.shared-card-col-input,.shared-card-col-output{padding:0}.shared-product,.shared-contract-card{flex:auto;max-width:none}}.result-step-head{align-items:flex-start;gap:.8rem;margin-bottom:.9rem;display:flex}.result-step-head h2{margin:0}.result-step-number{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.7rem;height:1.7rem;margin-top:.15rem;font-size:.85rem;font-weight:700;display:inline-flex}.result-step-blurb{color:var(--text-muted);margin:.15rem 0 0;font-size:.88rem}.result-technical{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:.4rem .9rem}.result-technical>summary{cursor:pointer;color:var(--accent);padding:.5rem 0;font-size:.88rem;font-weight:600}.result-technical[open]>summary{border-bottom:1px solid var(--border);margin-bottom:.8rem}
