.diagram-canvas-wrap{position:relative;width:100%;height:100%;min-width:0;min-height:0}.diagram-canvas{width:100%;height:100%;display:block;touch-action:none;-webkit-user-select:none;user-select:none}.diagram-canvas--pan{cursor:grab}.diagram-canvas--pan:active{cursor:grabbing}.diagram-canvas--insert{cursor:crosshair}.node,.group,.edge{cursor:pointer}.diagram-canvas--pan .node,.diagram-canvas--pan .group,.diagram-canvas--pan .edge{cursor:grab}.diagram-canvas--insert .node,.diagram-canvas--insert .group,.diagram-canvas--insert .edge{cursor:crosshair}.node.has-child,.group.has-child{cursor:zoom-in}.node.has-child>rect,.node.has-child>polygon,.group.has-child>rect{filter:drop-shadow(0 0 8px rgb(103 232 249 / .22))}.node text,.group text,.edge text{pointer-events:none;font-size:14px;font-weight:680}.edge path{transition:stroke-width .14s ease}.edge.is-selected path{stroke:var(--focus);stroke-width:3}.is-dimmed{opacity:.22}.resize-handle{fill:var(--focus);stroke:#1c1917;cursor:nwse-resize}.link-badge{cursor:pointer}.link-badge circle{fill:#07101c;stroke:var(--accent)}.link-badge text{fill:var(--accent);font-size:10px;font-weight:800}.node-type-badge{pointer-events:none}.node-type-badge rect{fill:#07101cbd;stroke:#ffffff29}.node-type-badge text{fill:var(--muted);font-size:9px;font-weight:820}.node-tags{pointer-events:none}.node-status,.node-reference-count{pointer-events:none}.insert-menu{position:absolute;z-index:5;width:min(320px,calc(100% - 24px));max-height:min(420px,calc(100% - 24px));overflow:auto;border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:.55rem;background:#0d1320f7;box-shadow:var(--shadow-lg);transform:translate(10px,10px)}.insert-menu header{margin-bottom:.45rem;color:var(--muted);font-size:.75rem;font-weight:760}.insert-menu__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}.insert-menu button{display:flex;min-width:0;align-items:center;gap:.45rem;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.45rem .5rem;background:var(--surface-2);color:var(--text);font:inherit;font-size:.76rem;text-align:left;cursor:pointer}.insert-menu button:hover,.insert-menu button:focus-visible{border-color:var(--accent);background:var(--surface-3)}.insert-menu button span{display:inline-grid;flex:0 0 auto;width:26px;height:20px;place-items:center;border:1px solid rgb(255 255 255 / .14);border-radius:5px;color:var(--muted);font-size:.62rem;font-weight:820}.canvas-zoom-controls{position:absolute;right:14px;bottom:14px;z-index:2;display:flex;align-items:center;border:1px solid var(--border);border-radius:999px;padding:.22rem;background:#060910d1;color:var(--text);font-size:.75rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-sm)}.canvas-zoom-controls__row{display:flex;min-width:0;align-items:center;gap:.22rem}.canvas-zoom-controls button{min-width:30px;height:28px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--text);font:inherit;font-weight:720;cursor:pointer}.canvas-zoom-controls button:hover,.canvas-zoom-controls button:focus-visible{border-color:var(--accent);background:var(--surface-3)}.canvas-zoom-controls__percent{min-width:56px!important;color:var(--accent)!important}.canvas-zoom-controls__popover{position:absolute;right:0;bottom:calc(100% + .45rem);display:grid;width:240px;gap:.5rem;border:1px solid var(--border);border-radius:var(--radius-md);padding:.65rem;background:#060910eb;box-shadow:var(--shadow-sm)}.canvas-zoom-controls__popover-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;color:var(--muted);font-weight:720}.canvas-zoom-controls__popover-header button{min-width:48px}.canvas-zoom-slider{position:relative;height:18px;min-width:0;border-radius:999px;background:var(--surface-2);cursor:pointer}.canvas-zoom-slider:before{content:"";position:absolute;inset:7px 0;border-radius:999px;background:#1d2b42}.canvas-zoom-slider:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.canvas-zoom-slider__fill{position:absolute;top:7px;bottom:7px;left:0;border-radius:999px;background:var(--accent)}.canvas-zoom-slider__thumb{position:absolute;top:50%;width:14px;height:14px;border:2px solid #04111f;border-radius:999px;background:var(--accent);box-shadow:0 0 0 1px #ffffff29;transform:translate(-50%,-50%)}@media(pointer:coarse),(max-width:700px){.diagram-canvas{touch-action:none}.resize-handle{width:24px;height:24px;transform:translate(-6px,-6px)}.insert-menu{right:12px;left:12px!important;bottom:76px;top:auto!important;width:auto;max-height:min(52dvh,420px);transform:none}.insert-menu button{min-height:48px}}.ui-button{display:inline-flex;min-height:34px;align-items:center;justify-content:center;gap:.45rem;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.45rem .7rem;background:var(--surface-2);color:var(--text);font:inherit;line-height:1;cursor:pointer;transition:border-color .14s ease,background .14s ease,color .14s ease,transform .14s ease}.ui-button:hover:not(:disabled),.ui-button.is-active{border-color:var(--accent);background:var(--surface-3)}.ui-button:focus-visible,.ui-input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.ui-button:disabled{cursor:not-allowed;opacity:.48}.ui-button--primary{border-color:var(--accent-strong);background:var(--accent);color:#04111f;font-weight:700}.ui-button--ghost{background:transparent}.ui-button--danger{border-color:#7f1d1d;background:#2b1116;color:#fecdd3}.ui-button__icon{display:inline-grid;width:1rem;place-items:center}.ui-dropdown{position:relative;display:inline-flex}.ui-dropdown__trigger{width:38px;padding:0}.ui-dropdown__trigger svg{width:19px;height:19px}.ui-dropdown__menu{position:absolute;top:calc(100% + .4rem);left:0;z-index:40;display:grid;min-width:176px;gap:.25rem;border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:.35rem;background:#0d1320fa;box-shadow:var(--shadow-lg)}.ui-dropdown__item{display:flex;width:100%;min-height:34px;align-items:center;border:1px solid transparent;border-radius:var(--radius-sm);padding:.45rem .55rem;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.ui-dropdown__item:hover,.ui-dropdown__item:focus-visible{border-color:var(--accent);background:var(--surface-3);outline:none}.ui-panel{min-width:0;border-right:1px solid var(--border);background:var(--surface)}.ui-panel__header{display:flex;min-height:46px;align-items:center;justify-content:space-between;gap:.75rem;border-bottom:1px solid var(--border);padding:0 .85rem}.ui-panel__header h2,.ui-dialog__header h2{margin:0;font-size:.88rem;font-weight:720}.ui-field{display:grid;gap:.35rem;color:var(--muted);font-size:.76rem;font-weight:650}.ui-input{width:100%;min-height:34px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.44rem .55rem;background:var(--surface-2);color:var(--text);font:inherit}.ui-input[type=color]{min-height:36px;padding:.15rem}.ui-textarea{min-height:86px;resize:vertical}.ui-dialog-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:#00000094}.ui-dialog{width:min(620px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-lg)}.ui-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--border);padding:.75rem .85rem}.ui-badge{display:inline-flex;min-width:0;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:999px;padding:.16rem .45rem;background:var(--surface-2);color:var(--muted);font-size:.68rem;font-weight:760;line-height:1.2;white-space:nowrap}.ui-badge--tag{border-color:#67e8f947;background:#67e8f91a;color:#dbeafe}.ui-badge--count{border-color:#67e8f95c;background:#07101c;color:var(--accent)}.ui-badge--planned{background:#334155;color:#e2e8f0}.ui-badge--progress{background:#92400e;color:#ffedd5}.ui-badge--implemented{background:#14532d;color:#dcfce7}.ui-badge--deprecated{background:#7f1d1d;color:#fee2e2}.command-palette-backdrop{position:fixed;inset:0;z-index:60;display:grid;place-items:start center;padding-top:min(14vh,96px);background:#00000052}.command-palette{display:grid;width:min(680px,calc(100vw - 32px));gap:.65rem;border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:.7rem;background:#0d1320fa;box-shadow:var(--shadow-lg)}.command-palette>.ui-input{min-height:42px;font-size:.9rem}.command-palette__list{display:grid;max-height:min(520px,68vh);gap:.25rem;overflow:auto}.command-palette__item{display:grid;grid-template-columns:112px minmax(0,1fr) auto;align-items:center;gap:.75rem;width:100%;border:1px solid transparent;border-radius:var(--radius-sm);padding:.55rem .65rem;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.command-palette__item.is-active,.command-palette__item:hover,.command-palette__item:focus-visible{border-color:var(--accent);background:var(--surface-3);outline:none}.command-palette__category{color:var(--muted);font-size:.72rem;font-weight:760}.command-palette__main{display:grid;min-width:0;gap:.12rem}.command-palette__main strong,.command-palette__main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-palette__main strong{font-size:.86rem}.command-palette__main small,.command-palette__empty{color:var(--muted);font-size:.74rem}.command-palette__badges{display:flex;max-width:220px;flex-wrap:wrap;justify-content:flex-end;gap:.25rem}.command-palette__empty{margin:0;padding:.9rem;text-align:center}.markdown-body{display:grid;gap:.55rem;color:var(--text);font-size:.86rem;line-height:1.55}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body p,.markdown-body ul,.markdown-body ol,.markdown-body blockquote,.markdown-body pre{margin:0}.markdown-body h1{font-size:1.25rem}.markdown-body h2{font-size:1.08rem}.markdown-body h3{font-size:.96rem}.markdown-body ul,.markdown-body ol{padding-left:1.25rem}.markdown-body blockquote{border-left:3px solid var(--accent);padding-left:.7rem;color:var(--muted)}.markdown-body code{border:1px solid var(--border);border-radius:4px;padding:.05rem .25rem;background:var(--surface-2);color:#d9f99d;font-family:Cascadia Code,Consolas,monospace;font-size:.82em}.markdown-body pre{overflow:auto;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.65rem;background:#050912}.markdown-body pre code{border:0;padding:0;background:transparent}.markdown-body a{color:var(--accent)}.markdown-body .node-mention{display:inline-flex;max-width:100%;align-items:center;border:1px solid rgba(103,232,249,.32);border-radius:999px;padding:0 .38rem;background:#67e8f91c;color:#a5f3fc;text-decoration:none;vertical-align:baseline}.markdown-body .node-mention--unresolved{border-color:#f871715c;background:#f871711a;color:#fecaca}.markdown-empty{margin:0;color:var(--muted);font-size:.82rem}.notes-editor{display:grid;gap:.6rem;border:1px solid var(--border);border-radius:var(--radius-md);padding:.7rem;background:var(--surface-2)}.notes-editor__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.notes-editor__header h3{margin:0;font-size:.82rem}.notes-editor__header span{color:var(--muted);font-size:.72rem}.notes-editor__mode,.notes-editor__toolbar{display:flex;flex-wrap:wrap;gap:.35rem}.notes-editor__toolbar .ui-button{min-width:34px;padding-inline:.45rem;font-weight:760}.notes-editor__preview{min-height:120px;max-height:260px;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.65rem;background:var(--surface)}.mention-suggestions{display:grid;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.mention-suggestions button{display:flex;justify-content:space-between;gap:.65rem;border:0;padding:.45rem .55rem;background:transparent;color:var(--text);text-align:left;cursor:pointer}.mention-suggestions button:hover,.mention-suggestions button.is-active{background:#67e8f91f}.mention-suggestions small{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.inspector{border-right:0;border-left:0;min-width:0;overflow:auto}.inspector__content{min-width:0}.inspector__actions,.floating-inspector__actions{display:flex;align-items:center;gap:.35rem}.inspector__actions .ui-button,.floating-inspector__actions .ui-button{min-height:28px;padding:.32rem .48rem;font-size:.72rem}.empty-state{display:grid;gap:.22rem;border-left:2px solid var(--border-strong);padding:.2rem 0 .2rem .65rem;color:var(--muted);font-size:.78rem}.empty-state strong{color:var(--text)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.helper-text{margin:0;color:var(--muted);font-size:.78rem;line-height:1.45}.shape-default-note{margin-top:-.35rem}.shape-default-note.is-override{color:#fbbf24}.architecture-section{display:grid;gap:.55rem;border:1px solid var(--border);border-radius:var(--radius-md);padding:.65rem;background:var(--surface-2)}.architecture-section+.architecture-section,.architecture-section+.empty-state,.empty-state+.architecture-section{margin-top:.65rem}.architecture-section h3,.architecture-section p{margin:0}.architecture-section h3{color:var(--text);font-size:.84rem}.architecture-section__header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.55rem}.architecture-section__header .ui-button{min-height:34px}.operation-card,.architecture-warnings{display:grid;gap:.5rem;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.55rem;background:var(--surface)}.operation-card .ui-button{justify-content:flex-start}.architecture-warnings strong{color:#fbbf24;font-size:.76rem}.architecture-warnings button{display:block;width:100%;border:1px solid #fbbf2445;border-radius:var(--radius-sm);padding:.4rem .48rem;background:#fbbf2412;color:var(--text);font:inherit;font-size:.72rem;line-height:1.35;text-align:left;cursor:pointer}.architecture-warnings button:hover,.architecture-warnings button:focus-visible{border-color:#fbbf24;outline:none}.diagram-link-actions{display:grid;gap:.45rem;border:1px solid var(--border);border-radius:var(--radius-md);padding:.65rem;background:var(--surface-2)}.diagram-link-actions .ui-button{justify-content:flex-start}.tag-editor{display:grid;gap:.5rem}.tag-list{display:flex;min-width:0;flex-wrap:wrap;gap:.35rem}.tag-chip{display:inline-flex;max-width:100%;align-items:center;gap:.35rem;border:1px solid var(--border);border-radius:999px;padding:.24rem .34rem .24rem .55rem;background:var(--surface-2);color:var(--text);font-size:.74rem}.tag-chip button{display:inline-grid;width:18px;height:18px;place-items:center;border:0;border-radius:999px;background:var(--surface-3);color:var(--muted);cursor:pointer}.tag-editor__add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem}.backlinks-section,.reference-explorer{display:grid;gap:.55rem;border:1px solid var(--border);border-radius:var(--radius-md);padding:.65rem;background:var(--surface-2)}.backlinks-section h3,.reference-explorer h3{margin:0;color:var(--text);font-size:.84rem}.reference-explorer header{display:grid;gap:.45rem}.reference-explorer header div{display:flex;flex-wrap:wrap;gap:.35rem}.reference-explorer header span{border:1px solid var(--border);border-radius:999px;padding:.18rem .42rem;background:var(--surface);color:var(--muted);font-size:.68rem}.backlink-list,.reference-explorer__list{display:grid;gap:.35rem}.backlink-list>strong,.reference-explorer__list>strong{color:var(--muted);font-size:.74rem}.backlink-list button,.reference-explorer__list button{display:grid;gap:.14rem;width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.48rem .55rem;background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer}.backlink-list button:hover,.backlink-list button:focus-visible,.reference-explorer__list button:hover,.reference-explorer__list button:focus-visible{border-color:var(--accent);background:var(--surface-3)}.backlink-list small,.reference-explorer__list small{color:var(--muted);font-size:.7rem}.floating-inspector{position:fixed;z-index:20;width:min(360px,calc(100vw - 32px));max-height:min(680px,calc(100vh - 88px));overflow:auto;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-lg)}.floating-inspector__header{display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:.75rem;position:sticky;top:0;z-index:1;border-bottom:1px solid var(--border);padding:0 .65rem 0 .85rem;background:var(--surface);cursor:move}.floating-inspector__header h2{margin:0;font-size:.86rem}.floating-inspector .inspector__content{padding:.75rem}@media(max-width:760px){.field-grid,.architecture-section__header{grid-template-columns:1fr}}.viewer-shell{display:grid;width:100vw;height:100vh;grid-template-rows:56px minmax(0,1fr);background:var(--bg)}.viewer-shell--presenting{grid-template-rows:minmax(0,1fr)}.viewer-shell--presenting .viewer-bar{display:none}.viewer-shell--empty{display:grid;place-items:center;padding:2rem}.viewer-shell--empty section{max-width:520px;border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem;background:var(--surface)}.viewer-shell--empty a,.viewer-bar a{color:var(--accent)}.viewer-bar{display:flex;align-items:center;gap:.75rem;border-bottom:1px solid var(--border);padding:0 .85rem;background:#090e18}.viewer-bar>div{display:grid;min-width:170px}.viewer-bar span{color:var(--muted);font-size:.75rem}.viewer-bar input,.viewer-bar select{min-height:34px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);padding:.4rem .55rem}.viewer-crumbs{display:flex;min-width:0;flex:1;gap:.25rem;overflow:hidden}.viewer-crumbs button{border:0;background:transparent;color:var(--accent);cursor:pointer}.viewer-crumbs button:not(:last-child):after{content:"/";padding-left:.4rem;color:var(--muted-2)}.viewer-stage{position:relative;min-height:0}.viewer-stage svg{width:100%;height:100%;display:block;touch-action:none}.viewer-stage text{pointer-events:none;font-size:14px;font-weight:680}.viewer-stage path{transition:stroke-width .14s ease}.viewer-presentation-actions{position:absolute;top:14px;right:14px;z-index:4;display:flex;align-items:center;gap:.6rem;border:1px solid var(--border);border-radius:999px;padding:.35rem .45rem .35rem .8rem;background:#060910d1;box-shadow:var(--shadow-sm)}.viewer-presentation-actions strong{font-size:.78rem}.viewer-dim{opacity:.18}.viewer-stage g{cursor:default}.viewer-linked{cursor:zoom-in}.viewer-linked>rect,.viewer-linked>polygon{filter:drop-shadow(0 0 8px rgb(103 232 249 / .22))}.viewer-child-badge circle{fill:#07101c;stroke:var(--accent)}.viewer-child-badge{cursor:zoom-in}.viewer-child-badge text{fill:var(--accent);font-size:10px;font-weight:800}.viewer-highlight>rect,.viewer-highlight>polygon,.viewer-highlight>ellipse,.viewer-highlight>path{filter:drop-shadow(0 0 12px rgb(250 204 21 / .5));stroke:#facc15;stroke-width:3}.node-tags,.node-status,.node-reference-count{pointer-events:none}.node-tags rect{fill:#07101cc7;stroke:#ffffff29}.node-tags text{fill:#dbeafe;font-size:9px;font-weight:760}.node-status text,.node-reference-count text{fill:#06111f;font-size:8px;font-weight:860}.node-reference-count rect{fill:#a5f3fc;stroke:#07101c9e}.relationship-label rect{fill:#07101ce6;stroke:#ffffff24}.relationship-label text{font-size:11px;font-weight:760}.viewer-notes-panel{position:absolute;top:14px;right:14px;z-index:3;display:grid;gap:.75rem;width:min(380px,calc(100% - 28px));max-height:calc(100% - 28px);overflow:auto;border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:.8rem;background:#0d1320f5;box-shadow:var(--shadow-lg)}.viewer-notes-panel header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.viewer-notes-panel h2{margin:0;font-size:.95rem}.viewer-notes-panel header span{color:var(--muted);font-size:.74rem}@media(max-width:700px){.viewer-shell{width:100vw;height:100dvh;overflow:hidden;grid-template-rows:minmax(0,1fr)}.viewer-bar{position:absolute;top:calc(8px + env(safe-area-inset-top));right:8px;left:8px;z-index:5;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.45rem;height:auto;border:1px solid var(--border);border-radius:16px;padding:.5rem;background:#060910e0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm)}.viewer-bar>div{display:none}.viewer-bar>div strong,.viewer-bar>div span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-bar input{grid-column:1 / -1;order:2;width:100%}.viewer-bar select,.viewer-bar input,.viewer-bar .ui-button,.viewer-bar a{min-height:44px}.viewer-bar select{max-width:46vw}.viewer-bar a{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 .65rem;background:var(--surface-2);text-decoration:none}.viewer-crumbs{display:none}.viewer-crumbs button{min-height:44px;flex:0 0 auto}.viewer-stage{min-height:100dvh}.viewer-stage svg{height:100dvh}.viewer-notes-panel{inset:auto 0 0;width:auto;max-height:min(72dvh,620px);border-right:0;border-bottom:0;border-left:0;border-radius:18px 18px 0 0;padding:.9rem max(.85rem,env(safe-area-inset-right)) calc(.9rem + env(safe-area-inset-bottom)) max(.85rem,env(safe-area-inset-left))}.viewer-notes-panel .ui-button,.viewer-notes-panel button{min-height:44px}.viewer-presentation-actions{top:auto;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));left:10px;justify-content:space-between;border-radius:14px}.viewer-presentation-actions .ui-button{min-height:44px}}:root{color-scheme:dark;--bg: #060910;--surface: #0d1320;--surface-2: #121a2a;--surface-3: #18243a;--canvas: #07101c;--border: #223049;--border-strong: #385072;--text: #e8eef8;--muted: #94a3b8;--muted-2: #64748b;--accent: #67e8f9;--accent-strong: #22d3ee;--focus: #facc15;--danger: #fb7185;--success: #86efac;--radius-sm: 6px;--radius-md: 8px;--shadow-lg: 0 28px 80px rgb(0 0 0 / .42);--font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--font)}button,input,textarea,select{letter-spacing:0}.app-shell{display:grid;width:100%;height:100%;grid-template-rows:56px minmax(0,1fr);background:var(--bg)}.app-shell--presentation{grid-template-rows:52px minmax(0,1fr)}.presentation-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:.7rem;border-bottom:1px solid var(--border);padding:0 .85rem;background:#090e18}.presentation-toolbar>div{display:grid;min-width:180px;margin-right:auto}.presentation-toolbar span{color:var(--muted);font-size:.74rem}.presentation-toolbar select{min-height:34px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);padding:.4rem .55rem}.top-toolbar{display:grid;grid-template-columns:auto auto minmax(160px,280px) minmax(260px,1fr) auto;align-items:center;gap:.7rem;border-bottom:1px solid var(--border);padding:0 .85rem;background:#090e18}.brand-block{display:flex;min-width:0;align-items:center;gap:.55rem}.brand-mark{display:grid;width:32px;height:32px;place-items:center;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:linear-gradient(135deg,#10203a,#0d2b2c);color:var(--accent);font-weight:800}.brand-title{display:grid;gap:.12rem}.brand-title strong{font-size:.94rem}.brand-title span{color:var(--muted);font-size:.75rem}.project-identity{display:grid;min-width:0;gap:.08rem}.project-identity strong,.project-identity span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-identity strong{color:var(--text);font-size:.84rem}.project-identity span{color:var(--muted);font-size:.72rem}.toolbar-group{display:flex;min-width:0;align-items:center;gap:.45rem}.toolbar-group--quick .ui-button{min-height:31px;padding:.38rem .55rem;font-size:.78rem}.top-search{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:.5rem}.top-search>.ui-input{flex:1 1 360px;max-width:480px;min-height:32px;font-size:.78rem}.workspace-grid{display:grid;min-height:0;grid-template-columns:52px var(--overview-width, 240px) 26px minmax(360px,1fr) 26px var(--inspector-width, 320px)}.workspace-grid--floating{grid-template-columns:52px var(--overview-width, 240px) 26px minmax(360px,1fr)}.workspace-grid--overview-collapsed{grid-template-columns:52px 0 26px minmax(360px,1fr) 26px var(--inspector-width, 320px)}.workspace-grid--floating.workspace-grid--overview-collapsed{grid-template-columns:52px 0 26px minmax(360px,1fr)}.workspace-grid--inspector-collapsed{grid-template-columns:52px var(--overview-width, 240px) 26px minmax(360px,1fr) 26px 0}.workspace-grid--overview-collapsed.workspace-grid--inspector-collapsed{grid-template-columns:52px 0 26px minmax(360px,1fr) 26px 0}.workspace-grid--presentation{grid-template-columns:var(--overview-width, 260px) minmax(360px,1fr)}.toolbox{display:flex;flex-direction:column;gap:.35rem;border-right:1px solid var(--border);padding:.45rem .4rem;background:var(--surface)}.toolbox .ui-button{width:36px;height:36px;min-height:36px;padding:0}.toolbox .ui-button svg{width:18px;height:18px}.navigator{min-height:0;overflow:auto}.navigator__content,.inspector__content{display:grid;gap:.75rem;padding:.85rem}.diagram-list{display:grid;gap:.45rem}.diagram-row{display:grid;gap:.16rem;width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.62rem;background:var(--surface-2);color:var(--text);text-align:left;cursor:pointer}.diagram-row:hover,.diagram-row.is-active{border-color:var(--accent);background:var(--surface-3)}.diagram-row span{color:var(--muted);font-size:.73rem}.overview-panel__content{overflow:auto}.overview-panel{min-width:0;overflow:hidden}.overview-panel.is-collapsed{border-right:0}.overview-panel__actions{display:flex;gap:.35rem}.overview-panel__actions .ui-button{min-height:30px;padding:.36rem .5rem;font-size:.74rem}.overview-tree,.overview-tree__branch{display:grid;gap:.22rem}.overview-tree__row{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:.18rem;padding-left:calc(var(--depth, 0) * .75rem)}.overview-tree__row--actions{grid-template-columns:22px minmax(0,1fr) 42px 26px}.overview-tree__row.is-active .overview-tree__title{border-color:var(--accent);background:var(--surface-3)}.overview-tree__toggle,.overview-tree__title,.overview-tree__rename,.overview-tree__delete{min-width:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);font:inherit;cursor:pointer}.overview-tree__toggle{width:22px;height:26px;padding:0;color:var(--muted)}.overview-tree__rename{width:42px;height:26px;padding:0;color:var(--muted);font-size:.68rem}.overview-tree__delete{width:26px;height:26px;padding:0;color:var(--muted);font-size:.68rem}.overview-tree__toggle:disabled{opacity:.36;cursor:default}.overview-tree__title{display:flex;align-items:center;justify-content:space-between;gap:.45rem;overflow:hidden;padding:.42rem .5rem;text-align:left}.overview-tree__rename-input{min-width:0;height:32px;border:1px solid var(--accent);border-radius:var(--radius-sm);padding:0 .5rem;background:var(--surface-3);color:var(--text);font:inherit;outline:none}.overview-tree__title>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overview-tree__title:hover,.overview-tree__title:focus-visible,.overview-tree__rename:hover,.overview-tree__rename:focus-visible,.overview-tree__delete:hover,.overview-tree__delete:focus-visible,.overview-tree__toggle:not(:disabled):hover,.overview-tree__toggle:not(:disabled):focus-visible{border-color:var(--accent);background:var(--surface-3)}.overview-tree__delete:hover,.overview-tree__delete:focus-visible{border-color:var(--danger);color:var(--danger)}.canvas-region{position:relative;min-width:0;min-height:0;background:var(--canvas)}.overview-resize-handle{position:relative;z-index:4;border-left:1px solid var(--border);border-right:1px solid var(--border);background:var(--surface)}.overview-resize-handle:before{content:"";position:absolute;top:50%;left:50%;width:2px;height:54px;border-radius:999px;background:var(--border-strong);transform:translate(-50%,-50%)}.overview-edge-button{position:absolute;top:50%;left:50%;z-index:2;display:grid;width:22px;height:48px;place-items:center;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface-2);color:var(--muted);font:inherit;font-size:.72rem;font-weight:800;cursor:pointer;transform:translate(-50%,-50%)}.overview-edge-button:hover,.overview-edge-button:focus-visible{border-color:var(--accent);color:var(--text);outline:none}.inspector-resize-handle{position:relative;z-index:4;border-left:1px solid var(--border);border-right:1px solid var(--border);background:var(--surface);cursor:col-resize}.inspector-resize-handle.is-collapsed{cursor:default}.inspector-resize-handle:before{content:"";position:absolute;top:50%;left:50%;width:2px;height:54px;border-radius:999px;background:var(--border-strong);transform:translate(-50%,-50%)}.inspector-resize-handle:hover,.inspector-resize-handle:focus-visible{background:var(--surface-2)}.inspector-resize-handle:hover:before,.inspector-resize-handle:focus-visible:before{background:var(--accent)}.inspector-edge-button{position:absolute;top:50%;left:50%;z-index:2;display:grid;width:22px;height:48px;place-items:center;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface-2);color:var(--muted);font:inherit;font-size:.72rem;font-weight:800;cursor:pointer;transform:translate(-50%,-50%)}.inspector-edge-button:hover,.inspector-edge-button:focus-visible{border-color:var(--accent);color:var(--text);outline:none}.canvas-top-strip{position:absolute;top:12px;right:12px;z-index:2;width:min(420px,calc(100% - 24px));pointer-events:none}.canvas-top-strip>*{pointer-events:auto}.breadcrumb-row{display:flex;width:fit-content;max-width:100%;gap:.25rem;margin:0 0 .4rem auto;overflow:hidden;border:1px solid var(--border);border-radius:999px;padding:.25rem .55rem;background:#060910c7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.breadcrumb-row button{min-width:0;border:0;padding:0;background:transparent;color:var(--accent);font:inherit;font-size:.76rem;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumb-row button:not(:last-child):after{content:"/";padding-left:.35rem;color:var(--muted-2)}.canvas-status-row{display:flex;justify-content:flex-end;align-items:center;gap:.5rem}.tag-filter{display:grid;grid-template-columns:128px minmax(120px,1fr) auto;align-items:center;gap:.4rem;min-width:0;max-width:520px}.top-search .tag-filter{min-width:min(360px,38vw);max-width:420px}.tag-filter .ui-input{height:34px;padding-block:.25rem;font-size:.74rem}.tag-filter__tags{display:flex;min-width:0;max-width:240px;gap:.25rem;overflow-x:auto;scrollbar-width:thin}.tag-filter__tags>span{color:var(--muted);font-size:.74rem;white-space:nowrap}.tag-filter__tag,.tag-filter__clear{flex:0 0 auto;border:1px solid var(--border);border-radius:999px;padding:.3rem .5rem;background:#060910c7;color:var(--muted);font:inherit;font-size:.72rem;cursor:pointer}.tag-filter__tag.is-active{border-color:var(--accent);background:#67e8f91f;color:var(--text)}.tag-filter__clear:disabled{opacity:.45;cursor:default}.status-chip{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--border);border-radius:999px;padding:.3rem .55rem;color:var(--muted);font-size:.74rem}.file-input{display:none}.export-actions{display:grid;gap:.65rem;padding:.85rem}.mobile-action-bar,.mobile-fab,.mobile-sheet-backdrop{display:none}@media(max-width:1100px){.workspace-grid{grid-template-columns:48px 210px 24px minmax(320px,1fr)}.workspace-grid--overview-collapsed{grid-template-columns:48px 0 24px minmax(320px,1fr)}.inspector,.inspector-resize-handle{display:none}.top-toolbar{grid-template-columns:auto auto minmax(120px,1fr)}.top-search,.toolbar-group--quick{display:none}}@media(max-width:700px){.app-shell{width:100vw;height:100dvh;overflow:hidden;grid-template-rows:52px minmax(0,1fr)}.top-toolbar{grid-template-columns:auto minmax(0,1fr) auto;gap:.5rem;padding:0 .55rem}.brand-mark{width:34px;height:34px}.brand-title,.project-identity,.toolbar-group--quick,.top-search{display:none}.toolbar-group--project .ui-button{min-width:44px;min-height:44px}.workspace-grid,.workspace-grid--floating,.workspace-grid--overview-collapsed,.workspace-grid--floating.workspace-grid--overview-collapsed,.workspace-grid--inspector-collapsed,.workspace-grid--overview-collapsed.workspace-grid--inspector-collapsed{grid-template-columns:minmax(0,1fr)}.toolbox,.overview-panel,.overview-resize-handle,.inspector,.inspector-resize-handle{display:none}.canvas-region{min-width:0;min-height:0}.canvas-top-strip{top:8px;right:8px;left:8px;width:auto}.breadcrumb-row{max-width:calc(100vw - 16px);margin-left:0;margin-right:auto;padding:.38rem .65rem}.breadcrumb-row button{min-height:32px;font-size:.82rem}.canvas-status-row{display:none}.canvas-zoom-controls{right:10px;bottom:76px}.canvas-zoom-controls button,.canvas-zoom-controls__percent{min-width:44px!important;height:44px}.mobile-fab{position:fixed;right:calc(16px + env(safe-area-inset-right));bottom:calc(144px + env(safe-area-inset-bottom));z-index:12;display:grid;width:56px;height:56px;place-items:center;border:1px solid var(--border-strong);border-radius:999px;background:var(--accent);color:#04111f;font:inherit;font-size:1.45rem;font-weight:860;box-shadow:var(--shadow-lg)}.mobile-action-bar{position:fixed;right:0;bottom:0;left:0;z-index:11;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;padding:.45rem max(.55rem,env(safe-area-inset-right)) calc(.45rem + env(safe-area-inset-bottom)) max(.55rem,env(safe-area-inset-left));border-top:1px solid var(--border);background:#060910f0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mobile-action-bar button,.mobile-sheet button,.mobile-sheet .ui-button,.mobile-sheet .ui-input{min-height:44px}.mobile-action-bar button{border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--text);font:inherit;font-size:.76rem}.mobile-action-bar button:disabled{opacity:.45}.mobile-sheet-backdrop{position:fixed;inset:0;z-index:30;display:block;background:#00000059}.mobile-sheet{position:absolute;right:0;bottom:0;left:0;display:grid;max-height:min(78dvh,680px);grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid var(--border-strong);border-bottom:0;border-radius:18px 18px 0 0;background:var(--surface);box-shadow:var(--shadow-lg)}.mobile-sheet>header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border-bottom:1px solid var(--border);padding:.7rem .85rem}.mobile-sheet>header button{border:1px solid var(--border);border-radius:999px;padding:0 .9rem;background:var(--surface-2);color:var(--text)}.mobile-sheet__content,.mobile-tools,.mobile-sheet .overview-panel,.mobile-sheet .inspector{display:grid;min-height:0;overflow:auto}.mobile-sheet .overview-panel,.mobile-sheet .inspector{border:0}.mobile-sheet .overview-tree__row{grid-template-columns:44px minmax(0,1fr)}.mobile-sheet .overview-tree__row--actions{grid-template-columns:44px minmax(0,1fr) 54px 44px}.mobile-sheet .overview-tree__toggle,.mobile-sheet .overview-tree__rename,.mobile-sheet .overview-tree__delete{width:100%;height:44px}.mobile-sheet .overview-tree__title,.mobile-sheet .diagram-row,.mobile-sheet .backlink-list button,.mobile-sheet .reference-explorer__list button{min-height:44px}.mobile-sheet .ui-panel__header{display:none}.mobile-sheet__content{gap:.75rem;padding:.85rem}.mobile-tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;padding:.85rem}.mobile-tools button{display:flex;min-width:0;align-items:center;gap:.55rem;border:1px solid var(--border);border-radius:var(--radius-md);padding:.65rem;background:var(--surface-2);color:var(--text);font:inherit;text-align:left}.mobile-tools button.is-active{border-color:var(--accent);background:#67e8f91f}.mobile-tools button>span{display:inline-grid;width:32px;height:32px;place-items:center;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--accent);font-weight:820}.tag-filter{grid-template-columns:1fr;max-width:none}.tag-filter__tags{max-width:none}.floating-inspector{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.presentation-toolbar{min-height:52px;gap:.45rem;padding:0 .55rem}.presentation-toolbar>div{min-width:0}.presentation-toolbar select,.presentation-toolbar .ui-button{min-height:44px}.workspace-grid--presentation{grid-template-columns:minmax(0,1fr)}.workspace-grid--presentation .overview-panel{display:none}}
