.app-shell{--diagram-node-space-scale: .78;--diagram-node-min-width: 196px;--diagram-node-max-width: 232px;--diagram-node-pad-x: calc(1rem * var(--diagram-node-space-scale));--diagram-node-pad-y: calc(.8rem * var(--diagram-node-space-scale));--diagram-node-gap: calc(.45rem * var(--diagram-node-space-scale));--diagram-node-port-pad-y: calc(.25rem * var(--diagram-node-space-scale));--diagram-node-port-pad-x: calc(.6rem * var(--diagram-node-space-scale));display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100vh;min-height:100vh;background:radial-gradient(circle at top left,rgba(255,143,92,.22),transparent 28%),radial-gradient(circle at top right,rgba(34,107,255,.2),transparent 32%),linear-gradient(180deg,var(--surface-page) 0%,color-mix(in srgb,var(--surface-page) 84%,#0f1b29) 45%,color-mix(in srgb,var(--surface-page) 72%,#121e2b) 100%)}.app-main{position:relative;display:grid;gap:.7rem;padding:calc(1rem - 4px) 1rem 0;height:100%;box-sizing:border-box;min-height:0}.app-footer{display:flex;align-items:center;justify-content:center;padding:4px 1rem 3px;color:var(--text-muted);font-size:.8rem;line-height:1}.app-footer nav,.app-footer-item{display:inline-flex;align-items:center}.app-footer nav{gap:.3rem}.app-footer-item{gap:.3rem}.app-footer a{text-decoration:none}.app-footer a:hover,.app-footer a:focus-visible{color:var(--text-primary);text-decoration:underline}.app-footer-separator{color:var(--border-strong)}.canvas-frame.canvas-chord-panning,.canvas-frame.canvas-chord-panning *{cursor:grabbing!important}@media(max-width:520px){.app-footer{font-size:.75rem}}.app-shell[data-room=narrow]{height:100vh;height:100dvh;min-height:0}.app-shell[data-room=narrow] .app-main{padding:0;gap:0}.app-shell[data-room=narrow] .canvas-panel,.app-shell[data-room=narrow] .canvas-frame{border-radius:0;border-left:0;border-right:0;box-shadow:none;min-height:0}.topbar{display:grid;grid-template-columns:minmax(min-content,1fr) auto minmax(10rem,1fr) minmax(max-content,1fr);align-items:center;gap:1rem;padding:.4rem 1rem}@media(max-width:1219px){.topbar{grid-template-columns:minmax(min-content,1fr) auto minmax(10rem,.4fr) minmax(max-content,1fr)}}.topbar-left{justify-self:stretch;display:flex;align-items:center;gap:.55rem;min-width:0}.topbar-left>.topbar-runtime{flex:none}.topbar-center{justify-self:stretch;min-width:0}.topbar-center .search-box{display:block;width:100%;max-width:420px;min-width:0}.topbar-right{justify-self:end;display:flex;align-items:center;gap:.4rem}.topbar-nav{position:relative;width:clamp(9rem,22vw,21.5rem);height:37px;overflow:visible}.topbar-nav:not(:has(.nav-strip)){width:0}.topbar-brand{display:inline-flex;align-items:baseline;gap:.35rem;min-width:0;overflow:hidden}.topbar-brand-name,.topbar-brand-version{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;line-clamp:1;overflow:hidden;word-break:break-all;min-width:0}.topbar-brand-name{flex-shrink:0;max-width:100%;font-weight:800;font-size:.92rem;letter-spacing:.015em;color:var(--text-primary)}.topbar-brand-version{font-size:.66rem;font-weight:600;color:var(--text-muted)}.topbar-runtime{display:inline-flex;align-items:center;gap:.4rem;min-height:24px;padding:2px .42rem;border:1px solid var(--border-default);border-radius:999px;background:color-mix(in srgb,var(--surface-panel) 74%,transparent);box-shadow:0 1px 2px #07101c14;white-space:nowrap}.tier-chip{display:inline-flex;align-items:center;height:17px;padding:0 .4rem;border-radius:999px;font-size:.6rem;font-weight:800;letter-spacing:.06em;border:1px solid color-mix(in srgb,var(--text-muted) 52%,transparent);color:var(--text-muted)}.tier-chip-alpha{border-color:color-mix(in srgb,var(--accent-warm) 58%,transparent);color:var(--accent-warm);background:color-mix(in srgb,var(--accent-warm) 10%,transparent)}.tier-chip-pro{border-color:color-mix(in srgb,var(--accent-mint) 58%,transparent);color:var(--accent-mint);background:color-mix(in srgb,var(--accent-mint) 10%,transparent)}.tier-chip-unverified{border-color:#c25e2e;color:#c25e2e;background:color-mix(in srgb,#c25e2e 10%,transparent)}.topbar-update{display:inline-flex;align-items:center;height:18px;padding:0 .45rem;border-radius:9px;font-size:.62rem;font-weight:700;letter-spacing:.02em;border:1px solid #3f7d9d;color:#3f7d9d;text-decoration:none;white-space:nowrap;animation:topbar-update-pulse 30s linear infinite}.topbar-update:hover{background:var(--surface-soft);text-decoration:underline;animation:none}@keyframes topbar-update-pulse{0%,3.333%,6.667%,10%,13.333%{background:#3f7d9d;color:#fff;box-shadow:0 0 6px 1px #3f7d9d8c}1.667%,5%,8.333%,11.667%,16.667%,to{background:transparent;color:#3f7d9d;box-shadow:none}}@media(prefers-reduced-motion:reduce){.topbar-update{animation:none}}.system-status{display:inline-flex;align-items:center;gap:.32rem;min-height:18px;padding-left:.42rem;border-left:1px solid var(--border-default);color:var(--text-muted);font-size:.64rem;font-weight:700;letter-spacing:.01em}.system-status-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;box-shadow:0 0 0 2px color-mix(in srgb,var(--text-muted) 12%,transparent)}.system-status-dot-ok{background:var(--accent-mint, #31d0aa)}.system-status-dot-warn{background:var(--accent-warm, #ffb570)}.system-status-dot-bad{background:#f0506e}.system-status-ok .system-status-label{color:var(--accent-mint)}.system-status-warn .system-status-label{color:var(--accent-warm)}.system-status-bad .system-status-label{color:#f0506e}.header-tooltip{position:relative;cursor:default;outline:none}.header-tooltip:after{content:attr(data-tooltip);position:absolute;top:calc(100% + .55rem);left:0;width:max-content;max-width:min(310px,calc(100vw - 2rem));padding:.48rem .62rem;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-panel-strong);box-shadow:0 10px 26px #040c1638;color:var(--text-primary);font-size:.7rem;font-weight:500;letter-spacing:0;line-height:1.4;text-align:left;white-space:pre-line;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .12s ease,transform .12s ease;z-index:30}.system-status.header-tooltip:after{right:0;left:auto}.header-tooltip:hover:after,.header-tooltip:focus-visible:after{opacity:1;transform:translateY(0)}.header-tooltip:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-mint) 42%,transparent)}.topbar-action,.topbar-right .toolbar-button-embedded-export{height:28px;padding:0 .7rem;display:inline-flex;align-items:center;border:1px solid var(--border-default);border-radius:7px;background:var(--surface-soft);color:var(--text-primary);font-size:.78rem;font-weight:600;white-space:nowrap;cursor:pointer}.topbar-action:hover,.topbar-right .toolbar-button-embedded-export:hover:not(:disabled){border-color:var(--border-strong)}.topbar-logs{display:inline-grid;justify-items:center;align-items:center;font-variant-numeric:tabular-nums}.topbar-logs>.topbar-logs-label,.topbar-logs:after{grid-area:1 / 1}.topbar-logs:after{content:attr(data-widest-label);visibility:hidden;height:0;overflow:hidden}[data-export-disabled-reason] .toolbar-button-embedded-export:disabled{opacity:.45;cursor:not-allowed}.topbar-settings{width:28px;padding:0;justify-content:center;font-size:.94rem}.settings-menu{position:relative;display:inline-flex}.settings-menu-list{position:absolute;top:calc(100% + 7px);right:0;z-index:60;width:min(310px,calc(100vw - 1.5rem));overflow:hidden;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface-panel-strong);box-shadow:0 18px 42px #050e1942;color:var(--text-primary)}.settings-menu-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.12rem .55rem;padding:.78rem .8rem .68rem}.settings-menu-header strong{overflow:hidden;text-overflow:ellipsis;font-size:.82rem;white-space:nowrap}.settings-menu-header>span:not(.settings-menu-runtime){color:var(--text-muted);font-size:.67rem}.settings-menu-runtime{grid-column:2;grid-row:1 / span 2;padding:.2rem .42rem;border:1px solid var(--border-default);border-radius:999px;color:var(--text-muted);font-size:.59rem;font-weight:800;letter-spacing:.025em;white-space:nowrap}.settings-menu-runtime-ok{color:var(--accent-mint)}.settings-menu-runtime-warn{color:var(--accent-warm)}.settings-menu-runtime-bad{color:#df647b}.settings-menu-section{padding:.32rem 0;border-top:1px solid var(--border-default)}.settings-menu-item{width:100%;min-height:48px;display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:.58rem;padding:.43rem .8rem;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;text-align:left;text-decoration:none;cursor:pointer}.settings-menu-item:hover,.settings-menu-item:focus-visible{outline:none;background:var(--surface-soft)}.settings-menu-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;color:var(--text-muted)}.settings-menu-copy{min-width:0;display:grid;gap:.03rem}.settings-menu-copy strong{overflow:hidden;color:var(--text-primary);font-size:.76rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.settings-menu-copy small{overflow:hidden;color:var(--text-muted);font-size:.64rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.settings-menu-value{max-width:88px;overflow:hidden;color:var(--text-muted);font-size:.64rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.settings-menu-item:hover .settings-menu-icon,.settings-menu-item:focus-visible .settings-menu-icon,.settings-menu-item:hover .settings-menu-value,.settings-menu-item:focus-visible .settings-menu-value{color:var(--accent-mint)}.settings-external-editor{display:flex;flex-direction:column;gap:.3rem;padding:.2rem .6rem .5rem 2.2rem}.settings-external-editor input,.settings-external-editor select{width:100%;padding:.3rem .4rem;border:1px solid var(--border-default);border-radius:6px;background:transparent;color:inherit;font:.72rem ui-monospace,monospace}.settings-external-editor-hint,.settings-external-editor-error{font-size:.64rem;color:var(--text-muted)}.settings-external-editor-error{color:var(--danger, #d2454b)}.settings-external-editor-actions{display:flex;gap:.4rem;justify-content:flex-end}.settings-external-editor-actions button{padding:.2rem .6rem;border:1px solid var(--border-default);border-radius:6px;background:transparent;color:inherit;font-size:.7rem;cursor:pointer}.topbar-compact-tools{display:none}.app-shell:not([data-room=wide]) .topbar{display:flex;align-items:center;gap:.5rem;padding:.35rem .6rem;position:relative;z-index:40}.app-shell:not([data-room=wide]) .topbar-left{flex:0 1 auto}.app-shell:not([data-room=wide]) .topbar-nav{flex:1 1 0;width:auto;min-width:7.5rem}.app-shell:not([data-room=wide]) .topbar-nav:not(:has(.nav-strip)){min-width:0}.app-shell:not([data-room=wide]) .topbar-compact-tools{display:flex;align-items:center;gap:.35rem;flex:none;margin-left:auto}.topbar-compact-button{width:30px;padding:0;justify-content:center;font-size:1rem;line-height:1}.topbar-compact-button[aria-expanded=true]{border-color:var(--accent-mint);color:var(--accent-mint)}.app-shell:not([data-room=wide]) .topbar-center,.app-shell:not([data-room=wide]) .topbar-right{display:none;position:absolute;top:calc(100% + 4px);z-index:41;padding:.4rem;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface-panel-strong);box-shadow:0 14px 32px #050e193d}.app-shell:not([data-room=wide]) .topbar[data-search-open=true] .topbar-center{display:block;left:.6rem;right:.6rem}.app-shell:not([data-room=wide]) .topbar-center .search-box{max-width:none}.app-shell:not([data-room=wide]) .topbar[data-more-open=true] .topbar-right{display:flex;flex-wrap:wrap;justify-content:flex-end;right:.6rem;max-width:calc(100vw - 1.2rem)}.app-shell[data-room=narrow] .topbar-brand,.app-shell[data-room=narrow] .system-status-label{display:none}.app-shell[data-room=narrow] .system-status{padding-left:.32rem}.explorer-model-header{display:flex;align-items:baseline;gap:6px;padding:4px 8px;border-bottom:1px solid var(--border-default)}.explorer-model-header .model-name{font-size:.82rem;font-weight:700;color:var(--text-primary);white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}.explorer-model-header .model-version{font-size:.64rem;color:var(--text-secondary, var(--text-primary));opacity:.8}.explorer-section-head{display:flex;align-items:center;gap:4px;width:100%;padding:4px 8px;border:none;background:transparent;cursor:pointer;color:var(--text-secondary, var(--text-primary));font-size:.62rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.explorer-section-head:hover{color:var(--text-primary)}.explorer-rendering-switch>svg{opacity:.75;flex:0 0 auto}.explorer-rendering-switch{flex:1;min-width:0;display:flex;align-items:center;gap:.35rem;padding:2px 0;border:none;background:transparent;color:var(--text-primary);font-size:.74rem;text-align:left;cursor:pointer;border-radius:5px}.explorer-rendering-switch:hover{background:var(--surface-soft)}.explorer-rendering-switch:disabled{cursor:default;color:var(--text-secondary, var(--text-primary));opacity:.85}.explorer-rendering-switch .explorer-label{flex:1 1 auto}.explorer-rendering-icon{display:inline-flex;align-items:center;padding:0 3px;color:var(--text-secondary, var(--text-primary));opacity:.85}.explorer-rendering-icon.is-applied{color:var(--accent-warm, var(--text-primary));opacity:1}.explorer-rendering-icon.is-working{opacity:1}.explorer-rendering-ops{flex:0 0 auto;display:inline-flex;gap:1px;padding-right:6px}.explorer-rendering-ops button{border:none;background:transparent;cursor:pointer;font-size:.7rem;padding:3px 4px;border-radius:4px;opacity:.55}.explorer-rendering-ops button:hover{opacity:1;background:var(--surface-soft)}.explorer-rendering-ops button.is-home{opacity:1;color:var(--accent-warm, var(--text-primary))}.explorer-rendering-ops button.is-home:disabled{opacity:1;cursor:default}.theme-toggle{border-radius:18px;padding:.95rem 1.15rem;font-weight:700}.toolbar-button-embedded{border-radius:12px;padding:.42rem .65rem;font-size:.76rem;font-weight:700}.theme-toggle{border:1px solid var(--border-default);color:var(--text-primary);background:var(--surface-card)}.action-log-overlay{position:fixed;inset:0;display:grid;place-items:center;padding:1.5rem;background:#050a127a;z-index:50}.action-log-panel{width:min(58rem,100%)}.action-log-toolbar{display:flex;gap:.6rem;flex-wrap:wrap}.action-log-textarea{width:calc(100% - 2.4rem);min-height:22rem;margin:0 1.2rem 1.2rem;padding:1rem;border-radius:18px;border:1px solid var(--border-default);resize:vertical;color:var(--text-primary);background:var(--surface-panel-strong)}.panel{border:1px solid var(--border-default);border-radius:24px;background:var(--surface-panel);box-shadow:0 30px 80px #00000047;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.2rem .85rem}.panel-title{margin:0;font-size:.92rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-primary)}.panel-subtitle{margin:.3rem 0 0;color:var(--text-muted);font-size:.88rem}.badge{border-radius:999px;padding:.25rem .7rem;border:1px solid var(--border-default);color:var(--text-primary);font-size:.75rem;background:var(--surface-soft)}.explorer-tree{display:grid;gap:.55rem;padding:.6rem .8rem .8rem;min-height:0;flex:1 1 auto;overflow:auto;align-content:start}.explorer-node{display:grid;gap:.3rem}.explorer-file{width:100%;text-align:left;border-radius:12px;border:1px solid var(--border-default);background:var(--surface-soft-strong);color:var(--text-primary);display:grid;gap:.2rem;padding:.55rem .65rem}.explorer-file-trigger{display:flex;align-items:center;gap:.45rem;padding:0;border:0;background:transparent;color:inherit;text-align:left;font:inherit}.model-change-notice{position:fixed;z-index:1300;left:50%;bottom:24px;transform:translate(-50%);display:flex;align-items:center;gap:10px;max-width:min(760px,calc(100vw - 32px));padding:10px 12px;border:1px solid #60a5fa;border-radius:10px;background:#eff6ff;color:#172033;box-shadow:0 8px 28px #0f172a33;font-size:13px}.model-change-notice button{flex:0 0 auto;border:1px solid currentcolor;border-radius:7px;padding:5px 8px;background:#fff;color:inherit;cursor:pointer}.model-change-conflict{border-color:#ef4444;background:#fff1f2;color:#7f1d1d}.explorer-sysml-file-icon{flex:0 0 14px;width:14px;min-width:14px}.explorer-file:hover{border-color:color-mix(in srgb,var(--accent-warm) 45%,var(--border-default))}.explorer-error{margin:0 1rem;color:#ff8f5c}#explorer-detail-pane{--explorer-panel-ink: color-mix(in srgb, var(--text-primary) 78%, var(--text-muted))}.explorer-subject{height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;padding:.3rem .35rem .45rem;--text-secondary: var(--text-muted);--text-primary: var(--explorer-panel-ink)}.explorer-subject-title{display:flex;align-items:center;gap:.35rem;padding:.15rem .2rem .25rem;font-size:.74rem;font-weight:600;color:var(--text-primary)}.explorer-subject-heading{margin:.1rem 0 .2rem;padding:0 .2rem;font-size:.6rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary, var(--text-primary))}.explorer-subject-file{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;padding:.1rem .2rem;border-radius:4px;font-size:.68rem;color:var(--text-primary)}.explorer-subject-file:hover{background:color-mix(in srgb,var(--accent-warm) 10%,transparent)}.explorer-subject-file .explorer-label{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.explorer-subject-file .explorer-entry-badge{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.explorer-subject-ops{flex:0 0 auto;display:flex;align-items:center;gap:.1rem;opacity:.65}.explorer-subject-file:hover .explorer-subject-ops{opacity:1}.explorer-subject-ops .is-copied{color:var(--accent-warm);opacity:1}.explorer-subject-ops .is-copy-failed{color:var(--error, #e05252);opacity:1}.explorer-copy-outcome{flex:1 0 100%;overflow:hidden;padding-left:1.15rem;text-overflow:ellipsis;white-space:nowrap;font-size:.6rem;color:var(--accent-warm)}.explorer-copy-outcome.is-error{color:var(--error, #e05252)}.explorer-subject-note{margin:.25rem .2rem 0;font-size:.62rem;line-height:1.3;color:var(--text-secondary, var(--text-primary));opacity:.85}.explorer-subject-note[data-testid=rendering-action-note]{color:var(--error, #e05252);opacity:1}.explorer-subject-note-dismiss{border:0;padding:0 2px;background:none;color:inherit;font-size:.7rem;line-height:1;cursor:pointer}.explorer-model-header-trigger{display:flex;align-items:baseline;gap:6px;flex:1 1 auto;min-width:0;padding:0;border:none;background:transparent;cursor:pointer;text-align:left;color:inherit}.explorer-model-add-file{flex:0 0 auto;align-self:center;width:18px;height:18px;padding:0;border:1px solid var(--border-default);border-radius:999px;background:transparent;color:var(--text-secondary, var(--text-primary));font-size:.8rem;line-height:1;cursor:pointer}.explorer-model-add-file:hover,.explorer-model-add-file:focus-visible{color:var(--accent-warm);border-color:var(--accent-warm)}.explorer-model-header.is-selected,.explorer-row.explorer-package.is-selected{background:color-mix(in srgb,var(--accent-warm) 14%,transparent)}.explorer-count-badge{flex:0 0 auto;margin-left:auto;display:inline-flex;align-items:center;gap:2px;min-width:1.05rem;justify-content:center;padding:.02rem .32rem;border-radius:999px;font-size:.6rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--surface-panel-strong, #0b1220);background:var(--accent, #4f7cff)}.explorer-count-badge~.explorer-count-badge{margin-left:.25rem}.explorer-file-count{font-size:.62rem;color:var(--text-secondary, var(--text-primary));opacity:.8;border-bottom:1px dotted currentColor}.explorer-subject-file-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0;border:0;background:transparent;font:inherit;text-align:left;cursor:pointer;color:var(--accent, #4f7cff);border-bottom:1px dotted currentColor}.explorer-subject-crumb{display:inline-flex;align-items:center;gap:.2rem;padding:.1rem .2rem;margin-bottom:.1rem;border:0;background:transparent;cursor:pointer;font-size:.62rem;color:var(--text-secondary, var(--text-primary))}.explorer-subject-crumb:hover{color:var(--text-primary)}.explorer-subject-declares{display:flex;flex-direction:column}.explorer-subject-declare{display:flex;align-items:center;gap:.3rem;padding:.08rem .2rem;font-size:.68rem;color:var(--text-primary)}.explorer-subject-declare-note{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;color:var(--text-secondary, var(--text-primary));opacity:.8}.explorer-subject-renderings{margin-top:.35rem}.explorer-subject-drawings{display:flex;flex-direction:column}.explorer-subject-renderings .explorer-rendering-row{padding-left:.2rem;padding-right:.1rem}.explorer-rendering-lens{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.64rem;color:var(--text-secondary, var(--text-primary));opacity:.75}.explorer-rendering-ops button:disabled{opacity:.35;cursor:default}.explorer-rendering-ops button:disabled:hover{background:transparent;opacity:.35}.explorer-rendering-ops button.is-home:disabled{opacity:1}.explorer-subject-heading-action{margin-left:.4rem}.explorer-subject-buttons{display:flex;gap:.3rem;padding:.1rem .2rem}.explorer-subject-button{padding:.24rem .5rem;border-radius:6px;border:1px solid var(--border-default);background:var(--surface-soft);color:var(--text-primary);font-size:.62rem;cursor:pointer}.explorer-subject-button:hover:not(:disabled){background:var(--surface-soft-strong, var(--surface-soft))}.explorer-subject-button.is-primary{border-color:color-mix(in srgb,var(--accent, #4f7cff) 55%,transparent);color:var(--accent, #4f7cff)}.explorer-subject-button:disabled{opacity:.45;cursor:default}.model-tree>.explorer-section-head{color:var(--accent-mint, #43c59e);font-size:.72rem;font-weight:800;letter-spacing:.06em}.model-tree>.explorer-section-head:hover{color:color-mix(in srgb,var(--accent-mint, #43c59e) 75%,var(--text-primary))}.explorer-subject-heading{color:var(--accent-warm);font-size:.7rem;font-weight:800;letter-spacing:.06em}.canvas-panel{min-height:0}.canvas-panel .react-flow__controls{border:1px solid var(--border-default);border-radius:14px;overflow:hidden;box-shadow:0 14px 30px #00000038}.canvas-panel .react-flow__controls-button{width:32px;height:32px;border-bottom-color:var(--border-default);background:color-mix(in srgb,var(--surface-panel-strong) 94%,transparent);color:var(--text-primary)}.canvas-panel .react-flow__attribution{opacity:.45}.canvas-frame{position:relative;overflow:hidden;height:100%;min-height:24rem;border-radius:20px;border:1px solid var(--border-soft)}.canvas-render-surface{position:absolute;inset:0;min-width:0;min-height:0}.canvas-render-surface-flow{overflow:hidden}.canvas-render-surface>.react-flow{width:100%;height:100%;background:var(--surface-page)}.model-load-overlay{position:absolute;inset:1rem 1rem 0;z-index:40;display:grid;place-items:center;overflow:hidden;border:1px solid color-mix(in srgb,var(--border-soft) 80%,transparent);border-radius:20px;background:color-mix(in srgb,var(--surface-page) 76%,transparent);-webkit-backdrop-filter:blur(5px) saturate(.78);backdrop-filter:blur(5px) saturate(.78);animation:model-load-enter .16s ease-out both}.model-load-overlay.is-settled{pointer-events:none;animation:model-load-leave .14s cubic-bezier(.2,.75,.2,1) both}.model-load-card{width:min(34rem,calc(100% - 2rem));box-sizing:border-box;padding:1.2rem 1.25rem 1.1rem;border:1px solid color-mix(in srgb,var(--accent-mint) 24%,var(--border-default));border-radius:16px;background:color-mix(in srgb,var(--surface-panel-strong) 96%,transparent);box-shadow:0 24px 64px #050e193d;color:var(--text-primary)}.model-load-heading{display:flex;align-items:center;gap:.8rem;min-width:0}.model-load-heading>span:last-child{display:grid;min-width:0;gap:.14rem}.model-load-heading strong{overflow:hidden;font-size:.96rem;text-overflow:ellipsis;white-space:nowrap}.model-load-eyebrow{color:var(--accent-mint);font-size:.64rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.model-load-mark{position:relative;flex:0 0 auto;width:2.35rem;height:2.35rem;border:2px solid color-mix(in srgb,var(--accent-mint) 25%,var(--border-default));border-top-color:var(--accent-mint);border-radius:50%;animation:model-load-spin 1.15s linear infinite}.model-load-mark>span{position:absolute;inset:.48rem;border-radius:50%;background:color-mix(in srgb,var(--accent-warm) 78%,var(--accent-mint));box-shadow:0 0 18px color-mix(in srgb,var(--accent-warm) 38%,transparent)}.model-load-progress{position:relative;height:5px;margin-top:1rem;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--border-default) 65%,transparent)}.model-load-progress>span{position:absolute;inset:0 auto 0 0;overflow:hidden;border-radius:inherit;background:linear-gradient(90deg,var(--accent-mint),var(--accent-warm));transition:width .24s cubic-bezier(.2,.75,.2,1)}.model-load-progress>span:after{content:"";position:absolute;inset:0;width:38%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);transform:translate(-120%);animation:model-load-sheen 1.35s ease-in-out infinite}.model-load-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:.75rem 0 0;padding:0;list-style:none}.model-load-steps li{display:flex;align-items:center;gap:.38rem;min-width:0;color:var(--text-muted);font-size:.68rem;white-space:nowrap}.model-load-steps li>span{display:inline-grid;flex:0 0 auto;width:1.15rem;height:1.15rem;place-items:center;border:1px solid var(--border-default);border-radius:50%;font-size:.58rem;font-weight:800}.model-load-steps li.is-done,.model-load-steps li.is-current{color:var(--text-primary)}.model-load-steps li.is-done>span{border-color:var(--accent-mint);color:var(--accent-mint)}.model-load-steps li.is-current>span{border-color:var(--accent-warm);background:color-mix(in srgb,var(--accent-warm) 16%,transparent);color:var(--accent-warm)}.model-load-copy{display:grid;gap:.18rem;margin-top:.95rem;padding-top:.8rem;border-top:1px solid var(--border-soft)}.model-load-copy strong{font-size:.8rem}.model-load-copy span{color:var(--text-muted);font-size:.72rem;line-height:1.45}@keyframes model-load-enter{0%{opacity:0}to{opacity:1}}@keyframes model-load-leave{0%{opacity:1}to{opacity:0}}@keyframes model-load-spin{to{transform:rotate(360deg)}}@keyframes model-load-sheen{60%,to{transform:translate(330%)}}@media(max-width:560px){.model-load-card{padding:1rem}.model-load-steps{gap:.3rem}.model-load-steps li{font-size:.6rem}}@media(prefers-reduced-motion:reduce){.model-load-overlay,.model-load-overlay.is-settled,.model-load-mark,.model-load-progress>span:after{animation-duration:.01ms;animation-iteration-count:1}}.legend-swatch{display:inline-flex;align-items:center;flex:0 0 auto}.legend-swatch-svg{width:3.2rem;height:1rem;overflow:visible}.legend-swatch-line{stroke:var(--edge-stroke);stroke-width:2.2;stroke-linecap:round}.legend-swatch-line-flow{stroke:color-mix(in srgb,#2f80ed 78%,var(--text-primary))}.legend-swatch-line-binding{stroke:color-mix(in srgb,#8b5cf6 72%,var(--text-primary))}.legend-swatch-line-dashed{stroke-dasharray:7 5}.legend-swatch-open{fill:var(--surface-page);stroke:var(--edge-stroke);stroke-width:1.4;stroke-linejoin:round}.legend-swatch-fill{fill:var(--edge-stroke);stroke:var(--edge-stroke);stroke-width:1.4;stroke-linejoin:round}.legend-swatch-stroke{fill:none;stroke:var(--edge-stroke);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.legend-swatch-stroke.legend-swatch-line-flow{stroke:color-mix(in srgb,#2f80ed 78%,var(--text-primary))}.canvas-corner-launchers{position:absolute;inset:0;z-index:9;display:flex;align-items:flex-end;gap:.5rem;padding:0 0 .9rem .9rem;pointer-events:none}.canvas-corner-launchers>.diagnostics-badge-anchor,.canvas-corner-launchers>.variant-launcher,.canvas-corner-launchers>.variant-banner{pointer-events:auto}.diagnostics-badge-anchor{position:relative}.diagnostics-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.32rem .6rem;border:1px solid var(--border-default);border-radius:999px;background:color-mix(in srgb,var(--surface-panel-strong) 92%,transparent);box-shadow:0 10px 28px #0000003d;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--text-primary);font-size:.74rem;font-weight:700;transition:border-color .15s ease}.diagnostics-badge:not(:disabled):hover{border-color:color-mix(in srgb,var(--accent-warm) 45%,var(--border-default))}.diagnostics-badge:disabled{cursor:default}.diagnostics-popover{position:absolute;bottom:calc(100% + .5rem);left:0;width:min(26rem,calc(100vw - 3rem));max-height:16rem;overflow-y:auto;border:1px solid var(--border-default);border-radius:14px;background:color-mix(in srgb,var(--surface-panel-strong) 96%,transparent);box-shadow:0 18px 48px #0000004d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.diagnostics-popover-header{display:flex;align-items:center;justify-content:space-between;padding:.55rem .75rem;border-bottom:1px solid var(--border-soft);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.diagnostics-popover-count{padding:.05rem .45rem;border-radius:999px;background:var(--surface-soft-strong);color:var(--text-primary)}.diagnostics-popover-list{margin:0;padding:.35rem;list-style:none;display:grid;gap:.2rem}.diagnostics-popover-item{display:flex;align-items:flex-start;gap:.5rem;padding:.45rem .55rem;border-radius:10px}.diagnostics-popover-item:hover{background:var(--surface-soft)}.diagnostics-popover-icon{display:inline-flex;margin-top:.1rem;flex:0 0 auto}.diagnostics-popover-item.diag-sev-error .diagnostics-popover-icon{color:#ff7a5c}.diagnostics-popover-item.diag-sev-warning .diagnostics-popover-icon{color:var(--accent-warm-strong)}.diagnostics-popover-text{display:grid;gap:.15rem;min-width:0}.diagnostics-popover-message{color:var(--text-primary);font-size:.78rem;font-weight:600;line-height:1.3;word-break:break-word}.diagnostics-popover-loc{color:var(--text-muted);font-size:.72rem;font-weight:600}.diagnostics-popover-hint,.model-problems-hint{display:block;margin-top:3px;color:var(--text-muted);font-size:.72rem;line-height:1.35}.model-problems-hint{padding-left:18px}.diagnostics-popover-file{color:var(--text-secondary, var(--text-muted));font-style:italic}.diagnostics-copy-button{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:1px solid var(--border-soft);border-radius:7px;background:var(--surface-soft);color:var(--text-muted);cursor:pointer;transition:color .12s ease,border-color .12s ease,background .12s ease,opacity .12s ease}.diagnostics-copy-button:hover{color:var(--text-primary);border-color:var(--border-strong)}.diagnostics-copy-button.is-copied{color:#4ad08a;border-color:color-mix(in srgb,#4ad08a 55%,transparent)}.diagnostics-popover-count{margin-right:auto;margin-left:.45rem}.diagnostics-popover-copy{margin-left:auto;margin-top:.05rem;opacity:0}.diagnostics-popover-item:hover .diagnostics-popover-copy,.diagnostics-popover-copy:focus-visible{opacity:1}.diagnostics-badge .diag-count{display:inline-flex;align-items:center;gap:.3rem}.diagnostics-badge .diag-error{color:#ff7a5c}.diagnostics-badge .diag-warning{color:var(--accent-warm-strong)}.diagnostics-badge.is-clean .diag-ok{color:var(--accent-mint)}.diagnostics-popover-empty{margin:0;padding:.7rem .8rem;color:var(--text-muted);font-size:.8rem}.diagnostics-popover-footer{padding:.5rem .6rem;border-top:1px solid var(--border-soft)}.diagnostics-validate-button{width:100%;padding:.45rem .6rem;border:1px solid var(--border-default);border-radius:10px;background:var(--surface-soft);color:var(--text-primary);font-size:.78rem;font-weight:600;cursor:pointer}.diagnostics-validate-button:hover{background:var(--surface-soft-strong)}.model-problems-panel{width:min(54rem,100%);max-height:min(80vh,44rem);display:flex;flex-direction:column}.model-problems-summary{display:inline-flex;align-items:center;gap:.7rem;margin-right:.4rem;font-size:.78rem;font-weight:700}.model-problems-summary .diag-error{color:#ff7a5c}.model-problems-summary .diag-warning{color:var(--accent-warm-strong)}.model-problems-body{overflow-y:auto;padding:0 1.2rem 1.2rem}.model-problems-empty{padding:1.4rem 0;color:var(--text-muted);text-align:center}.model-problems-error{color:#ff7a5c}.model-problems-list{list-style:none;margin:0;padding:0;display:grid;gap:.9rem}.model-problems-file-name{font-size:.78rem;font-weight:700;color:var(--text-secondary, var(--text-muted));padding:.2rem .1rem .35rem;border-bottom:1px solid var(--border-soft)}.model-problems-file-list{list-style:none;margin:.3rem 0 0;padding:0;display:grid;gap:.15rem}.model-problems-row{width:100%;display:flex;align-items:baseline;gap:.6rem;padding:.4rem .5rem;border:none;border-radius:8px;background:transparent;color:var(--text-primary);text-align:left;cursor:pointer}.model-problems-row:hover{background:var(--surface-soft)}.model-problems-dot{flex:0 0 auto;width:.55rem;height:.55rem;border-radius:999px;transform:translateY(.05rem)}.model-problems-dot.diag-error{background:#ff7a5c}.model-problems-dot.diag-warning{background:var(--accent-warm-strong)}.model-problems-dot.diag-information,.model-problems-dot.diag-hint{background:var(--text-muted)}.model-problems-message{flex:1 1 auto;font-size:.82rem;line-height:1.3;word-break:break-word}.model-problems-loc{flex:0 0 auto;color:var(--text-muted);font-size:.74rem;font-weight:600;white-space:nowrap}.variant-launcher{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .7rem;border-radius:999px;border:1px solid var(--border-default);background:color-mix(in srgb,var(--surface-panel-strong) 92%,transparent);color:var(--text-primary);font-size:.78rem;font-weight:600;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.variant-launcher:hover{border-color:color-mix(in srgb,var(--accent-warm) 55%,var(--border-default))}.variant-banner{position:absolute;top:.9rem;left:50%;transform:translate(-50%);z-index:8;display:flex;align-items:center;gap:.75rem;padding:.4rem .5rem .4rem .85rem;border:1px solid color-mix(in srgb,var(--accent-mint, #43c59e) 55%,var(--border-default));border-radius:999px;background:color-mix(in srgb,var(--surface-panel-strong) 92%,transparent);box-shadow:0 10px 30px #00000038;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--text-primary);font-size:.82rem}.variant-banner-label{display:inline-flex;align-items:center;gap:.5rem}.variant-banner-kind,.variant-banner-count{font-size:.62rem;font-weight:700;letter-spacing:.08em;padding:.1rem .4rem;border-radius:999px;background:var(--surface-soft-strong);color:var(--text-muted)}.variant-banner-clear{border:1px solid var(--border-default);border-radius:999px;background:var(--surface-soft);color:var(--text-primary);font-size:.74rem;font-weight:600;padding:.25rem .6rem;cursor:pointer}.variant-panel{width:min(48rem,100%);max-height:min(84vh,50rem);display:flex;flex-direction:column}.variant-body{overflow-y:auto;padding:0 1.2rem 1.2rem;display:grid;gap:1rem}.variant-empty,.variant-error{padding:1rem 0;color:var(--text-muted)}.variant-error{position:sticky;top:0;z-index:2;margin:0;padding:.6rem .7rem;border:1px solid #ff7a5c;border-radius:6px;background:var(--surface-panel-strong);color:#ff7a5c}.variant-matrix-panel{width:min(72rem,calc(100vw - 2rem));align-self:start;margin-top:4vh}.variant-matrix{display:grid;gap:.75rem}.variant-matrix-head{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem .9rem}.variant-matrix-title{font-size:1rem}.variant-matrix-hint{color:var(--text-muted);font-size:.82rem}.variant-matrix-spacer{flex:1 1 0}.variant-matrix-naming,.variant-matrix-naming label{display:inline-flex;align-items:center;gap:.4rem}.variant-matrix-naming-label{font-size:.8rem;color:var(--text-muted)}.variant-matrix-new,.variant-matrix-action{padding:.35rem .75rem;border-radius:6px;border:1px solid color-mix(in srgb,var(--accent-mint, #43c59e) 70%,var(--border-default));background:var(--surface-panel-strong);color:var(--text-primary);font:inherit;font-size:.8rem;font-weight:600;cursor:pointer}.variant-matrix-action{padding:.2rem .55rem;font-size:.74rem}.variant-matrix-action.is-showing{background:color-mix(in srgb,var(--accent-mint, #43c59e) 28%,var(--surface-panel-strong))}.variant-matrix-new:disabled,.variant-matrix-action:disabled,.variant-matrix-delete:disabled{opacity:.5;cursor:default}.variant-matrix-delete{padding:.15rem .4rem;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer}.variant-matrix-delete:hover:not(:disabled){color:#ff7a5c;border-color:var(--border-default)}.variant-matrix-scroll{overflow:auto;border:1px solid var(--border-default);border-radius:8px;background:var(--surface-panel-strong)}.variant-matrix-table{border-collapse:collapse;width:100%;font-size:.82rem}.variant-matrix-table th,.variant-matrix-table td{padding:.3rem .6rem;text-align:center;border-bottom:1px solid var(--border-soft)}.variant-matrix-corner{text-align:left!important;min-width:16rem;color:var(--text-muted);font-weight:600}.variant-matrix-column{border-left:1px solid var(--border-soft);min-width:8.5rem;vertical-align:top}.variant-matrix-column.is-showing{background:color-mix(in srgb,var(--accent-mint, #43c59e) 12%,transparent)}.variant-matrix-column-name{display:block;font-weight:700}.variant-matrix-state{display:block;font-weight:500;font-size:.76rem;margin:.1rem 0 .3rem}.variant-matrix-state.is-ok{color:var(--accent-mint, #43c59e)}.variant-matrix-state.is-broken{color:#ff7a5c}.variant-matrix-state.is-missing{color:var(--accent-warm-strong)}.variant-matrix-state.is-pending{color:var(--text-muted)}.variant-matrix-column-actions{display:inline-flex;align-items:center;gap:.3rem}.variant-matrix-feature th{text-align:left;font-weight:700;background:var(--surface-soft-strong)}.variant-matrix-point-cell{text-align:left!important;padding-left:1.4rem!important;font-weight:600}.variant-matrix-group{color:var(--text-muted);font-weight:400}.variant-matrix-variant-cell{text-align:left!important;padding-left:2.6rem!important;font-weight:400}.variant-matrix-table td{border-left:1px solid var(--border-soft)}.variant-matrix-table td.is-missing{background:color-mix(in srgb,var(--accent-warm-strong) 16%,transparent);font-weight:700}.variant-matrix-cell.is-broken{background:color-mix(in srgb,#ff7a5c 20%,transparent)}.variant-matrix-cell.is-other{color:var(--text-muted)}.variant-matrix-cell input{width:1rem;height:1rem;cursor:pointer;accent-color:var(--accent-mint, #43c59e)}.variant-matrix-cell input:disabled{cursor:default}.variant-matrix-empty{margin:0;color:var(--text-muted)}.variant-matrix-notes{margin:0;padding-left:1.1rem;display:grid;gap:.2rem;font-size:.8rem;color:var(--text-secondary, var(--text-muted))}.variant-matrix-notes .is-broken{color:#ff7a5c}.variant-problem{margin:0;padding:.6rem .7rem;border:1px solid #ff7a5c;border-radius:6px;background:color-mix(in srgb,#ff7a5c 12%,transparent);color:var(--text-primary);font-size:.85rem;line-height:1.4}.variant-config-name{width:12rem;padding:.35rem .6rem;border-radius:6px;border:1px solid var(--border-default);background:var(--surface-panel-strong);color:var(--text-primary);font-size:.82rem}.variant-launcher[aria-disabled=true]{opacity:.5;cursor:not-allowed}:root{--frame-ink: #1a1a1a;--frame-paper: #ffffff}:root:not([data-theme=light]){--frame-ink: #cfd9e6;--frame-paper: #26344a}.ibd-banner{position:absolute;top:3.1rem;left:50%;transform:translate(-50%);z-index:8;display:flex;align-items:center;gap:.75rem;padding:.4rem .5rem .4rem .85rem;border:1px solid color-mix(in srgb,var(--accent-warm) 45%,var(--border-default));border-radius:999px;background:color-mix(in srgb,var(--surface-panel-strong) 92%,transparent);box-shadow:0 10px 30px #00000038;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--text-primary);font-size:.82rem}.ibd-banner-label{display:inline-flex;align-items:center;gap:.5rem}.ibd-banner-kind{font-size:.62rem;font-weight:700;letter-spacing:.12em;padding:.12rem .4rem;border-radius:6px;background:var(--accent-warm);color:#1a1205}.ibd-banner-back{padding:.3rem .7rem;border:1px solid var(--border-default);border-radius:999px;background:var(--surface-soft-strong);color:var(--text-primary);font-size:.78rem;font-weight:600;transition:background .15s ease,border-color .15s ease}.ibd-banner-back:hover{background:var(--surface-soft);border-color:color-mix(in srgb,var(--accent-warm) 45%,var(--border-default))}.block-node-specializes{text-align:center;font-size:.72rem;font-style:italic;color:var(--text-muted);margin-bottom:.2rem}.diagram-frame{border:2px solid var(--frame-ink);border-radius:0;background:transparent;pointer-events:none;z-index:-1}.diagram-frame.is-hidden{visibility:hidden}.diagram-frame-handle{position:absolute;pointer-events:auto;background:transparent;z-index:-1}.diagram-frame-handle-nw{top:-5px;left:-5px;width:12px;height:12px;cursor:nwse-resize}.diagram-frame-handle-se{bottom:-5px;right:-5px;width:12px;height:12px;cursor:nwse-resize}.diagram-frame-handle-ne{top:-5px;right:-5px;width:12px;height:12px;cursor:nesw-resize}.diagram-frame-handle-sw{bottom:-5px;left:-5px;width:12px;height:12px;cursor:nesw-resize}.diagram-frame-handle-n{top:-4px;left:12px;right:12px;height:8px;cursor:ns-resize}.diagram-frame-handle-s{bottom:-4px;left:12px;right:12px;height:8px;cursor:ns-resize}.diagram-frame-handle-e{right:-4px;top:12px;bottom:12px;width:8px;cursor:ew-resize}.diagram-frame-handle-w{left:-4px;top:12px;bottom:12px;width:8px;cursor:ew-resize}.diagram-cartouche{position:absolute;top:-2px;left:-2px;padding:2px;background:var(--frame-ink);clip-path:polygon(0 0,100% 0,calc(100% - .85rem) 100%,0 100%);font-size:.78rem;pointer-events:auto;cursor:move}.diagram-frame>.diagram-cartouche{z-index:-1}.diagram-cartouche-inner{display:inline-flex;align-items:baseline;gap:.45rem;padding:.26rem .85rem .28rem .7rem;background:var(--frame-paper);color:var(--frame-ink);clip-path:polygon(0 0,100% 0,calc(100% - .85rem) 100%,0 100%);white-space:nowrap}.diagram-cartouche-keyword{font-weight:700;font-style:italic}.diagram-cartouche-subject{font-weight:800}.diagram-cartouche-type{font-weight:500;opacity:.72}.diagram-kindbadge{position:absolute;top:-2px;right:-2px;padding:2px;background:var(--frame-ink);clip-path:polygon(0 0,100% 0,100% 100%,.85rem 100%);font-size:.78rem;pointer-events:none}.diagram-kindbadge-inner{display:inline-block;padding:.26rem .7rem .28rem .85rem;background:var(--frame-paper);color:var(--frame-ink);clip-path:polygon(0 0,100% 0,100% 100%,.85rem 100%);font-style:italic;white-space:nowrap}.static-view-frame{position:absolute;inset:var(--canvas-safe-top, 14px) var(--canvas-safe-right, 14px) var(--canvas-safe-bottom, 14px) var(--canvas-safe-left, 14px);z-index:5;border:2px solid var(--frame-ink);background:transparent;pointer-events:none}.static-view-frame.is-hidden{border-color:transparent}.static-view-frame.is-hidden>.diagram-cartouche,.static-view-frame.is-hidden>.diagram-kindbadge{visibility:hidden}.static-view-frame-content{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:auto}.static-view-cartouche{z-index:7;pointer-events:none}.static-view-frame>.diagram-kindbadge{z-index:7}.diagram-cartouche-exit{position:relative;align-self:center;width:1.05rem;height:1.05rem;margin-left:.2rem;padding:0;border:1.4px solid var(--frame-ink);border-radius:50%;background:transparent;cursor:pointer;pointer-events:auto}.diagram-cartouche-exit:before{content:"";position:absolute;inset:0;margin:auto;width:.5rem;height:1.4px;background:var(--frame-ink);border-radius:1px}.diagram-cartouche-exit:hover{background:var(--frame-ink)}.diagram-cartouche-exit:hover:before{background:var(--frame-paper)}.diagram-cartouche-up-step{display:inline-flex;align-items:center;gap:.16rem;padding:.06rem .42rem;border:1px solid color-mix(in srgb,var(--frame-ink) 30%,transparent);border-radius:999px;background:transparent;color:var(--frame-ink);font:inherit;font-weight:600;font-size:.86em;line-height:1.5;cursor:pointer;pointer-events:auto}.diagram-cartouche-up-step.is-parent{border-color:color-mix(in srgb,var(--frame-ink) 55%,transparent);font-weight:700}.diagram-cartouche-up-step:hover{background:var(--frame-ink);border-color:var(--frame-ink);color:var(--frame-paper);opacity:1}.diagram-cartouche-up-glyph{font-weight:700;line-height:1}.ibd-banner-warn{border-color:color-mix(in srgb,#ff6b6b 55%,var(--border-default));background:color-mix(in srgb,#2a1414 60%,var(--surface-panel-strong))}.ibd-banner-warn .ibd-banner-kind{background:#ff6b6b;color:#220707}.tool-hint{font-size:.7rem;line-height:1.3;color:var(--text-muted)}.ibd-empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:7;display:flex;flex-direction:column;align-items:center;gap:.7rem;padding:1.1rem 1.4rem;border:1px solid var(--border-default);border-radius:14px;background:color-mix(in srgb,var(--surface-panel-strong) 92%,transparent);box-shadow:0 12px 32px #00000038;color:var(--text-muted);font-size:.85rem;text-align:center}.req-table-wrap{position:absolute;inset:0;z-index:6;overflow:auto;padding:3.4rem 1.4rem 1.4rem}.req-table{width:100%;border-collapse:collapse;font-size:.82rem;color:var(--text-primary);background:color-mix(in srgb,var(--surface-panel-strong) 92%,transparent);border:1px solid var(--border-default);border-radius:12px;overflow:hidden}.req-table thead th{position:sticky;top:0;z-index:1;text-align:left;padding:.6rem .85rem;background:var(--surface-soft-strong);border-bottom:1px solid var(--border-default);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.req-table tbody th,.req-table tbody td{padding:.55rem .85rem;border-bottom:1px solid var(--border-soft);vertical-align:middle;text-align:left;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:22rem}.req-table tbody tr:last-child th,.req-table tbody tr:last-child td{border-bottom:none}.req-table-spacer td{padding:0;border:none}.req-table tbody tr:hover{background:var(--surface-soft)}.req-table-text{color:var(--text-muted);max-width:32rem}.req-table-empty{color:var(--text-muted);opacity:.6}.req-table-link{padding:0;border:none;background:none;color:var(--accent-mint);font:inherit;font-weight:700;cursor:pointer}.req-table-link:hover{text-decoration:underline}.req-table-toolbar{display:flex;align-items:center;gap:.8rem;margin-bottom:.6rem}.req-table-filter{flex:0 1 22rem;padding:.45rem .7rem;font:inherit;font-size:.82rem;color:var(--text-primary);background:color-mix(in srgb,var(--surface-panel-strong) 92%,transparent);border:1px solid var(--border-default);border-radius:8px}.req-table-filter:focus-visible{outline:2px solid var(--accent-mint);outline-offset:1px}.req-table-count{font-size:.72rem;color:var(--text-muted)}.req-table-sort{padding:0;border:none;background:none;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer}.req-table-sort:hover{color:var(--text-primary)}.req-table-title{font-weight:600;max-width:16rem}.block-node-req-title{margin:0;font-size:.74rem;font-style:italic;color:var(--text-muted)}.matrix-table td.matrix-cell{text-align:center;font-weight:700;color:var(--text-muted)}.matrix-table td.matrix-cell.is-set{color:var(--accent-mint)}.matrix-table .matrix-corner{font-weight:700;color:var(--text-muted);white-space:nowrap}.tool-section-header{display:grid;grid-template-columns:minmax(0,1fr) 3.8rem .8rem;align-items:center;gap:.45rem;min-height:2rem}.tool-section-header .tool-container-title-toggle{grid-column:1;min-width:0}.tool-section-header>.tool-container-title{grid-column:1;min-width:0}.tool-section-header>.tool-container-title-toggle:last-child,.tool-section-header>.tool-container-title:last-child{grid-column:1 / -1}.tool-run{grid-column:2;display:inline-flex;align-items:center;justify-content:center;gap:.25rem;width:3.8rem;min-height:1.9rem;border:0;border-radius:9px;padding:.3rem .45rem;font-size:.72rem;font-weight:700;background:linear-gradient(135deg,#ffb570,#ffd369);color:#08111d;cursor:pointer;white-space:nowrap;box-shadow:0 2px 8px color-mix(in srgb,var(--accent-warm) 24%,transparent);transition:filter .15s ease,transform .08s ease,box-shadow .15s ease}.tool-run:hover{filter:brightness(1.06);box-shadow:0 3px 12px color-mix(in srgb,var(--accent-warm) 34%,transparent)}.tool-run:active:not(:disabled){transform:translateY(1px)}.tool-run:disabled{opacity:.45;cursor:default}.tool-cascade{grid-column:3;display:inline-flex;align-items:center;justify-content:center;line-height:0}.tool-cascade-tick{stroke:var(--border-default);stroke-width:1.6;stroke-linecap:round}.tool-cascade-tick.is-covered{stroke:var(--accent-warm, #ffb570)}.tool-cascade-spine{stroke:color-mix(in srgb,var(--accent-warm, #ffb570) 65%,transparent);stroke-width:1.3;stroke-linecap:round}.tool-cascade-arrow{fill:color-mix(in srgb,var(--accent-warm, #ffb570) 80%,transparent)}.tool-cascade.is-running .tool-cascade-tick.is-covered{animation:tool-cascade-step .62s ease-out 1 both}@keyframes tool-cascade-step{0%{stroke:var(--border-default)}25%{stroke:#ffe8b0;stroke-width:2.4}to{stroke:var(--accent-warm, #ffb570);stroke-width:1.6}}@media(prefers-reduced-motion:reduce){.tool-cascade.is-running .tool-cascade-tick.is-covered{animation:none}}.tool-number-row{display:flex;align-items:center;gap:.4rem}.tool-number{width:4.6rem;padding:.28rem .45rem;border-radius:7px;border:1px solid var(--border-soft);background:var(--surface-soft);color:var(--text-primary);font:inherit;font-variant-numeric:tabular-nums;text-align:right}.tool-number:focus-visible{outline:2px solid var(--accent-warm, #ffb570);outline-offset:1px}.tool-number:disabled{opacity:.45}.tool-number-unit{font-size:.72rem;color:var(--text-muted)}.tool-number-reset{margin-left:auto;border:none;background:none;color:var(--text-muted);font-size:.72rem;text-decoration:underline dotted;cursor:pointer;padding:.15rem .2rem}.tool-number-reset:hover{color:var(--text-primary)}.tool-number-reset:disabled{opacity:.45;cursor:default}.tool-panel{position:absolute;right:.9rem;top:.9rem;z-index:9;display:flex;flex-direction:column;border:1px solid var(--border-default);border-radius:16px;background:color-mix(in srgb,var(--surface-panel-strong) 92%,transparent);box-shadow:0 18px 48px #00000042;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:var(--text-primary);max-height:calc(100% - 1.8rem);transition:max-height .28s cubic-bezier(.2,.75,.2,1)}.canvas-frame:has(.canvas-mouse-help[data-expanded=true]) .canvas-toolboxes{max-height:max(7rem,calc(100% - 11rem))}.canvas-frame:has(.canvas-mouse-help[data-expanded=false]) .canvas-toolboxes{max-height:max(7rem,calc(100% - 4.5rem))}.canvas-bottom-right-cluster{position:absolute;right:.9rem;bottom:.9rem;z-index:10;display:flex;align-items:flex-end;gap:.45rem;max-width:calc(100% - 1.8rem);pointer-events:none}.canvas-bottom-right-cluster>*{pointer-events:auto}.canvas-frame:has(.react-flow__resize-control.handle) .canvas-mouse-help{pointer-events:none;opacity:.45}.canvas-recentre-button{display:flex;width:2.55rem;height:2.55rem;flex:none;align-items:center;justify-content:center;padding:0;border:1px solid var(--border-default);border-radius:15px;background:color-mix(in srgb,var(--surface-panel-strong) 94%,transparent);box-shadow:0 14px 38px #050e193d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:var(--text-primary);cursor:pointer;transition:border-color .14s ease,background .14s ease}.canvas-recentre-button:hover:not(:disabled),.canvas-recentre-button:focus-visible{border-color:color-mix(in srgb,var(--accent-mint) 48%,var(--border-default));background:color-mix(in srgb,var(--surface-panel-strong) 98%,var(--accent-mint) 2%)}.canvas-recentre-button:focus-visible{outline:2px solid color-mix(in srgb,var(--accent-mint) 55%,transparent);outline-offset:2px}.canvas-recentre-button:disabled{opacity:.42;cursor:default}.canvas-recentre-icon{width:1.35rem;height:1.35rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.canvas-recentre-icon-dot{fill:currentColor;stroke:none}.canvas-mouse-help-button{position:relative;display:block;width:19.5rem;height:calc(var(--canvas-mouse-help-content-height, 6.45rem) + 1.17rem);max-width:100%;padding:0;overflow:hidden;border:1px solid var(--border-default);border-radius:15px;background:color-mix(in srgb,var(--surface-panel-strong) 94%,transparent);box-shadow:0 14px 38px #050e193d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:var(--text-primary);text-align:left;transition:width .28s cubic-bezier(.2,.75,.2,1),height .28s cubic-bezier(.2,.75,.2,1),border-color .14s ease,background .14s ease}.canvas-mouse-help-button:hover,.canvas-mouse-help-button:focus-visible{border-color:color-mix(in srgb,var(--accent-mint) 48%,var(--border-default));background:color-mix(in srgb,var(--surface-panel-strong) 98%,var(--accent-mint) 2%)}.canvas-mouse-help-button:focus-visible{outline:2px solid color-mix(in srgb,var(--accent-mint) 55%,transparent);outline-offset:2px}.canvas-mouse-help-button.is-collapsed{width:3.4rem;height:2.55rem}.canvas-mouse-help-expanded{position:absolute;top:.55rem;left:.65rem;display:flex;width:18.2rem;flex-direction:column;gap:.45rem;opacity:1;transform:translateY(0) scale(1);transform-origin:bottom right;transition:opacity .15s ease .08s,transform .24s cubic-bezier(.2,.75,.2,1)}.canvas-mouse-help-button.is-collapsed .canvas-mouse-help-expanded{pointer-events:none;opacity:0;transform:translateY(.15rem) scale(.96);transition-delay:0s}.canvas-mouse-help-compact{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.72);transition:opacity .12s ease,transform .2s cubic-bezier(.2,.75,.2,1)}.canvas-mouse-help-button.is-collapsed .canvas-mouse-help-compact{opacity:1;transform:scale(1);transition-delay:.1s}.canvas-mouse-help-heading{display:block;padding-left:.12rem;font-size:.75rem;font-weight:800;letter-spacing:.025em}.canvas-mouse-help-guide{display:grid;grid-template-columns:7rem minmax(0,1fr);align-items:center;gap:.7rem}.canvas-mouse-help-icon{display:block;width:7rem;height:auto;overflow:visible}.canvas-mouse-help-icon.is-compact{width:2.55rem}.canvas-mouse-help-shell,.canvas-mouse-help-divider,.canvas-mouse-help-wheel-mark{fill:none;stroke:var(--text-primary);stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}.canvas-mouse-help-button-left{fill:color-mix(in srgb,var(--accent-mint) 15%,transparent);stroke:none}.canvas-mouse-help-button-right{fill:color-mix(in srgb,var(--accent-warm) 13%,transparent);stroke:none}.canvas-mouse-help-wheel{fill:var(--surface-panel-strong);stroke:var(--accent-mint);stroke-width:2.5}.canvas-mouse-help-wheel-mark{stroke:var(--accent-mint);stroke-width:2}.canvas-mouse-help-actions{display:grid;min-width:0;gap:.34rem}.canvas-mouse-help-action{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:.55rem;padding-bottom:.28rem;border-bottom:1px solid var(--border-soft);font-size:.64rem;line-height:1.25}.canvas-mouse-help-action:last-child{padding-bottom:0;border-bottom:0}.canvas-mouse-help-action strong{min-width:0;color:var(--text-primary);font-size:.64rem;font-weight:700}.canvas-mouse-help-action>span{color:var(--accent-mint);font-weight:800;white-space:nowrap}@media(max-width:560px){.canvas-mouse-help-button{width:17.5rem}.canvas-mouse-help-expanded{width:16.2rem}.canvas-mouse-help-guide{grid-template-columns:5.5rem minmax(0,1fr)}.canvas-mouse-help-icon{width:5.5rem}.canvas-mouse-help-action{grid-template-columns:1fr;gap:.05rem}}.tool-panel-expanded{width:17.25rem}.tool-panel-collapsed{align-items:center;gap:.3rem;padding:.45rem;overflow-y:auto}.tool-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .55rem .55rem .85rem;border-bottom:1px solid var(--border-soft)}.tool-panel-title{font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.tool-panel-body{display:flex;flex-direction:column;gap:.45rem;padding:.6rem;flex:1 1 auto;min-height:0;overflow-y:auto}.tool-icon-button{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;border:1px solid var(--border-default);border-radius:11px;background:var(--surface-soft-strong);color:var(--text-primary);transition:background .15s ease,border-color .15s ease,transform .08s ease}.tool-icon-button:hover:not(:disabled){background:var(--surface-soft);border-color:color-mix(in srgb,var(--accent-warm) 45%,var(--border-default))}.tool-icon-button:active:not(:disabled){transform:scale(.94)}.tool-icon-button:disabled{opacity:.4;cursor:default}.tool-icon-button-ghost{width:1.85rem;height:1.85rem;border-color:transparent;background:transparent}.tool-section-title-label{display:inline-flex;align-items:center;gap:.55rem;min-width:0;color:var(--text-primary);font-size:.76rem;font-weight:700;letter-spacing:.035em;line-height:1.15;text-transform:none}.tool-section-icon{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;flex:0 0 1.75rem;border:1px solid color-mix(in srgb,var(--border-default) 82%,transparent);border-radius:8px;background:color-mix(in srgb,var(--surface-soft) 78%,transparent);color:var(--text-muted)}.tool-section-icon svg{flex:0 0 auto}.tool-section-name{min-width:0;overflow-wrap:break-word;text-align:left}.tool-section-chevron{color:var(--text-muted);flex:0 0 auto;margin-left:.35rem}.tool-legend-body{display:grid;gap:.42rem;padding:.15rem .3rem .35rem}.tool-legend-group{margin-top:.2rem;font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.tool-legend-group:first-child{margin-top:0}.tool-legend-row{display:flex;align-items:center;gap:.6rem;font-size:.74rem;color:var(--text-primary)}.tool-legend-entry{display:grid;gap:.2rem}.tool-legend-text{flex:1 1 auto;min-width:0}.tool-legend-info{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:1.05rem;height:1.05rem;border:1px solid var(--border-default);border-radius:999px;background:var(--surface-soft-strong);color:var(--text-muted);font-size:.66rem;font-weight:800;font-style:italic;line-height:1}.tool-legend-info:hover,.tool-legend-info.is-open{border-color:color-mix(in srgb,var(--accent-warm) 50%,var(--border-default));color:var(--text-primary)}.tool-legend-desc{margin:0 0 .2rem 1.55rem;padding:.4rem .55rem;border-left:2px solid color-mix(in srgb,var(--accent-warm) 45%,var(--border-default));background:color-mix(in srgb,var(--surface-soft-strong) 70%,transparent);border-radius:0 8px 8px 0;color:var(--text-muted);font-size:.72rem;line-height:1.35}.tool-container{display:grid;gap:.55rem;padding:.7rem;border:1px solid var(--border-soft);border-radius:12px;background:color-mix(in srgb,var(--surface-soft-strong) 84%,transparent);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.tool-container-title{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.tool-container-body{display:grid;gap:.45rem;padding:.55rem .15rem .1rem;border-top:1px solid var(--border-soft)}.tool-action{display:inline-flex;align-items:center;gap:.5rem;width:100%;padding:.55rem .7rem;border:0;border-radius:11px;font-size:.8rem;font-weight:700;color:#08111d;background:linear-gradient(135deg,#ffb570,#ffd369);transition:filter .15s ease,transform .08s ease}.tool-action:hover:not(:disabled){filter:brightness(1.05)}.tool-action:active:not(:disabled){transform:translateY(1px)}.tool-action-secondary{color:var(--text-primary);background:var(--surface-soft);border:1px solid var(--border-default)}.tool-subtitle{font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.tool-segmented{display:flex;gap:2px;padding:2px;border:1px solid var(--border-default);border-radius:11px;background:var(--surface-soft-strong)}.tool-segment{flex:1 1 0;min-width:0;padding:.4rem .25rem;border:0;border-radius:9px;background:transparent;color:var(--text-muted);font-size:.72rem;font-weight:700;transition:background .12s ease,color .12s ease}.tool-segment:hover:not(:disabled){color:var(--text-primary)}.tool-segment.is-active{color:#08111d;background:linear-gradient(135deg,#ffb570,#ffd369)}.tool-segment:disabled{opacity:.45;cursor:default}.render-as{display:flex;flex-direction:column;gap:.35rem}.render-as-group{display:flex;flex-direction:column;gap:2px}.render-as-items{display:flex;flex-wrap:wrap;gap:3px}.render-as-item{padding:.18rem .44rem;border:1px solid var(--border-default);border-radius:999px;background:var(--surface-soft);color:var(--text-primary);font-size:.68rem;font-weight:600;transition:background .12s ease,color .12s ease,border-color .12s ease}.render-as-item:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent-warm) 45%,var(--border-default))}.render-as-item.is-active{color:#08111d;background:linear-gradient(135deg,#ffb570,#ffd369);border-color:transparent;font-weight:700}.render-as-item:disabled{background:transparent;color:var(--text-muted);border-color:transparent;opacity:.5;cursor:default;font-weight:500}.tool-container-compact{gap:.4rem;padding:.45rem .5rem}.tool-container-compact:hover{border-color:var(--border-default);background:color-mix(in srgb,var(--surface-soft) 72%,transparent)}.tool-container-compact.is-open{border-color:color-mix(in srgb,var(--accent-warm) 28%,var(--border-default));background:color-mix(in srgb,var(--surface-soft) 82%,transparent);box-shadow:inset 3px 0 color-mix(in srgb,var(--accent-warm) 58%,transparent)}button.tool-container-title-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;background:transparent;padding:0;cursor:pointer;font-family:inherit}.tool-section-header button.tool-container-title-toggle{min-height:2rem}.render-as-advanced-toggle{margin-top:.15rem;padding-top:.4rem;border-top:1px solid var(--border-soft)}.canvas-toolboxes{position:absolute;right:.9rem;top:.9rem;z-index:9;display:grid;grid-template-columns:auto;justify-items:end;align-items:start;align-content:start;gap:.5rem;max-width:calc(100% - 1.8rem);max-height:calc(100% - 1.8rem);pointer-events:none}.canvas-toolboxes>*{pointer-events:auto}.canvas-toolboxes.has-open{height:calc(100% - 1.8rem)}.canvas-toolboxes>.tool-panel{position:relative;right:auto;top:auto;min-height:0;max-height:100%}.canvas-toolboxes>.tool-panel-expanded,.canvas-toolboxes>.modeler-toolbox:not(.modeler-toolbox-collapsed){width:17.25rem;max-width:100%;align-self:stretch}.modeler-toolbox{display:flex;flex-direction:column;min-height:0;overflow:hidden;border:1px solid var(--border-default);border-radius:16px;box-shadow:0 18px 48px #00000042;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.canvas-toolboxes>.toolbox-compact{padding:.45rem;overflow:visible;max-height:none;flex-shrink:0}.modeler-rail-mark svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.modeler-toolbox>.modeler-prototype-slot--footer{border-top:none;padding:0;background:color-mix(in srgb,var(--surface-panel-strong) 92%,transparent)}.modeler-toolbox>.modeler-prototype-slot--footer>.modeler-prototype-trigger--footer{min-height:0;gap:.5rem;padding:.55rem .55rem .55rem .85rem;border:0;border-bottom:1px solid var(--border-soft);border-radius:0;background:color-mix(in srgb,var(--surface-panel-strong) 92%,transparent);box-shadow:none;transform:none}.modeler-toolbox>.modeler-prototype-slot--footer>.modeler-prototype-trigger--footer>svg{display:none}.modeler-toolbox>.modeler-prototype-slot--footer>.modeler-prototype-trigger--footer .modeler-prototype-trigger-copy{display:flex;align-items:baseline;gap:.45rem}.modeler-toolbox>.modeler-prototype-slot--footer>.modeler-prototype-trigger--footer .modeler-prototype-trigger-copy strong{font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.modeler-toolbox>.modeler-prototype-slot--footer>.modeler-prototype-trigger--footer .modeler-prototype-trigger-copy small{margin-top:0}.modeler-toolbox>.modeler-prototype-slot--footer>.modeler-prototype-trigger--footer .modeler-prototype-chevron{align-items:center;justify-content:center;width:1.85rem;height:1.85rem;border-radius:11px}.modeler-toolbox>.modeler-prototype-slot--footer>.modeler-prototype-trigger--footer:hover .modeler-prototype-chevron{background:var(--surface-soft)}.modeler-toolbox .modeler-prototype-drawer--footer{padding:.6rem}.node-context-menu{position:absolute;z-index:60;width:232px;max-height:calc(100% - 16px);overflow-y:auto;padding:.35rem;border:1px solid var(--border-default);border-radius:12px;background:color-mix(in srgb,var(--surface-panel-strong) 97%,transparent);box-shadow:0 18px 48px #00000057;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.frame-context-menu,.explorer-context-menu{position:fixed;z-index:1000}.source-card{z-index:1001;width:min(42rem,calc(100% - 16px));max-width:calc(100% - 16px)}.source-card-body{display:grid;gap:.45rem;padding:.15rem}.source-card-status{padding:.75rem;color:var(--text-muted);font-size:.78rem}.source-card-error{color:var(--danger, #fb7185)}.source-card-copy-row{display:grid;grid-template-columns:6.8rem minmax(0,1fr) auto;align-items:center;gap:.55rem;width:100%;padding:.48rem .55rem;border:0;border-radius:8px;background:transparent;color:var(--text-primary);text-align:left;cursor:copy}.source-card-copy-row:hover,.source-card-copy-row:focus-visible{background:var(--surface-soft);outline:none}.source-card-copy-label{color:var(--text-muted);font-size:.69rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.source-card-copy-row code{overflow:hidden;color:var(--source-viewer-reference);font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.source-card-copy-glyph{color:var(--text-muted)}.source-card-actions{display:flex;flex-wrap:wrap;gap:.45rem;padding:.2rem .25rem .1rem}.source-card-action{padding:.45rem .7rem;border:1px solid var(--border-default);border-radius:8px;background:var(--surface-soft);color:var(--text-primary);font-size:.75rem;cursor:pointer}.source-card-action:hover,.source-card-action:focus-visible{border-color:var(--source-viewer-selection-line);outline:none}.source-card-editor{max-height:min(29rem,calc(100vh - 13rem));overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border:1px solid var(--border-default);border-radius:9px;background:var(--source-viewer-bg);color:var(--source-viewer-text);padding:.35rem 0;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.75rem;line-height:1.55;tab-size:2}.source-card-line{display:grid;grid-template-columns:3.2rem max-content;min-width:max-content;padding-right:.8rem;white-space:pre}.source-card-line-selected{background:var(--source-viewer-selection);box-shadow:inset 3px 0 0 var(--source-viewer-selection-line)}.source-card-line-number{padding-right:.75rem;color:var(--text-muted);text-align:right;-webkit-user-select:none;user-select:none}.source-token-keyword{color:var(--source-token-keyword);font-weight:650}.source-token-type{color:var(--source-token-type)}.source-token-number{color:var(--source-token-number)}.source-token-string{color:var(--source-token-string)}.source-token-comment{color:var(--source-token-comment);font-style:italic}.source-token-plain{color:var(--source-viewer-text)}.node-context-menu-title{display:flex;align-items:center;gap:.35rem;padding:.3rem .5rem .4rem;border-bottom:1px solid var(--border-soft);margin-bottom:.25rem;color:var(--text-muted);font-size:.72rem;font-weight:700;white-space:nowrap}.node-context-menu-title-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.node-context-menu-title-actions{flex:0 0 auto;display:inline-flex;align-items:center;gap:.1rem}.node-context-menu-title-action{display:inline-flex;align-items:center;justify-content:center;width:1.45rem;height:1.45rem;padding:0;border:0;border-radius:6px;background:transparent;color:var(--text-muted);font-size:.78rem;line-height:1;cursor:pointer}.node-context-menu-title-action:hover,.node-context-menu-title-action:focus-visible{background:var(--surface-soft);color:var(--text-primary);outline:none}.node-context-menu-title-action:disabled{color:var(--text-muted);cursor:wait;opacity:.46}.node-context-menu-drag{cursor:grab;-webkit-user-select:none;user-select:none;padding-left:1.1rem;background:radial-gradient(circle,var(--text-muted) 1px,transparent 1.2px) left .35rem center / 4px 8px repeat-y}.node-context-menu-drag:active{cursor:grabbing}.node-context-menu-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;padding:.46rem .55rem;border:0;border-radius:8px;background:transparent;color:var(--text-primary);text-align:left;font-size:.8rem;cursor:pointer}.node-context-menu-item:hover{background:var(--surface-soft)}.node-context-menu-item:disabled{opacity:.45;cursor:default}.node-context-menu-item:disabled:hover{background:transparent}.node-context-menu-chevron{color:var(--text-muted);font-size:.95rem}.node-context-menu-row{display:flex;flex-direction:column}.node-context-menu-row>.node-context-menu-item{width:100%}.node-context-menu-row-glyph{width:1em;flex:none;color:var(--text-muted);text-align:center}.node-context-menu-row-label{flex:1;min-width:0;overflow-wrap:anywhere}.node-context-menu-reason{margin:.2rem .55rem .35rem;color:var(--text-muted);font-size:.72rem;font-style:italic;line-height:1.35}.node-context-menu-reason>span{display:block}.node-context-menu-reason>span+span{margin-top:.2rem}.node-context-menu-item-inert{color:var(--text-muted);font-style:italic;cursor:default}.node-context-menu-submenu{z-index:1002;display:flex;flex-direction:column;gap:2px;min-width:220px;max-width:340px;padding:4px;border:1px solid var(--border-default);border-radius:6px;background:var(--surface-popover-solid);box-shadow:0 6px 18px #00000052}.node-context-menu-submenu>.node-context-menu-item{padding:.3rem .45rem;font-size:.78rem}.node-context-menu-back{color:var(--text-muted);font-weight:700;font-size:.74rem;text-transform:uppercase;letter-spacing:.03em}.node-color-picker{padding:.1rem .35rem .25rem}.node-context-menu-separator{height:0;margin:.3rem .15rem .1rem;border:0;border-top:1px solid var(--border-default)}.node-context-menu-section-label{display:block;padding:.35rem .15rem .2rem;color:var(--text-muted);font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.node-color-swatches{display:grid;grid-template-columns:repeat(10,1fr);gap:.22rem}.node-color-swatch{width:100%;aspect-ratio:1;padding:0;border:1px solid color-mix(in srgb,var(--text-primary) 22%,transparent);border-radius:5px;cursor:pointer;transition:transform 90ms ease,box-shadow 90ms ease}.node-color-swatch:hover{transform:scale(1.12)}.node-color-swatch-active{box-shadow:0 0 0 2px var(--surface-panel-strong),0 0 0 4px var(--accent-warm)}.node-color-palette-row{display:flex;align-items:center;gap:.3rem;margin-top:.15rem}.node-color-native{width:1.85rem;height:1.7rem;padding:0;border:1px solid var(--border-default);border-radius:6px;background:transparent;cursor:pointer}.node-color-hex-input{flex:1;min-width:0;padding:.3rem .4rem;border:1px solid var(--border-default);border-radius:6px;background:var(--surface-soft);color:var(--text-primary);font-family:inherit;font-size:.74rem}.node-color-clear{padding:.3rem .45rem;border:1px solid var(--border-default);border-radius:6px;background:transparent;color:var(--text-muted);font-size:.72rem;cursor:pointer;white-space:nowrap}.node-color-clear:hover{background:var(--surface-soft);color:var(--text-primary)}.block-node-lock{position:absolute;top:6px;left:8px;font-size:.7rem;line-height:1;opacity:.85;pointer-events:none}.block-node-expand,.block-node-collapse,.block-node-open-def{position:absolute;top:5px;z-index:3;width:18px;height:18px;padding:0;border:1px solid var(--border-default);border-radius:50%;background:var(--surface-soft);color:var(--text-muted);font-size:.82rem;cursor:pointer}.block-node-expand,.block-node-collapse{left:7px}.block-node-open-def{right:7px;color:var(--accent-warm);border-color:color-mix(in srgb,var(--accent-warm) 45%,var(--border-default))}.block-node-expand:hover,.block-node-collapse:hover,.block-node-open-def:hover{color:var(--text-primary);border-color:var(--border-strong)}.nav-strip{--nav-save-color: var(--border-default);position:relative;z-index:2700;width:max-content;display:flex;flex-direction:column;align-items:flex-start;max-width:100%;padding:0;overflow:hidden;border:2px solid var(--nav-save-color);border-radius:9px;background:var(--surface-page);box-shadow:0 4px 14px #0000001f;pointer-events:none}.nav-strip button{pointer-events:auto}.modeler-canvas-error{position:absolute;top:76px;left:50%;z-index:2600;display:flex;flex-direction:column;gap:8px;width:min(520px,calc(100% - 48px));padding:10px 12px;color:#fff5f5;border:1px solid rgba(255,104,104,.82);border-radius:10px;background:#5b1820;box-shadow:0 12px 30px #00000057;transform:translate(-50%);pointer-events:none}.modeler-canvas-error button,.modeler-canvas-error .modeler-canvas-error-why>summary{pointer-events:auto}.modeler-canvas-error-head{display:grid;grid-template-columns:22px minmax(0,1fr) 24px;gap:8px;align-items:center}.modeler-canvas-error-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-left:30px}.modeler-canvas-error-actions button{white-space:nowrap;flex:none}.modeler-canvas-error-why[open]{order:99;flex-basis:100%}.modeler-canvas-error-icon{display:grid;place-items:center;width:19px;height:19px;font-weight:900;border:1px solid currentColor;border-radius:50%}.modeler-canvas-error p{margin:0;font-size:.82rem;font-weight:720;line-height:1.35}.modeler-canvas-error-dismiss{padding:0;color:inherit;border:0;background:transparent;font-size:1.25rem;cursor:pointer}.modeler-canvas-error .modeler-canvas-error-copy{padding:4px 9px;color:#fff;border:1px solid rgba(255,255,255,.72);border-radius:6px;background:#ffffff1a;font-size:.75rem;font-weight:750;cursor:pointer}.modeler-canvas-error .modeler-canvas-error-copy:hover{background:#fff3}.modeler-canvas-error .modeler-canvas-error-action{padding:4px 9px;color:#7f1d1d;border:1px solid rgba(255,255,255,.9);border-radius:6px;background:#fff;font-size:.75rem;font-weight:750;white-space:nowrap;cursor:pointer}.modeler-canvas-error .modeler-canvas-error-action:hover{background:#ffffffdb}.modeler-canvas-error[data-severity=warning]{color:#fff6e8;border-color:#f7b04adb;background:#5c3a10}.modeler-canvas-error[data-severity=warning] .modeler-canvas-error-action{color:#7c3f06}.nav-strip-main{display:flex;align-items:center;gap:10px;min-width:0;max-width:100%;box-sizing:border-box;padding:4px 8px;background:var(--surface-page)}.nav-strip-controls{display:flex;gap:2px;flex:0 0 auto}.nav-strip-button{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--text-primary);font-size:.95rem;line-height:1;cursor:pointer}.nav-strip-button:hover:not(:disabled){background:var(--surface-soft);border-color:var(--border-default)}.nav-strip-button:disabled{color:var(--text-muted);opacity:.4;cursor:default}.nav-strip-current{flex:0 1 auto;min-width:0;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-size:.8rem;font-weight:700;padding:2px 6px;border-radius:4px;background:color-mix(in srgb,var(--accent-warm) 22%,transparent);border:1px solid color-mix(in srgb,var(--accent-warm) 55%,var(--border-default))}.tool-legend-glyph{display:inline-flex;align-items:center;justify-content:center;min-width:1.4rem;height:1.1rem;padding:0 .2rem;font-size:.82rem;line-height:1;color:var(--text-muted);white-space:nowrap}.block-node-rail{position:absolute;top:10px;right:8px;z-index:4;display:flex;gap:3px;align-items:center}.asyst-exporting .block-node-rail,.asyst-exporting .export-interactive-control,.asyst-exporting .block-node-handle,.asyst-exporting .block-node-port-pin{display:none!important}.asyst-exporting .association-edge-label{-webkit-text-stroke:0!important;text-shadow:none!important}.asyst-exporting .sequence-head{fill:#fff!important;stroke:#334155!important}.asyst-exporting .sequence-head-name{fill:#0f172a!important}.asyst-exporting .sequence-head-type{fill:#475569!important}.asyst-exporting .sequence-lifeline{stroke:#94a3b8!important}.asyst-exporting .sequence-message{stroke:#1e293b!important}.asyst-exporting .sequence-message-label{fill:#0f172a!important}.asyst-exporting .sequence-activation{fill:#ffedd5!important;stroke:#c2410c!important}.asyst-exporting .sequence-edit-hint,.asyst-exporting .sequence-controls{display:none!important}.block-node-marker{width:20px;height:20px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-default);border-radius:50%;background:var(--surface-soft);color:var(--text-muted);font-size:.84rem;line-height:1;cursor:pointer}.block-node-marker:hover{color:var(--text-primary);border-color:var(--border-strong)}.block-node-marker:disabled{opacity:.4;cursor:default}.block-node-marker:disabled:hover{color:var(--text-muted);border-color:var(--border-default)}.block-node-marker-overflow{color:var(--accent-warm);border-color:color-mix(in srgb,var(--accent-warm) 45%,var(--border-default));font-size:0}.block-node-marker-overflow:before,.block-node-package-menu-button:before{content:"";width:3px;height:3px;border-radius:50%;background:currentColor;box-shadow:-5px 0 currentColor,5px 0 currentColor}.glyph-plus:before,.glyph-plus:after,.glyph-minus:before{content:"";position:absolute;top:50%;left:50%;background:currentColor;border-radius:1px}.glyph-plus:before,.glyph-minus:before{width:.62em;height:2px;transform:translate(-50%,-50%)}.glyph-plus:after{width:2px;height:.62em;transform:translate(-50%,-50%)}.block-node-expanded{height:100%;background:color-mix(in srgb,var(--surface-panel) 62%,transparent)}.block-node-internal-tag{position:absolute;left:8px;bottom:6px;font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);opacity:.65;pointer-events:none}.block-node-behavior{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:calc(100% - 2 * var(--diagram-node-pad-x));margin:.1rem auto .35rem;padding:.28rem .5rem;border:1px solid color-mix(in srgb,var(--accent-warm) 45%,var(--border-strong));border-radius:8px;background:color-mix(in srgb,var(--accent-warm) 12%,transparent);color:var(--text-primary);cursor:pointer;font-size:.72rem}.block-node-behavior:hover{background:color-mix(in srgb,var(--accent-warm) 22%,transparent);border-color:var(--accent-warm)}.block-node-behavior-kind{font-style:italic;color:var(--text-muted)}.block-node-behavior-open{font-weight:700;color:var(--accent-warm-strong)}.tool-action-secondary:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent-mint) 45%,var(--border-default));filter:none;background:color-mix(in srgb,var(--surface-soft) 70%,var(--accent-mint) 12%)}.tool-action-toggle.is-active{color:#08111d;border-color:transparent;background:linear-gradient(135deg,var(--accent-mint) 0%,#5ad9c0 100%)}.tool-action-toggle.is-active:hover:not(:disabled){filter:brightness(1.05);background:linear-gradient(135deg,var(--accent-mint) 0%,#5ad9c0 100%)}.tool-action:disabled{opacity:.45;cursor:default}.tool-panel [data-tooltip]{position:relative}.tool-panel [data-tooltip]:after{content:attr(data-tooltip);position:absolute;right:calc(100% + .5rem);top:50%;transform:translateY(-50%) translate(4px);padding:.3rem .55rem;border-radius:8px;border:1px solid var(--border-default);background:var(--surface-panel-strong);color:var(--text-primary);font-size:.72rem;font-weight:600;white-space:nowrap;letter-spacing:0;text-transform:none;box-shadow:0 10px 24px #00000047;opacity:0;pointer-events:none;transition:opacity .12s ease,transform .12s ease;z-index:12}.tool-panel [data-tooltip]:hover:after,.tool-panel [data-tooltip]:focus-visible:after{opacity:1;transform:translateY(-50%) translate(0)}.tool-panel-left{left:.9rem;right:auto}.explorer-collapsed{overflow:hidden}.tool-panel-left [data-tooltip]:after{right:auto;left:calc(100% + .5rem);transform:translateY(-50%) translate(-4px)}.tool-panel-left [data-tooltip]:hover:after,.tool-panel-left [data-tooltip]:focus-visible:after{transform:translateY(-50%) translate(0)}.explorer-overlay{width:17rem;height:calc(100% - 4.4rem);max-height:calc(100% - 4.4rem);background:var(--surface-panel-strong);-webkit-backdrop-filter:none;backdrop-filter:none}.app-shell[data-room=narrow] .explorer-overlay{z-index:12;left:.5rem;width:calc(100% - 1rem)!important;max-width:calc(100% - 1rem);height:calc(100% - 1rem);max-height:calc(100% - 1rem);top:.5rem}.explorer-outer-resize{position:absolute;z-index:20;padding:0;border:0;background:transparent;touch-action:none;outline:none}.explorer-outer-resize:after{content:"";position:absolute;border-radius:2px;background:var(--accent-warm);opacity:0;transition:opacity .12s ease}.explorer-outer-resize-width{top:2.5rem;right:-5px;bottom:7px;width:10px;cursor:ew-resize}.explorer-outer-resize-width:after{top:8px;right:4px;bottom:8px;width:2px}.explorer-outer-resize-height{right:7px;bottom:-5px;left:7px;height:10px;cursor:ns-resize}.explorer-outer-resize-height:after{right:8px;bottom:4px;left:8px;height:2px}.explorer-outer-resize:hover:after,.explorer-outer-resize:focus-visible:after,.explorer-overlay.is-resizing .explorer-outer-resize:after{opacity:.9}.explorer-overlay.is-resizing{-webkit-user-select:none;user-select:none}.explorer-overlay.explorer-overlay-compact{height:auto}.explorer-overlay-compact .explorer-body-split,.explorer-overlay-compact .explorer-split{flex:0 0 auto}.explorer-header-actions{display:flex;align-items:center;gap:.2rem}.explorer-body{padding:.3rem;overflow-y:auto;overflow-x:hidden}.explorer-body-split{gap:0;overflow:hidden}.explorer-split{flex:1 1 auto;min-height:0;display:grid;overflow:hidden}.explorer-split-pane{min-height:0;overflow:hidden;display:flex;flex-direction:column}.explorer-split-pane.is-folded{min-height:auto}.explorer-splitter{position:relative;min-height:7px;cursor:row-resize;touch-action:none;outline:none}.explorer-splitter:before{content:"";position:absolute;left:8px;right:8px;top:3px;height:1px;background:var(--border-default)}.explorer-splitter:hover:before,.explorer-splitter:focus-visible:before,.explorer-split.is-dragging .explorer-splitter:before{height:2px;top:2px;background:var(--accent-warm)}.explorer-split.is-model-folded #explorer-detail-pane{border-top:1px solid var(--border-default)}.explorer-error{margin:.2rem .4rem;font-size:.66rem;color:#ff8f5c}.explorer-empty{margin:.4rem;font-size:.66rem;color:var(--text-muted)}.explorer-tree{display:flex;flex-direction:column;gap:1px}.explorer-node{display:flex;flex-direction:column}.explorer-row{display:flex;align-items:center;gap:.3rem;width:100%;padding:.25rem .4rem;border:0;border-radius:8px;background:transparent;color:var(--text-primary);font-size:.7rem;text-align:left;transition:background .12s ease}.explorer-row:hover{background:var(--surface-soft)}.explorer-row.is-active{background:color-mix(in srgb,var(--accent-warm) 22%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-warm) 30%,transparent)}.explorer-file{padding-right:.3rem;gap:.2rem}.explorer-file-trigger{display:flex;align-items:center;gap:.35rem;flex:1 1 auto;min-width:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;padding:0}.explorer-label{min-width:0;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.explorer-chevron{flex:0 0 auto;color:var(--text-muted);transition:transform .12s ease}.explorer-twisty{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;border:0;background:transparent;color:var(--text-muted);padding:0}.explorer-twisty-spacer{display:inline-block;width:1rem;flex:0 0 auto}.model-tree{display:flex;flex-direction:column;min-height:0;height:100%}.model-name{font-size:.74rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-version{flex:0 0 auto;font-size:.62rem;color:var(--text-muted);padding:.05rem .35rem;border-radius:999px;background:var(--surface-soft)}.explorer-package-trigger{display:flex;align-items:center;gap:.35rem;flex:1 1 auto;min-width:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;padding:0}.explorer-package.is-unreachable{opacity:.5}.explorer-entry-badge{flex:0 0 auto;font-size:.6rem;letter-spacing:.04em;text-transform:uppercase;padding:.05rem .3rem;border-radius:999px;color:var(--accent-warm);background:color-mix(in srgb,var(--accent-warm) 18%,transparent)}.explorer-member{gap:.35rem;color:var(--text-secondary, var(--text-primary))}.explorer-usage{gap:.35rem;color:var(--text-muted)}.explorer-member-kind{flex:0 0 auto;margin-left:auto;font-size:.6rem;color:var(--text-muted);white-space:nowrap}.explorer-note{font-style:italic;color:var(--text-muted);font-size:.62rem;margin:0;cursor:default}.explorer-note:hover{background:transparent}.explorer-also-here{flex:0 4 auto;min-width:0;overflow:hidden;display:inline-flex;align-items:center;gap:2px;margin-left:auto;font-size:.6rem;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;padding:.02rem .3rem;border-radius:999px;color:var(--text-secondary, var(--text-primary));background:transparent;border:1px dashed var(--border-default)}.explorer-also-here svg{opacity:.75;flex:0 0 auto}.explorer-also-here~.explorer-count-badge{margin-left:.25rem}.model-warnings{padding:0 .5rem .4rem;font-size:.62rem}.model-warnings-toggle{display:inline-flex;align-items:center;gap:.3rem;border:0;background:transparent;color:var(--accent-warm);font:inherit;font-size:.62rem;padding:.1rem 0;cursor:pointer}.model-warnings-list{margin:.2rem 0 0;padding-left:1rem;color:var(--text-muted)}.model-warnings-list li{margin:.1rem 0}.explorer-standalone{margin:.3rem .5rem .5rem;padding:.5rem .6rem;border:1px dashed var(--border-soft);border-radius:8px;background:var(--surface-soft)}.explorer-standalone-text{margin:0 0 .45rem;font-size:.66rem;color:var(--text-muted)}.explorer-standalone-create{width:100%;padding:.32rem .5rem;border:1px solid color-mix(in srgb,var(--accent-warm) 40%,transparent);border-radius:7px;background:color-mix(in srgb,var(--accent-warm) 16%,transparent);color:var(--accent-warm);font:inherit;font-size:.66rem;cursor:pointer}.explorer-standalone-create:hover:not(:disabled){background:color-mix(in srgb,var(--accent-warm) 26%,transparent)}.explorer-standalone-create:disabled{opacity:.6;cursor:default}.explorer-folder .explorer-label{font-weight:600}.explorer-search{padding:.1rem .55rem .45rem;border-bottom:1px solid var(--border-soft)}.explorer-search-input{width:100%;padding:.3rem .5rem;border:1px solid var(--border-default);border-radius:9px;background:var(--surface-soft-strong);color:var(--text-primary);font-size:.68rem}.explorer-search-input:focus-visible{outline:none;border-color:color-mix(in srgb,var(--accent-warm) 50%,var(--border-default))}.block-node{position:relative;box-sizing:border-box;min-width:var(--diagram-node-min-width);max-width:var(--diagram-node-max-width);border-radius:var(--diagram-node-radius, 18px);border:1.5px solid var(--border-strong);border-width:var(--diagram-node-border-width, 1.5px);background:linear-gradient(180deg,var(--node-bg-start) 0%,var(--node-bg-end) 100%);color:var(--text-primary);cursor:auto;-webkit-user-select:text;user-select:text}.explorer-marker{flex:0 0 14px;width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted)}.explorer-marker>svg{flex:0 0 auto;display:block}.explorer-marker-dash{font-size:.75rem;line-height:1}.explorer-package-trigger>svg{flex:0 0 auto}.block-node-package.block-node-selected{--package-ring-width: 2px;--package-ring-color: color-mix(in srgb, var(--package-accent) 60%, transparent)}.block-node-package.block-node-primary{--package-ring-width: 2.5px;--package-ring-color: color-mix(in srgb, #22c55e 92%, transparent)}.block-node-package:is(.block-node-selected,.block-node-primary) .block-node-package-frame{border-color:var(--package-ring-color);box-shadow:0 0 0 var(--package-ring-width) var(--package-ring-color),0 12px 30px #00000029}.block-node-package:is(.block-node-selected,.block-node-primary) .block-node-package-header{clip-path:polygon(calc(-1 * var(--package-ring-width)) calc(-1 * var(--package-ring-width)),calc(100% - var(--package-tab-slope) + .69 * var(--package-ring-width)) calc(-1 * var(--package-ring-width)),calc(100% + 1.07 * var(--package-ring-width)) 100%,calc(-1 * var(--package-ring-width)) 100%)}.block-node-package:is(.block-node-selected,.block-node-primary) .block-node-package-header:before{inset:calc(-1 * var(--package-ring-width)) calc(-1 * var(--package-ring-width)) 0;clip-path:polygon(0 0,calc(100% - var(--package-tab-slope) - .31 * var(--package-ring-width)) 0,calc(100% + .07 * var(--package-ring-width)) 100%,0 100%);background:var(--package-ring-color)}.block-node-drag-handle{-webkit-user-select:none;user-select:none;cursor:grab}.block-node-drag-handle:active{cursor:grabbing}.block-node-has-parts .block-node-list li{white-space:nowrap}.block-node-has-parts .block-node-doc,.block-node-autofit .block-node-doc{max-width:26rem}.block-node-autofit{width:var(--diagram-node-max-width);max-width:var(--diagram-node-max-width)}.block-node-autofit .block-node-list li{white-space:nowrap}.block-node-list li{min-width:0;overflow:hidden;text-overflow:ellipsis}.react-flow__node.node-manual-size>.block-node{width:100%;height:100%;min-width:0;max-width:none;overflow:visible}.block-node-selected{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-warm) 60%,transparent),0 20px 45px #00000047}.block-node-primary{box-shadow:0 0 0 2.5px color-mix(in srgb,#22c55e 92%,transparent),0 20px 45px #00000047}.react-flow__nodesselection-rect{background:transparent;border:none}.block-node-handle{width:1.05rem;height:1.05rem;border:2px solid color-mix(in srgb,var(--accent-warm) 80%,transparent);background:var(--surface-page);opacity:0;transition:opacity .14s ease,transform .14s ease,box-shadow .14s ease;box-shadow:0 0 0 2px color-mix(in srgb,var(--surface-page) 72%,transparent);z-index:5}.block-node-handle-visible{opacity:1}.block-node-handle-taken{pointer-events:none}.block-node-handle.connectingto,.block-node-handle.valid,.block-node-handle:hover{opacity:1;box-shadow:0 0 0 3px color-mix(in srgb,var(--surface-page) 75%,transparent),0 0 0 1px color-mix(in srgb,var(--accent-warm) 72%,transparent)}.block-node-handle-left,.block-node-handle-right{transform:translateY(-50%)}.block-node-handle-top,.block-node-handle-bottom{transform:translate(-50%)}.block-node-stereotype{padding:calc(.75rem * var(--diagram-node-space-scale)) var(--diagram-node-pad-x) calc(.25rem * var(--diagram-node-space-scale));color:var(--text-primary);font-size:.72rem;font-family:inherit;font-weight:400;letter-spacing:normal;text-align:center;text-transform:none}.block-node-metadata-tag{margin-left:.3em;padding:0 .28em;border:1px solid color-mix(in srgb,var(--accent-warm) 55%,transparent);border-radius:3px;background:color-mix(in srgb,var(--accent-warm) 12%,transparent);color:var(--accent-warm);font-weight:600;white-space:nowrap}.block-node-usage{border-style:dashed}.block-node-package{--package-tab-height: 34px;--package-tab-slope: 13px;--package-accent: var(--accent-warm);--package-surface: var(--package-surface-base);position:relative;min-width:0;max-width:none;width:100%;height:100%;border:0;background:transparent;box-shadow:none;overflow:visible}.block-node-package-frame{position:absolute;z-index:0;inset:calc(var(--package-tab-height) - 2px) 0 0;border:1.5px solid color-mix(in srgb,var(--package-accent) 62%,var(--border-strong));border-radius:0 2px 2px;background:var(--package-surface);box-shadow:0 12px 30px #00000029;pointer-events:none}.block-node-package-header{position:absolute;z-index:2;top:0;left:0;display:flex;align-items:center;box-sizing:border-box;min-width:0;min-height:var(--package-tab-height);height:var(--package-tab-height);width:fit-content;gap:.45rem;padding:0 calc(var(--diagram-node-pad-x) + var(--package-tab-slope)) 0 var(--diagram-node-pad-x);border:0;background:transparent;clip-path:polygon(0 0,calc(100% - var(--package-tab-slope)) 0,100% 100%,0 100%)}.block-node-package-header:before,.block-node-package-header:after{content:"";position:absolute;pointer-events:none;clip-path:polygon(0 0,calc(100% - var(--package-tab-slope)) 0,100% 100%,0 100%)}.block-node-package-header:before{z-index:-2;inset:0;background:color-mix(in srgb,var(--package-accent) 62%,var(--border-strong))}.block-node-package-header:after{z-index:-1;inset:1.5px 1.5px 0;background:color-mix(in srgb,var(--package-accent) 8%,var(--package-surface))}.block-node-package-name{flex:0 0 auto;color:var(--text-primary);font-weight:700;font-size:.92rem;line-height:1;white-space:nowrap}.source-card-source-edit{display:grid;gap:.45rem;padding:.35rem .25rem}.source-card-source-edit textarea{min-height:9rem;resize:vertical;border:1px solid var(--border-default);border-radius:9px;background:var(--source-viewer-bg);color:var(--source-viewer-text);padding:.65rem;font:.75rem/1.55 Cascadia Code,SFMono-Regular,Consolas,monospace;tab-size:2}.block-node-package-actions{position:relative;flex:0 0 auto;margin-left:auto;z-index:30;display:flex;align-items:center}.block-node-package-menu-button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:20px;height:20px;border:1px solid color-mix(in srgb,var(--package-accent) 55%,var(--border-soft));border-radius:50%;color:var(--package-accent);background:color-mix(in srgb,var(--surface-panel) 88%,transparent);cursor:pointer;padding:0;font-size:0;line-height:1}.block-node-package-contents{position:relative;z-index:1;display:grid;gap:var(--diagram-node-gap);min-width:0;margin-top:var(--package-tab-height);padding:var(--diagram-node-pad-y) var(--diagram-node-pad-x)}.block-node-package-contents .block-node-list li{min-width:0;overflow-wrap:anywhere}.block-node-content-kind{color:var(--text-muted);font-size:.72rem;font-weight:400}.block-node-boundary{min-width:0;max-width:none;width:100%;height:100%;border-radius:10px;border:2px dashed color-mix(in srgb,#ffb570 70%,var(--border-strong));background:color-mix(in srgb,var(--surface-panel) 32%,transparent);box-shadow:0 14px 34px #00000029}.block-node-boundary-header{display:flex;align-items:baseline;justify-content:center;gap:.5rem;padding:calc(.5rem * var(--diagram-node-space-scale)) var(--diagram-node-pad-x);border-bottom:1px solid color-mix(in srgb,var(--border-soft) 60%,transparent)}.block-node-boundary-name{color:var(--text-primary);font-weight:700;font-size:.95rem}.block-node-boundary-kind{color:var(--text-muted);font-size:.7rem}.react-flow__resize-control.line.package-resize-line{border-color:color-mix(in srgb,var(--accent-warm) 65%,transparent)}.react-flow__resize-control.handle.package-resize-handle{z-index:3;width:9px;height:9px;border-radius:3px;border:1.5px solid var(--accent-warm);background-color:var(--surface-panel-strong)}.node-resize-handle{position:absolute;z-index:1}.node-resize-handle-nw{top:-4px;left:-4px;width:11px;height:11px;cursor:nwse-resize}.node-resize-handle-se{bottom:-4px;right:-4px;width:11px;height:11px;cursor:nwse-resize}.node-resize-handle-ne{top:-4px;right:-4px;width:11px;height:11px;cursor:nesw-resize}.node-resize-handle-sw{bottom:-4px;left:-4px;width:11px;height:11px;cursor:nesw-resize}.node-resize-handle-n{top:-4px;left:11px;right:11px;height:7px;cursor:ns-resize}.node-resize-handle-s{bottom:-4px;left:11px;right:11px;height:7px;cursor:ns-resize}.node-resize-handle-e{right:-4px;top:11px;bottom:11px;width:7px;cursor:ew-resize}.node-resize-handle-w{left:-4px;top:11px;bottom:11px;width:7px;cursor:ew-resize}.block-node-interface{background:linear-gradient(180deg,color-mix(in srgb,var(--node-bg-start) 88%,#28445f),color-mix(in srgb,var(--node-bg-end) 88%,#152231))}.block-node-requirement{background:linear-gradient(180deg,color-mix(in srgb,var(--node-bg-start) 88%,#5d4121),color-mix(in srgb,var(--node-bg-end) 88%,#241911))}.block-node-constraint{border-color:color-mix(in srgb,#b07cff 52%,var(--border-strong));background:linear-gradient(180deg,color-mix(in srgb,var(--node-bg-start) 88%,#3a2a5d),color-mix(in srgb,var(--node-bg-end) 90%,#1c1430))}.block-node-analysis_case{border-color:color-mix(in srgb,#31d0aa 50%,var(--border-strong));background:linear-gradient(180deg,color-mix(in srgb,var(--node-bg-start) 88%,#14463c),color-mix(in srgb,var(--node-bg-end) 90%,#0d2620))}.block-node-verification_case{border-color:color-mix(in srgb,#5ec8ff 52%,var(--border-strong));background:linear-gradient(180deg,color-mix(in srgb,var(--node-bg-start) 88%,#173a54),color-mix(in srgb,var(--node-bg-end) 90%,#0e2233))}.block-node-use_case{border-radius:var(--diagram-node-radius);border-color:color-mix(in srgb,#ffb570 50%,var(--border-strong))}.block-node-actor{border-color:color-mix(in srgb,#9aa7ff 55%,var(--border-strong));background:linear-gradient(180deg,color-mix(in srgb,var(--node-bg-start) 88%,#2c3470),color-mix(in srgb,var(--node-bg-end) 90%,#161a38))}.block-node-connection{border-color:color-mix(in srgb,var(--accent-warm) 60%,var(--border-strong))}.block-node-calculation{border-color:color-mix(in srgb,#c79cff 55%,var(--border-strong))}.block-node-flow_definition{border-color:color-mix(in srgb,#50c8d8 55%,var(--border-strong))}.block-node-case{border-color:color-mix(in srgb,#65d39a 55%,var(--border-strong))}.block-node-children-region-parallel{position:relative;border-top:2px double var(--border-default)}.block-node-parallel-label{position:absolute;top:.25rem;left:.5rem;color:var(--text-muted);font-size:.68rem}.block-node-nary-figure{position:relative;width:100%;height:100%;display:grid;place-items:center;overflow:visible}.block-node-nary-dot{position:relative;--perimeter-handle-inset: -.275rem;min-width:0;max-width:none;width:12px;height:12px;min-height:0;padding:0;border:0;border-radius:50%;background:var(--text-primary);box-shadow:none}.block-node-nary-label{position:absolute;top:calc(50% + 10px);left:50%;transform:translate(-50%);color:var(--text-primary);font-size:.72rem;font-weight:650;line-height:1.1;white-space:nowrap;pointer-events:none}.block-node-nary-figure .react-flow__handle.block-node-handle{pointer-events:none}.block-node-nary-dot.block-node-selected{box-shadow:0 0 0 2.5px color-mix(in srgb,var(--accent-warm) 75%,transparent)}.block-node-nary-dot.block-node-primary{box-shadow:0 0 0 3px color-mix(in srgb,#22c55e 92%,transparent)}.block-node-enumeration{border-color:color-mix(in srgb,#31d0aa 50%,var(--border-strong))}.block-node-state{min-width:0;max-width:none;width:100%;height:100%;border-radius:28px;border-color:color-mix(in srgb,#5ec8ff 55%,var(--border-strong));background:linear-gradient(180deg,color-mix(in srgb,var(--node-bg-start) 90%,#28445f),color-mix(in srgb,var(--node-bg-end) 92%,#112234))}.block-node-pseudo_state{position:relative;--perimeter-handle-inset: -.275rem;min-width:0;max-width:none;width:20px;height:20px;min-height:0;padding:0;border-radius:50%;border:2px solid var(--text-primary);background:var(--text-primary);box-shadow:none}.block-node-pseudo-figure{position:relative;width:100%;height:100%;display:grid;place-items:center}.block-node-pseudo-figure .react-flow__handle.block-node-handle,.block-node-fork .react-flow__handle.block-node-handle{pointer-events:none}.modeler-draft-node .block-node-pseudo-figure .react-flow__handle.block-node-handle{pointer-events:all}.block-node-pseudo-figure .block-node-handle{width:.55rem;height:.55rem}.block-node-pseudo-final{background:transparent;position:relative}.block-node-pseudo-final:after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--text-primary)}.block-node-pseudo_state.block-node-selected{box-shadow:0 0 0 2.5px color-mix(in srgb,var(--accent-warm) 75%,transparent)}.block-node-pseudo_state.block-node-primary{box-shadow:0 0 0 3px color-mix(in srgb,#22c55e 92%,transparent)}.block-node-fork.block-node-selected{box-shadow:0 0 0 2.5px color-mix(in srgb,var(--accent-warm) 75%,transparent),0 8px 20px #00000047}.block-node-fork.block-node-primary{box-shadow:0 0 0 3px color-mix(in srgb,#22c55e 92%,transparent),0 8px 20px #00000047}.block-node-lane{min-width:0;max-width:none;width:100%;height:100%;border:1px dashed color-mix(in srgb,var(--border-strong) 80%,transparent);border-radius:12px;background:color-mix(in srgb,var(--surface-soft-strong) 60%,transparent);box-shadow:none;pointer-events:none}.block-node-lane-header{padding:.4rem .7rem;border-bottom:1px dashed color-mix(in srgb,var(--border-strong) 70%,transparent);color:var(--text-muted);font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-align:center}.block-node-action{min-width:0;max-width:none;width:100%;height:100%;border-color:color-mix(in srgb,#7aa2ff 55%,var(--border-strong));background:linear-gradient(180deg,color-mix(in srgb,var(--node-bg-start) 90%,#2a3a63),color-mix(in srgb,var(--node-bg-end) 92%,#16203a))}.block-node-action-send{border-color:color-mix(in srgb,#f59e0b 72%,var(--border-strong));background:linear-gradient(180deg,color-mix(in srgb,var(--node-bg-start) 84%,#f59e0b),color-mix(in srgb,var(--node-bg-end) 92%,#7c3f00))}.block-node-action-accept{border-color:color-mix(in srgb,var(--accent-mint, #31d0aa) 76%,var(--border-strong));background:linear-gradient(180deg,color-mix(in srgb,var(--node-bg-start) 84%,#31d0aa),color-mix(in srgb,var(--node-bg-end) 92%,#075f50))}.block-node-decision{position:relative;min-width:0;max-width:none;width:100%;height:100%;display:grid;place-items:center;border:0;background:transparent;box-shadow:none}.block-node-decision-shape{position:absolute;inset:14%;transform:rotate(45deg);border-radius:8px;border:1px solid color-mix(in srgb,#5ec8ff 60%,var(--border-strong));background:linear-gradient(135deg,color-mix(in srgb,var(--node-bg-start) 92%,#25506b),color-mix(in srgb,var(--node-bg-end) 94%,#112234));box-shadow:0 16px 36px #0000003d}.block-node-decision-label{position:relative;z-index:1;max-width:78%;color:var(--text-primary);font-size:.72rem;font-weight:700;text-align:center;overflow:hidden;text-overflow:ellipsis}.block-node-decision.block-node-selected{background:transparent}.block-node-fork{min-width:0;max-width:none;width:100%;height:100%;border:0;border-radius:4px;background:color-mix(in srgb,var(--text-primary) 78%,var(--accent-mint));box-shadow:0 8px 20px #00000047}.block-node-pseudo_state .block-node-name{padding:calc(.85rem * var(--diagram-node-space-scale)) var(--diagram-node-pad-x);text-align:center}.block-node-name-pseudo{font-size:.82rem}.block-node-name{padding:0 var(--diagram-node-pad-x) var(--diagram-node-pad-y);color:var(--text-primary);font-family:inherit;font-size:1rem;font-weight:400;text-align:center;overflow-wrap:anywhere}.block-node-name.is-definition{font-weight:700}.block-node-section{display:grid;gap:var(--diagram-node-gap);padding:var(--diagram-node-pad-y) var(--diagram-node-pad-x);border-top:1px solid color-mix(in srgb,var(--border-soft) 75%,transparent)}.block-node-section-state{gap:.35rem}.block-node-section-doc{gap:0}.block-node-doc{margin:0;color:var(--text-primary);font-family:inherit;font-size:.78rem;font-style:italic;line-height:1.35;text-align:left;white-space:pre-line;opacity:.85}.block-node-section-images{justify-items:center}.block-node-metadata-image{display:block;max-width:100%;width:auto;object-fit:contain}.block-node-metadata-image-fullImage,.block-node-metadata-image-image{max-height:7.5rem}.block-node-metadata-image-smallImage{max-height:2.5rem}.block-node-state-lines{display:grid;gap:.28rem}.block-node-state-line{color:var(--text-primary);font-size:.78rem;white-space:pre-line}.block-node-children-region{border-top:1px solid color-mix(in srgb,var(--border-soft) 75%,transparent)}.block-node-section-title{color:var(--text-primary);font-family:inherit;font-size:.72rem;font-weight:400;letter-spacing:normal;text-align:center;font-style:italic;text-transform:none}.block-node-list{color:var(--text-primary);font-family:inherit;margin:0;padding-left:.5rem;list-style:none;display:grid;gap:calc(.3rem * var(--diagram-node-space-scale));text-align:left}.block-node-type{font-weight:700}.block-node-short-name{color:var(--status-muted);font-weight:500}.block-node-empty{color:var(--status-muted);font-size:.85rem}.block-node-list-item{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:.4rem}.block-node-list-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.block-node-inspect{position:relative;flex:0 0 auto;width:15px;height:15px;padding:0;border:1px solid color-mix(in srgb,var(--accent-warm) 45%,var(--border-default));border-radius:50%;background:var(--surface-soft);color:var(--accent-warm);font-size:.8rem;cursor:pointer}.block-node-inspect:hover{color:var(--text-primary);border-color:var(--border-strong)}.block-node-port-pin.react-flow__handle{width:16px;height:16px;min-width:0;min-height:0;border-radius:3px;background:var(--surface-page);border:1.5px solid var(--accent-mint, #31d0aa);transform:translateY(-50%);opacity:1;display:flex;align-items:center;justify-content:center;z-index:6;cursor:grab}.block-node-port-pin.react-flow__handle:active{cursor:grabbing}.block-node-pin{position:absolute;width:1px!important;height:1px!important;min-width:0!important;min-height:0!important;background:transparent!important;border:0!important;box-shadow:none!important;opacity:0!important;transform:translateY(-50%);pointer-events:none}.react-flow__node.node-swimlane{pointer-events:none!important;z-index:-1!important}.block-node-action-detail{padding:1px 10px 3px;color:var(--text-secondary);font-size:.72rem;text-align:center}.block-node-port-name{position:absolute;transform:translateY(-50%);font-size:.72rem;font-weight:600;color:var(--accent-mint);pointer-events:none;white-space:nowrap;max-width:60%;overflow:hidden;text-overflow:ellipsis}.block-node-port-name-right{text-align:right}.block-node-port-arrow{display:block;width:14px;height:14px;color:var(--accent-mint, #31d0aa);fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.block-node.block-node-boundary,.block-node.block-node-system-of-interest{--system-boundary-ink: color-mix(in srgb, #ffb570 78%, var(--border-strong));border-style:dashed;border-width:3px;border-color:var(--system-boundary-ink);border-radius:14px;background:color-mix(in srgb,#ffb570 9%,color-mix(in srgb,var(--surface-panel) 32%,transparent));box-shadow:inset 0 0 0 6px color-mix(in srgb,#ffb570 7%,transparent),0 14px 34px #00000029}.block-node.block-node-actor-figure{min-width:0;max-width:none;width:96px;padding:4px 0 2px;display:flex;flex-direction:column;align-items:center;gap:4px;border:none;background:transparent;box-shadow:none;cursor:grab}.block-node-actor-figure-shape{width:40px;height:64px;overflow:visible;fill:none;stroke:var(--actor-figure-stroke, var(--text-primary));stroke-width:2;stroke-linecap:round}.block-node-actor-figure-name{color:var(--text-primary);font-weight:600;font-size:.85rem;text-align:center;line-height:1.2;overflow-wrap:anywhere}.block-node-actor-figure.block-node-selected .block-node-actor-figure-shape{stroke:var(--accent-warm)}.block-node.block-node-context-system{width:100%;height:100%;min-width:0;max-width:none;display:flex;flex-direction:column;justify-content:center;border-width:2.5px}.block-node-role-tag{color:color-mix(in srgb,#ffb570 70%,var(--text-secondary))}.block-node.block-node-context-external{border-style:solid}.react-flow__node[data-id^="ibd::"]>.block-node-actor-figure{margin:0 auto}.block-node.block-node-context-frame{width:100%;height:100%;min-width:0;max-width:none;padding:0;border:1px solid color-mix(in srgb,var(--border-strong) 45%,transparent);border-radius:6px;background:transparent;box-shadow:none}.block-node-context-frame-caption{display:flex;align-items:baseline;gap:6px;padding:6px 10px;cursor:grab}.block-node-context-frame .block-node-context-frame-name{padding:0;color:var(--text-secondary);font-weight:600;font-size:.85rem}.block-node-context-frame-kind{color:var(--text-secondary);font-size:.75rem}.block-node-context-frame-kind:before{content:"«"}.block-node-context-frame-kind:after{content:"»"}.react-flow__node[data-id^="ibd::"]>.block-node-use_case{border-radius:18px}.sequence-pan{position:absolute;inset:0;overflow:hidden;touch-action:none;cursor:grab}.sequence-pan:active{cursor:grabbing}.sequence-svg{display:block;font-family:inherit}.sequence-participant,.sequence-message-group{cursor:grab}.sequence-participant:active,.sequence-message-group:active{cursor:grabbing}.sequence-message-group:hover .sequence-message-label,.sequence-participant:hover .sequence-head-name{fill:var(--accent-warm-strong)}.sequence-controls{position:absolute;right:14px;bottom:14px;display:flex;flex-direction:column;gap:4px}.sequence-controls button{position:relative;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-default);border-radius:8px;background:color-mix(in srgb,var(--surface-panel-strong) 94%,transparent);color:var(--text-primary);font-size:1.1rem;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sequence-controls button:hover{border-color:var(--border-strong);background:var(--surface-soft)}.sequence-edit-hint{position:absolute;top:38px;right:14px;z-index:3;padding:.28rem .55rem;border:1px solid var(--border-soft);border-radius:999px;background:color-mix(in srgb,var(--surface-panel-strong) 90%,transparent);color:var(--text-muted);font-size:.68rem;pointer-events:none}.sequence-color-menu{z-index:12}.canvas-error{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2rem;text-align:center}.canvas-error-title{margin:0;font-size:1.05rem;color:var(--text-primary)}.canvas-error-message{margin:0;max-width:36rem;font-family:ui-monospace,monospace;font-size:.82rem;color:#ff8a6c;word-break:break-word}.canvas-error-actions{display:flex;gap:.6rem}.canvas-error-actions button{padding:.45rem 1rem;border:1px solid var(--border-default);border-radius:9px;background:var(--surface-soft);color:var(--text-primary);cursor:pointer}.canvas-error-actions button:hover{border-color:var(--border-strong)}.canvas-error-hint{margin:0;max-width:32rem;font-size:.78rem;color:var(--text-muted)}.sequence-lifeline{stroke:var(--sequence-color, color-mix(in srgb, var(--border-strong) 90%, transparent));stroke-width:1.2;stroke-dasharray:5 5}.sequence-head{fill:color-mix(in srgb,var(--sequence-color, var(--surface-card)) 12%,var(--surface-card));stroke:var(--sequence-color, var(--border-strong));stroke-width:1.3}.sequence-head-name{fill:var(--text-primary);font-size:13px;font-weight:700}.sequence-head-type{fill:var(--text-muted);font-size:11px}.sequence-activation{fill:color-mix(in srgb,var(--accent-warm) 28%,var(--surface-card));stroke:color-mix(in srgb,var(--accent-warm) 55%,var(--border-strong));stroke-width:1}.sequence-message{stroke:var(--edge-stroke);stroke-width:1.6;fill:none}.sequence-message-label{fill:var(--text-primary);font-size:12px;font-weight:600}.dropzone-shell{position:relative}.dropzone-overlay{position:fixed;inset:0;display:grid;place-items:center;background:var(--overlay-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none}.dropzone-card{padding:1.6rem 2rem;border-radius:24px;border:1px solid var(--drop-card-border);background:var(--surface-panel-strong);box-shadow:0 24px 80px #00000059}.muted{color:var(--text-muted)}.react-flow__edgelabel-renderer{z-index:1002}.react-flow__edge-textbg{fill:var(--edge-label-bg);stroke:var(--edge-label-border)}.react-flow__edge-text{fill:var(--edge-label-fg)}.association-edge-label{position:absolute;pointer-events:none;z-index:12;white-space:nowrap;color:var(--edge-label-fg);font-size:.82rem;font-weight:700;paint-order:stroke fill;-webkit-text-stroke:3px var(--edge-label-surface, var(--surface-page));text-shadow:0 0 2px var(--edge-label-surface, var(--surface-page)),0 0 2px var(--edge-label-surface, var(--surface-page))}.association-edge-leader{stroke:var(--accent-warm);stroke-width:1.3;stroke-dasharray:4 3;opacity:.75;pointer-events:none}.association-edge-interaction{fill:none;stroke:#0000;stroke-width:30;cursor:grab;pointer-events:stroke}.association-edge-interaction:active{cursor:grabbing}.react-flow__edgeupdater{fill:transparent;cursor:grab;r:9}.react-flow__edge:hover .react-flow__edgeupdater,.react-flow__edge.selected .react-flow__edgeupdater,.react-flow__edge.edge-active .react-flow__edgeupdater{r:9;fill:color-mix(in srgb,var(--accent-warm) 26%,transparent);stroke:var(--accent-warm);stroke-width:1.2}.react-flow__edgeupdater:hover{r:9;fill:color-mix(in srgb,var(--accent-warm) 62%,transparent)}.react-flow__edgeupdater:active{cursor:grabbing}.modeler-connecting .block-node,.modeler-connecting .react-flow__node{-webkit-user-select:none!important;user-select:none!important}.modeler-connecting .react-flow__edgeupdater,.modeler-connecting .association-edge-interaction,.modeler-connecting .association-edge-corner,.modeler-connecting .association-edge-add{pointer-events:none!important}.association-edge-corner{position:absolute;width:11px;height:11px;border-radius:50%;background:var(--accent-warm);border:1.5px solid var(--accent-warm);cursor:grab;z-index:13;pointer-events:all;box-shadow:0 1px 3px #00000059}.association-edge-corner:active{cursor:grabbing}.association-edge-add{position:absolute;width:9px;height:9px;border-radius:50%;background:color-mix(in srgb,var(--accent-warm) 18%,var(--surface-page));border:1.4px dashed var(--accent-warm);opacity:.7;cursor:copy;z-index:12;pointer-events:all}.association-edge-add:hover{opacity:1}.edge-context-menu{z-index:1000}.view-picker-chips{display:inline-flex;flex-wrap:wrap;gap:6px;margin-left:8px}.association-edge-name{z-index:13;pointer-events:auto;cursor:grab;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;align-items:center;line-height:1.15}.association-edge-declaration{white-space:nowrap}.association-edge-name:active{cursor:grabbing}.association-edge-name-transition{max-width:18rem;white-space:pre-line;text-align:center;line-height:1.25}.association-edge-multiplicity{pointer-events:auto;cursor:grab;-webkit-user-select:none;user-select:none;font-size:.76rem;color:color-mix(in srgb,var(--edge-label-fg) 88%,var(--text-muted))}.association-edge-multiplicity:active{cursor:grabbing}.association-edge-stereotype{pointer-events:none;font-size:.68rem;font-weight:600;font-style:italic;letter-spacing:.02em;color:color-mix(in srgb,var(--edge-label-fg) 60%,var(--text-muted))}.association-edge-name-wrapped,.association-edge-name-wrapped .association-edge-declaration{white-space:normal;overflow-wrap:anywhere;text-align:center}.search-box{position:relative;display:inline-block;min-width:14rem}.search-input{width:100%;padding:.5rem .7rem;border:1px solid var(--border-default);border-radius:11px;background:var(--surface-soft-strong);color:var(--text-primary);font:inherit;font-size:.8rem}.search-input:focus-visible{outline:none;border-color:color-mix(in srgb,var(--accent-warm) 55%,var(--border-default))}.search-input:disabled{opacity:.5;cursor:default}.search-results{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:40;max-height:22rem;overflow-y:auto;display:flex;flex-direction:column;padding:.25rem;gap:.15rem;border:1px solid var(--border-default);border-radius:12px;background:var(--surface-page);box-shadow:0 12px 30px #00000047}.search-empty{padding:.5rem .6rem;font-size:.78rem;color:var(--text-muted)}.search-result{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name kind" "fqn match";gap:.05rem .4rem;align-items:baseline;width:100%;text-align:left;padding:.35rem .55rem;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-primary);cursor:pointer}.search-result:hover,.search-result.is-active{background:color-mix(in srgb,var(--accent-warm) 14%,var(--surface-soft-strong));border-color:color-mix(in srgb,var(--accent-warm) 35%,var(--border-default))}.search-result-name{grid-area:name;font-size:.82rem;font-weight:600}.search-result-kind{grid-area:kind;font-size:.66rem;font-family:var(--font-mono, monospace);color:var(--accent-warm)}.search-result-fqn{grid-area:fqn;font-size:.66rem;color:var(--text-muted);overflow-wrap:anywhere}.search-result-match{grid-area:match;font-size:.62rem;color:var(--text-muted);font-style:italic}.export-menu{position:relative;display:inline-block}.export-menu-list{position:absolute;top:calc(100% + 4px);right:0;z-index:30;min-width:200px;width:max-content;max-width:calc(100vw - 2rem);display:flex;flex-direction:column;gap:.1rem;padding:.25rem;border-radius:.5rem;background:var(--surface-panel-strong);border:1px solid var(--border-default);box-shadow:0 6px 18px #0000004d}.export-menu-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.4rem .6rem;border:0;border-radius:.35rem;background:transparent;color:var(--text-primary);text-align:left;cursor:pointer;font-size:.8rem}.export-menu-item:hover:not(:disabled){background:var(--surface-soft)}.export-menu-item:disabled{opacity:.5;cursor:default}.export-menu-sub{font-size:.7rem;color:var(--text-muted)}.export-menu-pro{font-size:.6rem;text-transform:uppercase;letter-spacing:.05em;color:var(--surface-page);background:var(--accent-warm);border-radius:999px;padding:.05rem .4rem}.canvas-note{position:relative;display:flex;flex-direction:column;border:1px solid var(--border-strong, var(--border-default));border-top:3px solid var(--accent-warm, #f59e0b);border-radius:0;background:var(--surface-panel-strong, #1b2735);box-shadow:0 8px 22px #00000047;color:var(--text-primary);overflow:hidden;cursor:grab;--note-fold: 20px;--note-fold-edge: color-mix(in srgb, var(--accent-warm, #ffb570) 68%, var(--text-primary));clip-path:polygon(0 0,calc(100% - var(--note-fold) - 4px) 0,100% calc(var(--note-fold) + 4px),100% 100%,0 100%)}.canvas-note:after{content:"";position:absolute;top:0;right:0;width:var(--note-fold);height:var(--note-fold);box-sizing:border-box;background-color:inherit;background-image:linear-gradient(to top right,color-mix(in srgb,var(--accent-warm, #ffb570) 50%,transparent) 0,color-mix(in srgb,var(--accent-warm, #ffb570) 27%,transparent) calc(50% - 1px),var(--note-fold-edge) calc(50% - 1px) 50%,transparent 50%);background-origin:border-box;background-clip:border-box;border-left:1px solid color-mix(in srgb,var(--note-fold-edge) 55%,transparent);border-bottom:1px solid color-mix(in srgb,var(--note-fold-edge) 55%,transparent);box-shadow:-2px 2px 3px -1px #0000004d;pointer-events:none}.canvas-note:active{cursor:grabbing}.canvas-note-linking{outline:2px solid var(--accent-mint, #31d0aa);outline-offset:2px}.canvas-note-header{display:flex;align-items:center;justify-content:space-between;gap:.25rem;padding:.1rem 1.2rem .1rem .3rem;cursor:grab;-webkit-user-select:none;user-select:none;background:color-mix(in srgb,var(--surface-panel-strong, #1b2735) 80%,transparent)}.canvas-note-header:active{cursor:grabbing}.canvas-note-grip{font-size:.7rem;opacity:.5;line-height:1}.canvas-note-actions{display:flex;gap:.1rem}.canvas-note-actions button{border:none;background:transparent;cursor:pointer;font-size:.72rem;line-height:1;padding:.12rem .18rem;border-radius:5px;opacity:.75}.canvas-note-actions button:hover:not(:disabled){opacity:1;background:var(--surface-hover, rgba(255, 255, 255, .08))}.canvas-note-actions button:disabled{opacity:.55;color:var(--status-muted);cursor:not-allowed}.canvas-note[data-note-authority=model]{border-left-width:3px;border-left-style:double}.canvas-note-actions button.is-active{opacity:1;background:color-mix(in srgb,var(--accent-mint, #31d0aa) 30%,transparent)}.canvas-note-identity{display:flex;align-items:flex-start;gap:.25rem;min-width:0}.canvas-note-identification{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15}.canvas-note-language{font-size:.68rem}.canvas-note-stereotype{font-size:.7rem;font-weight:650}.canvas-note-name{font-size:.7rem;font-weight:600}.canvas-note-links{z-index:1500}.canvas-note-text{flex:1;width:100%;min-height:44px;box-sizing:border-box;border:none;outline:none;resize:none;padding:.3rem .4rem .4rem;background:transparent;color:inherit;font:inherit;font-size:.78rem;line-height:1.3}.canvas-note-text::placeholder{color:var(--text-muted);opacity:.7}.canvas-note-add-panel{display:flex;align-items:center;gap:.5rem}.canvas-note-link-hint{font-size:.72rem;color:var(--text-primary);background:color-mix(in srgb,var(--accent-mint, #31d0aa) 22%,var(--surface-panel-strong, #1b2735));border-radius:6px;padding:.2rem .45rem}.canvas-code-box{display:flex;flex-direction:column;width:100%;height:100%;box-sizing:border-box;border:1px solid var(--border-strong, var(--border-default));border-top:3px solid var(--source-token-keyword, #7aa2f7);border-radius:8px;background:var(--source-viewer-bg);box-shadow:0 8px 22px #00000047;color:var(--source-viewer-text);overflow:hidden;cursor:grab}.canvas-code-box:active{cursor:grabbing}.canvas-code-box-header{display:flex;align-items:center;gap:.3rem;padding:.1rem .3rem;cursor:grab;-webkit-user-select:none;user-select:none;background:color-mix(in srgb,var(--surface-panel-strong, #1b2735) 80%,transparent)}.canvas-code-box-header:active{cursor:grabbing}.canvas-code-box-grip{font-size:.7rem;opacity:.5;line-height:1}.canvas-code-box-lock{font-size:.7rem;line-height:1}.canvas-code-box-title{flex:1;min-width:0;font-size:.72rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-code-box-actions{display:flex;gap:.1rem}.canvas-code-box-actions button{border:none;background:transparent;color:inherit;cursor:pointer;font-size:.72rem;line-height:1;padding:.12rem .18rem;border-radius:5px;opacity:.75}.canvas-code-box-actions button:hover{opacity:1;background:var(--surface-hover, rgba(255, 255, 255, .08))}.canvas-code-box-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:.3rem 0;-webkit-user-select:text;user-select:text;cursor:text;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.72rem;line-height:1.5;tab-size:2}.canvas-code-box-body:focus-visible{outline:2px solid var(--source-viewer-selection-line);outline-offset:-2px}.canvas-code-box-line{display:grid;grid-template-columns:2.6rem max-content;min-width:max-content;padding-right:.6rem;white-space:pre}.canvas-code-box-line-number{padding-right:.6rem;color:var(--text-muted);text-align:right;-webkit-user-select:none;user-select:none}.canvas-code-box-status{padding:.35rem .6rem;font-size:.72rem;color:var(--text-muted)}.canvas-code-box-failed{color:var(--accent-warm, #f59e0b);white-space:normal}.canvas-code-box-footer{padding:.15rem .4rem;border-top:1px solid var(--border-default);background:color-mix(in srgb,var(--surface-panel-strong, #1b2735) 80%,transparent);font-size:.63rem;line-height:1.3;min-height:1.1rem}.canvas-code-box-locator{color:var(--text-muted)}.canvas-code-box-refusal{color:var(--accent-warm, #f59e0b)}.tool-icon-button.is-active{color:var(--accent-mint, #31d0aa);border-color:var(--accent-mint, #31d0aa)}.canvas-image{position:relative;width:100%;height:100%;box-sizing:border-box;border-radius:6px;overflow:hidden;cursor:grab;background:color-mix(in srgb,var(--surface-panel-strong, #1b2735) 45%,transparent)}.canvas-image:active{cursor:grabbing}.canvas-image-picture{display:block;width:100%;height:100%;object-fit:fill;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.canvas-image-failed{border:1px dashed var(--accent-warm, #f59e0b);background:color-mix(in srgb,var(--accent-warm, #f59e0b) 10%,transparent)}.canvas-image-failure{display:flex;flex-direction:column;gap:.15rem;justify-content:center;height:100%;padding:.4rem .55rem;font-size:.7rem;line-height:1.35;color:var(--accent-warm, #f59e0b);overflow:hidden}.canvas-image-failure-path{font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.66rem;color:var(--text-primary);overflow-wrap:anywhere}.canvas-image-actions{position:absolute;top:.15rem;right:.15rem;display:flex;gap:.1rem;opacity:0;transition:opacity .12s ease}.canvas-image:hover .canvas-image-actions,.canvas-image-actions:focus-within{opacity:1}.canvas-image-actions button{border:none;background:color-mix(in srgb,var(--surface-panel-strong, #1b2735) 82%,transparent);color:var(--text-primary);cursor:pointer;font-size:.72rem;line-height:1;padding:.16rem .24rem;border-radius:5px}.canvas-image-actions button:hover:not(:disabled){background:var(--surface-hover, rgba(255, 255, 255, .16))}.canvas-image-actions button:disabled{opacity:.4;cursor:default}.canvas-image-refusal{position:absolute;left:50%;bottom:1.4rem;transform:translate(-50%);z-index:2100;max-width:min(34rem,80%);padding:.4rem .7rem;border:1px solid var(--accent-warm, #f59e0b);border-radius:8px;background:var(--surface-panel-strong, #1b2735);color:var(--accent-warm, #f59e0b);font-size:.78rem;line-height:1.4;box-shadow:0 10px 26px #0000005c}:root{--z-modal-backdrop: 20000}.folder-picker-backdrop{position:fixed;inset:0;z-index:var(--z-modal-backdrop);display:flex;align-items:center;justify-content:center;background:#0000006b}.folder-picker{display:flex;flex-direction:column;width:min(780px,calc(100vw - 32px));height:min(720px,calc(100vh - 48px));padding:1.1rem;gap:.85rem;border:1px solid var(--border-default);border-radius:16px;background:color-mix(in srgb,var(--surface-panel-strong) 97%,transparent);box-shadow:0 18px 48px #00000057;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:var(--text-primary)}.folder-picker-titlebar{display:flex;align-items:flex-start;gap:.7rem;min-height:2.6rem}.folder-picker-title{font-size:1.1rem;font-weight:650}.folder-picker-subtitle{margin-top:.15rem;color:var(--text-muted);font-size:.76rem}.folder-picker-back,.folder-picker-close{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-muted);font-size:1.1rem;cursor:pointer}.folder-picker-back:hover,.folder-picker-close:hover{border-color:var(--border-soft);background:var(--surface-soft);color:var(--text-primary)}.folder-picker-close{margin-left:auto;font-size:1.35rem}.folder-picker-pathbar{display:flex;gap:.4rem}.folder-picker-up{flex:0 0 auto;width:2rem;border:1px solid var(--border-default);border-radius:8px;background:var(--surface-soft);color:var(--text-primary);cursor:pointer}.folder-picker-up:disabled{opacity:.4;cursor:default}.folder-picker-path{flex:1;min-width:0;padding:.35rem .55rem;border:1px solid var(--border-default);border-radius:8px;background:var(--surface-soft);color:var(--text-primary);font-size:.8rem}.folder-picker-error{padding:.3rem .5rem;border-radius:8px;background:color-mix(in srgb,#b91c1c 18%,transparent);color:var(--text-primary);font-size:.75rem}.folder-picker-list{flex:1;min-height:160px;overflow-y:auto;border:1px solid var(--border-soft);border-radius:8px;padding:.25rem;display:flex;flex-direction:column;gap:1px}.folder-picker-section{padding:.25rem .5rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.folder-picker-row{display:flex;align-items:center;gap:.45rem;padding:.32rem .5rem;border:none;border-radius:6px;background:transparent;color:var(--text-primary);font-size:.82rem;text-align:left;cursor:pointer}.folder-picker-row:hover{background:var(--surface-soft-strong)}.folder-picker-row-icon{display:inline-flex;color:var(--text-muted)}.folder-picker-row-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-picker-model-badge{flex:0 0 auto;padding:.05rem .4rem;border:1px solid var(--accent-warm);border-radius:999px;color:var(--accent-warm);font-size:.65rem;text-transform:uppercase;letter-spacing:.05em}.folder-picker-empty{padding:.6rem;color:var(--text-muted);font-size:.78rem}.folder-picker-actions{display:flex;align-items:center;gap:.5rem}.folder-picker-hint{flex:1;min-width:0;color:var(--text-muted);font-size:.72rem}.folder-picker-cancel,.folder-picker-open{padding:.35rem .7rem;border-radius:8px;border:1px solid var(--border-default);background:var(--surface-soft);color:var(--text-primary);font-size:.8rem;cursor:pointer}.folder-picker-open{border-color:var(--accent-warm);background:color-mix(in srgb,var(--accent-warm) 22%,transparent);font-weight:600}.folder-picker-open:disabled{opacity:.45;cursor:default}.folder-picker-home{flex:1;min-height:0;display:flex;flex-direction:column;gap:.85rem;overflow:hidden}.folder-picker-home-section{display:flex;flex-direction:column;gap:.4rem}.folder-picker-section-title{margin:0;color:var(--text-muted);font-size:.7rem;font-weight:650;letter-spacing:.075em;text-transform:uppercase}.folder-picker-new-grid{display:grid;gap:.5rem}.folder-picker-create{display:flex;flex-direction:column;gap:.4rem;padding-top:.5rem}.folder-picker-create-field{display:flex;align-items:center;gap:.6rem;font-size:.75rem;color:var(--text-muted)}.folder-picker-create-field input{flex:1 1 auto;min-width:0;padding:.4rem .55rem;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-soft);color:var(--text-primary);font-size:.78rem}.folder-picker-preview-notice{padding:.45rem .6rem;border-radius:8px;background:color-mix(in srgb,#d97706 16%,transparent);color:var(--text-primary);font-size:.75rem;line-height:1.4}.folder-picker-preview-notice ul{margin:.3rem 0 0;padding-left:1.1rem}.folder-picker-acknowledge{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--text-primary)}.folder-picker-create-preview{margin:0;font-size:.7rem;line-height:1.35;color:var(--text-muted);overflow-wrap:anywhere}.folder-picker-choice{display:flex;align-items:center;gap:.75rem;width:100%;min-width:0;padding:.8rem .9rem;border:1px solid var(--border-soft);border-radius:11px;background:var(--surface-soft);color:var(--text-primary);text-align:left;cursor:pointer}.folder-picker-choice:hover{border-color:var(--border-default);background:var(--surface-soft-strong)}.folder-picker-choice.is-primary{border-color:color-mix(in srgb,var(--accent-warm) 58%,var(--border-soft));background:color-mix(in srgb,var(--accent-warm) 12%,var(--surface-soft))}.folder-picker-choice:disabled,.folder-picker-choice:disabled:hover{border-color:var(--border-soft);background:var(--surface-soft);cursor:not-allowed;opacity:.55}.folder-picker-choice-icon{flex:0 0 auto;display:inline-flex;color:var(--accent-warm)}.folder-picker-choice span:not(.folder-picker-choice-icon){display:flex;flex-direction:column;gap:.2rem;min-width:0}.folder-picker-choice strong{font-size:.82rem;font-weight:650}.folder-picker-choice small{color:var(--text-muted);font-size:.7rem;line-height:1.35}.folder-picker-history-list{flex:1;min-height:0;overflow-y:auto;border:1px solid var(--border-soft);border-radius:9px;padding:.2rem}.folder-picker-history-section{display:flex;flex-direction:column;gap:.1rem}.folder-picker-history-section+.folder-picker-history-section{margin-top:.15rem;padding-top:.15rem;border-top:1px solid var(--border-soft)}.folder-picker-history-heading{padding:.3rem .5rem .2rem}.folder-picker-history-rows{display:flex;flex-direction:column;gap:1px}.folder-picker-row-history{padding:0;gap:0}.folder-picker-row-open{flex:1;min-width:0;display:flex;align-items:center;gap:.45rem;padding:.32rem .5rem;border:none;border-radius:6px;background:transparent;color:var(--text-primary);font-size:.82rem;text-align:left;cursor:pointer}.folder-picker-row-open:hover{background:var(--surface-soft-strong)}.folder-picker-row-path{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:.68rem}.folder-picker-star{flex:0 0 auto;width:1.7rem;border:none;border-radius:6px;background:transparent;color:var(--text-muted);font-size:.95rem;line-height:1;cursor:pointer}.folder-picker-star:hover{background:var(--surface-soft);color:var(--accent-warm)}.folder-picker-star.is-on{color:var(--accent-warm)}.folder-picker-row-pilot{background:color-mix(in srgb,var(--accent-warm) 7%,transparent)}.folder-picker-file-row .folder-picker-row-icon{color:var(--accent-warm)}.folder-picker-star:disabled{opacity:.35;cursor:default}.folder-picker-remove{flex:0 0 auto;width:1.6rem;border:none;border-radius:6px;background:transparent;color:var(--text-muted);font-size:1rem;line-height:1;cursor:pointer}.folder-picker-remove:hover{background:var(--surface-soft);color:var(--text-primary)}@media(max-width:640px){.folder-picker{height:calc(100vh - 24px);width:calc(100vw - 24px);padding:.85rem}.folder-picker-row-path{display:none}}.model-scope-backdrop{position:fixed;inset:0;z-index:var(--z-modal-backdrop);display:flex;align-items:center;justify-content:center;background:#0000006b}.model-scope{display:flex;flex-direction:column;width:min(460px,calc(100vw - 32px));padding:1rem;gap:.7rem;border:1px solid var(--border-default);border-radius:12px;background:color-mix(in srgb,var(--surface-panel-strong) 97%,transparent);box-shadow:0 18px 48px #00000057;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:var(--text-primary)}.model-scope-title{font-size:.95rem;font-weight:600}.model-scope-body{display:flex;flex-direction:column;gap:.5rem;font-size:.82rem;line-height:1.45;color:var(--text-secondary, var(--text-primary))}.model-scope-body code{padding:.05rem .3rem;border-radius:5px;background:var(--surface-soft);font-size:.76rem}.model-scope-dir{padding:.3rem .5rem;border:1px solid var(--border-soft);border-radius:7px;background:var(--surface-soft);color:var(--text-muted);font-size:.72rem;overflow-wrap:anywhere}.model-scope-error{padding:.3rem .5rem;border-radius:8px;background:color-mix(in srgb,#b91c1c 18%,transparent);color:var(--text-primary);font-size:.75rem}.model-scope-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.model-scope-cancel,.model-scope-standalone,.model-scope-init{padding:.38rem .75rem;border-radius:8px;border:1px solid var(--border-default);background:var(--surface-soft);color:var(--text-primary);font-size:.8rem;cursor:pointer}.model-scope-cancel{margin-right:auto;border-color:transparent;color:var(--text-muted)}.model-scope-init{border-color:var(--accent-warm);background:color-mix(in srgb,var(--accent-warm) 22%,transparent);font-weight:600}.model-scope-cancel:disabled,.model-scope-standalone:disabled,.model-scope-init:disabled{opacity:.5;cursor:default}.modeler-delete-scope-backdrop{position:fixed;inset:0;z-index:calc(var(--z-modal-backdrop) + 1);display:flex;align-items:center;justify-content:center;background:#0000006b}.modeler-delete-scope{display:flex;flex-direction:column;width:min(520px,calc(100vw - 32px));padding:1rem;gap:.7rem;border:1px solid var(--border-default);border-radius:12px;background:color-mix(in srgb,var(--surface-panel-strong) 97%,transparent);box-shadow:0 18px 48px #00000057;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:var(--text-primary)}.modeler-delete-scope-title{font-size:.95rem;font-weight:600}.modeler-delete-scope-impact{margin:0;padding:.35rem .55rem;border-radius:8px;background:color-mix(in srgb,var(--accent-warm) 16%,transparent);color:var(--text-primary);font-size:.76rem;line-height:1.45}.modeler-delete-scope-note{margin:0;padding:0 .55rem;color:var(--text-secondary);font-size:.73rem;line-height:1.45}.modeler-delete-scope-options{display:flex;flex-direction:column;gap:.4rem}.modeler-delete-scope-option{display:flex;align-items:flex-start;gap:.55rem;padding:.45rem .55rem;border:1px solid var(--border-soft);border-radius:9px;background:var(--surface-soft);cursor:pointer}.modeler-delete-scope-option[data-available=no]{opacity:.62;cursor:default}.modeler-delete-scope-option input{margin-top:.15rem}.modeler-delete-scope-option-text{display:flex;flex-direction:column;gap:.15rem}.modeler-delete-scope-option-label{display:flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:600}.modeler-delete-scope-writes{padding:.02rem .34rem;border-radius:999px;background:color-mix(in srgb,#b45309 30%,transparent);color:var(--text-primary);font-size:.64rem;font-weight:600;letter-spacing:.01em}.modeler-delete-scope-option-effect{font-size:.76rem;line-height:1.4;color:var(--text-secondary, var(--text-primary))}.modeler-delete-scope-option-reason{font-size:.71rem;line-height:1.4;color:var(--text-muted)}.modeler-delete-scope-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem}.modeler-delete-scope-cancel,.modeler-delete-scope-confirm{padding:.38rem .75rem;border-radius:8px;border:1px solid var(--border-default);background:var(--surface-soft);color:var(--text-primary);font-size:.8rem;cursor:pointer}.modeler-delete-scope-cancel{margin-right:auto;border-color:transparent;color:var(--text-muted)}.modeler-delete-scope-confirm{border-color:var(--accent-warm);background:color-mix(in srgb,var(--accent-warm) 22%,transparent);font-weight:600}:root{--save-state-modified: #e5484d;--save-state-saved: #46a758;--save-state-new: #3f8cd6;--nav-save-color: var(--border-default)}.nav-strip-ring{position:absolute;inset:1px;width:calc(100% - 2px);height:calc(100% - 2px);pointer-events:none;z-index:3}.nav-strip-ring-track,.nav-strip-ring-arc{fill:none;stroke-width:3;stroke-linecap:round}.nav-strip-ring-track{stroke:color-mix(in srgb,var(--nav-save-color) 20%,transparent)}.nav-strip-ring-arc{stroke:var(--save-state-new);stroke-dasharray:0 100;transition:stroke-dasharray .22s ease-out,stroke .22s ease-out}.nav-strip-ring[data-phase=in-flight] .nav-strip-ring-arc,.nav-strip-ring[data-phase=unknown] .nav-strip-ring-arc{stroke:var(--save-state-new);stroke-dasharray:24 76;animation:nav-strip-ring-sweep 1.25s linear infinite}.nav-strip-ring[data-phase=unknown] .nav-strip-ring-arc{animation-duration:2.4s}.nav-strip-ring[data-phase=written] .nav-strip-ring-arc{stroke:var(--save-state-saved);stroke-dasharray:100 0}.nav-strip-ring[data-phase=refused] .nav-strip-ring-arc{stroke:var(--save-state-modified);stroke-dasharray:100 0}@keyframes nav-strip-ring-sweep{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}@media(prefers-reduced-motion:reduce){.nav-strip-ring[data-phase=in-flight] .nav-strip-ring-arc,.nav-strip-ring[data-phase=unknown] .nav-strip-ring-arc{animation:none;stroke-dashoffset:0}}.nav-strip.nav-strip-action-in-flight,.nav-strip.nav-strip-action-unknown{--nav-save-color: var(--save-state-new)}.nav-strip.nav-strip-action-written{--nav-save-color: var(--save-state-saved)}.nav-strip.nav-strip-action-refused{--nav-save-color: var(--save-state-modified)}.nav-strip-ring-report{display:flex;flex-wrap:wrap;align-items:center;align-self:stretch;gap:8px;padding:5px 10px 6px;border-top:1px solid color-mix(in srgb,var(--nav-save-color) 40%,transparent);background:var(--surface-page);font-size:.72rem;line-height:1.35;position:relative;z-index:2}.nav-strip-ring-spoken{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.nav-strip-ring-phase{flex:0 0 auto;color:var(--nav-save-color);font-weight:700;letter-spacing:.02em;text-transform:uppercase}.nav-strip-ring-message{flex:1 1 200px;min-width:0;color:var(--text-primary)}.nav-strip-ring-cause,.nav-strip-ring-recovery{flex:1 0 100%;min-width:0;color:var(--text-secondary, var(--text-primary));font-size:.78rem;line-height:1.35}.nav-strip-ring-recovery{color:var(--text-primary)}.nav-strip-ring-undo,.nav-strip-ring-dismiss{flex:0 0 auto;border:1px solid var(--border-default);border-radius:5px;background:var(--surface-soft);color:var(--text-primary);font-size:.72rem;line-height:1.1;padding:3px 8px;cursor:pointer}.nav-strip-ring-undo{border-color:color-mix(in srgb,var(--save-state-modified) 55%,var(--border-default));font-weight:600}.nav-strip-ring-undo:hover,.nav-strip-ring-dismiss:hover{background:var(--surface-page)}.nav-strip-ring-dismiss{padding:3px 7px}.nav-strip:has(>.nav-strip-ring-popover),.nav-strip:has(>.nav-strip-notice-floating){overflow:visible}.nav-strip-ring-popover{position:absolute;top:calc(100% + 6px);left:-2px;width:max-content;max-width:min(420px,90vw);border:1px solid var(--nav-save-color);border-radius:8px;box-shadow:0 6px 18px #0000002e;z-index:30}.nav-strip-notice{display:flex;flex-wrap:wrap;align-items:baseline;align-self:stretch;gap:4px 8px;padding:5px 10px 6px;border-top:1px solid var(--border-default);background:var(--surface-page);font-size:.72rem;line-height:1.35;position:relative;z-index:2}.nav-strip-notice-receipt{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.nav-strip-notice-floating{position:absolute;top:calc(100% + 6px);left:-2px;width:max-content;max-width:min(420px,90vw);border:1px solid var(--border-default);border-radius:8px;box-shadow:0 6px 18px #0000002e;z-index:29}.nav-strip-notice-text{flex:1 0 100%;min-width:0;color:var(--text-primary)}.react-flow.canvas-write-frozen .react-flow__node,.react-flow.canvas-write-frozen .react-flow__node *{cursor:progress!important}.react-flow.canvas-write-frozen .react-flow__resize-control,.react-flow.canvas-write-frozen .react-flow__handle,.react-flow.canvas-write-frozen .react-flow__edgeupdater{pointer-events:none}.rendering-name-backdrop{position:fixed;inset:0;z-index:calc(var(--z-modal-backdrop) + 6);display:flex;align-items:center;justify-content:center;background:#0000006b}.rendering-name-backdrop[data-blocking=false]{background:transparent;pointer-events:none}.rendering-name-backdrop[data-blocking=false] .rendering-name-dialog{pointer-events:auto;align-self:flex-end;margin-bottom:6vh}.rendering-name-dialog{width:min(420px,calc(100vw - 32px));display:flex;flex-direction:column;gap:12px;padding:18px;border:1px solid var(--border-default);border-radius:10px;background:var(--surface-page);color:var(--text-primary);box-shadow:0 18px 52px #0000004d}.rendering-name-dialog h2,.rendering-name-dialog p{margin:0}.rendering-name-dialog p{color:var(--text-muted);font-size:.82rem}.rendering-name-dialog label{font-size:.8rem;font-weight:700}.rendering-name-dialog input{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid var(--border-default);border-radius:6px;background:var(--surface-canvas);color:var(--text-primary)}.rendering-name-dialog .rendering-name-error{color:var(--save-state-modified)}.rendering-name-destination{display:grid;gap:5px;padding:9px 10px;border:1px solid color-mix(in srgb,var(--save-state-new) 34%,var(--border-default));border-radius:7px;background:color-mix(in srgb,var(--save-state-new) 7%,var(--surface-canvas));font-size:.75rem}.rendering-name-destination>span{color:var(--text-primary);font-weight:700}.rendering-name-destination>code{display:block;overflow:hidden;color:var(--text-secondary, var(--text-primary));font-size:.7rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.rendering-name-destination p code{color:inherit}.rendering-name-actions{display:flex;justify-content:flex-end;gap:8px}.privacy-choice-card{position:fixed;right:1rem;bottom:1rem;z-index:45;width:min(410px,calc(100vw - 2rem));padding:1rem;border:1px solid color-mix(in srgb,var(--accent-mint) 45%,var(--border-default));box-shadow:0 18px 46px #050e1947}.privacy-choice-card h2{margin:.16rem 0 .45rem;font-size:1rem}.privacy-choice-card p,.privacy-dialog-body p{margin:0;color:var(--text-secondary);font-size:.76rem;line-height:1.55}.privacy-eyebrow{color:var(--accent-mint);font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.privacy-choice-actions,.privacy-setting-actions,.privacy-external-links{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem}.privacy-choice-actions{margin-top:.85rem}.privacy-choice-button,.privacy-primary,.privacy-danger,.privacy-link-button{border-radius:7px;padding:.42rem .68rem;font:inherit;font-size:.72rem;font-weight:700;cursor:pointer}.privacy-choice-button{border:1px solid var(--border-strong);color:var(--text-primary);background:var(--surface-soft)}.privacy-choice-button:hover{border-color:var(--accent-mint)}.privacy-primary{border:1px solid var(--accent-mint);color:#071a18;background:var(--accent-mint)}.privacy-primary:hover{filter:brightness(1.07)}.privacy-danger{border:1px solid #c94b63;color:#c94b63;background:color-mix(in srgb,#c94b63 9%,transparent)}.privacy-link-button{border:0;color:var(--accent-mint);background:transparent;text-decoration:underline}.privacy-preview-note{margin-top:.55rem!important;padding:.46rem .6rem;border-left:3px solid var(--accent-warm);background:color-mix(in srgb,var(--accent-warm) 8%,transparent)}.privacy-dialog{width:min(620px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow:auto}.privacy-dialog-overlay{z-index:50}.privacy-dialog-body{display:grid;gap:.9rem;padding:1rem}.privacy-status{justify-self:start;padding:.28rem .55rem;border:1px solid var(--border-default);border-radius:999px;color:var(--text-muted);font-size:.68rem;font-weight:800}.privacy-status-enabled{border-color:var(--accent-mint);color:var(--accent-mint)}.privacy-status-disabled{border-color:var(--text-muted)}.privacy-category-list{display:grid;gap:.55rem}.privacy-category{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.85rem;padding:.72rem;border:1px solid var(--border-default);border-radius:9px;background:var(--surface-soft)}.privacy-category span{display:grid;gap:.2rem}.privacy-category strong{color:var(--text-primary);font-size:.76rem}.privacy-category small{color:var(--text-muted);font-size:.68rem;line-height:1.45}.privacy-category input[role=switch]{width:2.25rem;height:1.2rem;accent-color:var(--accent-mint);cursor:pointer}.privacy-audit{padding:.65rem .72rem;border:1px solid var(--border-default);border-radius:9px;background:color-mix(in srgb,var(--surface-soft) 72%,transparent)}.privacy-audit summary{color:var(--text-primary);font-size:.73rem;font-weight:700;cursor:pointer}.privacy-audit p{margin-top:.55rem!important}.privacy-audit pre{margin:.55rem 0 0;padding:.62rem;overflow-x:auto;border-radius:7px;background:color-mix(in srgb,var(--surface-page) 82%,transparent);color:var(--text-secondary);font:.64rem/1.5 ui-monospace,Cascadia Mono,Consolas,monospace;white-space:pre-wrap}.privacy-setting-actions{padding-top:.1rem}.privacy-setting-actions button:disabled{opacity:.45;cursor:default}.privacy-reset-note{color:var(--text-muted)!important;font-size:.69rem!important}.privacy-external-links{padding-top:.65rem;border-top:1px solid var(--border-default)}.privacy-external-links a{color:var(--accent-mint);font-size:.72rem;font-weight:700}@media(max-width:760px){.privacy-choice-card{right:.65rem;bottom:.65rem;width:calc(100vw - 1.3rem)}}body:has([aria-modal=true]) .privacy-choice-card{visibility:hidden}.element-style-picker{display:flex;flex-direction:column;gap:2px;padding:4px 0}.element-style-scope{display:flex;gap:4px;padding:2px 8px 6px}.element-style-scope-option{flex:1;padding:4px 6px;border:1px solid var(--border-strong);border-radius:6px;background:transparent;color:var(--text-secondary);font-size:.78rem;cursor:pointer}.element-style-scope-option.is-active{border-color:var(--accent-warm);color:var(--text-primary);background:color-mix(in srgb,var(--accent-warm) 16%,transparent)}.element-style-group-label{margin:6px 0 2px;padding:0 10px;color:var(--status-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.element-style-group-reason{margin:0 0 4px;padding:0 10px;color:var(--status-muted);font-size:.72rem;font-style:italic;line-height:1.35}.element-style-group.is-withheld .element-style-step{opacity:.45;cursor:not-allowed}.element-style-step.is-active{color:var(--text-primary);background:color-mix(in srgb,var(--accent-warm) 12%,transparent)}.element-style-follow{margin-top:4px;border-top:1px solid var(--border-soft)}.model-home{position:absolute;top:58px;left:50%;transform:translate(-50%);z-index:8;display:flex;flex-direction:column;gap:.6rem;width:min(430px,calc(100vw - 32px));padding:.85rem .95rem;border:1px solid var(--border-default);border-radius:11px;background:color-mix(in srgb,var(--surface-panel-strong) 97%,transparent);box-shadow:0 14px 36px #0000004d;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--text-primary)}.model-home-title{font-size:.92rem;font-weight:600}.model-home-body{display:flex;flex-direction:column;gap:.5rem;font-size:.8rem;line-height:1.45;color:var(--text-secondary, var(--text-primary))}.model-home-warn{padding:.3rem .5rem;border-radius:8px;background:color-mix(in srgb,#b45309 22%,transparent);color:var(--text-primary)}.model-home-options{display:flex;flex-direction:column;gap:.25rem;max-height:220px;overflow-y:auto}.model-home-option{display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:.45rem;padding:.32rem .45rem;border:1px solid transparent;border-radius:7px;cursor:pointer}.model-home-option.is-selected{border-color:var(--border-default);background:var(--surface-soft)}.model-home-option-label{font-size:.82rem;font-weight:600}.model-home-option-reason{grid-column:2;font-size:.72rem;color:var(--text-muted)}.model-home-error{padding:.3rem .5rem;border-radius:8px;background:color-mix(in srgb,#b91c1c 18%,transparent);font-size:.75rem}.model-home-actions{display:flex;justify-content:flex-end}.model-home-accept{padding:.36rem .8rem;border-radius:8px;border:1px solid var(--border-default);background:var(--surface-soft);color:var(--text-primary);font-size:.8rem;cursor:pointer}.nav-strip-set-home{font-size:.78rem;opacity:.75}.modeler-canvas-error-why{grid-column:1 / -1;font-size:.78rem;font-weight:500;line-height:1.4}.modeler-canvas-error-why>summary{cursor:pointer;font-weight:700;opacity:.85}.modeler-canvas-error-why>p{margin:6px 0 0;font-weight:500}.modeler-canvas-error-why>.modeler-canvas-error-cause{margin:6px 0 0;font-weight:600;opacity:.92}.modeler-canvas-error .modeler-canvas-error-recovery{grid-column:1 / -1;margin:-2px 0 0;font-size:.78rem;font-weight:500;line-height:1.4;opacity:.95}.modeler-prototype-why{margin-top:.35rem}.modeler-prototype-why>summary{cursor:pointer;font-weight:700}.modeler-prototype-why>p{margin:.3rem 0 0}.modeler-add-to-view{width:min(360px,calc(100vw - 32px))}.modeler-add-to-view-filter{display:flex;gap:6px;align-items:center;padding:6px 8px;font-size:.78rem}.modeler-add-to-view-filter input{flex:1;min-width:0;padding:3px 6px;border:1px solid var(--border-default);border-radius:5px;background:var(--surface-soft);color:inherit}.modeler-add-to-view-list{max-height:320px;margin:0;padding:0 4px 6px;overflow-y:auto;list-style:none}.modeler-add-to-view-item{display:grid;gap:1px;width:100%;padding:4px 8px;text-align:left;color:inherit;border:0;border-radius:5px;background:transparent;cursor:pointer}.modeler-add-to-view-item:hover:not(:disabled),.modeler-add-to-view-item:focus-visible{background:var(--surface-soft)}.modeler-add-to-view-item:disabled{cursor:not-allowed;opacity:.5}.modeler-add-to-view-name{font-size:.82rem;font-weight:650}.modeler-add-to-view-fqn{font-size:.7rem;opacity:.7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modeler-add-to-view-empty,.modeler-add-to-view-blocked{margin:0;padding:6px 10px;font-size:.76rem;opacity:.8}.modeler-add-to-view-blocked{border-left:3px solid #f4a340}.app-workspace{display:grid;grid-template-columns:minmax(0,1fr);height:100%;min-height:0;min-width:0;position:relative}.app-workspace.has-source-editor{--asyst-workspace-rule: 7px;--asyst-shared-room: calc(100% - var(--asyst-explorer-reserve) - var(--asyst-workspace-rule));--asyst-drawing-width: calc(var(--asyst-shared-room) * var(--asyst-canvas-share) / 100);--asyst-text-width: calc(var(--asyst-shared-room) - var(--asyst-drawing-width));--asyst-drawing-inset: 0px}.app-workspace.has-source-editor[data-pane-side=right]{grid-template-columns:var(--asyst-drawing-width) var(--asyst-workspace-rule) minmax(0,1fr)}.app-workspace.has-source-editor[data-pane-side=left]{grid-template-columns:var(--asyst-explorer-reserve) var(--asyst-text-width) var(--asyst-workspace-rule) minmax(0,1fr);--asyst-drawing-inset: calc(var(--asyst-explorer-reserve) + var(--asyst-text-width) + var(--asyst-workspace-rule))}.app-workspace.has-source-editor[data-pane-side=left]>.canvas-panel,.app-workspace.has-source-editor[data-pane-side=left]>.canvas-error{grid-area:1 / 1 / 2 / -1}.app-workspace.has-source-editor[data-pane-side=left]>.source-editor{grid-area:1 / 2 / 2 / 3;z-index:1}.app-workspace.has-source-editor[data-pane-side=left]>.source-editor-splitter{grid-area:1 / 3 / 2 / 4;z-index:1}.app-workspace.has-source-editor[data-pane-side=left] .canvas-render-surface{left:var(--asyst-drawing-inset);border-left:1px solid var(--border-soft)}.app-workspace.has-source-editor[data-pane-side=left] .nav-strip,.app-workspace.has-source-editor[data-pane-side=left] .ibd-banner,.app-workspace.has-source-editor[data-pane-side=left] .variant-banner,.app-workspace.has-source-editor[data-pane-side=left] .modeler-canvas-error,.app-workspace.has-source-editor[data-pane-side=left] .canvas-image-refusal{margin-left:calc(var(--asyst-drawing-inset) / 2)}.workspace-pane-handle{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;margin-right:.1rem;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text-muted);font-size:.78rem;line-height:1;cursor:grab;touch-action:none}.workspace-pane-handle:hover,.workspace-pane-handle:focus-visible{border-color:var(--border-default);color:var(--text-primary)}.workspace-pane-handle.is-dragging{cursor:grabbing;border-color:var(--accent, #4f7cff);color:var(--accent, #4f7cff)}.workspace-drop-zone{position:absolute;top:0;bottom:0;width:50%;z-index:2;display:flex;align-items:center;justify-content:center;border-radius:20px;pointer-events:none;opacity:0;transition:opacity .12s ease}.workspace-drop-zone[data-side=left]{left:0}.workspace-drop-zone[data-side=right]{right:0}.workspace-drop-zone>span{padding:.3rem .6rem;border-radius:9px;background:var(--surface-panel-strong);color:var(--text-primary);font-size:.68rem;letter-spacing:.02em}.app-workspace[data-drop-target=left]>.workspace-drop-zone[data-side=left],.app-workspace[data-drop-target=right]>.workspace-drop-zone[data-side=right]{opacity:1;background:color-mix(in srgb,var(--accent, #4f7cff) 14%,transparent);box-shadow:inset 0 0 0 2px var(--accent, #4f7cff)}.source-editor{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;min-width:0;min-height:0;overflow:hidden;border:1px solid var(--border-soft);border-radius:20px;background:var(--surface-panel)}.source-editor-head{display:flex;align-items:center;gap:.45rem;padding:.35rem .55rem;border-bottom:1px solid var(--border-soft)}.source-editor-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;color:var(--text-primary)}.source-editor-badge{flex:0 0 auto;padding:.05rem .4rem;border:1px solid var(--border-default);border-radius:999px;color:var(--text-muted);font-size:.62rem;letter-spacing:.02em;white-space:nowrap}.source-editor-badge.is-unsaved{border-color:var(--warning, #c98a1b);color:var(--warning, #c98a1b);font-weight:600}.source-editor-save{flex:0 0 auto;padding:.15rem .6rem;border:1px solid var(--accent, #4f7cff);border-radius:6px;background:var(--surface-panel);color:var(--accent, #4f7cff);font:inherit;font-size:.68rem;font-weight:600;cursor:pointer}.source-editor-save:hover:not(:disabled){background:color-mix(in srgb,var(--accent, #4f7cff) 12%,transparent)}.source-editor-save:disabled{border-color:var(--border-default);color:var(--text-muted);cursor:default}.source-editor-close{flex:0 0 auto;padding:0 .3rem;border:0;background:transparent;color:var(--text-muted);font:inherit;line-height:1;cursor:pointer}.source-editor-close:hover,.source-editor-close:focus-visible{color:var(--text-primary)}.source-editor-body{min-height:0;overflow:auto;padding:.3rem 0 .5rem}.source-editor-status{margin:0;padding:.5rem .7rem;color:var(--text-muted);font-size:.74rem}.source-editor-error{color:var(--danger, #d2454b)}.source-editor-metrics{margin:0;padding:0 .7rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.7rem;line-height:1.35;letter-spacing:normal;tab-size:2}.source-editor-text{padding-left:4.3rem;white-space:pre-wrap;word-break:break-word}.source-editor-line{position:relative}.source-editor-line-number{position:absolute;left:-3.6rem;width:3ch;text-align:right;color:var(--text-muted);opacity:.6;-webkit-user-select:none;user-select:none}.source-editor-line.has-problem:before{content:"";position:absolute;left:-.5rem;top:.15em;bottom:.15em;width:3px;border-radius:2px}.source-editor-line.is-unreadable:before{background:var(--danger, #d2454b)}.source-editor-line.is-meaning:before{background:var(--warning, #c98a1b)}.source-editor-line.is-cosmetic:before{background:var(--text-muted);opacity:.5}.source-editor-line.is-landing{background:color-mix(in srgb,var(--accent, #4f7cff) 14%,transparent);border-radius:3px}.source-editor-editable{position:relative;min-height:100%}.source-editor-input{position:absolute;inset:0;width:100%;height:100%;padding-left:4.3rem;border:0;outline:none;resize:none;overflow:hidden;background:transparent;color:transparent;caret-color:var(--text-primary);white-space:pre-wrap;word-break:break-word}.source-editor-input::selection{background:color-mix(in srgb,var(--accent, #4f7cff) 35%,transparent)}.source-editor-input:focus-visible{outline:none}.source-editor-confirm{padding:.6rem .8rem;border-bottom:1px solid var(--border-soft);background:color-mix(in srgb,var(--warning, #c98a1b) 12%,transparent);font-size:.8rem}.source-editor-confirm p{margin:0 0 .5rem;color:var(--text-primary)}.source-editor-confirm-actions{display:flex;gap:.5rem}.source-editor-confirm-actions button{padding:.25rem .6rem;border:1px solid var(--border-default);border-radius:6px;background:var(--surface-panel);color:var(--text-primary);font:inherit;font-size:.78rem;cursor:pointer}.source-editor-confirm-actions button:hover{border-color:var(--accent, #4f7cff)}.source-editor-report{max-height:40%;overflow:auto;border-top:1px solid var(--border-soft)}.source-editor-verdict{color:var(--text-primary)}.source-editor-held,.source-editor-notice{color:var(--warning, #c98a1b);padding-bottom:0}.source-editor-saved{color:var(--text-primary)}.source-editor-save-stale button{margin-top:.4rem;padding:.2rem .55rem;border:1px solid var(--border-default);border-radius:6px;background:var(--surface-panel);color:var(--text-primary);font:inherit;font-size:.72rem;cursor:pointer}.source-editor-save-stale p{margin:0}.source-editor-revert{padding:0;border:0;background:transparent;color:var(--accent, #4f7cff);font:inherit;font-size:inherit;text-decoration:underline;cursor:pointer}.source-editor-problems{margin:0;padding:0 .8rem .6rem;list-style:none;font-size:.76rem}.source-editor-problem{display:flex;gap:.5rem;align-items:baseline;border-left:3px solid transparent;padding:.15rem 0 .15rem .5rem}.source-editor-problem.is-unreadable{border-left-color:var(--danger, #d2454b)}.source-editor-problem.is-meaning{border-left-color:var(--warning, #c98a1b)}.source-editor-problem.is-cosmetic{border-left-color:var(--border-default);opacity:.75}.source-editor-problem-line{flex:0 0 auto;color:var(--text-muted);font-variant-numeric:tabular-nums}.source-editor-problem-message{flex:1 1 auto;color:var(--text-primary)}.source-editor-problem-code{flex:0 0 auto;color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.7rem}.source-editor-splitter{display:flex;align-items:center;justify-content:center;cursor:col-resize;touch-action:none}.source-editor-splitter>span{width:1px;height:100%;background:var(--border-default)}.source-editor-splitter:hover>span,.source-editor-splitter:focus-visible>span,.source-editor-splitter.is-dragging>span{background:var(--accent, #4f7cff)}@media(max-width:900px){.app-workspace.has-source-editor{grid-template-columns:minmax(0,1fr)!important}.app-workspace.has-source-editor>.source-editor,.app-workspace.has-source-editor>.source-editor-splitter{display:none}.app-workspace.has-source-editor[data-pane-side=left]{--asyst-drawing-inset: 0px}.app-workspace.has-source-editor[data-pane-side=left] .canvas-render-surface{left:0;border-left:0}}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.modeler-prototype-trigger{position:relative;display:flex;align-items:center;width:100%;min-height:2.55rem;gap:.5rem;padding:.42rem .58rem;border:1px solid color-mix(in srgb,#35b7ff 32%,var(--border-default));border-radius:11px;background:linear-gradient(135deg,color-mix(in srgb,#35b7ff 9%,var(--surface-soft-strong)),var(--surface-soft-strong));color:var(--text-primary);text-align:left;cursor:pointer;transition:border-color .14s ease,background .14s ease,transform .1s ease,box-shadow .14s ease}.modeler-prototype-trigger:hover,.modeler-prototype-trigger:focus-visible,.modeler-prototype-trigger.is-active{border-color:color-mix(in srgb,#35b7ff 72%,var(--border-default));background:linear-gradient(135deg,color-mix(in srgb,#35b7ff 18%,var(--surface-soft-strong)),var(--surface-soft-strong));box-shadow:0 5px 18px color-mix(in srgb,#168dcc 18%,transparent)}.modeler-prototype-trigger:active{transform:translateY(1px)}.modeler-prototype-trigger svg{width:1.1rem;height:1.1rem;fill:color-mix(in srgb,#35b7ff 15%,transparent);stroke:#168dcc;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.modeler-prototype-trigger-copy{display:grid;min-width:0;line-height:1.05}.modeler-prototype-trigger-copy strong{font-size:.76rem}.modeler-prototype-trigger-copy small{margin-top:.18rem;color:var(--text-muted);font-size:.6rem}.modeler-prototype-chevron{display:inline-flex;margin-left:auto;line-height:0;color:var(--text-primary)}.modeler-prototype-slot--footer{flex:none;padding:.5rem .6rem .58rem;border-top:1px solid var(--border-soft);background:color-mix(in srgb,var(--surface-panel-strong) 95%,#35b7ff 5%)}.modeler-prototype-slot--footer.is-open{display:flex;min-height:0;flex-direction:column;flex:1 1 auto;overflow:hidden}.modeler-prototype-drawer{display:grid;gap:.55rem;color:var(--text-primary)}.modeler-prototype-drawer--footer{min-height:0;padding:.6rem .35rem .25rem;overflow-y:auto}.modeler-prototype-slot--footer.is-open>.modeler-prototype-trigger{position:sticky;top:0;z-index:3;flex:none}.modeler-prototype-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.38rem}.modeler-prototype-pair{display:contents}.modeler-prototype-pair-card{--pair-def: #35b7ff;--pair-use: #29bc8b;position:relative;min-width:0}.modeler-prototype-pair-card.is-dragging-definition .modeler-prototype-element{border:2px solid var(--pair-def)}.modeler-prototype-pair-card.is-dragging-usage .modeler-prototype-element{border:2px solid var(--pair-use)}.modeler-prototype-pair-card .modeler-prototype-element{touch-action:none}.modeler-prototype-pair-card.is-holding .modeler-prototype-element{border:2px solid var(--pair-def);animation:modeler-usage-hold var(--usage-hold-ms, 3s) linear forwards}.modeler-prototype-pair-card.is-holding .modeler-prototype-pair-tip .u{background:linear-gradient(90deg,color-mix(in srgb,var(--pair-use) 30%,transparent) 50%,transparent 50%) right / 200% 100% no-repeat;animation:modeler-usage-hold-fill var(--usage-hold-ms, 3s) linear forwards;border-radius:4px;padding:0 3px}@keyframes modeler-usage-hold{to{border-color:var(--pair-use)}}@keyframes modeler-usage-hold-fill{to{background-position:left}}.modeler-prototype-pair-tip{position:absolute;left:50%;top:calc(100% + 7px);transform:translate(-50%);z-index:5;display:grid;grid-template-columns:auto auto auto;gap:8px;align-items:center;padding:6px 9px;border:1px solid var(--border-default);border-radius:8px;background:var(--surface-panel-strong);box-shadow:0 6px 16px #141e2d1f;font-size:.68rem;white-space:nowrap;pointer-events:none}.modeler-prototype-pair-tip:before{content:"";position:absolute;left:50%;top:-5px;width:8px;height:8px;transform:translate(-50%) rotate(45deg);background:var(--surface-panel-strong);border-left:1px solid var(--border-default);border-top:1px solid var(--border-default)}.modeler-prototype-pair-tip .d{color:var(--pair-def);font-weight:600}.modeler-prototype-pair-tip .u{color:var(--pair-use);font-weight:600}.is-dragging-definition .modeler-prototype-pair-tip .u,.is-dragging-usage .modeler-prototype-pair-tip .d{opacity:.3}.is-dragging-definition .modeler-prototype-pair-tip .d,.is-dragging-usage .modeler-prototype-pair-tip .u{text-decoration:underline;text-underline-offset:3px}.modeler-prototype-mouse .body{fill:var(--surface-panel-strong);stroke:var(--text-muted);stroke-width:1}.modeler-prototype-mouse .bl{fill:color-mix(in srgb,#35b7ff 35%,transparent)}.modeler-prototype-mouse .br{fill:color-mix(in srgb,#29bc8b 35%,transparent)}.modeler-prototype-mouse.is-definition .bl{fill:#35b7ff}.modeler-prototype-mouse.is-usage .br{fill:#29bc8b}.modeler-prototype-mouse.is-definition .br,.modeler-prototype-mouse.is-usage .bl{fill:var(--surface-soft-strong)}.modeler-prototype-mouse .sep{stroke:var(--text-muted);stroke-width:.8}.modeler-prototype-drag-label{--pair-kind: var(--pair-def);position:fixed;left:-9999px;top:0;z-index:1000;pointer-events:none;padding:3px 10px;border:1.5px solid var(--pair-kind);border-radius:999px;background:color-mix(in srgb,var(--pair-kind) 14%,var(--surface-panel-strong));color:var(--text-primary);font-size:.74rem;font-weight:600;white-space:nowrap}.modeler-prototype-drag-label.is-usage{--pair-kind: var(--pair-use)}.modeler-prototype-section{display:grid;gap:.28rem}.modeler-prototype-section h4{margin:0;color:var(--text-muted);font-size:.58rem;letter-spacing:.06em;text-transform:uppercase}.modeler-prototype-element{width:100%;text-align:left;--modeler-tile: #35b7ff;position:relative;display:grid;grid-template-columns:1.65rem minmax(0,1fr) auto;align-items:center;min-width:0;min-height:3.05rem;gap:.35rem;padding:.4rem .28rem .4rem .42rem;overflow:hidden;border:1px solid color-mix(in srgb,var(--modeler-tile) 36%,var(--border-default));border-radius:10px;background:linear-gradient(145deg,color-mix(in srgb,var(--modeler-tile) 10%,var(--surface-soft-strong)),var(--surface-soft-strong));color:var(--text-primary);cursor:grab;-webkit-user-select:none;user-select:none;transition:transform .1s ease,border-color .12s ease,box-shadow .12s ease}.modeler-prototype-element:hover,.modeler-prototype-element:focus-visible{z-index:1;border-color:color-mix(in srgb,var(--modeler-tile) 72%,var(--border-default));box-shadow:0 6px 18px color-mix(in srgb,var(--modeler-tile) 16%,transparent);transform:translateY(-1px);outline:none}.modeler-prototype-element:active{cursor:grabbing;transform:scale(.98)}.modeler-prototype-element.is-mint{--modeler-tile: #29bc8b}.modeler-prototype-element.is-amber{--modeler-tile: #f4a340}.modeler-prototype-element.is-cyan{--modeler-tile: #31b9c9}.modeler-prototype-element.is-violet{--modeler-tile: #8c72e8}.modeler-prototype-element.is-teal{--modeler-tile: #1fa6a6}.modeler-prototype-element.is-rose{--modeler-tile: #e16b8c}.modeler-prototype-element.is-yellow{--modeler-tile: #d6a827}.modeler-prototype-element.is-owned-feature{--modeler-tile: #29bc8b}.modeler-prototype-element.is-relation,.modeler-prototype-element.is-side-channel{--modeler-tile: #8c72e8;cursor:pointer}.modeler-prototype-element.is-withheld{cursor:not-allowed;opacity:.62;filter:grayscale(.85)}.modeler-prototype-element-copy .modeler-prototype-element-withheld.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.modeler-prototype-element.is-withheld:hover,.modeler-prototype-element.is-withheld:focus-visible{transform:none;box-shadow:none;border-color:color-mix(in srgb,var(--modeler-tile) 36%,var(--border-default))}.modeler-prototype-withheld{margin:0 0 .55rem;padding:.45rem .55rem;border:1px solid var(--border-default);border-left:3px solid #f4a340;border-radius:8px;background:var(--surface-soft);color:var(--text-muted);font-size:.74rem;line-height:1.35}.modeler-prototype-element-icon{display:inline-flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;border-radius:8px;background:color-mix(in srgb,var(--modeler-tile) 16%,transparent);color:var(--modeler-tile)}.modeler-prototype-element-icon svg,.modeler-prototype-drop-icon svg{width:1.3rem;height:1.3rem;fill:color-mix(in srgb,currentColor 9%,transparent);stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.modeler-prototype-element-copy{display:grid;min-width:0;gap:.13rem}.modeler-prototype-element-copy strong{font-size:.64rem;line-height:1.15;overflow-wrap:break-word}.modeler-prototype-grip{color:color-mix(in srgb,var(--text-muted) 55%,transparent);font-size:.55rem;letter-spacing:-.18rem;transform:rotate(90deg)}.modeler-prototype-history{display:flex;gap:.36rem}.modeler-relation-chooser{position:absolute;z-index:1500;min-width:220px;min-height:150px;max-width:calc(100% - 12px);max-height:calc(100% - 12px);box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column;padding:8px;border:1px solid color-mix(in srgb,#168dcc 55%,transparent);border-radius:12px;background:var(--surface-page);opacity:1;isolation:isolate;box-shadow:0 12px 32px #1d35443d}.modeler-relation-chooser-title{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:2px 4px 7px;background:var(--surface-page);cursor:move;-webkit-user-select:none;user-select:none}.modeler-relation-chooser-title strong{pointer-events:none}.modeler-relation-chooser-title button{border:0;background:none;color:var(--text-primary);font-size:18px;cursor:pointer}.modeler-relation-chooser-options{display:grid;grid-auto-rows:max-content;align-content:start;gap:5px;min-height:0;max-height:none;flex:1 1 auto;overflow:hidden auto;padding-right:2px;cursor:default;-webkit-user-select:text;user-select:text}.modeler-relation-choice{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:44px;border:1px solid color-mix(in srgb,#5c4dcc 22%,var(--border-default));border-radius:8px;background:color-mix(in srgb,#5c4dcc 7%,var(--surface-page));overflow:hidden}.modeler-relation-choice-main{display:flex;align-items:center;gap:8px;width:100%;min-height:42px;padding:7px 8px;border:0;background:transparent;color:var(--text-primary);text-align:left;cursor:pointer}.modeler-relation-choice:hover{border-color:color-mix(in srgb,#5c4dcc 55%,var(--border-default));background:color-mix(in srgb,#5c4dcc 13%,var(--surface-page))}.modeler-relation-choice-info{display:inline-flex;align-items:center;justify-content:center;width:1.2rem;height:1.2rem;margin-right:8px;border:1px solid var(--border-default);border-radius:999px;background:var(--surface-page);color:var(--text-muted);font-size:.7rem;font-weight:800;font-style:italic;cursor:pointer}.modeler-relation-choice-info:hover,.modeler-relation-choice-info.is-open{border-color:#5c4dcc;color:var(--text-primary)}.modeler-relation-choice>p{grid-column:1 / -1;margin:0;padding:7px 9px 9px;border-top:1px solid color-mix(in srgb,#5c4dcc 18%,var(--border-default));background:var(--surface-page);color:var(--text-muted);font-size:.68rem;line-height:1.35}.modeler-relation-chooser-options .legend-swatch{width:58px;flex:0 0 58px}.modeler-relation-chooser-options .legend-swatch svg{width:56px;height:16px;color:var(--text-primary)}.modeler-relation-choice-copy{display:grid;min-width:0}.modeler-relation-chooser-options small{color:var(--text-muted)}.modeler-relation-unavailable{display:grid;gap:5px;margin-top:4px;padding-top:6px;border-top:1px solid var(--border-default)}.modeler-relation-unavailable-title{margin:0;font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.modeler-relation-choice.is-unavailable{opacity:.55}.modeler-relation-choice.is-unavailable .modeler-relation-choice-main{cursor:default}.modeler-relation-choice.is-unavailable small{white-space:normal;line-height:1.25}.modeler-relation-chooser-resize{position:absolute;touch-action:none}.modeler-relation-chooser-resize--top,.modeler-relation-chooser-resize--bottom{left:10px;right:10px;height:8px;cursor:ns-resize}.modeler-relation-chooser-resize--top{top:0}.modeler-relation-chooser-resize--bottom{bottom:0}.modeler-relation-chooser-resize--left,.modeler-relation-chooser-resize--right{top:10px;bottom:10px;width:8px;cursor:ew-resize}.modeler-relation-chooser-resize--left{left:0}.modeler-relation-chooser-resize--right{right:0}.modeler-text-editor{position:absolute;z-index:1600;display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:6px;width:min(430px,calc(100% - 24px));padding:8px;border:1px solid #168dcc;border-radius:8px;background:var(--surface-page);box-shadow:0 10px 28px #1d35443d}.modeler-text-editor input{min-width:0;padding:6px 8px;border:1px solid var(--border-default);border-radius:5px;background:var(--surface-panel);color:var(--text-primary);font:inherit}.modeler-text-editor input::placeholder{color:var(--text-muted);opacity:.72}.modeler-text-editor button{border:1px solid var(--border-default);border-radius:5px;background:var(--surface-panel);color:var(--text-primary);cursor:pointer}.modeler-text-editor button:disabled{cursor:wait;opacity:.62}.modeler-text-editor-error{grid-column:1 / -1;color:var(--danger-text, #b42318);font-size:.72rem}.modeler-text-editor-inline{position:relative;display:flex;flex:0 1 auto;min-width:0}.modeler-text-editor-inline input{min-width:4ch;max-width:28ch;padding:1px 4px;border:1px solid #168dcc;border-radius:3px;background:var(--surface-page);color:var(--text-primary);font:inherit;font-weight:700;font-size:.92rem;line-height:1.1}.modeler-text-editor-inline .modeler-text-editor-error{position:absolute;top:calc(100% + 6px);left:0;z-index:40;width:max-content;max-width:320px;padding:4px 8px;border:1px solid currentColor;border-radius:5px;background:var(--surface-page);white-space:normal}.modeler-prototype-browser{display:grid;gap:.45rem;padding:.55rem;border:1px solid var(--border-default);border-radius:8px;background:var(--surface-page)}.modeler-prototype-browser label{display:grid;gap:.2rem;color:var(--text-muted);font-size:.56rem;text-transform:uppercase}.modeler-prototype-browser input{min-width:0;padding:.32rem .4rem;border:1px solid var(--border-default);border-radius:6px;background:var(--surface-panel);color:var(--text-primary);font:inherit;text-transform:none}.modeler-prototype-browser>button{justify-self:start}.modeler-prototype-browser button[aria-pressed=true]{color:#1186ba;border-color:#35b7ff;background:color-mix(in srgb,#35b7ff 12%,transparent)}.modeler-prototype-selection,.modeler-prototype-notice{margin:0;padding:.36rem .45rem;overflow-wrap:break-word;border-radius:8px;background:color-mix(in srgb,#35b7ff 9%,var(--surface-soft-strong));color:var(--text-muted);font-size:.58rem}.modeler-prototype-element-icon svg text,.modeler-prototype-drop-icon svg text{fill:currentColor;stroke:none;font-family:ui-sans-serif,system-ui,sans-serif;font-weight:850}.modeler-capability-signature{fill:currentColor;stroke:none}.modeler-capability-solid{fill:currentColor;stroke:currentColor}.modeler-prototype-relation-status{position:sticky;bottom:.35rem;z-index:12;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.15rem .45rem;padding:.45rem;border:1px solid color-mix(in srgb,#8c72e8 48%,var(--border-default));border-radius:9px;background:color-mix(in srgb,#8c72e8 9%,var(--surface-soft-strong));font-size:.6rem}.modeler-prototype-relation-status span{color:var(--text-muted)}.modeler-prototype-relation-status button{grid-column:2;grid-row:1 / span 2;border:0;background:none;color:#7560c9;cursor:pointer}.modeler-prototype-properties{display:grid;gap:.35rem;padding:.48rem;border:1px solid var(--border-default);border-radius:10px;background:var(--surface-soft-strong)}.modeler-prototype-properties>div{display:flex;align-items:center;justify-content:space-between;gap:.35rem;font-size:.65rem}.modeler-prototype-properties>div>span{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.3rem}.modeler-prototype-properties button{border:0;background:none;color:#c34f6e;font-size:.58rem;cursor:pointer}.modeler-prototype-properties label{display:grid;gap:.14rem;color:var(--text-muted);font-size:.54rem;text-transform:capitalize}.modeler-prototype-properties input{min-width:0;padding:.28rem .36rem;border:1px solid var(--border-default);border-radius:6px;background:var(--surface-page);color:var(--text-primary);font:inherit}.modeler-prototype-properties small{color:#c34f6e;font-size:.54rem}.react-flow__node.modeler-draft-node>.block-node{box-shadow:0 0 0 2px color-mix(in srgb,#35b7ff 72%,transparent),0 9px 24px color-mix(in srgb,#168dcc 16%,transparent)}.react-flow__node.modeler-draft-node>.block-node-package{box-shadow:none}.react-flow__node.modeler-draft-node:has(>.block-node-package){outline:none!important;box-shadow:none!important}.react-flow__node.modeler-draft-node.dragging>.block-node{box-shadow:0 0 0 2px color-mix(in srgb,#35b7ff 72%,transparent)}.react-flow__node.modeler-draft-node.dragging{will-change:transform}.react-flow__node.modeler-draft-awaiting-placement{visibility:hidden}.canvas-node-dragging .react-flow__edges{pointer-events:none}.react-flow__node.modeler-drop-receiver>.block-node:not(.block-node-package){box-shadow:0 0 0 3px color-mix(in srgb,#29bc8b 88%,transparent),0 0 28px color-mix(in srgb,#29bc8b 26%,transparent)}.react-flow__node.modeler-drop-receiver .block-node-package-frame,.react-flow__node.modeler-drop-receiver .block-node-package-header{border-color:#29bc8b;box-shadow:0 0 0 3px color-mix(in srgb,#29bc8b 72%,transparent)}.modeler-prototype-empty{display:grid;justify-items:center;gap:.2rem;padding:1rem .5rem;border:1px dashed color-mix(in srgb,#29bc8b 50%,var(--border-default));border-radius:12px;background:color-mix(in srgb,#29bc8b 8%,transparent)}.modeler-prototype-empty>span{color:#29bc8b;font-size:1.2rem}.modeler-prototype-empty strong{font-size:.76rem}.modeler-prototype-empty small{color:var(--text-muted);font-size:.58rem}.modeler-prototype-drop-surface{position:absolute;inset:0;z-index:8;background:transparent}.block-node-pin.block-node-pin-modeler{width:10px!important;height:10px!important;min-width:10px!important;min-height:10px!important;border:2px solid #168dcc!important;border-radius:2px;background:var(--surface-panel-strong)!important;box-shadow:0 0 0 2px color-mix(in srgb,#35b7ff 24%,transparent)!important;opacity:0!important;pointer-events:auto!important;z-index:7;cursor:crosshair}.react-flow__node:hover .block-node-pin.block-node-pin-modeler{opacity:1!important}.block-node-pin-label-modeler{cursor:crosshair;pointer-events:auto!important}.react-flow__node:hover .block-node-pin-label-modeler{color:#168dcc;text-decoration:underline dotted;text-underline-offset:2px}@media(prefers-reduced-motion:reduce){.modeler-prototype-trigger,.modeler-prototype-element{animation:none;transition:none}}.diagnostics-badge .diag-broken,.model-problems-summary .diag-broken{color:#ff5f8f;font-weight:700}.diagnostics-popover-broken-header{color:#ff5f8f;border-bottom:1px solid color-mix(in srgb,#ff5f8f 40%,transparent)}.diagnostics-popover-broken{background:color-mix(in srgb,#ff5f8f 10%,transparent)}.diagnostics-popover-kind{font-style:normal;font-weight:700;color:#ff5f8f}.model-problems-broken{margin:.9rem 0 1.1rem;padding:.7rem .85rem;border:1px solid color-mix(in srgb,#ff5f8f 45%,transparent);border-radius:10px;background:color-mix(in srgb,#ff5f8f 8%,transparent)}.model-problems-broken-title{font-size:.78rem;font-weight:700;color:#ff5f8f;margin-bottom:.5rem}.model-problems-naming{margin:1.1rem 0 .3rem;padding-top:.7rem;border-top:1px solid color-mix(in srgb,currentColor 14%,transparent)}.model-problems-naming .model-problems-broken-title{color:inherit;opacity:.75}.block-node-origin-tag{margin-left:.6em;color:var(--text-muted);font-size:.85em;font-style:italic}.block-node-inherited-row{opacity:.78}.block-node-package-doc{position:absolute;z-index:1;top:calc(var(--package-tab-height) + 4px);left:var(--diagram-node-pad-x);right:var(--diagram-node-pad-x);margin:0;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;color:var(--text-muted);font-size:.78rem;font-style:italic;pointer-events:none}.export-menu-list.feedback-panel{width:min(22rem,calc(100vw - 2rem));background:var(--surface-popover-solid)}.feedback-prompt{display:flex;flex-direction:column;gap:.2rem}.feedback-prompt-title{margin:0;font-size:.85rem;font-weight:600;color:var(--text-primary)}.feedback-stars{display:flex;align-items:center;gap:.15rem}.feedback-star{padding:0 .1rem;border:0;background:none;color:var(--text-muted, var(--border-default));font-size:1.3rem;line-height:1;cursor:pointer}.feedback-star.is-on{color:#f5a524}.feedback-not-now{margin-left:auto;border:0;background:none;color:var(--text-secondary, var(--text-primary));font:inherit;font-size:.75rem;text-decoration:underline;cursor:pointer}.feedback-form{display:flex;flex-direction:column;gap:.35rem;padding:.25rem}.feedback-form textarea,.feedback-form input{box-sizing:border-box;width:100%;padding:.4rem .5rem;border:1px solid var(--border-default);border-radius:.35rem;background:var(--surface-card);color:var(--text-primary);font:inherit;font-size:.8rem}.feedback-form textarea{resize:vertical;min-height:5.5rem}.feedback-form textarea[aria-invalid=true]{border-color:var(--accent-warm)}.feedback-note{margin:0;line-height:1.3}.feedback-actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.feedback-count.is-over{color:var(--accent-warm);font-weight:700}.feedback-form button:disabled{opacity:.5;cursor:default}.feedback-status{margin:0;font-size:.76rem;line-height:1.35;color:var(--text-muted)}.feedback-status:empty{display:none}.feedback-status.is-ok{color:var(--accent-mint)}.feedback-status.is-error{color:var(--accent-warm)}.feedback-status a{color:inherit;text-decoration:underline}.form-switch-rows{display:flex;flex-direction:column;gap:.45rem;max-height:min(320px,50vh);margin:0;padding:0 .55rem;overflow-y:auto;list-style:none}.form-switch-where{color:var(--text-secondary);font-size:.71rem}.form-switch-change{font-size:.76rem;line-height:1.45;overflow-wrap:anywhere}.form-switch-change code{font-family:ui-monospace,monospace}.form-switch-warning{color:var(--text-muted);font-size:.71rem;line-height:1.4}.mailbox-anchor,.mailbox-panel-portal{--mailbox-added: var(--accent-mint);--mailbox-removed: var(--accent-warm);--mailbox-other: var(--status-muted)}.mailbox-anchor{position:fixed;left:.9rem;bottom:3px;z-index:30;line-height:1}.mailbox-button{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .4rem;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--text-muted);cursor:pointer;transition:color .15s ease,border-color .15s ease,background-color .15s ease}.mailbox-button.is-quiet{opacity:.75}.mailbox-button.is-quiet:hover,.mailbox-button.is-quiet:focus-visible{opacity:1;color:var(--text-primary);border-color:var(--border-soft)}.mailbox-button.has-news{border-color:var(--border-default);background:color-mix(in srgb,var(--surface-panel-strong) 92%,transparent);color:var(--text-primary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mailbox-button.has-news:hover,.mailbox-button.has-news:focus-visible{border-color:color-mix(in srgb,var(--accent-warm) 45%,var(--border-default))}.mailbox-envelope{flex:0 0 auto}.mailbox-dots{display:inline-flex;align-items:center;gap:.12rem}.mailbox-dot{display:inline-flex}.mailbox-dot-added,.mailbox-tone-added .mailbox-item-glyph{color:var(--mailbox-added)}.mailbox-dot-removed,.mailbox-tone-removed .mailbox-item-glyph{color:var(--mailbox-removed)}.mailbox-dot-other,.mailbox-tone-other .mailbox-item-glyph{color:var(--mailbox-other)}.mailbox-glyph-disc{fill:currentcolor}.mailbox-glyph-mark{fill:none;stroke:var(--surface-popover-solid);stroke-width:1.7;stroke-linecap:round}.mailbox-panel-portal{position:fixed;z-index:1200;width:min(27rem,calc(100vw - 2rem));max-height:min(24rem,calc(100vh - 6rem));overflow-y:auto;border:1px solid var(--border-default);border-radius:12px;background:color-mix(in srgb,var(--surface-panel-strong) 96%,transparent);box-shadow:0 18px 48px #0000004d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:var(--text-primary);font-size:.78rem}.mailbox-panel-header{position:sticky;top:0;display:flex;align-items:center;gap:.4rem;padding:.5rem .6rem;border-bottom:1px solid var(--border-soft);background:inherit}.mailbox-panel-title{font-weight:700}.mailbox-panel-count{flex:1 1 auto;color:var(--text-muted);font-size:.72rem}.mailbox-panel-action{flex:0 0 auto;padding:.2rem .45rem;border:1px solid var(--border-default);border-radius:7px;background:var(--surface-soft);color:inherit;font-size:.72rem;cursor:pointer}.mailbox-panel-action:not(:disabled):hover{border-color:color-mix(in srgb,var(--accent-warm) 45%,var(--border-default))}.mailbox-panel-action:disabled{opacity:.45;cursor:default}.mailbox-list{margin:0;padding:0;list-style:none}.mailbox-item{display:flex;align-items:flex-start;gap:.45rem;padding:.45rem .6rem;border-bottom:1px solid var(--border-soft);border-left:3px solid currentcolor}.mailbox-item:last-child{border-bottom:none}.mailbox-item-glyph{flex:0 0 auto;padding-top:.1rem}.mailbox-item-text{display:flex;flex:1 1 auto;flex-direction:column;gap:.12rem;min-width:0}.mailbox-item-headline{display:flex;align-items:baseline;gap:.3rem;min-width:0}.mailbox-item-kind{flex:0 0 auto;font-weight:700;font-size:.72rem;letter-spacing:.02em}.mailbox-item-name{overflow:hidden;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap}.mailbox-item-meta{color:var(--text-muted);font-size:.7rem}.mailbox-item.is-inferred{border-left-style:dashed}.mailbox-item-inferred{margin-top:.15rem;padding:.2rem .35rem;border:1px dashed var(--border-strong);border-radius:6px;color:var(--text-muted);font-size:.7rem;font-style:italic}.mailbox-item.is-read{opacity:.6}.mailbox-item-read{flex:0 0 auto;padding:.15rem .35rem;border:1px solid var(--border-default);border-radius:6px;background:transparent;color:var(--text-muted);font-size:.68rem;cursor:pointer}.mailbox-item-read:hover{color:var(--text-primary);border-color:var(--border-strong)}.mailbox-item-readflag{flex:0 0 auto;color:var(--text-muted);font-size:.68rem;font-style:italic}.mailbox-empty{display:flex;flex-direction:column;align-items:center;gap:.2rem;margin:0;padding:1.4rem 1rem;color:var(--text-muted);text-align:center}.mailbox-empty-mark{color:var(--border-strong);transform:scale(1.6);margin-bottom:.5rem}.mailbox-empty strong{color:var(--text-primary);font-weight:600}.mailbox-panel-footnote{display:flex;flex-direction:column;gap:.2rem;margin:0;padding:.4rem .6rem;border-top:1px solid var(--border-soft);color:var(--text-muted);font-size:.68rem;line-height:1.35}.mailbox-coverage-blind:before{content:"⚠ ";color:var(--accent-warm)}:root{font-family:Space Grotesk,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:var(--text-primary);background:var(--surface-page);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:dark;scrollbar-color:var(--scrollbar-thumb) transparent;--scrollbar-thumb: rgba(177, 197, 218, .34);--text-primary: #edf3f8;--text-secondary: color-mix(in srgb, var(--text-primary) 65%, var(--text-muted));--text-muted: #a9bacb;--surface-page: #172130;--surface-popover-solid: #222e3e;--package-surface-base: #1c2736;--surface-panel: rgba(33, 45, 61, .92);--surface-panel-strong: rgba(33, 45, 61, .97);--surface-soft: rgba(255, 255, 255, .06);--surface-soft-strong: rgba(255, 255, 255, .05);--surface-card: rgba(37, 50, 67, .9);--border-default: rgba(177, 197, 218, .24);--border-soft: rgba(177, 197, 218, .2);--border-strong: rgba(177, 197, 218, .34);--accent-warm: #ffb570;--accent-warm-strong: #ffd369;--accent-mint: #31d0aa;--hero-copy: #b6c5d4;--status-muted: #93a6b9;--node-bg-start: rgba(44, 58, 78, .98);--node-bg-end: rgba(40, 54, 72, .98);--edge-label-bg: transparent;--edge-label-border: transparent;--edge-label-fg: #edf3f8;--edge-stroke: #edf3f8;--source-viewer-bg: #0d1825;--source-viewer-text: #edf3f8;--source-viewer-selection: rgba(94, 200, 255, .18);--source-viewer-selection-line: #5ec8ff;--source-viewer-reference: #78caff;--source-token-keyword: #72c7ff;--source-token-type: #a8d8ff;--source-token-number: #d5b5ff;--source-token-string: #ffd18a;--source-token-comment: #9ac497}:root[data-theme=light]{color-scheme:light;--scrollbar-thumb: rgba(34, 67, 102, .3);--text-primary: #182637;--text-muted: #5d7186;--surface-page: #eef4f9;--surface-popover-solid: #ffffff;--package-surface-base: #fafcfd;--surface-panel: rgba(255, 255, 255, .88);--surface-panel-strong: rgba(255, 255, 255, .96);--surface-soft: rgba(16, 37, 60, .06);--surface-soft-strong: rgba(16, 37, 60, .05);--surface-card: rgba(255, 255, 255, .9);--border-default: rgba(34, 67, 102, .14);--border-soft: rgba(34, 67, 102, .12);--border-strong: rgba(34, 67, 102, .18);--accent-warm: #cc6d1f;--accent-warm-strong: #f2b53d;--accent-mint: #117f68;--hero-copy: #536679;--status-muted: #708396;--node-bg-start: rgba(255, 255, 255, .98);--node-bg-end: rgba(244, 248, 252, .98);--edge-label-bg: transparent;--edge-label-border: transparent;--edge-label-fg: #182637;--edge-stroke: #111111;--source-viewer-bg: #f8fbff;--source-viewer-text: #182637;--source-viewer-selection: rgba(0, 90, 156, .14);--source-viewer-selection-line: #0077b6;--source-viewer-reference: #005a9c;--source-token-keyword: #005fae;--source-token-type: #005a9c;--source-token-number: #6d28d9;--source-token-string: #9a3412;--source-token-comment: #3f6d4a}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit}
