.pane.view{position:relative}.model-fields{z-index:12;border:1px solid var(--border);background:var(--surface-1,var(--bg));width:min(760px,100%);min-height:0;color:var(--text);flex-direction:column;font-size:12px;display:flex;position:absolute;inset:44px 0 0 auto;box-shadow:-12px 0 40px #0005}.model-fields>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:14px;padding:16px;display:flex}.model-fields h2{margin:0 0 5px;font-size:17px}.model-fields p{overflow-wrap:anywhere;line-height:1.5}.model-fields>header p{color:var(--text-muted);margin:0}.model-fields button{font:inherit;cursor:pointer}.model-fields-search{flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;display:flex}.model-fields-search>input{flex:1;min-width:130px}.model-fields-search label{align-items:center;gap:5px;display:flex}.model-fields-body{flex:1;min-height:0;display:flex}.model-fields-body nav{border-right:1px solid var(--border);width:36%;min-width:130px;overflow:auto}.model-fields-body nav button{text-align:left;border:0;border-bottom:1px solid var(--border);width:100%;color:var(--text);overflow-wrap:anywhere;background:0 0;flex-direction:column;gap:5px;padding:10px;display:flex}.model-fields-body nav button[aria-pressed=true]{background:var(--surface-3);border-left:3px solid var(--accent,#80aaff)}.model-fields small{color:var(--text-muted);overflow-wrap:anywhere;font-size:10px}.model-fields-detail{flex:1;min-width:0;padding:16px;overflow:auto}.model-fields-detail h3{margin:0;font-size:16px}.model-fields-detail fieldset{border:0;flex-direction:column;gap:8px;padding:16px 0;display:flex}.model-fields-detail fieldset>label{color:var(--text-muted);margin-top:9px}.model-fields-detail legend{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.model-fields input,.model-fields textarea{font:inherit;color:var(--text);background:var(--surface-2,var(--bg));border:1px solid var(--border);box-sizing:border-box;border-radius:4px;max-width:100%;padding:8px}.model-fields textarea{resize:vertical;min-height:80px}.model-fields .model-fields-source{width:100%;min-height:240px;font-family:monospace}.model-fields-note{color:var(--text-muted);font-size:11px}.model-fields [role=alert]{color:var(--danger,#faa)}.model-fields [role=status]{padding:0 16px}.model-fields-detail form button{margin:8px 8px 0 0}.inline-edit-btn{opacity:.8!important}.sysml-ide{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.ide-toolbar{border-bottom:1px solid var(--border);background:var(--surface-2);flex-wrap:wrap;gap:4px;padding:5px 8px;display:flex}.ide-toolbar button,.ide-outline button{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:4px;padding:4px 7px;font-size:11px}.ide-toolbar button[aria-pressed=true]{outline:1px solid var(--accent)}.ide-editor{flex:1;min-height:0;overflow:hidden}.ide-status{border-top:1px solid var(--border);color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;gap:8px;padding:5px 8px;font-size:11px;display:flex}.ide-outline{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;max-height:160px;padding:6px;display:flex;overflow:auto}.ide-outline small{color:var(--text-muted)}.sysml-ide .cm-tooltip{max-width:min(500px,85vw)}.sysml-ide .cm-diagnosticText{white-space:pre-wrap}.sysml-ide .cm-panel.cm-panel-lint{max-height:180px}.sysml-ide .cm-diagnosticAction{color:var(--text);background:var(--surface-3)}.sysml-ide .cm-content{tab-size:4}.ide-symbol-panel{border-bottom:1px solid var(--border);background:var(--surface-2);max-height:42%;padding:8px;font-size:12px;overflow:auto}.ide-symbol-panel header{justify-content:space-between;align-items:start;gap:8px;display:flex}.ide-symbol-panel strong{overflow-wrap:anywhere}.ide-symbol-panel p{white-space:pre-wrap;margin:6px 0}.ide-symbol-panel button{color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:4px;padding:4px 7px}.ide-symbol-panel input{color:var(--text);background:var(--surface);border:1px solid var(--border);max-width:70%;margin:4px;padding:4px}.ide-reference-list,.ide-rename-changes{margin:8px 0;padding:0;list-style:none}.ide-reference-list button{text-align:left;width:100%;margin-bottom:4px}.ide-reference-list code{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text-muted);display:block}.ide-rename-changes li{margin:8px 0}.ide-rename-changes pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:2px 0;padding:4px}.ide-before{background:#df414119}.ide-after{background:#248b461c}.ide-symbol-panel [role=alert]{color:var(--error,#b42318)}.agent-account{color:var(--text);box-sizing:border-box;min-width:0;max-width:1120px;height:100%;margin:auto;padding:20px;font-size:14px;line-height:1.6;overflow:auto}.account-page{padding:48px 28px 72px}.account-heading{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.account-heading h1{letter-spacing:-.035em;margin:10px 0;font-size:clamp(25px,3vw,38px);line-height:1.15}.account-heading p{color:var(--text-muted)}.account-eyebrow{letter-spacing:.12em;text-transform:uppercase;font-size:11px}.agent-account a{color:inherit;text-underline-offset:3px}.account-banner{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:12px 16px}.account-error{color:var(--danger)}.account-balance{justify-content:space-between;align-items:center;gap:20px;padding:28px 0;display:flex}.account-balance span,.account-balance strong{display:block}.account-balance strong{letter-spacing:-.05em;font-size:44px;line-height:1.3}.account-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:18px;display:grid}.account-card{border:1px solid var(--border);background:var(--surface);border-radius:10px;min-width:0;margin-bottom:18px;padding:24px}.account-card h2{margin:0 0 10px;font-size:18px}.account-card h3{font-size:15px}.account-card p{color:var(--text-muted)}.agent-account label{margin:14px 0;font-weight:500;display:block}.agent-account input,.agent-account select,.agent-account textarea{box-sizing:border-box;border:1px solid var(--border-strong);background:var(--surface);width:100%;color:var(--text);font:inherit;border-radius:6px;margin:6px 0;padding:10px;display:block}.agent-account textarea{resize:vertical;min-height:110px}.agent-account button,.account-button{font:inherit;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:6px;padding:9px 13px;font-weight:500;text-decoration:none;display:inline-block}.agent-account button:disabled{opacity:.5;cursor:not-allowed}.agent-account small{color:var(--text-muted);font-size:12px;font-weight:400;display:block}.account-list{margin:16px 0;padding:0;list-style:none}.account-list>li{border-top:1px solid var(--border);overflow-wrap:anywhere;justify-content:space-between;gap:16px;padding:14px 0;display:flex}.account-job>div{min-width:0}.account-tag{border:1px solid var(--border);color:var(--text-muted);border-radius:4px;margin-left:7px;padding:1px 6px;font-size:11px;font-weight:400;display:inline-block}.agent-account pre{white-space:pre-wrap;max-width:100%;font:12px/1.5 var(--font-mono);background:var(--surface-2);padding:12px;overflow:auto}.account-estimate{border-top:1px solid var(--border);margin-top:20px}.account-estimate dl>div{justify-content:space-between;padding:5px 0;display:flex}.account-estimate dd{font-variant-numeric:tabular-nums}.account-secret{background:var(--surface-2);border-radius:6px;margin:16px 0;padding:12px}.account-actions{flex-wrap:wrap;gap:10px;display:flex}.account-table{overflow:auto}.account-table table{border-collapse:collapse;text-align:left;width:100%}.account-table td,.account-table th{border-bottom:1px solid var(--border);vertical-align:top;padding:12px 8px}.account-table th{color:var(--text-muted);font-size:12px}@media (max-width:760px){.account-grid{grid-template-columns:1fr}.account-page{padding:24px 16px}.account-heading{flex-direction:column;gap:0}.account-card{padding:18px}.account-balance{flex-wrap:wrap}.account-job{flex-direction:column}}.connect-clients{flex-wrap:wrap;gap:7px;margin:20px 0;display:flex}.connect-clients button{font-size:12px}.connect-clients button[aria-pressed=true]{background:var(--text);color:var(--surface);border-color:var(--text)}.connect-steps{padding-left:22px}.connect-steps>li{padding:0 0 22px 6px}.connect-steps h3{margin-bottom:8px}.connect-snippet{border:1px solid var(--border);background:var(--surface-2);border-radius:7px;margin:12px 0;padding:12px}.connect-snippet pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 12px;padding:0}.connect-snippet button{font-size:12px}.connect-url{overflow-wrap:anywhere;font-size:12px;display:block}.connect-advanced{border-top:1px solid var(--border);padding-top:18px}.account-connect summary{cursor:pointer;font-weight:500}.account-connect details p{font-size:13px}.account-connect{align-self:start}.agent-panel{min-height:0;color:var(--text);flex-direction:column;gap:12px;padding:12px;font-size:13px;display:flex;overflow-y:auto}.agent-header h2{margin:0 0 4px;font-size:15px}.agent-header,.agent-prompt,.agent-run{flex-direction:column;gap:6px;display:flex}.agent-prompt textarea{resize:vertical;width:100%;font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:4px;padding:6px 8px}.agent-actions{background:var(--bg);align-items:center;gap:8px;padding:4px 0;display:flex;position:sticky;bottom:0}.agent-panel button{font:inherit;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:4px;padding:4px 10px}.agent-panel button:disabled{opacity:.55;cursor:default}.agent-panel button.agent-primary{background:var(--accent);border-color:var(--accent);color:var(--surface)}.agent-panel button.agent-link{color:var(--accent);background:0 0;border:none;padding:0 4px;text-decoration:underline}.agent-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.agent-row input{min-width:0;font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:4px;flex:1;padding:4px 6px}.agent-muted{color:var(--text-muted);margin:0}.agent-error{color:var(--danger);margin:0}.agent-billing,.agent-billing-line{margin:0}.agent-billing-line{color:var(--text-muted);flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.agent-buy{border:1px solid var(--border);background:var(--surface);border-radius:4px;flex-direction:column;gap:6px;padding:8px;display:flex}.agent-packs{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.agent-packs li{justify-content:space-between;align-items:center;gap:8px;display:flex}.agent-activity{margin:0;font-weight:600}.agent-activity-live:before{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px;margin-right:6px;animation:1.2s ease-in-out infinite agent-pulse;display:inline-block}@keyframes agent-pulse{50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.agent-activity-live:before,.agent-part-current .agent-dot,.agent-stage-current .agent-dot{animation:none}}.agent-payment{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);padding:10px}.agent-payment p{margin:0}.agent-section h3{margin:4px 0;font-size:13px}.agent-parts,.agent-stages,.agent-diags{margin:0;padding:0;list-style:none}.agent-part{grid-template-columns:12px minmax(0,1fr) auto;align-items:center;column-gap:6px;padding:2px 0;display:grid}.agent-part-purpose{color:var(--text-muted);grid-column:2/4;font-size:12px}.agent-part-name{font-family:var(--font-mono);overflow-wrap:anywhere}.agent-part-status,.agent-stage-status{color:var(--text-muted);font-size:12px}.agent-dot{border:1.5px solid var(--text-muted);border-radius:50%;width:8px;height:8px}.agent-part-writing .agent-dot,.agent-part-written .agent-dot,.agent-stage-writing .agent-dot,.agent-stage-repairing .agent-dot{border-color:var(--accent);background:var(--accent)}.agent-part-current .agent-dot,.agent-stage-current .agent-dot{animation:1.2s ease-in-out infinite agent-pulse}.agent-part-current .agent-part-name{font-weight:700}.agent-part-validated .agent-dot,.agent-stage-clean .agent-dot{border-color:var(--ok);background:var(--ok)}.agent-part-validated .agent-part-status,.agent-stage-clean .agent-stage-status{color:var(--ok)}.agent-part-unverified .agent-dot,.agent-stage-errors .agent-dot{border-color:var(--danger);background:var(--danger)}.agent-stage{border-bottom:1px solid var(--border);padding:4px 0}.agent-stage-head{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.agent-stage details summary{cursor:pointer;color:var(--text-muted);font-size:12px}.agent-diag{padding:2px 0;font-size:12px}.agent-diag-where{font-family:var(--font-mono)}.agent-diag-error .agent-diag-where{color:var(--danger)}.agent-diag-warning .agent-diag-where{color:var(--warn)}.agent-tail{max-height:160px;font-family:var(--font-mono);white-space:pre-wrap;background:var(--surface-2);border-radius:4px;margin:4px 0 0;padding:6px;font-size:11px;overflow:auto}.agent-metrics{grid-template-columns:max-content minmax(0,1fr);gap:2px 10px;margin:0;display:grid}.agent-metrics dt{color:var(--text-muted)}.agent-metrics dd{margin:0}.agent-apply{border:1px solid var(--accent);background:var(--surface);border-radius:4px;padding:8px}.agent-apply p{margin:0 0 6px}.agent-payment button{margin-top:6px}.model-picker{border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-direction:column;gap:6px;padding:10px;display:flex}.model-row{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.model-field{color:var(--text-muted);flex-direction:column;flex:1;gap:4px;min-width:9rem;font-size:12px;display:flex}.model-effort{flex:0 0 8rem;min-width:7rem}.model-field select,.model-field input{font:13px var(--font-ui);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;width:100%;padding:6px 8px}.model-field select:focus,.model-field input:focus{border-color:var(--accent);outline:none}.model-status{color:var(--text-muted);margin:0;font-size:12px;line-height:1.45}.model-status-warn{color:var(--text);font-weight:500}.model-keys{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding-top:4px;display:flex}.model-check{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:flex}.model-keys-toggle{align-self:flex-start}.agent-preview-banner{border-bottom:1px solid var(--border,#888);background:var(--panel,#f5f5f5);flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.65rem .8rem;font-size:.8rem;display:flex}.agent-preview-banner strong,.agent-preview-banner [role=status]{flex-basis:100%}.signal-editor{background:var(--surface);min-height:0;color:var(--text);padding:0 16px 20px;font-size:13px;overflow:auto}.signal-editor>p{color:var(--text-muted)}.signal-editor label{flex-direction:column;gap:5px;font-size:12px;display:flex}.signal-editor select,.signal-editor input:not([type=checkbox]),.signal-editor textarea{background:var(--surface-2);color:var(--text);border:1px solid var(--border);min-width:0;font:inherit;border-radius:5px;padding:7px}.signal-editor textarea{font-family:monospace}.signal-workspace{grid-template-columns:minmax(150px,230px) minmax(0,1fr);gap:20px;margin-top:16px;display:grid}.signal-list>button{text-align:left;border:1px solid var(--border);background:var(--surface);width:100%;color:inherit;cursor:pointer;border-radius:6px;flex-direction:column;gap:4px;margin:4px 0;padding:9px;display:flex}.signal-list>button.selected{border-color:var(--accent);background:var(--surface-2)}.signal-list p,.signal-list small{color:var(--text-muted);font-size:11px}.signal-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}.signal-form{max-width:750px}.signal-form fieldset{border:1px solid var(--border);border-radius:6px;margin:12px 0;padding:12px}.signal-form h3{margin-top:0}.signal-form .signal-toggle{flex-direction:row;align-items:center;margin:12px 0}.signal-form output{overflow-wrap:anywhere;margin:10px 0;font-family:monospace;display:block}.signal-form small,.signal-form fieldset p{color:var(--text-muted);font-size:11px}.signal-pack{align-items:end;gap:10px;display:flex}.signal-error{color:var(--danger)}@media (max-width:800px){.signal-workspace{grid-template-columns:1fr}.signal-list{max-height:180px;overflow:auto}}.ibd-editbar{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;align-items:center;gap:6px;padding:7px 10px;font-size:11px;display:flex}.ibd-editbar select{border:1px solid var(--border);background:var(--surface);max-width:220px;color:var(--text);border-radius:5px;padding:5px}.ibd-editbar span{color:var(--text-muted)}.ibd-editbar button[aria-pressed=true]{background:var(--accent);color:var(--accent-contrast)}.ibd-wire:focus-visible .ibd-wire-line{stroke:var(--accent);stroke-width:3px}.canvas.ibd-canvas{grid-template-rows:auto auto minmax(0,1fr)}.diagrams .diagram-workspace-bar,.diagrams .canvas-toolbar,.ibd-editbar{gap:6px;min-height:0;padding:4px 10px}.diagrams .diagram-workspace-bar .ghost-btn,.diagrams .canvas-toolbar .ghost-btn,.ibd-editbar .ghost-btn{padding:3px 8px;font-size:12px}.diagrams .diagram-workspace-bar .hint,.ibd-editbar .ibd-hint{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--text-muted);flex:1 1 0;font-size:11px;overflow:hidden}.ibd-contracts{max-width:100%}.ibd-contracts[open]{flex-basis:100%;max-height:240px;padding:8px;overflow:auto}.ibd-contracts p{margin:6px 0}.ibd-contracts ul{margin:4px 0 12px}.diagrams .canvas-subtitle{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.semantic-view{box-sizing:border-box;height:100%;color:var(--text);padding:20px;overflow:auto}.semantic-view header{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:20px;display:flex}.semantic-view h2{margin:0 0 8px;font-size:19px}.semantic-view p{line-height:1.5}.semantic-view header label{gap:6px;display:grid}.semantic-view input:not([type=checkbox]){background:var(--surface);min-width:220px;color:inherit;border:1px solid var(--border);border-radius:5px;padding:8px}.semantic-controls{flex-wrap:wrap;gap:20px;margin:16px 0;display:flex}.semantic-scroll{overflow-x:auto}.semantic-view table{border-collapse:collapse;width:100%;font-size:12px}.semantic-view th,.semantic-view td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;overflow-wrap:anywhere;padding:12px}.semantic-view th{font-weight:600}.semantic-view small{margin-top:5px;display:block}.semantic-view ul{margin:0;padding-left:16px}.semantic-link{color:var(--accent);cursor:pointer;text-align:left;font:inherit;overflow-wrap:anywhere;background:0 0;border:0;padding:0}.semantic-link:disabled{color:inherit;cursor:default}.semantic-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.semantic-muted{opacity:.65}.semantic-view{position:relative}.semantic-view .inline-edit{vertical-align:middle}.semantic-view td>.inline-edit{margin:5px 0;display:flex}.semantic-view li{margin-bottom:8px}.ontology-workspace{height:100%;min-height:0;color:var(--text,#dee4ee);background:var(--bg,#10151d);flex-direction:column;display:flex}.ontology-heading{justify-content:space-between;align-items:center;gap:16px;padding:18px 20px 12px;display:flex}.ontology-heading h2{margin:0;font-size:20px}.ontology-heading p{color:var(--text-muted);margin:5px 0 0;font-size:12px}.ontology-toolbar,.ontology-relations{border-bottom:1px solid var(--border,#2c3544);flex-wrap:wrap;align-items:center;gap:12px;padding:8px 18px;font-size:12px;display:flex}.ontology-toolbar input[type=search]{flex:1;min-width:180px}.ontology-toolbar label,.ontology-relations label{align-items:center;gap:5px;display:flex}.ontology-workspace button,.ontology-workspace input,.ontology-workspace textarea{font:inherit}.ontology-workspace button{cursor:pointer}.ontology-workspace button:disabled{opacity:.45;cursor:default}.ontology-workspace input[type=search],.ontology-workspace textarea{color:inherit;background:var(--surface);border:1px solid var(--border,#354052);border-radius:5px;padding:8px}.ontology-relations button,.ontology-canvas-tools button,.ontology-edit-actions button,.ontology-source-editor button{color:inherit;background:var(--surface);border:1px solid var(--border,#354052);border-radius:5px;padding:5px 8px}.ontology-relations>span{color:var(--text-muted)}.ontology-body{flex:1;min-height:0;display:flex}.ontology-canvas{background-image:radial-gradient(#7385a52b 1px,#0000 1px);background-size:18px 18px;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.ontology-canvas-tools{align-items:center;gap:8px;padding:10px 14px;font-size:11px;display:flex}.ontology-canvas-tools>span:first-child{color:var(--text-muted);margin-right:auto}.ontology-svg{touch-action:none;flex:1;width:100%;min-height:0;display:block}.ontology-svg marker path{fill:#91a5c4}.ontology-node{cursor:grab;outline:none}.ontology-node rect{fill:var(--surface);stroke:#526481;stroke-width:1.4px}.ontology-node.library rect{stroke-dasharray:5 3;fill:var(--bg,#121a25)}.ontology-node.selected rect,.ontology-node:focus rect{stroke:#93bcff;stroke-width:2.5px;filter:drop-shadow(0 0 7px #548ded44)}.ontology-node text{fill:var(--text,#dce5f3);pointer-events:none}.ontology-node .ontology-kind{letter-spacing:.08em;fill:#91b4ee;font-size:10px}.ontology-node .ontology-name{font-size:15px;font-weight:600}.ontology-node .ontology-package{fill:var(--text-muted);font-size:10px}.ontology-node .ontology-member{font-family:monospace;font-size:11px}.ontology-node line{stroke:#35445a}.ontology-edge path{fill:none;stroke:#647898;stroke-width:1.4px}.ontology-edge.ownership path{stroke-dasharray:5 4;opacity:.65}.ontology-edge.selected path{stroke:#a2c5ff;stroke-width:2px}.ontology-edge text{fill:#acbdd6;paint-order:stroke;stroke:var(--bg,#10151d);stroke-width:4px;stroke-linejoin:round;font-size:10px}.ontology-inspector{border-left:1px solid var(--border,#303b4c);background:var(--surface);flex-shrink:0;width:260px;padding:20px 16px;font-size:12px;overflow:auto}.ontology-inspector h3{margin:9px 0;font-size:18px}.ontology-inspector h4{margin:24px 0 10px}.ontology-inspector p{color:var(--text-muted);line-height:1.6}.ontology-qualified{overflow-wrap:anywhere}.ontology-eyebrow{color:#91b4ee;letter-spacing:.12em;font-size:10px}.ontology-edit-actions{flex-wrap:wrap;gap:6px;margin:16px 0;display:flex}.ontology-inspector ul{margin:0;padding:0;list-style:none}.ontology-inspector li{border-bottom:1px solid var(--border,#303b4c);flex-direction:column;gap:4px;padding:7px 0;display:flex}.ontology-inspector li button{color:#adc9ff;text-align:left;overflow-wrap:anywhere;background:0 0;border:0;padding:0}.ontology-inspector small{color:var(--text-muted)}.ontology-notice{background:#55451f55;margin:0;padding:8px 18px;font-size:12px}.ontology-hint{color:var(--text-muted);margin:0;padding:8px 14px;font-size:10px}.ontology-empty{max-width:80%;font-size:13px;position:absolute;top:100px;left:25px}.ontology-table{padding:15px;font-size:12px;overflow:auto}.ontology-table table{border-collapse:collapse;width:100%}.ontology-table th,.ontology-table td{text-align:left;border-bottom:1px solid var(--border,#303b4c);padding:10px}.ontology-table button{color:#adc9ff;text-align:left;background:0 0;border:0}.ontology-source-editor{z-index:4;box-sizing:border-box;background:var(--surface);border:1px solid #6787b7;border-radius:10px;width:90%;max-height:85%;padding:20px;position:absolute;top:60px;left:5%;overflow:auto;box-shadow:0 16px 50px #0008}.ontology-source-editor h3{margin-top:0}.ontology-source-editor p{font-size:12px;line-height:1.5}.ontology-source-editor textarea{box-sizing:border-box;resize:vertical;width:100%;height:250px;font:12px/1.6 monospace}.ontology-source-editor>div{justify-content:flex-end;gap:10px;margin-top:12px;display:flex}.ontology-source-editor [role=alert]{color:#ffa8a8}@media (max-width:1050px){.ontology-inspector{width:205px}.ontology-toolbar{gap:8px}.ontology-heading{padding:12px}.ontology-canvas-tools{flex-wrap:wrap}}@media (max-width:720px){.ontology-body{flex-direction:column;overflow:auto}.ontology-canvas{flex:none;height:480px}.ontology-inspector{border-left:0;border-top:1px solid var(--border,#303b4c);width:auto;overflow:visible}.ontology-toolbar input[type=search]{width:100%}}.ontology-body[hidden]{display:none}.ontology-inspector-close{float:right}.ontology-inspector{box-sizing:border-box;width:240px}.schema-mappings{flex:1;min-height:0;padding:18px;overflow:auto}.schema-intro p{color:var(--text-muted);font-size:12px;line-height:1.6}.schema-actions{flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0;display:flex}.schema-mappings label{flex-direction:column;gap:5px;min-width:0;font-size:12px;display:flex}.schema-mappings input,.schema-mappings select,.schema-mappings textarea{box-sizing:border-box;min-width:0;max-width:100%;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:7px}.schema-mappings button{color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:7px}.schema-profile-fields,.schema-rule-fields{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.schema-mappings fieldset{border:1px solid var(--border);min-width:0;margin:16px 0;padding:14px}.schema-profile-picker{max-width:480px}.schema-warning,.schema-mappings [role=alert]{color:#e98b66;font-size:12px}.schema-preview{margin-top:20px}.schema-preview textarea{width:100%;height:150px;font-family:monospace;display:block}.schema-preview pre{white-space:pre-wrap;overflow-wrap:anywhere}.schema-preview summary{cursor:pointer;margin-bottom:12px}.ontology-heading,.ontology-toolbar,.ontology-relations,.ontology-canvas-tools,.ontology-hint{flex-shrink:0}.ontology-node .ontology-kind,.ontology-node .ontology-package{fill:var(--text-muted)}.ontology-node rect{stroke:var(--border-strong)}.ontology-node.selected rect,.ontology-node:focus rect{stroke:var(--accent)}.ontology-node text{fill:var(--text)}.ontology-edge text{fill:var(--text-muted)}.ontology-inspector li button,.ontology-table button,.ontology-eyebrow{color:var(--text)}.ontology-relations button.on{color:var(--accent-contrast);background:var(--accent);border-color:var(--accent)}.ontology-toolbar .seg{flex-wrap:wrap}.ontology-inspector{max-width:42%}.ontology-workspace:has(.ontology-mapping-host:not([hidden])) .ontology-relations{display:none}.ontology-workspace:has(.ontology-mapping-host:not([hidden])) .ontology-toolbar>input{display:none}.ontology-workspace:has(.ontology-mapping-host:not([hidden])) .ontology-toolbar>label{display:none}@media (max-width:720px){.ontology-inspector{max-width:none}.ontology-canvas{height:360px;min-height:240px}}.ontology-mapping-host{flex:1;min-height:0;display:flex}.ontology-mapping-host[hidden]{display:none}.canvas.sim{background:var(--surface);height:100%}.sim-scroll{min-height:0;font:13px/1.45 var(--font-ui);color:var(--text);overflow:auto}.sim :focus-visible{outline:2px solid var(--accent);outline-offset:1px}.sim code{font:12px var(--font-mono);background:var(--surface-2);border-radius:4px;padding:1px 5px}.sim-field{font:12px var(--font-ui);color:var(--text-muted);align-items:center;gap:6px;display:inline-flex}.sim-field input{font:12.5px var(--font-ui);color:var(--text);background:var(--surface-2);font-variant-numeric:tabular-nums;border:1px solid #0000;border-radius:6px;width:6.5rem;padding:5px 8px}.sim-field input:focus{border-color:var(--accent);background:var(--surface);outline:none}.sim-play{min-width:4.5rem}.sim-readout{font:12.5px var(--font-ui);color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}.sim-banner{border:1px solid var(--border);color:var(--text-muted);background:var(--surface-2);border-radius:6px;margin:12px 16px 0;padding:8px 12px}.sim-empty{max-width:64ch;color:var(--text-muted);text-align:center;margin:0 auto;padding:40px 24px}.sim-empty p{margin:0 0 6px}.sim-empty-title{color:var(--text);font-weight:600}.sim-summary{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:stretch;gap:4px 24px;padding:14px 16px 12px;display:flex}.sim-summary-rule{background:var(--border);align-self:stretch;width:1px}.sim-stat{flex-direction:column;gap:2px;min-width:64px;display:flex}.sim-stat-value{font-variant-numeric:tabular-nums;font-size:20px;font-weight:600;line-height:1.2}.sim-stat-label{color:var(--text-muted);font-size:11.5px}.sim-stat-satisfied .sim-stat-value{color:var(--ok)}.sim-stat-violated .sim-stat-value{color:var(--danger)}.sim-stat-indeterminate .sim-stat-value{color:var(--warn)}.sim-chart{border-bottom:1px solid var(--border);padding:10px 0 4px;overflow:hidden}.sim-svg{font-family:var(--font-ui);-webkit-user-select:none;user-select:none;touch-action:none;cursor:crosshair;display:block}.sim-grid{stroke:var(--border);stroke-width:1px}.sim-tick{fill:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px}.sim-lane-label{fill:var(--text);font-size:12px;font-weight:500}.sim-lane-state{fill:var(--text-muted);font-size:11px}.sim-band rect{fill:var(--surface-2);stroke:var(--border);stroke-width:1px}.sim-band.alt rect{fill:var(--bg)}.sim-band.on rect{stroke:var(--accent);stroke-width:1.5px}.sim-band-label{fill:var(--text);pointer-events:none;font-size:11px}.sim-fired path{fill:var(--text-muted);cursor:pointer}.sim-fired:hover path{fill:var(--accent)}.sim-plot-title{fill:var(--text);font-size:12.5px;font-weight:600}.sim-plot-frame{fill:none;stroke:var(--border)}.sim-plot-now{fill:var(--text-muted);font-size:11.5px}.sim-now-satisfied{fill:var(--ok)}.sim-now-violated{fill:var(--danger)}.sim-now-indeterminate{fill:var(--warn)}.sim-axis{fill:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px}.sim-value{fill:none;stroke:var(--text);stroke-width:1.6px;stroke-linejoin:round}.sim-limit{fill:none;stroke:var(--text-muted);stroke-width:1.3px;stroke-dasharray:5 4}.sim-na{stroke:none}.sim-ind{fill:var(--chip-warn-bg)}.sim-bad{fill:var(--chip-bad-bg)}.sim-hatch-bg{fill:var(--chip-info-bg)}.sim-hatch-line{stroke:var(--border);stroke-width:2px}.sim-legend-label{fill:var(--text-muted);font-size:11px}.sim-lg-value{stroke:var(--text);stroke-width:1.6px}.sim-lg-limit{stroke:var(--text-muted);stroke-width:1.3px;stroke-dasharray:5 4}.sim-lg-na{stroke:var(--border)}.sim-lg-bad{fill:var(--chip-bad-bg);stroke:var(--danger);stroke-width:.6px}.sim-series-label{fill:var(--text);font-size:12px}.sim-series-meta{fill:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px}.sim-baseline{stroke:var(--border)}.sim-cursor{stroke:var(--accent);stroke-width:1.5px;pointer-events:none}.sim-cursor-head{fill:var(--accent);pointer-events:none}.sim-section{padding:16px 16px 4px}.sim-h{margin:0 0 4px;font-size:13px;font-weight:600}.sim-h-count{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-left:4px;font-weight:400}.sim-note{color:var(--text-muted);margin:0 0 8px;font-size:12.5px}.sim-disclose{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}.sim-caret{color:var(--text-muted);transition:transform .12s}.sim-caret.open{transform:rotate(90deg)}.sim-table{border-collapse:separate;border-spacing:0;width:100%;margin-bottom:12px}.sim-table th{text-align:left;color:var(--text-muted);letter-spacing:.02em;border-bottom:1px solid var(--border);white-space:nowrap;padding:7px 10px;font-size:11.5px;font-weight:600}.sim-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:7px 10px}.sim .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.sim-row{cursor:pointer}.sim-row:hover>td{background:var(--surface-2)}.sim-row.on>td:first-child{box-shadow:inset 2px 0 0 var(--accent)}.sim-row:focus-visible{outline-offset:-2px}.sim-id{white-space:nowrap;font-family:var(--font-mono);font-size:12px}.sim-mono{font-family:var(--font-mono);font-size:12px}.sim-iv{font-size:12.5px}.sim-muted{color:var(--text-muted)}.sim-neg{color:var(--danger)}.sim-rel{color:var(--text-muted);font-size:11.5px;display:block}.sim-jump{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.sim-jump:hover{text-decoration:underline;-webkit-text-decoration-color:var(--text-muted);text-decoration-color:var(--text-muted);text-underline-offset:2px}.sim-chip{white-space:nowrap;background:var(--chip-info-bg);color:var(--text-muted);border-radius:5px;padding:4px 7px;font-size:11.5px;font-weight:500;line-height:1;display:inline-block}.sim-chip-satisfied{background:var(--chip-ok-bg);color:var(--ok)}.sim-chip-violated{background:var(--chip-bad-bg);color:var(--danger)}.sim-chip-indeterminate{background:var(--chip-warn-bg);color:var(--warn)}.sim-notes{gap:4px;margin:0 0 12px;padding:0;list-style:none;display:grid}.sim-code{font:11.5px var(--font-mono);color:var(--text-muted);border:1px solid var(--border);border-radius:4px;margin-right:8px;padding:0 4px}.sim-code-warning{color:var(--warn);border-color:currentColor}.sim-code-error{color:var(--danger);border-color:currentColor}.odd-panel{border:1px solid var(--border);border-radius:8px;min-width:0;margin:14px 16px;padding:14px 16px;font-size:12px;line-height:1.6}.odd-bar,.odd-bar label{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.odd-bar select{border:1px solid var(--border);background:var(--surface);max-width:100%;color:inherit;border-radius:5px;padding:5px}.odd-bar button{border:1px solid var(--border);background:var(--surface);color:inherit;cursor:pointer;border-radius:5px;padding:5px 9px}.odd-meta{opacity:.7}.odd-panel p{margin:8px 0}.odd-panel details{margin-top:8px}.odd-panel summary{cursor:pointer;font-weight:600}.odd-panel code{overflow-wrap:anywhere}.odd-error{color:#bc342c}.simdata-table{border-collapse:collapse;width:100%;margin-top:6px;font-size:12px}.simdata-table th,.simdata-table td{text-align:left;border-bottom:1px solid var(--line,#ddd);padding:3px 6px}.simdata-table select{max-width:100%}.rq{background:var(--surface)}.rq-scroll{min-height:0;font:13px/1.45 var(--font-ui);color:var(--text);overflow:auto}.rq :focus-visible{outline:2px solid var(--accent);outline-offset:1px}.rq code{font:12px var(--font-mono);background:var(--surface-2);border-radius:4px;padding:1px 5px}.rq-dot{background:var(--text-muted);border-radius:50%;width:7px;height:7px;display:inline-block}.rq-dot-violated{background:var(--danger)}.rq-dot-indeterminate{background:var(--warn)}.rq-dot-satisfied{background:var(--ok)}.rq-summary{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:stretch;gap:4px 28px;padding:14px 16px 12px;display:flex}.rq-summary-rule{background:var(--border);align-self:stretch;width:1px}.rq-stat{flex-direction:column;gap:2px;min-width:64px;display:flex}.rq-stat-value{font-variant-numeric:tabular-nums;font-size:20px;font-weight:600;line-height:1.2}.rq-stat-of{color:var(--text-muted);font-size:12.5px;font-weight:400}.rq-stat-label{color:var(--text-muted);font-size:11.5px}.rq-stat-satisfied .rq-stat-value{color:var(--ok)}.rq-stat-violated .rq-stat-value{color:var(--danger)}.rq-stat-indeterminate .rq-stat-value{color:var(--warn)}.rq-table{border-collapse:separate;border-spacing:0;width:100%}.rq-table>thead th{z-index:1;background:var(--surface);text-align:left;color:var(--text-muted);letter-spacing:.02em;border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 10px;font-size:11.5px;font-weight:600;position:sticky;top:0}.rq-table>tbody>tr>td{border-bottom:1px solid var(--border);vertical-align:top;padding:7px 10px}.rq .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.rq-table>thead th.num .rq-sort{flex-direction:row-reverse}.rq-caret-col{width:28px;color:var(--text-muted);padding-right:0!important}.rq-sort{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.rq-sort:hover,.rq-sort.on{color:var(--text)}.rq-sort-mark{width:1ch;display:inline-block}.rq-row{cursor:pointer}.rq-row:hover>td{background:var(--surface-2)}.rq-row.open>td{border-bottom-color:#0000}.rq-row.related>td:first-child{box-shadow:inset 2px 0 0 var(--accent)}.rq-row:focus-visible{outline-offset:-2px}.rq-id{white-space:nowrap;font-family:var(--font-mono);font-size:12px}.rq-name{min-width:14rem}.rq-name-main{font-weight:500;display:block}.rq-doc{color:var(--text-muted);max-width:60ch;font-size:12.5px;display:block}.rq-muted{color:var(--text-muted)}.rq-neg{color:var(--danger)}.rq-rel{color:var(--text-muted);font-size:11.5px;display:block}.rq-none{color:var(--text-muted);text-align:center;padding:24px!important}.rq-caret{vertical-align:-1px;transition:transform .12s}.rq-caret.open{transform:rotate(90deg)}.rq-chip{white-space:nowrap;background:var(--chip-info-bg);color:var(--text-muted);border-radius:5px;padding:4px 7px;font-size:11.5px;font-weight:500;line-height:1;display:inline-block}.rq-chip-satisfied{background:var(--chip-ok-bg);color:var(--ok)}.rq-chip-violated{background:var(--chip-bad-bg);color:var(--danger)}.rq-chip-indeterminate{background:var(--chip-warn-bg);color:var(--warn)}.rq-jump,.rq-part{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.rq-jump:hover{text-decoration:underline;-webkit-text-decoration-color:var(--text-muted);text-decoration-color:var(--text-muted);text-underline-offset:2px}.rq-part{font-family:var(--font-mono);background:var(--surface-2);white-space:nowrap;text-overflow:ellipsis;border:1px solid #0000;border-radius:5px;max-width:100%;padding:2px 6px;font-size:12px;overflow:hidden}.rq-part:hover{border-color:var(--border)}.rq-part.selected{border-color:var(--accent);color:var(--accent)}.rq-detail>td{background:var(--bg);padding:4px 10px 12px!important}.rq-trace{flex-wrap:wrap;align-items:center;gap:6px 10px;padding:6px 0 8px;display:flex}.rq-trace-step{align-items:baseline;gap:6px;display:inline-flex}.rq-trace-k{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:600}.rq-trace-arrow{color:var(--text-muted)}.rq-sub{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:6px;width:100%}.rq-sub th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:6px 8px;font-size:11px;font-weight:600}.rq-sub td{border-bottom:1px solid var(--border);vertical-align:top;padding:6px 8px}.rq-sub tr:last-child td{border-bottom:0}.rq-role{white-space:nowrap;color:var(--text-muted)}.rq-expr{font-family:var(--font-mono);font-size:12px}.rq-reason{color:var(--text-muted);font-size:12px;display:block}.rq-inputs{gap:3px;margin:0;padding:0;list-style:none;display:grid}.rq-inputs li{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.rq-input-path{font-family:var(--font-mono);font-size:12px}.rq-input-val{font-variant-numeric:tabular-nums}.rq-src{color:var(--text-muted);border:1px solid var(--border);border-radius:4px;padding:0 4px;font-size:11px}.rq-src-unknown{color:var(--warn);border-color:currentColor}.rq-section{padding:16px 16px 4px}.rq-section .rq-sub{margin-bottom:12px}.rq-h{margin:0 0 4px;font-size:13px;font-weight:600}.rq-h-count{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-left:4px;font-weight:400}.rq-disclose{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}.rq-note{color:var(--text-muted);margin:0 0 8px;font-size:12.5px}.rq-parts{flex-wrap:wrap;gap:6px;padding-bottom:12px;display:flex}.rq-empty{max-width:64ch;color:var(--text-muted);text-align:center;margin:0 auto;padding:40px 24px}.rq-empty p{margin:0 0 6px}.rq-empty-title{color:var(--text);font-weight:600}.rq-edit{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);gap:10px;margin:4px 0 12px;padding:12px;display:grid}.rq-edit-grid{grid-template-columns:7rem minmax(0,1fr);align-items:center;gap:6px 12px;font-size:13px;display:grid}.rq-edit-k{color:var(--text-muted);font-size:12px}.rq-edit-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rq-edit-row .value-input{flex:1;min-width:14rem}.rq-edit-row .spacer{flex:1}.ghost-btn.danger{color:var(--danger)}.ifc{font:13px var(--font-ui);color:var(--text)}.ifc-scroll{background:var(--bg);min-height:0;overflow:auto}.ifc-table{border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums;width:100%;font-size:13px}.ifc-table th{z-index:1;background:var(--surface);border-bottom:1px solid var(--border);text-align:left;font:600 11px var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;padding:8px 10px;position:sticky;top:0}.ifc-table th.sortable{padding:0}.ifc-table th.num,.ifc-table td.num{text-align:right}.ifc-table td{border-bottom:1px solid var(--border);vertical-align:top;background:var(--surface);padding:7px 10px}.ifc-table tbody tr:hover td{background:var(--surface-2)}.ifc-table tr.sel td:first-child{box-shadow:inset 2px 0 0 var(--accent)}.ifc-table tr.unconnected td,.ifc-table tr.unconnected .ifc-part,.ifc-table tr.unconnected .ifc-port{color:var(--text-muted)}.ifc-sort{all:unset;box-sizing:border-box;cursor:pointer;align-items:center;gap:4px;width:100%;padding:8px 10px;display:inline-flex}.ifc-sort:hover,.ifc-sort.on{color:var(--text)}.ifc-sort:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.ifc-sort-mark{color:var(--accent);min-width:1ch;font-size:10px}.ifc-link,.ifc-part{all:unset;cursor:pointer;border-radius:3px}.ifc-link:hover,.ifc-part:hover{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.ifc-link:focus-visible,.ifc-part:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ifc-part{font-weight:500}.ifc-part.on{color:var(--accent)}.ifc-name{font-weight:500}.ifc-port,.ifc-mono{font-family:var(--font-mono);font-size:12px}.ifc-dot{color:var(--text-muted)}.ifc-end{white-space:nowrap}.ifc-role{color:var(--text-muted);margin-right:6px;font-size:11px;display:inline-block}.ifc-kind{color:var(--text-muted);margin-left:6px;font-size:11px}.ifc-muted{color:var(--text-muted)}.ifc-warn{color:var(--warn);font-size:11px}.ifc-num{font-variant-numeric:tabular-nums}.ifc-vals{flex-wrap:wrap;gap:4px 10px;display:inline-flex}.ifc-val{white-space:nowrap}.ifc-val-name{color:var(--text-muted)}.ifc-val-num{font-variant-numeric:tabular-nums}.ifc-val.unset .ifc-val-num{color:var(--text-muted);font-style:italic}.ifc-val.disagree .ifc-val-num{color:var(--warn)}.ifc-icd{align-content:start;gap:16px;padding:12px 14px 24px;display:grid}.ifc-summary{color:var(--text-muted);margin:0}.ifc-summary.bad{color:var(--danger)}.ifc-group{border:1px solid var(--border);background:var(--surface);border-radius:8px;overflow:hidden}.ifc-group .ifc-table th{position:static}.ifc-group .ifc-table tr:last-child td{border-bottom:0}.ifc-group-head{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:6px 12px;padding:10px 12px;display:flex}.ifc-group-name{font-weight:600;font-family:var(--font-mono);font-size:12.5px}.ifc-group-ends{flex-wrap:wrap;gap:4px 14px;margin-left:auto;display:inline-flex}.ifc-finding{color:var(--text-muted);max-width:32rem}.ifc-empty{max-width:34rem;color:var(--text-muted);padding:32px 20px;line-height:1.5}.ifc-empty-title{color:var(--text);margin-bottom:6px;font-weight:600}.ifc-empty p{margin:0}.ifc-empty code,.ifc code{font-family:var(--font-mono);background:var(--surface-2);border-radius:4px;padding:1px 4px;font-size:12px}.ifc-none{color:var(--text-muted);padding:20px}.bud{background:var(--bg);height:100%;font-family:var(--font-ui);color:var(--text);font-size:13px}.bud-body{align-content:start;gap:16px;min-height:0;padding:12px 14px 24px;display:grid;overflow:auto}.bud-section{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:clip}.bud-heading{font:600 12px var(--font-ui);color:var(--text-muted);margin:0;padding:10px 12px 6px}.bud-table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.bud-table th{z-index:1;background:var(--surface-2);color:var(--text-muted);text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:6px 10px;font-size:12px;font-weight:500;position:sticky;top:0}.bud-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:6px 10px}.bud-table tbody tr:last-child td{border-bottom:0}.bud-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.bud-table .bar-col{width:22%;min-width:140px}.bud-table td.bad{color:var(--danger)}.bud-row{cursor:pointer}.bud-row:hover td{background:var(--surface-2)}.bud-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.bud-row.current td,.bud-row.selected td{background:var(--surface-2)}.bud-row.current td:first-child,.bud-row.selected td:first-child{box-shadow:inset 2px 0 0 var(--accent)}.bud-row.group-start td{border-top:1px solid var(--border)}.bud-row.static{cursor:default}.bud-row.static:hover td{background:0 0}.bud-bus{font-family:var(--font-mono);font-size:12px}.bud-part{font-weight:500}.bud-part.rollup{color:var(--text-muted);font-weight:400}.bud-role,.bud-source{color:var(--text-muted);font-size:12px}.bud-role{margin-left:8px}.bud-check{font-weight:500}.bud-detail{color:var(--text-muted);font-size:12px;font-family:var(--font-mono);overflow-wrap:anywhere;display:block}.bud-none{color:var(--text-muted);font-size:12px}.bud-num{font-variant-numeric:tabular-nums;font-family:var(--font-mono);font-size:12px}.bud-indent{display:inline-block}.bud .warn{color:var(--warn)}.bud-meter{align-items:center;gap:8px;display:flex}.bud-track{background:var(--surface-2);height:6px;box-shadow:inset 0 0 0 1px var(--border);border-radius:3px;flex:1;overflow:hidden}.bud-fill{background:var(--text-muted);border-radius:3px;height:100%;display:block}.bud-fill.over{background:var(--danger)}.bud-pct{text-align:right;font-variant-numeric:tabular-nums;min-width:5ch;color:var(--text-muted);font-size:12px}.bud-pct.over{color:var(--danger)}.bud-dot{border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.bud-dot-violated{background:var(--danger)}.bud-dot-indeterminate{background:var(--warn)}.bud-sel-dot{background:var(--accent);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.bud-detail-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.bud-detail-title{gap:2px;min-width:0;display:grid}.bud-note{color:var(--text-muted);margin:0;padding:0 12px 8px;font-size:12px}.bud-sort{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.bud-sort:hover,.bud-sort.on{color:var(--text)}.bud-sort:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.bud-sort-mark{width:1ch;display:inline-block}.num .bud-sort{flex-direction:row-reverse}.bud-jump{font:11px var(--font-mono);color:var(--text-muted);cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;border-radius:4px;padding:1px 5px}.bud-jump:hover{color:var(--accent);border-color:var(--border)}.bud-jump:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.bud-empty{max-width:34rem;padding:0 16px;font-size:13px;line-height:1.55}.bud-empty p{margin:0 0 8px}.bud-empty code{font-family:var(--font-mono);background:var(--surface-2);color:var(--text);border-radius:4px;padding:1px 4px;font-size:12px}.bud-host{height:100%}.bud-checks td:first-child{width:34%}.bud-checks .bud-detail{overflow-wrap:normal;word-break:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.bom{background:var(--surface)}.bom-body{grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid}.bom-scroll{min-height:0;overflow:auto}.bom-summary{font:12px var(--font-ui);color:var(--text-muted);white-space:nowrap}.bom-summary strong{color:var(--text);font-weight:600}.bom-num{font-variant-numeric:tabular-nums}.bom-muted{color:var(--text-muted)}.bom-notice{font:12.5px var(--font-ui);color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--surface-2);padding:6px 12px}.bom-notice code,.bom-empty code{font:12px var(--font-mono);color:var(--text)}.bom-empty{text-align:center;max-width:34rem;padding:0 16px;line-height:1.5}.bom-empty p{margin:0 0 6px}.bom-table{border-collapse:separate;border-spacing:0;width:100%;font:13px var(--font-ui);color:var(--text)}.bom-table th{z-index:1;background:var(--surface);color:var(--text-muted);text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:7px 10px;font-size:12px;font-weight:500;position:sticky;top:0}.bom-table td{border-bottom:1px solid var(--border);white-space:nowrap;vertical-align:middle;padding:5px 10px}.bom-table .n{text-align:right;font-variant-numeric:tabular-nums}.bom-table tbody tr{cursor:pointer}.bom-table tbody tr:hover{background:var(--surface-2)}.bom-table tbody tr:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.bom-table tbody tr.on{background:var(--surface-2);box-shadow:inset 2px 0 0 var(--accent)}.bom-table tbody tr.on .bom-name{color:var(--accent);font-weight:600}.bom-table tfoot td{background:var(--surface);border-top:1px solid var(--border);border-bottom:0;font-weight:600;position:sticky;bottom:0}.bom-col-part{width:1%;min-width:12rem}.bom-indent{align-items:center;gap:4px;display:inline-flex}.bom-twist{width:18px;height:18px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;padding:0;display:inline-grid}.bom-twist:hover{color:var(--text);background:var(--surface)}.bom-twist:focus-visible{outline:2px solid var(--accent)}.bom-twist svg{transition:transform .12s}.bom-twist svg.open{transform:rotate(90deg)}.bom-twist-gap{width:18px;display:inline-block}.bom-jump{font:inherit;color:inherit;cursor:pointer;text-align:inherit;background:0 0;border:0;padding:0}.bom-jump:hover .bom-def,.bom-jump:hover .bom-num{text-underline-offset:2px;text-decoration:underline}.bom-jump:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:3px}.bom-def{font-family:var(--font-mono);font-size:12px}.bom-variant{color:var(--text-muted);font-size:12px}.bom-mass{justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.bom-src{color:var(--text-muted);background:var(--chip-info-bg);font-variant-numeric:normal;border-radius:4px;margin-left:6px;padding:0 5px;font-size:10.5px;line-height:16px;display:inline-block}.bom-mass .bom-src{text-align:center;min-width:4.8em;margin-left:0}.bom-src-unknown,.bom-src-none{color:var(--warn);background:var(--chip-warn-bg)}.bom-incomplete{color:var(--warn);font-variant-numeric:tabular-nums;margin-left:6px;font-size:11px}.bom-parts{text-overflow:ellipsis;max-width:22rem;overflow:hidden}.bom-part-on{color:var(--accent);font-weight:600}.bom-sort{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.bom-sort:hover,.bom-sort.on{color:var(--text)}.bom-sort:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.bom-sort-mark{width:.8em;display:inline-block}.sf-root{color:var(--text);font-size:13px}.sf-body{background:var(--surface);min-height:0;overflow:auto}.sf-tally{font-variant-numeric:tabular-nums}.sf-bad{color:var(--danger)}.sf-warn{color:var(--warn)}.sf-muted{color:var(--text-muted)}.sf-mono,.sf-mono-cell{font-family:var(--font-mono);font-size:12px}.sf-code{font-family:var(--font-mono);background:var(--surface-2);border:1px solid var(--border);white-space:nowrap;border-radius:4px;padding:1px 5px;font-size:12px}.sf-empty{max-width:34rem;color:var(--text-muted);padding:24px;line-height:1.55}.sf-empty p{margin:0 0 10px}.sf-empty-title{color:var(--text);font-size:14px;font-weight:600}.sf-sections{align-content:start;gap:20px;padding:14px 16px 24px;display:grid}.sf-h{font:600 12px var(--font-ui);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);flex-wrap:wrap;align-items:baseline;gap:8px;margin:0 0 8px;display:flex}.sf-h-count{font-variant-numeric:tabular-nums;font-weight:400}.sf-h-note{text-transform:none;letter-spacing:0;font-size:12px;font-weight:400}.sf-note{border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);border-radius:8px;padding:10px 12px;line-height:1.5}.sf-ok-note{margin:14px 16px}.sf-group{font-family:var(--font-mono);background:var(--surface-2);border:1px solid var(--border);white-space:nowrap;border-radius:4px;padding:0 6px;font-size:12px}.sf-level{text-align:center;min-width:26px;font:600 11.5px/18px var(--font-mono);background:var(--chip-info-bg);color:var(--text);border-radius:4px;margin:0 4px;display:inline-block}.sf-tag{color:var(--text-muted);border:1px solid var(--border);white-space:nowrap;border-radius:999px;padding:0 7px;font-size:11px;line-height:17px}.sf-part{font:500 13px var(--font-ui);color:var(--text);cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);text-underline-offset:3px;background:0 0;border:0;padding:0}.sf-part:hover{-webkit-text-decoration-color:var(--text-muted);text-decoration-color:var(--text-muted)}.sf-part.on{color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.sf-part:focus-visible,.sf-line:focus-visible,.sf-issue-main:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.sf-line{font:11.5px var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:1px 5px}.sf-line:hover{color:var(--accent);border-color:var(--border)}.sf-line-none{min-width:1px;display:inline-block}.sf-issues{border:1px solid var(--border);border-radius:8px;margin:0;padding:0;list-style:none;overflow:hidden}.sf-issue{border-bottom:1px solid var(--border);align-items:flex-start;gap:8px;padding-right:8px;display:flex}.sf-issue:last-child{border-bottom:0}.sf-issue:hover{background:var(--surface-2)}.sf-issue.touched{box-shadow:inset 2px 0 0 var(--accent)}.sf-issue .sf-line{margin-top:8px}.sf-issue-main{cursor:pointer;text-align:left;flex:1;grid-template-columns:auto minmax(0,1fr);gap:3px 10px;min-width:0;padding:8px 12px;display:grid}.sf-issue-main>.chip{text-align:center;grid-row:1/span 3;align-self:start;min-width:76px;margin-top:1px}.sf-issue-head{line-height:20px}.sf-issue-sub{color:var(--text-muted);font-size:12.5px}.sf-issue-sub .sf-part{font-size:12.5px}.sf-fix{color:var(--text-muted);font-size:12.5px}.sf-fix:before{content:"Fix: ";color:var(--text);font-weight:500}.sf-table-wrap{border:1px solid var(--border);border-radius:8px;max-height:none;overflow:auto}.sf-table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.sf-table th{z-index:1;background:var(--surface-2);color:var(--text-muted);font:600 11.5px var(--font-ui);text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none;padding:7px 10px;position:sticky;top:0}.sf-table th.sortable{cursor:pointer}.sf-table th.sortable:hover,.sf-table th.sorted{color:var(--text)}.sf-sort{margin-left:4px}.sf-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:6px 10px}.sf-table tbody tr:last-child td{border-bottom:0}.sf-table tbody tr{cursor:pointer}.sf-table tbody tr:hover td{background:var(--surface-2)}.sf-table tbody tr.on td{background:color-mix(in srgb, var(--accent) 10%, var(--surface))}.sf-table tbody tr.on td:first-child,.sf-table tbody tr.touched td:first-child{box-shadow:inset 2px 0 0 var(--accent)}.sf-table .num{text-align:right;font-variant-numeric:tabular-nums}.sf-name{font-weight:500}.sf-path{font-family:var(--font-mono);color:var(--text-muted);font-size:11.5px;display:block}.sf-counts{font-variant-numeric:tabular-nums;gap:8px;display:inline-flex}.sf-plain{border:1px solid var(--border);border-radius:8px;margin:0;padding:0;list-style:none}.sf-plain li{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:6px 10px;display:flex}.sf-plain li:last-child{border-bottom:0}.sf-plain .spacer,.sf-members .spacer,.sf-card-head .spacer{flex:1}.sf-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.sf-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-content:start;display:grid}.sf-card-head{border-bottom:1px solid var(--border);background:var(--surface-2);border-radius:8px 8px 0 0;align-items:center;gap:8px;padding:8px 10px;display:flex}.sf-group-title{background:var(--surface);font-weight:600}.sf-card-title{font-weight:600}.sf-members{margin:0;padding:4px 0;list-style:none}.sf-members li{cursor:pointer;align-items:center;gap:6px;padding:3px 10px 3px 6px;display:flex}.sf-members li:hover{background:var(--surface-2)}.sf-members li.on{background:color-mix(in srgb, var(--accent) 10%, var(--surface));box-shadow:inset 2px 0 0 var(--accent)}.sf-crossings{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;display:flex}.sf-crossings-label{color:var(--text-muted);margin-right:2px;font-size:11.5px}.sf-crossing{font:12px var(--font-mono);border:1px solid var(--border);border-radius:999px;align-items:center;gap:5px;padding:0 8px;line-height:19px;display:inline-flex}.sf-crossing-n{font-variant-numeric:tabular-nums;color:var(--text-muted)}.sf-crossing.bad{border-color:color-mix(in srgb, var(--danger) 45%, var(--border));background:var(--chip-bad-bg)}.sf-crossing.bad .sf-crossing-n{color:var(--danger)}.sf-analysis{max-width:46rem;line-height:1.55}.sf-facts{font-variant-numeric:tabular-nums;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;display:grid}.sf-facts dt{color:var(--text-muted)}.sf-facts dd{margin:0}.sf-needs{margin:0;padding-left:18px}.sf-needs li{margin-bottom:4px}.sf-foot{margin:0;font-size:12.5px}.rv{background:var(--surface)}.rv-total{font-variant-numeric:tabular-nums;margin-right:4px}.rv-library{border:1px solid var(--border);background:0 0}.rv-library.on{background:var(--surface-2)}.rv-library:focus-visible,.rv-sort:focus-visible,.rv-part:focus-visible,.rv-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:4px}.rv-scroll{background:var(--surface);min-height:0;overflow:auto}.rv-table{border-collapse:separate;border-spacing:0;width:100%;font:13px var(--font-ui);color:var(--text)}.rv-table thead th{z-index:2;background:var(--surface);border-bottom:1px solid var(--border);font:600 11px var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);text-align:left;white-space:nowrap;padding:0;position:sticky;top:0}.rv-table thead th:not(:has(button)){padding:8px 12px}.rv-sort{font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;width:100%;text-align:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:8px 12px;display:inline-flex}.rv-sort:hover{color:var(--text)}.rv-sort-mark{color:var(--accent);min-width:1ch}.rv-table th.rv-col-value .rv-sort,.rv-table th.rv-col-line .rv-sort{justify-content:flex-end}.rv-table td{border-bottom:1px solid var(--border);vertical-align:baseline;padding:5px 12px}.rv-group th{z-index:1;background:var(--surface-2);border-bottom:1px solid var(--border);text-align:left;padding:5px 12px;font-weight:500;position:sticky;top:31px}.rv-selected .rv-group th,.rv-selected .rv-row td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.rv-part{font:500 12.5px var(--font-mono);color:var(--text);cursor:pointer;background:0 0;border:0;padding:0}.rv-part:hover{color:var(--accent)}.rv-part-none{font-family:var(--font-ui);color:var(--text-muted);cursor:default}.rv-part-none:hover{color:var(--text-muted)}.rv-group-count{font:12px var(--font-ui);color:var(--text-muted);font-variant-numeric:tabular-nums;margin-left:8px}.rv-row{cursor:pointer}.rv-row:hover td{background:var(--surface-2)}.rv-col-item{min-width:12rem}.rv-item{font:12.5px var(--font-mono);color:var(--text);cursor:pointer;text-align:left;overflow-wrap:anywhere;background:0 0;border:0;padding:0}.rv-row:hover .rv-item{color:var(--accent)}.rv-kind{color:var(--text-muted);margin-left:8px;font-size:11.5px}.rv-col-cat{white-space:nowrap;width:1%}.rv-col-value{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;width:1%}.rv-unit,.rv-none{color:var(--text-muted)}.rv-col-basis{color:var(--text-muted);min-width:16rem}.rv-col-line{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-muted);white-space:nowrap;width:1%}.rv-empty{max-width:38rem;font:13px/1.55 var(--font-ui);color:var(--text-muted);margin:48px auto;padding:0 24px}.rv-empty-title{color:var(--text);margin-bottom:4px;font-weight:600}.rv-empty code{font-family:var(--font-mono);color:var(--text);font-size:12px}.rp-canvas{background:var(--bg)}.rp-scroll{min-height:0;overflow:auto}.report-doc{max-width:1040px;font:13px/1.5 var(--font-ui);color:var(--text);margin:0 auto;padding:24px 28px 48px}.report-doc h1{letter-spacing:-.01em;align-items:center;gap:10px;margin:0 0 4px;font-size:22px;font-weight:600;display:flex}.report-doc h2{border-bottom:1px solid var(--border);align-items:baseline;gap:8px;margin:0 0 8px;padding-bottom:6px;font-size:15px;font-weight:600;display:flex}.report-doc h3{align-items:baseline;gap:8px;margin:14px 0 6px;font-size:13px;font-weight:600;display:flex}.report-doc code{font:12px var(--font-mono);background:var(--surface-2);border-radius:4px;padding:0 4px}.rp-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0 0 4px;font-size:11px}.rp-muted{color:var(--text-muted)}.rp-sub{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-left:6px;font-size:11.5px;font-weight:400}.rp-count{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12px;font-weight:400}.rp-mono{font:12px var(--font-mono)}.rp-bad{color:var(--danger)}.rp-section{margin-top:28px;scroll-margin-top:12px}.rp-group+.rp-group{margin-top:10px}.rp-empty{color:var(--text-muted);margin:4px 0}.rp-empty-block{text-align:center;max-width:520px;padding:0 16px;line-height:1.6}.rp-empty-block code{font:12px var(--font-mono);background:var(--surface-2);border-radius:4px;padding:0 4px}.rp-stats{background:var(--border);border:1px solid var(--border);border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:16px 0 0;display:grid;overflow:hidden}.rp-stats>div{background:var(--surface);min-width:0;padding:10px 12px}.rp-stats dt{color:var(--text-muted);font-size:11px}.rp-stats dd{font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:17px;font-weight:600;overflow:hidden}.rp-stats dd.rp-sub{white-space:normal;margin-left:0;font-size:11.5px;font-weight:400}.rp-stats .rp-link{font-size:15px;font-weight:600}.rp-table{border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--border);border-radius:8px;width:100%;font-size:13px}.rp-table th{z-index:1;background:var(--surface);text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:6px 10px;font-size:11.5px;font-weight:600;position:sticky;top:0}.rp-table th:first-child{border-top-left-radius:8px}.rp-table th:last-child{border-top-right-radius:8px}.rp-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:6px 10px}.rp-table tbody tr:last-child td{border-bottom:0}.rp-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.rp-table th.num .rp-sort{justify-content:flex-end;width:100%}.rp-w-status{width:110px}.rp-row{cursor:pointer}.rp-row:hover td{background:var(--surface-2)}.rp-row.selected td{background:color-mix(in srgb, var(--accent) 10%, transparent)}.rp-row.selected td:first-child{box-shadow:inset 2px 0 0 var(--accent)}.rp-sort{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.rp-sort:hover,.rp-sort.on{color:var(--text)}.rp-sort:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.rp-sort-mark{width:8px;color:var(--accent);display:inline-block}.rp-doc{color:var(--text-muted);margin-top:2px;font-size:12px}.rp-expr{font:11.5px var(--font-mono);color:var(--text-muted);margin-top:2px}.rp-pct{color:var(--text-muted);font-size:11.5px;display:block}.rp-neg{color:var(--danger)}.rp-link{font:inherit;color:var(--text);cursor:pointer;text-align:left;text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);text-underline-offset:2px;background:0 0;border:0;padding:0}.rp-link:hover{color:var(--accent);text-decoration-color:currentColor}.rp-link.on{color:var(--accent);font-weight:600}.rp-link:focus-visible,.rp-attr:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.rp-subjects,.rp-ends{font-size:12.5px}.rp-subjects .rp-link+.rp-link:before{content:", ";color:var(--text-muted);white-space:pre;text-decoration:none;display:inline-block}.rp-end{align-items:baseline;gap:2px;display:inline-flex}.rp-arrow{color:var(--text-muted);margin:0 6px}.rp-attrs{flex-wrap:wrap;gap:4px;display:flex}.rp-states{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.rp-attr{font:11.5px var(--font-ui);font-variant-numeric:tabular-nums;color:var(--text);background:var(--surface-2);cursor:pointer;white-space:nowrap;border:0;border-radius:4px;padding:1px 6px}.rp-attr:hover:not(:disabled){box-shadow:inset 0 0 0 1px var(--accent)}.rp-attr:disabled{cursor:default}.rp-attr-k{color:var(--text-muted)}.rp-attr.unknown{background:var(--chip-warn-bg);color:var(--warn)}.rp-attr.initial{box-shadow:inset 0 0 0 1px var(--text-muted)}.rp-part{white-space:nowrap}@media (max-width:760px){.rp-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.report-doc{padding:16px}}@media print{:is(:has(>.report-doc),:has(.report-doc)){background:0 0!important;height:auto!important;min-height:0!important;max-height:none!important;display:block!important;overflow:visible!important}:has(.report-doc)>:not(:has(.report-doc)):not(.report-doc){display:none!important}.report-doc{max-width:none;padding:0}.rp-section{break-before:page}.rp-table{border-radius:0}.rp-table th{position:static}.rp-table tr{break-inside:avoid}.rp-row:hover td{background:0 0}.rp-link{text-decoration:none}}.canvas-editor{z-index:5;box-sizing:border-box;border:1px solid var(--border,#555);background:var(--surface,#20242b);width:min(310px,100% - 24px);max-height:calc(100% - 24px);color:var(--text,#eee);border-radius:8px;padding:12px;font-size:12px;position:absolute;top:12px;right:12px;overflow:auto;box-shadow:0 4px 20px #0004}.canvas-editor strong{overflow-wrap:anywhere;margin-bottom:8px;display:block}.canvas-editor p{opacity:.85;font-size:11px;line-height:1.5}.canvas-editor label{min-width:0;display:block}.canvas-editor input,.canvas-editor select{box-sizing:border-box;width:100%;min-width:0;margin:4px 0}.canvas-editor fieldset{border:1px solid var(--border,#555);margin:8px 0;padding:6px}.canvas-editor-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.canvas-editor-tools{flex-wrap:wrap;gap:4px;margin-bottom:10px;display:flex}.canvas-editor button{cursor:pointer;margin-right:3px;padding:5px 7px}.canvas-editor button[aria-pressed=true]{outline:2px solid var(--accent,#69b9ff)}.canvas-editor [role=alert]{color:var(--error,#faa)}.canvas-editor{width:auto;max-width:calc(100% - 24px);padding:8px 12px;top:auto;bottom:12px}.canvas-editor[open]{width:310px}.canvas-editor summary{cursor:pointer;overflow-wrap:anywhere;font-weight:600}.canvas-editor[open] summary{margin-bottom:10px}.canvas-editor,.canvas-editor[open]{width:100%;max-width:none;max-height:none;box-shadow:none;margin:12px 0;position:static;overflow:visible}.pane.view{grid-template-columns:auto minmax(0,1fr)}.pane.view>*{grid-column:2}.pane.view>.model-tree,.pane.view>.tree-rail{grid-area:1/1/-1}.model-tree{border-right:1px solid var(--border);background:var(--surface);width:clamp(12rem,17vw,17rem);min-height:0;font:13px var(--font-ui);color:var(--text);grid-template-rows:auto auto minmax(0,1fr);display:grid}.model-tree-head{border-bottom:1px solid var(--border);min-height:40px;color:var(--text-muted);justify-content:space-between;align-items:center;padding:0 6px 0 12px;font-size:12px;font-weight:600;display:flex}.model-tree-search{border-bottom:1px solid var(--border);padding:8px}.model-tree-search input{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);width:100%;color:var(--text);font:inherit;padding:6px 8px;font-size:12.5px}.model-tree-search input:focus-visible{border-color:var(--border-strong);box-shadow:0 0 0 1px var(--border-strong);outline:none}.model-tree-list{min-height:0;margin:0;padding:4px 0 12px;list-style:none;overflow:auto}.model-tree-empty{color:var(--text-muted);margin:12px;font-size:12px;line-height:1.5}.model-tree-row{cursor:default;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:5px;min-height:26px;padding-right:8px;display:flex}.model-tree-row:hover{background:var(--surface-2)}.model-tree-row[aria-selected=true]{background:var(--surface-3)}.model-tree-row:focus-visible{box-shadow:inset 0 0 0 1px var(--border-strong);outline:none}.model-tree-row.is-group{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin-top:6px;font-size:11px;font-weight:600}.model-tree-row.is-group .model-tree-detail{letter-spacing:0;font-weight:500}.model-tree-twisty{width:14px;height:14px;color:var(--text-faint);cursor:pointer;flex:none;place-items:center;display:inline-grid}.model-tree-twisty.is-leaf{cursor:default}.model-tree-label{text-overflow:ellipsis;min-width:0;overflow:hidden}.model-tree-detail{color:var(--text-faint);flex:none;margin-left:auto;padding-left:8px;font-size:11.5px}.model-tree-verdict{border-radius:50%;flex:none;width:6px;height:6px}.model-tree-verdict.violated{background:var(--danger)}.model-tree-verdict.indeterminate{background:var(--warn)}.model-tree-field{flex-direction:column;flex:1;gap:2px;min-width:0;display:inline-flex}.model-tree-field input{box-sizing:border-box;border:1px solid var(--border-strong);background:var(--surface);width:100%;color:var(--text);font:inherit;border-radius:4px;padding:2px 6px}.model-tree-add{padding:2px 8px 4px 0;display:flex}.model-tree-error{color:var(--danger);white-space:normal;margin:0;padding:2px 8px 4px 28px;font-size:11.5px;line-height:1.4}.model-tree-field .model-tree-error{padding:0}.model-tree-menu{z-index:40;min-width:12rem;position:fixed;top:0;left:0}.tree-rail{border:0;border-right:1px solid var(--border);background:var(--surface);width:40px;color:var(--text-muted);font:600 12px var(--font-ui);cursor:pointer;flex-direction:column;align-items:center;gap:10px;padding:12px 0;display:flex}.tree-rail span{writing-mode:vertical-rl;letter-spacing:.02em;transform:rotate(180deg)}.tree-rail:hover{color:var(--text);background:var(--surface-2)}@media (max-width:800px){.pane.view{grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.pane.view>.model-tree,.pane.view>.tree-rail{grid-area:auto/1}.pane.view>*{grid-column:1}.model-tree{border-right:0;border-bottom:1px solid var(--border);width:auto;max-height:9rem}.tree-rail{border-right:0;border-bottom:1px solid var(--border);flex-direction:row;justify-content:center;width:auto;padding:8px 0}.tree-rail span{writing-mode:horizontal-tb;transform:none}}.model-tree-modes{border-radius:var(--radius-sm);background:var(--surface-2);gap:2px;padding:2px;display:inline-flex}.model-tree-modes button{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:3px 8px;font-size:11.5px;font-weight:600}.model-tree-modes button.is-on{background:var(--surface);color:var(--text);box-shadow:0 0 0 1px var(--border)}.model-tree-modes button:focus-visible{box-shadow:0 0 0 1px var(--border-strong);outline:none}.model-tree-glyph{color:var(--text-faint);flex:none}.model-tree-row[data-kind=package] .model-tree-label{font-weight:600}.model-tree-row[data-library]{color:var(--text-muted)}.model-tree{resize:horizontal;min-width:12rem;max-width:45vw;overflow:hidden}.model-tree-row{position:relative}.model-tree-row[data-drop=before]:before,.model-tree-row[data-drop=after]:after{content:"";background:var(--text);pointer-events:none;border-radius:1px;height:2px;position:absolute;left:18px;right:6px}.model-tree-row[data-drop=before]:before{top:-1px}.model-tree-row[data-drop=after]:after{bottom:-1px}.model-tree-row[data-drop=into]{box-shadow:inset 0 0 0 1.5px var(--text);background:var(--surface-2);border-radius:4px}.model-tree-row[data-dragged]{opacity:.45}.model-tree-row[data-cut] .model-tree-label{opacity:.5;font-style:italic}.model-tree-row[draggable=true]{cursor:grab}.model-tree-list.is-dragging .model-tree-row{cursor:grabbing}.model-tree-menu button{justify-content:space-between;align-items:center;gap:16px;display:flex}.model-tree-menu .menu-hint{font:11px var(--font-ui);color:var(--text-faint);background:0 0;border:0;padding:0}.spec-dialog{width:min(620px,100vw - 32px);font-size:13px;overflow:auto}.spec-dialog .connect-head{justify-content:space-between}.spec-dialog .connect-head>div{min-width:0}.spec-dialog .connect-head p{overflow-wrap:anywhere;margin:0}.spec-dialog section{margin-top:16px}.spec-dialog .subhead{margin:0 0 6px}.spec-grid{border:1px solid var(--border);border-radius:var(--radius-sm);margin:0;display:grid}.spec-grid+.spec-grid{margin-top:8px}.spec-row{grid-template-columns:9rem minmax(0,1fr);align-items:center;min-height:30px;display:grid}.spec-row+.spec-row{border-top:1px solid var(--border)}.spec-row dt{background:var(--surface-2);color:var(--text-muted);align-self:stretch;align-items:center;padding:4px 10px;font-size:12px;display:flex}.spec-row dd{overflow-wrap:anywhere;min-width:0;margin:0;padding:4px 10px}.spec-meta-head dt{color:var(--text);font-weight:600}.spec-doc{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text);font:13px var(--font-ui);resize:vertical;padding:6px 8px}.spec-actions{align-items:center;gap:8px;margin-top:6px;display:flex}.spec-meta-add{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.spec-meta-add select,.spec-meta-add input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:4px 6px;font-size:12.5px}.spec-meta-add input{flex:8rem;min-width:0}.spec-members{columns:2 12rem;column-gap:16px;margin:0;padding:0;list-style:none}.spec-members li{break-inside:avoid;padding:2px 0}.spec-foot{border-top:1px solid var(--border);align-items:center;gap:8px;margin-top:18px;padding-top:12px;display:flex}.spec-foot-gap{flex:1}@media (max-width:520px){.spec-row{grid-template-columns:minmax(6rem,38%) minmax(0,1fr)}}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f4f5;--surface:#fff;--surface-2:#f4f4f5;--surface-3:#e9e9ec;--border:#e4e4e7;--border-strong:#d4d4d8;--text:#18181b;--text-muted:#71717a;--text-faint:#a1a1aa;--accent:#18181b;--accent-contrast:#fff;--danger:#b42318;--ok:#3f3f46;--warn:#a15c07;--viewport-bg:#ececee;--viewport-top:#f7f7f8;--viewport-bottom:#e2e2e5;--overlay-bg:#fafafaf0;--grid-major:#b4b4bb;--grid-minor:#dcdce0;--edge-ink:#18181b;--shadow:#18181b;--shadow-opacity:.16;--placeholder-solid:#9f9fa9;--part-1:#a1a1aa;--part-2:#b4b4bb;--part-3:#9a9a9f;--part-4:#8b8b93;--part-5:#c2c2c8;--part-6:#a8a8ae;--part-7:#93939b;--part-8:#babac0;--part-9:#adadb3;--part-10:#85858d;--part-neutral:#a8a8b0;--heat-1:#d9d9de;--heat-2:#b4b4bb;--heat-3:#8b8b93;--heat-4:#5e5e66;--heat-5:#2f2f35;--heat-supply:#fafafa;--asil-qm:#e4e4e7;--asil-a:#c4c4ca;--asil-b:#9f9fa7;--asil-c:#6f6f78;--asil-d:#3a3a40;--verdict-violated:#c4321f;--verdict-indeterminate:#c98a1b;--select:#fff;--select-edge:#18181b;--hover:#d4d4d8;--ghost:#18181b;--estimated-edge:#52525b;--fov-fill:#71717a;--fov-edge:#3f3f46;--mark-bg:#18181b14;--chip-ok-bg:#f4f4f5;--chip-bad-bg:#f4f4f5;--chip-warn-bg:#f4f4f5;--chip-info-bg:#f4f4f5;--radius:8px;--radius-sm:6px;--shadow-sm:0 1px 2px #18181b0f;--shadow-md:0 8px 24px #18181b1f, 0 1px 3px #18181b14;--font-ui:"Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#09090b;--surface:#111113;--surface-2:#18181b;--surface-3:#232327;--border:#232327;--border-strong:#303036;--text:#f4f4f5;--text-muted:#a1a1aa;--text-faint:#71717a;--accent:#f4f4f5;--accent-contrast:#09090b;--danger:#f97066;--ok:#d4d4d8;--warn:#f0b24b;--viewport-bg:#0e0e10;--viewport-top:#1a1a1d;--viewport-bottom:#0b0b0d;--overlay-bg:#0c0c0ef0;--grid-major:#3a3a40;--grid-minor:#222226;--edge-ink:#050506;--shadow:#000;--shadow-opacity:.45;--placeholder-solid:#6b6b73;--part-1:#71717a;--part-2:#83838b;--part-3:#6b6b70;--part-4:#5d5d65;--part-5:#93939a;--part-6:#77777d;--part-7:#66666e;--part-8:#8a8a91;--part-9:#7e7e84;--part-10:#56565e;--part-neutral:#6e6e76;--heat-1:#3a3a40;--heat-2:#5a5a62;--heat-3:#82828a;--heat-4:#b0b0b7;--heat-5:#e4e4e7;--heat-supply:#1c1c20;--asil-qm:#2c2c31;--asil-a:#4a4a51;--asil-b:#6f6f77;--asil-c:#a1a1a9;--asil-d:#e4e4e7;--verdict-violated:#f25f4c;--verdict-indeterminate:#f0b24b;--select:#fff;--select-edge:#fafafa;--hover:#a1a1aa;--ghost:#f4f4f5;--estimated-edge:#d4d4d8;--fov-fill:#a1a1aa;--fov-edge:#d4d4d8;--mark-bg:#f4f4f51a;--chip-ok-bg:#18181b;--chip-bad-bg:#18181b;--chip-warn-bg:#18181b;--chip-info-bg:#18181b;--shadow-sm:0 1px 2px #0006;--shadow-md:0 8px 24px #00000080, 0 1px 3px #0006}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#09090b;--surface:#111113;--surface-2:#18181b;--surface-3:#232327;--border:#232327;--border-strong:#303036;--text:#f4f4f5;--text-muted:#a1a1aa;--text-faint:#71717a;--accent:#f4f4f5;--accent-contrast:#09090b;--danger:#f97066;--ok:#d4d4d8;--warn:#f0b24b;--viewport-bg:#0e0e10;--viewport-top:#1a1a1d;--viewport-bottom:#0b0b0d;--overlay-bg:#0c0c0ef0;--grid-major:#3a3a40;--grid-minor:#222226;--edge-ink:#050506;--shadow:#000;--shadow-opacity:.45;--placeholder-solid:#6b6b73;--part-1:#71717a;--part-2:#83838b;--part-3:#6b6b70;--part-4:#5d5d65;--part-5:#93939a;--part-6:#77777d;--part-7:#66666e;--part-8:#8a8a91;--part-9:#7e7e84;--part-10:#56565e;--part-neutral:#6e6e76;--heat-1:#3a3a40;--heat-2:#5a5a62;--heat-3:#82828a;--heat-4:#b0b0b7;--heat-5:#e4e4e7;--heat-supply:#1c1c20;--asil-qm:#2c2c31;--asil-a:#4a4a51;--asil-b:#6f6f77;--asil-c:#a1a1a9;--asil-d:#e4e4e7;--verdict-violated:#f25f4c;--verdict-indeterminate:#f0b24b;--select:#fff;--select-edge:#fafafa;--hover:#a1a1aa;--ghost:#f4f4f5;--estimated-edge:#d4d4d8;--fov-fill:#a1a1aa;--fov-edge:#d4d4d8;--mark-bg:#f4f4f51a;--chip-ok-bg:#18181b;--chip-bad-bg:#18181b;--chip-warn-bg:#18181b;--chip-info-bg:#18181b;--shadow-sm:0 1px 2px #0006;--shadow-md:0 8px 24px #00000080, 0 1px 3px #0006}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);font-feature-settings:"cv11", "ss01", "tnum" 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:13.5px;line-height:1.45}::selection{background:var(--mark-bg)}.shell{background:var(--border);grid-template:"top top top""editor view side"minmax(0,1fr)"findings findings findings"minmax(0,10rem)/minmax(0,2fr) minmax(0,3fr) minmax(0,23rem);gap:1px;height:100dvh;display:grid}.topbar{background:var(--surface);grid-area:top;align-items:center;gap:10px;min-width:0;height:48px;padding:0 14px;display:flex}.brand{letter-spacing:-.01em;color:var(--text);align-items:center;gap:8px;margin-right:6px;font-size:14px;font-weight:650;display:inline-flex}.brand:before{content:"";background:var(--text);width:14px;height:14px;box-shadow:inset -5px -5px 0 0 var(--surface-3);border-radius:4px}.status{color:var(--text-faint);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 16px;min-width:0;margin-left:auto;font-size:11.5px;display:flex}.pane{background:var(--surface);grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid}.pane-header{min-height:40px;color:var(--text-muted);background:var(--surface);border-bottom:1px solid var(--border);align-items:center;padding:0 14px;font-size:12px;font-weight:600;display:flex}.pane-body{padding:8px 12px;overflow:auto}.editor{grid-area:editor}.source-wrap{background:var(--surface);min-height:0;position:relative}.source{resize:none;background:var(--surface);width:100%;height:100%;min-height:0;color:var(--text);font-family:var(--font-mono);tab-size:4;white-space:pre;overflow-wrap:normal;border:0;outline:none;margin:0;padding:14px 16px;font-size:12.5px;line-height:1.6;position:absolute;inset:0;overflow:auto}.source-mirror{color:#0000;pointer-events:none;overflow:hidden}.source-input{caret-color:var(--text);background:0 0}.source-mark{color:#0000;background:var(--mark-bg);box-shadow:0 0 0 1px var(--border-strong);border-radius:2px}.source:focus-visible{box-shadow:none}.view{grid-area:view;grid-template-rows:auto minmax(0,1fr)}.view-stage{height:100%;min-height:0;position:relative}.side{grid-area:side;grid-template-rows:minmax(0,1fr)}.findings{grid-area:findings}.viewport{background:var(--viewport-bg);background:linear-gradient(180deg, var(--viewport-top) 0%, var(--viewport-bottom) 100%);height:100%;min-height:0;position:relative;overflow:hidden}.viewport-canvas{inset:0;position:absolute!important}.viewport-overlay{text-align:center;background:var(--overlay-bg);color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex;position:absolute;inset:0}.viewport-overlay-error strong{color:var(--danger)}.viewport-overlay .hint{font-size:12px}.viewport-overlay button{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;margin-top:8px;padding:6px 14px}.muted{color:var(--text-muted);margin:0}.findings-list{margin:0;padding:0;list-style:none}.finding-status{font-weight:600}.finding-satisfied .finding-status{color:var(--ok)}.finding-violated .finding-status{color:var(--danger)}.finding-indeterminate .finding-status{color:var(--warn)}@media (max-width:1200px){.shell{grid-template:"top top""editor view"minmax(0,1fr)"editor side"minmax(0,18rem)"findings findings"minmax(0,8rem)/minmax(0,2fr) minmax(0,3fr)}}@media (max-width:800px){.shell{grid-template:"top""editor"22rem"view"24rem"side"22rem"findings"10rem/minmax(0,1fr);height:auto;min-height:100dvh}}.badge{border:1px solid var(--border);border-radius:999px;margin-left:.6rem;padding:.05rem .5rem;font-size:.72rem;font-weight:600}.badge-good{background:var(--chip-ok-bg);color:var(--ok)}.badge-bad{background:var(--chip-bad-bg);color:var(--danger)}.diag{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;grid-template-columns:4.5rem 3.5rem minmax(0,1fr);gap:.5rem;padding:.3rem .4rem;display:grid}.diag:hover,.diag:focus-visible{background:color-mix(in srgb, currentColor 8%, transparent)}.diag-loc,.diag-code{opacity:.75;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.diag-error .diag-code{color:var(--danger);opacity:1}.diag-warning .diag-code{color:var(--warn);opacity:1}.diag-hint{opacity:.7}button,select,input{font:inherit;color:inherit}button:focus-visible,select:focus-visible,input:focus-visible,[role=tab]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}button{-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}.button-row{gap:8px;margin:8px 0 4px;display:flex}.button-row button,.variants button,.edit-axes button,.tool-button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);height:28px;box-shadow:var(--shadow-sm);cursor:pointer;white-space:nowrap;align-items:center;padding:0 10px;font-size:12.5px;font-weight:500;transition:background .12s,border-color .12s;display:inline-flex}.tool-button:hover:not(:disabled),.edit-axes button:hover:not(:disabled),.button-row button:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-strong)}.tool-button:disabled,.button-row button:disabled{color:var(--text-faint);box-shadow:none}.tool-button[aria-pressed=true],.button-row button[aria-pressed=true],.tool-accent{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.link-button{color:var(--text);cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px;background:0 0;border:0;padding:0 4px;font-size:12px;font-weight:500}.link-button:hover{text-decoration-color:currentColor}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.menu{position:relative}.menu-list{z-index:30;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:14rem;box-shadow:var(--shadow-md);padding:5px;display:grid;position:absolute;top:calc(100% + 4px);left:0}.menu-list button{text-align:left;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;padding:7px 10px;font-size:13px}.menu-list button:hover:not(:disabled),.menu-list button:focus-visible{background:var(--surface-2)}.menu-list button:disabled{color:var(--text-muted);cursor:default}.notice{border:1px solid var(--border);background:var(--surface-2);min-width:0;max-width:48rem;height:30px;color:var(--text);border-radius:999px;align-items:center;gap:8px;padding:0 6px 0 12px;font-size:12.5px;display:flex}.notice span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.notice-error{color:var(--danger)}.notice-error:before{content:"";background:var(--verdict-violated);border-radius:50%;flex:none;width:6px;height:6px}.view-toolbar{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;min-width:0;padding:6px 10px;display:flex}.tool-group{gap:2px;display:inline-flex}.tool-select select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);height:28px;padding:0 8px;font-size:12.5px}.stale-banner{border:1px solid var(--border);background:var(--overlay-bg);max-width:calc(100% - 24px);box-shadow:var(--shadow-sm);color:var(--text);z-index:25;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:500;position:absolute;top:8px;left:50%;transform:translate(-50%)}.legend{border:1px solid var(--border);border-radius:var(--radius);background:var(--overlay-bg);box-shadow:var(--shadow-sm);z-index:25;gap:3px;margin:0;padding:8px 10px;font-size:11px;list-style:none;display:grid;position:absolute;bottom:8px;left:8px}.legend li{align-items:center;gap:6px;display:flex}.swatch{border:1px solid var(--border);border-radius:2px;width:12px;height:12px}.scene-tag-anchor{pointer-events:none}.scene-tag{border:1px dashed var(--estimated-edge);background:var(--overlay-bg);color:var(--text-muted);white-space:nowrap;border-radius:3px;padding:0 5px;font-size:10px;line-height:15px;display:inline-block}.scene-tag.inline{vertical-align:middle;margin-left:8px}.scene-tag.name{border-style:solid;border-color:var(--border-strong);color:var(--text);text-overflow:ellipsis;max-width:220px;font-size:11px;font-weight:500;overflow:hidden}.scene-tag.name.estimated{border-style:dashed;border-color:var(--estimated-edge)}.tabs{grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;display:grid}.tablist{background:var(--surface);border-bottom:1px solid var(--border);scrollbar-width:none;align-items:stretch;gap:4px;min-height:40px;padding:0 8px;display:flex;overflow-x:auto}.tab{cursor:pointer;color:var(--text-muted);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:0 8px;font-size:12.5px;font-weight:500;transition:color .12s}.tab:hover{color:var(--text)}.tab[aria-selected=true]{color:var(--text);border-bottom-color:var(--text)}.tabs-small .tablist{flex-wrap:wrap;overflow-x:visible}.tabs-small .tab{padding:5px 8px;font-weight:500}.tabpanel{min-height:0;overflow:auto}.tabpanel[hidden]{display:none}.panel-pad{padding:10px 12px}.small{font-size:12px}.mono{font-family:var(--font-mono);font-size:12px}.subhead{color:var(--text-muted);margin:18px 0 8px;font-size:11.5px;font-weight:600}.plain-list{margin:0;padding-left:18px}.plain-list li{margin:2px 0}.inspector-title{letter-spacing:-.01em;overflow-wrap:anywhere;margin:2px 0 12px;font-size:17px;font-weight:650}.facts{grid-template-columns:6rem minmax(0,1fr);gap:6px 12px;margin:0;font-size:13px;display:grid}.facts dt{color:var(--text-muted)}.facts dd{overflow-wrap:anywhere;margin:0}.values{border-collapse:collapse;width:100%;margin-bottom:6px}.values th,.values td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:3px 4px}.values th{font-weight:500;font-family:var(--font-mono);overflow-wrap:anywhere;font-size:12px}.value-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-width:5rem;height:28px;font-family:var(--font-mono);padding:0 8px;font-size:12px;transition:border-color .12s}.value-text{font-family:var(--font-mono);overflow-wrap:anywhere;font-size:12px}.value-error{color:var(--danger);font-size:11px;display:block}.source-chip{background:var(--chip-info-bg);color:var(--text-muted);border-radius:999px;padding:0 6px;font-size:11px;display:inline-block}.value-input:hover{border-color:var(--border-strong)}.value-input:focus{border-color:var(--text);outline:none}.source-stated{background:var(--surface-3);color:var(--text)}.source-computed{background:var(--chip-ok-bg);color:var(--ok)}.source-unknown{background:var(--chip-warn-bg);color:var(--warn)}.findings-panel{grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;display:grid}.verdict-header{border-bottom:1px solid var(--border);padding:8px 10px}.count-chips{flex-wrap:wrap;gap:4px;display:inline-flex}.chip{white-space:nowrap;border-radius:999px;padding:0 7px;font-size:11px;font-weight:600;line-height:18px;display:inline-block}.chip-satisfied{background:var(--chip-ok-bg);color:var(--ok)}.chip-violated{background:var(--chip-bad-bg);color:var(--danger)}.chip-indeterminate{background:var(--chip-warn-bg);color:var(--warn)}.chip-violated:before,.chip-indeterminate:before{content:"";vertical-align:1px;background:currentColor;border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block}.chip-info{background:var(--chip-info-bg);color:var(--text-muted)}.finding-list{margin:0;padding:0;list-style:none}.finding-row{border-bottom:1px solid var(--border)}.finding-main{text-align:left;cursor:pointer;background:0 0;border:0;gap:2px;width:100%;padding:6px 10px;font-size:12px;display:grid}.finding-main:hover,.finding-main:focus-visible{background:var(--surface-2)}.finding-head{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.finding-path{overflow-wrap:anywhere}.finding-expr{color:var(--text-muted);overflow-wrap:anywhere}.finding-numbers{color:var(--text);font-variant-numeric:tabular-nums}.finding-actions{gap:4px;padding:0 6px 6px;display:flex}.finding-detail{padding:0 10px 8px;font-size:12px}.finding-doc{margin:0 0 6px;font-style:italic}.finding-sub{border-top:1px dashed var(--border);gap:2px;padding:4px 0;display:grid}.group-head{margin:0;padding:8px 10px 4px;font-size:12px;font-weight:600}.field{gap:3px;margin-bottom:10px;display:grid}.field select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);height:30px;padding:0 8px}.variant-req{margin-left:-18px;list-style:none}.pane-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;display:flex}.summary{text-transform:none;letter-spacing:0;flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.tag-host{pointer-events:none;z-index:5;position:absolute;inset:0;overflow:hidden}.scene-tag-float{will-change:transform;position:absolute;top:0;left:0}.viewport-note{background:color-mix(in srgb, var(--surface) 88%, transparent);max-width:min(36rem,100% - 1.5rem);color:var(--text-muted);pointer-events:none;border-radius:6px;padding:.35rem .6rem;font-size:.8rem;position:absolute;bottom:.75rem;left:.75rem}.trade{gap:.6rem;min-width:0;padding:.6rem;display:grid}.trade-head{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.trade-meta,.trade-status{color:var(--text-muted);margin:0;font-size:.85rem}.trade-plot{border:1px solid var(--border);border-radius:6px;height:300px;position:relative;overflow:hidden}.trade-canvas{width:100%;height:100%}.trade-axis{white-space:nowrap;color:var(--text-muted);pointer-events:none;font-size:.7rem}.trade-legend{background:color-mix(in srgb, var(--surface) 85%, transparent);border-radius:4px;margin:0;padding:.3rem .5rem;font-size:.75rem;list-style:none;position:absolute;bottom:.4rem;right:.4rem}.trade-legend .dot{border-radius:50%;width:.6rem;height:.6rem;margin-right:.3rem;display:inline-block}.dot-front{background:var(--text)}.dot-dominated{background:var(--text-faint)}.dot-infeasible{background:var(--verdict-violated)}.trade-tip{background:var(--surface);border:1px solid var(--border);pointer-events:none;border-radius:4px;max-width:calc(100% - 1rem);padding:.4rem .6rem;font-size:.78rem;position:absolute;top:.5rem;left:.5rem}.trade-point h4{margin:0 0 .3rem}.trade-point dl{grid-template-columns:max-content 1fr;gap:.1rem .8rem;margin:.3rem 0;display:grid}.trade-point dl div{display:contents}.trade-point dt{color:var(--text-muted)}.trade-viol{color:var(--danger);font-size:.85rem}.trade-actions{justify-items:start;gap:.4rem;display:grid}.chip{border-radius:999px;margin:0;padding:0 .45rem;font-size:.75rem;display:inline-block}.chip-front{background:var(--surface-3)}.chip-dominated{background:var(--surface-2);color:var(--text-muted)}.chip-infeasible{background:var(--chip-bad-bg);color:var(--danger)}.trade-table{border-collapse:collapse;width:100%;font-size:.8rem}.trade-table th,.trade-table td{text-align:left;border-bottom:1px solid var(--border);padding:.2rem .35rem}.trade-table tr{cursor:pointer}.trade-table .row-picked{background:var(--surface-3)}.pad{padding:.6rem}.view-switch{scrollbar-width:none;border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:2px;min-height:44px;padding:0 8px;display:flex;overflow-x:auto}.view-switch-btn{font:500 12.5px/1 var(--font-ui);letter-spacing:.01em;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:7px 10px}.view-switch-btn:hover{color:var(--text);background:var(--surface-2)}.view-switch-btn.on{color:var(--text);background:var(--surface-3)}.view-body{grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid}.view{position:relative}.view-body[hidden]{visibility:hidden;pointer-events:none;display:grid;position:absolute;inset:0}.canvas{background:var(--viewport-bg);grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid}.canvas-empty{color:var(--text-muted);background:var(--viewport-bg);place-items:center;font-size:13px;display:grid}.canvas-toolbar{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;align-items:center;gap:8px;min-height:40px;padding:6px 10px;display:flex}.canvas-toolbar .spacer{flex:1}.canvas-title{font:600 13px var(--font-ui);color:var(--text)}.canvas-subtitle{font:12px var(--font-ui);color:var(--text-muted)}.canvas-search{font:12.5px var(--font-ui);color:var(--text);background:var(--surface-2);border:1px solid #0000;border-radius:6px;width:11rem;padding:6px 10px}.canvas-search:focus{border-color:var(--border-strong);background:var(--surface);outline:none}.seg{background:var(--surface-2);border-radius:7px;gap:2px;padding:2px;display:inline-flex}.seg-btn{font:500 12px/1 var(--font-ui);color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:5px;align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.seg-btn:hover:not(:disabled){color:var(--text)}.seg-btn.on{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #00000014, inset 0 0 0 1px var(--border)}.seg-btn:disabled{opacity:.45;cursor:default}.seg-count{font-variant-numeric:tabular-nums;color:var(--text-muted);font-weight:400}.icon-btn,.ghost-btn{font:500 12.5px/1 var(--font-ui);color:var(--text);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;min-width:28px;height:28px;padding:0 10px}.icon-btn{padding:0;font-size:15px}.icon-btn:hover,.ghost-btn:hover{background:var(--surface-2)}.zoom-readout{font:12px var(--font-ui);color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:center;min-width:3ch}.canvas-svg{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;font-family:var(--font-ui);display:block}.canvas-svg:active{cursor:grabbing}.g-band-label{letter-spacing:.08em;fill:var(--text-muted);font-size:11px;font-weight:600}.g-band-count{font-weight:400}.g-band-rule{stroke:var(--border);stroke-width:1px}.g-node{cursor:pointer;transition:opacity .12s}.g-node rect{fill:var(--surface);stroke:var(--border);stroke-width:1px}.g-node:hover rect{stroke:var(--text-muted)}.g-node.selected rect{stroke:var(--accent);stroke-width:2px}.g-node.dim{opacity:.32}.g-node-requirements rect,.g-node-behaviour rect{fill:var(--surface-2)}.g-label{fill:var(--text);font-size:13px;font-weight:500}.g-detail{fill:var(--text-muted);font-size:11.5px}.g-status-violated{fill:var(--danger)}.g-status-indeterminate{fill:var(--warn)}.g-edge path{fill:none;stroke:var(--grid-major);stroke-width:1.1px;opacity:.55;transition:opacity .12s}.g-edge-contains path{stroke:var(--grid-major);opacity:.45}.g-edge-connects path{stroke-dasharray:none;stroke:var(--text-muted)}.g-edge-satisfies path,.g-edge-exhibits path{stroke-dasharray:4 4;stroke:var(--text-muted)}.g-edge.hot path{stroke:var(--accent);opacity:1;stroke-width:1.6px}.g-edge.dim path{opacity:.12}.g-edge-label{fill:var(--accent);paint-order:stroke;stroke:var(--viewport-bg);stroke-width:4px;font-size:11px}.g-arrowhead{fill:var(--text-muted)}.diagrams{grid-template-columns:13rem minmax(0,1fr);min-height:0;display:grid}.diagram-list{border-right:1px solid var(--border);background:var(--surface);padding:8px 6px 16px;overflow:auto}.diagram-list-head{font:600 11px var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding:12px 8px 6px}.diagram-list-empty{font:12px var(--font-ui);color:var(--text-muted);padding:2px 8px 6px}.diagram-item{width:100%;font:13px var(--font-ui);color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:7px 8px;display:flex}.diagram-item:hover{background:var(--surface-2)}.diagram-item.on{background:var(--surface-2);box-shadow:inset 2px 0 0 var(--accent)}.diagram-item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.diagram-item-meta{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11.5px}.ibd-frame{fill:none;stroke:var(--border);stroke-width:1.2px}.ibd-frame-label{fill:var(--text);font-size:13px;font-weight:600}.ibd-keyword{fill:var(--text-muted);font-weight:400}.ibd-block{transition:opacity .12s}.ibd-block>rect{fill:var(--surface);stroke:var(--border);stroke-width:1px;cursor:pointer;filter:drop-shadow(0 1px 1.5px #1018280f)}.ibd-block:hover>rect{stroke:var(--text-muted)}.ibd-block.selected>rect{stroke:var(--accent);stroke-width:2px}.ibd-block.dim{opacity:.35}.ibd-block-name{fill:var(--text);cursor:pointer;font-size:13px;font-weight:500}.ibd-open{cursor:pointer}.ibd-open rect{fill:var(--surface-2);stroke:none}.ibd-open path{fill:none;stroke:var(--text-muted);stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round}.ibd-open:hover path{stroke:var(--accent)}.ibd-port rect{fill:var(--surface);stroke:var(--text-muted);stroke-width:1.2px}.ibd-port-in rect{fill:var(--surface-2)}.ibd-port-out rect{fill:var(--text-muted)}.ibd-port-label{fill:var(--text-muted);font-size:10.5px}.ibd-wire{cursor:pointer;transition:opacity .12s}.ibd-wire-line{fill:none;stroke:var(--text-muted);stroke-width:1.2px;stroke-linejoin:round;opacity:.7}.ibd-wire-connection .ibd-wire-line{stroke-dasharray:5 3}.ibd-wire-hit{fill:none;stroke:#0000;stroke-width:10px}.ibd-wire:hover .ibd-wire-line,.ibd-wire.hot .ibd-wire-line{stroke:var(--accent);opacity:1;stroke-width:1.8px}.ibd-wire.dim{opacity:.18}.ibd-wire-label{fill:var(--accent);paint-order:stroke;stroke:var(--viewport-bg);stroke-width:4px;font-size:11px}.stm-state{cursor:pointer}.stm-state rect{fill:var(--surface);stroke:var(--border);stroke-width:1.2px;filter:drop-shadow(0 1px 1.5px #1018280f)}.stm-state:hover rect{stroke:var(--accent)}.stm-state.initial rect{stroke:var(--text-muted)}.stm-state.unreachable rect{stroke:var(--warn);stroke-dasharray:4 3}.stm-name{fill:var(--text);font-size:13px;font-weight:500}.stm-sub{fill:var(--text-muted);font-size:11px}.stm-initial circle{fill:var(--text)}.stm-initial path{fill:none;stroke:var(--text-muted);stroke-width:1.3px}.stm-transition{cursor:pointer}.stm-line{fill:none;stroke:var(--text-muted);stroke-width:1.3px}.stm-hit{fill:none;stroke:#0000;stroke-width:12px}.stm-transition.hot .stm-line{stroke:var(--accent);stroke-width:1.8px}.stm-arrowhead{fill:var(--text-muted)}.stm-label{fill:var(--text-muted);paint-order:stroke;stroke:var(--viewport-bg);stroke-width:4px;font-size:11px}.stm-transition.hot .stm-label{fill:var(--accent)}.stm-trigger{font-size:10.5px}.stm-state.active rect{stroke:var(--accent);stroke-width:2px;fill:var(--mark-bg)}.stm-transition.fired .stm-line{stroke:var(--accent);stroke-width:1.8px}.stm-transition.fired .stm-label{fill:var(--accent)}.stm-now{font:12px var(--font-ui);color:var(--text-muted);font-variant-numeric:tabular-nums}.view-host{background:var(--bg);min-width:0;min-height:0;overflow:auto}.view-switch-btn{white-space:nowrap}.chip-zero{background:var(--chip-info-bg);color:var(--text-muted)}.shell.text-hidden{grid-template-columns:40px minmax(0,1fr) minmax(0,23rem)}.shell.text-hidden .editor{grid-template-rows:minmax(0,1fr)}.shell.text-hidden .editor>:not(.text-rail),.text-rail{display:none}.shell.text-hidden .text-rail{background:var(--surface);width:100%;color:var(--text-muted);font:600 12px var(--font-ui);cursor:pointer;border:0;flex-direction:column;align-items:center;gap:10px;padding:12px 0;display:flex}.shell.text-hidden .text-rail span{writing-mode:vertical-rl;letter-spacing:.02em;transform:rotate(180deg)}.shell.text-hidden .text-rail:hover{color:var(--text);background:var(--surface-2)}.view-switch-spacer{flex:1}.view-text-toggle{border:1px solid var(--border)}.canvas-stage{min-width:0;min-height:0;display:grid;position:relative}.canvas-stage>.canvas-svg{grid-area:1/1}.edit-tools{align-items:center;gap:4px;display:inline-flex}.edit-tools .ghost-btn:disabled{opacity:.45;cursor:default;background:0 0}.edit-hint{font:12px var(--font-ui);color:var(--text-muted)}.primary-btn{font:600 12.5px/1 var(--font-ui);color:#fff;background:var(--accent);border:1px solid var(--accent);cursor:pointer;border-radius:6px;height:28px;padding:0 12px}.primary-btn:hover{filter:brightness(1.08)}.edit-form{z-index:5;background:var(--surface);border:1px solid var(--border);width:min(300px,100% - 20px);font:12.5px var(--font-ui);border-radius:10px;gap:8px;padding:12px;display:grid;position:absolute;top:10px;right:10px;box-shadow:0 8px 24px #10182824}.edit-form-title{color:var(--text);font-weight:600}.edit-form-field{color:var(--text-muted);gap:4px;display:grid}.edit-form-field input{font:13px var(--font-mono,ui-monospace, monospace);color:var(--text);background:var(--surface-2);border:1px solid #0000;border-radius:6px;padding:6px 8px}.edit-form-field input:focus{border-color:var(--accent);background:var(--surface);outline:none}.edit-form-error{color:var(--danger);margin:0;line-height:1.4}.edit-form-actions{justify-content:flex-end;gap:6px;display:flex}.link-drag{stroke:var(--accent);stroke-width:1.8px;stroke-dasharray:6 4;fill:none;pointer-events:none}.ibd-port rect{cursor:crosshair}.ibd-port:hover rect{stroke:var(--accent);stroke-width:2px}.ibd-wire.selected .ibd-wire-line{stroke:var(--accent);opacity:1;stroke-width:2.4px}.stm-transition.selected .stm-line{stroke:var(--accent);stroke-width:2.4px}.stm-state.selected rect{stroke:var(--accent);stroke-width:2px}.stm-link-handle{fill:var(--surface);stroke:var(--accent);stroke-width:1.5px;cursor:crosshair;opacity:0;transition:opacity .12s}.stm-state:hover .stm-link-handle,.stm-state.selected .stm-link-handle{opacity:1}.ibd-port.free rect{fill:var(--surface);stroke-dasharray:2 2}.ibd-port.free .ibd-port-label{display:none}.ibd-port.free:hover .ibd-port-label{display:inline}.edit-section{gap:8px;display:grid}.edit-row{color:var(--text-muted);grid-template-columns:5.5rem 1fr;align-items:center;gap:8px;font-size:13px;display:grid}.edit-axes{align-items:center;gap:4px;min-width:0;display:flex}.edit-axes .axis{flex:1;width:0;min-width:3.5rem}button.danger{color:var(--danger)}.menu-head{font:600 11px var(--font-ui);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);padding:8px 10px 4px}.menu-sep{background:var(--border);height:1px;margin:4px 6px}.menu-list button.danger{color:var(--danger)}.empty-model{z-index:4;text-align:center;color:var(--text-muted);background:var(--viewport-bg);place-content:center;justify-items:center;gap:6px;padding:16px;font-size:13px;display:grid;position:absolute;inset:44px 0 0}.empty-model p{margin:0}.empty-model-title{color:var(--text);font-size:14px;font-weight:600}.empty-model .button-row{margin-top:8px}.canvas-svg{background-color:var(--viewport-bg);background-image:radial-gradient(circle, var(--grid-minor) 1px, transparent 1.2px);background-size:22px 22px}.canvas{position:relative}.inline-edit{align-items:center;gap:4px;min-width:0;max-width:100%;display:inline-flex}.inline-edit.editing{gap:2px;width:100%;min-width:8rem;display:inline-grid}.inline-edit-value{overflow-wrap:anywhere}.inline-edit-empty{color:var(--text-faint)}.inline-edit-btn,.row-delete{width:22px;height:22px;color:var(--text-faint);cursor:pointer;opacity:0;background:0 0;border:0;border-radius:5px;flex:none;place-items:center;padding:0;transition:opacity .12s,background .12s,color .12s;display:inline-grid}tr:hover .inline-edit-btn,tr:hover .row-delete,.inline-edit:hover .inline-edit-btn,.inline-edit-btn:focus-visible,.row-delete:focus-visible{opacity:1}.inline-edit-btn:hover{background:var(--surface-3);color:var(--text)}.row-delete:hover{background:var(--surface-3);color:var(--danger)}.col-actions{text-align:right;width:32px}@media (hover:none){.inline-edit-btn,.row-delete{opacity:1}}.brand:before{content:none}.brand{border-right:1px solid var(--border);gap:10px;height:28px;margin-right:8px;padding-right:14px}.brand-logo{object-fit:contain;width:28px;height:28px;box-shadow:0 0 0 1px var(--border);background:#f4f4f2;border-radius:7px;flex:none}.brand-name{flex-direction:column;line-height:1.1;display:inline-flex}.brand-sub{letter-spacing:0;color:var(--text-faint);font-size:10.5px;font-weight:500}.topbar-spacer{flex:1}.icon-seg{background:var(--surface-2);border-radius:8px;gap:2px;padding:2px;display:inline-flex}.icon-seg button,.icon-toggle{width:28px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:inline-grid}.icon-seg button:hover,.icon-toggle:hover{color:var(--text)}.icon-seg button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.icon-toggle[aria-pressed=true]{color:var(--text);background:var(--surface-3)}.panel-toggles{background:var(--surface);box-shadow:-14px 0 10px -6px var(--surface);gap:2px;margin-left:4px;padding-left:6px;display:inline-flex;position:sticky;right:0}.shell.side-hidden{grid-template-columns:minmax(0,2fr) minmax(0,3fr) 0}.shell.side-hidden .side{display:none}.shell.text-hidden.side-hidden{grid-template-columns:40px minmax(0,1fr) 0}.shell.findings-collapsed{grid-template-rows:auto minmax(0,1fr) auto}.shell.findings-collapsed .findings>.pane-body{display:none}.findings .pane-header{gap:8px}.pane-collapse{margin-left:auto}.side .tablist{padding-right:40px;position:relative}.side{position:relative}.side-collapse{z-index:2;position:absolute;top:7px;right:8px}@media (max-width:1200px){.shell.side-hidden{grid-template-rows:auto minmax(0,1fr) 0 minmax(0,8rem);grid-template-columns:minmax(0,2fr) minmax(0,3fr)}.shell.text-hidden{grid-template-columns:40px minmax(0,1fr)}.shell.findings-collapsed{grid-template-rows:auto minmax(0,1fr) minmax(0,18rem) auto}.shell.side-hidden.findings-collapsed{grid-template-rows:auto minmax(0,1fr) 0 auto}}@media (max-width:800px){.status{display:none}}.connect{border:1px solid var(--border);background:var(--surface);width:min(560px,100vw - 32px);max-height:calc(100dvh - 48px);color:var(--text);box-shadow:var(--shadow-md);border-radius:12px;padding:20px}.connect::backdrop{background:#09090b59}.connect-head{align-items:flex-start;gap:12px;display:flex}.connect-head h2{margin:0 0 4px;font-size:16px;font-weight:650}.connect-status{color:var(--text-muted);align-items:center;gap:8px;margin:12px 0 4px;font-size:12.5px;display:flex}.connect-dot{background:var(--text-faint);border-radius:50%;width:7px;height:7px}.connect-dot.up{background:var(--text)}.connect-dot.down{background:var(--verdict-violated)}.connect-code{align-items:flex-start;gap:8px;display:flex}.connect-code pre{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);font:12px/1.5 var(--font-mono);white-space:pre-wrap;word-break:break-all;flex:1;margin:0;padding:8px 10px;overflow:auto}.toolbar-rule{background:var(--border);width:1px;height:20px;margin:0 2px}.toolbar-note{color:var(--text-muted);font-size:12px}.view-stage .edit-form{top:12px;right:12px}.fov-edit{align-items:start}.fov-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:6px 8px;display:grid}.fov-grid label{gap:2px;display:grid}.fov-grid button{grid-column:1/-1;justify-self:start}.edit-axes button,.fov-grid button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;height:28px;padding:0 10px;font-size:12.5px;font-weight:500}@media (max-width:800px){.shell.text-hidden{grid-template-rows:auto 44px 24rem 22rem 10rem;grid-template-columns:minmax(0,1fr)}.shell.text-hidden .text-rail{flex-direction:row;justify-content:center;padding:0}.shell.text-hidden .text-rail span{writing-mode:horizontal-tb;transform:none}}.feature-add{gap:6px;display:grid}.feature-add .subhead{margin-top:8px}select.value-input{font-family:var(--font-ui);padding:0 6px}.source-wrap{min-width:0;overflow:hidden}.source{scrollbar-gutter:stable}.source-wrapped .source{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.editor .pane-header{flex-wrap:wrap;gap:6px;padding:6px 10px}.source-tools{flex-wrap:wrap;gap:4px;margin-left:auto;display:flex}.source-tools .tool-button{min-height:26px;padding:3px 7px;font-size:11px}.source-tools [aria-pressed=true]{background:var(--surface-3);color:var(--text)}.shell.editor-expanded{grid-template:"top""editor"minmax(0,1fr)"findings"minmax(0,10rem)/minmax(0,1fr);height:100dvh}.shell.editor-expanded.findings-collapsed{grid-template-rows:auto minmax(0,1fr) auto}.shell.editor-expanded .view,.shell.editor-expanded .side{display:none}.agent-launch{background:var(--accent);color:var(--accent-contrast);white-space:nowrap}.agent-launch:hover{background:var(--text-muted);color:var(--accent-contrast)}.view-switch{overflow-x:auto}@media (max-width:800px){.topbar{flex-wrap:wrap;height:auto;min-height:48px;padding:8px}.shell,.shell.text-hidden{grid-template:"top""side"24rem"editor"22rem"view"26rem"findings"10rem/minmax(0,1fr)}.shell.text-hidden{grid-template-rows:auto 24rem 40px 26rem 10rem}.shell.findings-collapsed{grid-template-rows:auto 24rem 22rem 26rem auto}.shell.text-hidden.findings-collapsed{grid-template-rows:auto 24rem 40px 26rem auto}.shell.side-hidden{grid-template-rows:auto 0 22rem 26rem 10rem;grid-template-columns:minmax(0,1fr)}.shell.text-hidden.side-hidden{grid-template-rows:auto 0 40px 26rem 10rem}.shell.side-hidden.findings-collapsed{grid-template-rows:auto 0 22rem 26rem auto}.shell.text-hidden.side-hidden.findings-collapsed{grid-template-rows:auto 0 40px 26rem auto}.shell.editor-expanded{grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"top""editor""findings"}}.view-navigation{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;min-width:0;display:flex}.view-navigation .view-switch{scrollbar-width:thin;border-bottom:0;flex:1;min-width:0}.view-switch-btn{white-space:nowrap;flex:none}.view-navigation .panel-toggles{white-space:nowrap;box-shadow:none;border-left:1px solid var(--border);flex:none;margin:0;padding:0 5px;position:static}.panel-toggles .ghost-btn{white-space:nowrap;font-size:12px}.topbar{flex-wrap:wrap;height:auto;min-height:48px;padding:8px 12px}.topbar>.brand,.topbar>.menu,.topbar>.tool-group,.topbar>.theme-switch{flex-shrink:0}.topbar .status{max-width:260px;max-height:32px;overflow:hidden}.topbar .notice{flex:220px;min-width:0;max-width:480px}.menu-list{max-width:calc(100vw - 24px);max-height:75dvh;overflow:auto}.view-host{min-width:0;min-height:0}.import-dialog{width:min(760px,100vw - 32px);max-height:85dvh;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow-md);border-radius:12px;padding:24px;overflow:auto}.import-dialog::backdrop{background:#0006}.import-dialog header,.import-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.import-dialog h2{margin:0;font-size:18px}.import-dialog p{color:var(--text-muted);font-size:12px;line-height:1.6}.import-dialog label{flex-direction:column;gap:6px;margin:16px 0;display:flex}.import-dialog select,.import-dialog input{background:var(--surface-2);max-width:100%;color:var(--text);border:1px solid var(--border);border-radius:5px;padding:8px}.import-dialog button{border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:5px;padding:7px 10px}.import-dialog button:disabled{opacity:.5;cursor:default}.import-dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;font-size:12px;overflow:auto}.import-dialog [role=alert]{color:var(--danger)}.import-actions{margin-top:20px}.import-dialog summary{cursor:pointer}@media (max-width:1100px){.topbar .status,.brand small{display:none}}@media (max-width:800px){.view-navigation{flex-wrap:wrap}.view-navigation .view-switch{flex-basis:100%}.view-navigation .panel-toggles{border-left:0;justify-content:flex-end;width:100%;padding:4px}.topbar{gap:6px}}.import-dialog .import-mode{flex-wrap:wrap;gap:16px;display:flex}.import-dialog .import-mode label,.import-dialog .placement-option{flex-direction:row;align-items:flex-start;gap:8px;margin:8px 0}.import-placement{border-top:1px solid var(--border);margin-top:16px;padding-top:8px}.import-placement h3{margin:8px 0;font-size:14px}.import-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 16px;display:grid}.placement-owners{border:1px solid var(--border);border-radius:8px;margin:8px 0;padding:8px 12px}.placement-owners legend{color:var(--text-muted);padding:0 4px;font-size:12px}.placement-option span{overflow-wrap:anywhere;flex-direction:column;gap:2px;font-size:13px;display:flex}.placement-option small{color:var(--text-muted);font-size:12px}.placement-best{color:var(--text-muted);border:1px solid var(--border);border-radius:4px;align-self:flex-start;padding:0 4px;font-size:11px;font-style:normal}.diagram-notice,.diagram-workspace-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 12px;font-size:12px;display:flex}.diagrams{grid-template-rows:auto minmax(0,1fr);position:relative}.diagram-workspace-bar{box-sizing:border-box;grid-column:1/-1}.diagrams>.diagram-list,.diagrams>.canvas{min-height:0}.diagram-visibility{gap:6px;padding:4px 12px;font-size:12px;display:flex}.ibd-block>rect,.stm-state>rect{cursor:grab}.ibd-block>rect:active,.stm-state>rect:active{cursor:grabbing}.graph-explorer{grid-template-rows:auto auto minmax(0,1fr)}.view-tabs{flex:1;align-items:center;min-width:0;padding:0 8px;display:flex}.view-navigation .view-tabs .view-switch{flex:0 auto;padding:0;overflow:hidden}.view-switch-btn[hidden]{display:none}.view-more{flex:none;margin-left:2px}.view-more-btn{align-items:center;gap:4px;display:inline-flex}.view-more-caret{color:var(--text-muted);font-size:10px}.view-more .menu-list{min-width:11rem;left:auto;right:0}.view-more .menu-list button[aria-current]{background:var(--surface-3)}@media (max-width:800px){.view-navigation .view-tabs{flex-basis:100%}}.versions input{flex:1;min-width:0}.version-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.version-list li{border-bottom:1px solid var(--border,#7f7f7f40);justify-content:space-between;align-items:baseline;gap:12px;padding:6px 0;display:flex}.version-diff{max-height:320px;margin:0;font-size:12px;line-height:1.45;overflow:auto}.version-diff .diff-add{color:#1a7f37;background:#1a7f371a}.version-diff .diff-del{color:#cf222e;background:#cf222e1a}.agent-change{border-top:1px solid var(--border,#7f7f7f40);gap:6px;margin-top:14px;padding-top:12px;display:grid}.agent-change textarea{box-sizing:border-box;width:100%}.agent-change-result{gap:6px;display:grid}
