/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.grid{display:grid}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.italic{font-style:italic}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--paper:#f4f2ec;--paper-raised:#faf9f5;--paper-inset:#eeece5;--graphite:#202521;--graphite-soft:#4d5650;--graphite-faint:#56615a;--graphite-muted:#626d66;--drafting-blue:#2459d3;--drafting-blue-soft:#e8edfb;--drafting-blue-dark:#173d98;--review-amber:#b46a16;--healthy-green:#2f6747;--line:#20252124;--line-soft:#20252114;--line-strong:#20252147;--control:#ebe9e2;--focus-ring:#2459d340}*{box-sizing:border-box}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}html,body{min-height:100%}body{background:var(--paper);color:var(--graphite);font-family:var(--font-geist-sans), system-ui, sans-serif;margin:0;overflow:hidden}button,textarea{font:inherit}button{color:inherit}:is(button:focus-visible,textarea:focus-visible){outline:3px solid var(--focus-ring);outline-offset:2px}.studio-shell{background:var(--paper);flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:1px solid var(--line);background:var(--paper-raised);z-index:30;flex:0 0 68px;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;height:68px;padding:0 18px;display:grid;position:relative}.brand-lockup{align-items:center;gap:12px;min-width:0;display:flex}.brand-mark{color:#fff;background:var(--graphite);width:36px;height:36px;font-family:var(--font-geist-mono), monospace;letter-spacing:-.06em;text-transform:lowercase;border-radius:8px;place-items:center;font-size:10px;font-weight:720;display:grid}.brand-lockup div{flex-direction:column;min-width:0;display:flex}.brand-lockup strong{letter-spacing:-.015em;font-size:14px}.brand-lockup div span{text-overflow:ellipsis;white-space:nowrap;max-width:260px;color:var(--graphite-faint);font-size:11px;overflow:hidden}.compile-status{border:1px solid var(--line);background:var(--paper);color:var(--review-amber);border-radius:999px;align-items:center;gap:8px;padding:7px 11px;font-size:11px;font-weight:640;display:inline-flex}.compile-status[data-valid=true]{color:var(--healthy-green)}.status-dot{background:currentColor;border-radius:50%;flex:none;width:6px;height:6px;display:inline-block;box-shadow:0 0 0 3px}@supports (color:color-mix(in lab, red, red)){.status-dot{box-shadow:0 0 0 3px color-mix(in srgb, currentColor 12%, transparent)}}.top-actions{justify-self:end;align-items:center;gap:8px;display:flex}.quiet-button,.icon-text-button,.save-link-button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:7px;transition:background .14s,border-color .14s}.quiet-button{padding:8px 11px;font-size:12px;font-weight:620}.quiet-button:hover,.icon-text-button:hover{border-color:var(--line-strong);background:var(--control)}.save-link-button{border-color:var(--drafting-blue);background:var(--drafting-blue);color:#fff;white-space:nowrap;justify-content:center;align-items:center;gap:7px;min-width:136px;min-height:34px;padding:7px 11px;font-size:11px;font-weight:660;display:inline-flex}.save-link-button>span{font-family:var(--font-geist-mono), monospace;font-size:10px}.save-link-button:hover:not(:disabled){border-color:var(--drafting-blue-dark);background:var(--drafting-blue-dark)}.save-link-button[data-saved=true]{border-color:var(--healthy-green)}@supports (color:color-mix(in lab, red, red)){.save-link-button[data-saved=true]{border-color:color-mix(in srgb, var(--healthy-green) 35%, transparent)}}.save-link-button[data-saved=true]{background:var(--healthy-green)}@supports (color:color-mix(in lab, red, red)){.save-link-button[data-saved=true]{background:color-mix(in srgb, var(--healthy-green) 10%, var(--paper-raised))}}.save-link-button[data-saved=true]{color:var(--healthy-green)}.save-link-button[data-saved=true]:hover:not(:disabled){border-color:var(--healthy-green);background:var(--healthy-green)}@supports (color:color-mix(in lab, red, red)){.save-link-button[data-saved=true]:hover:not(:disabled){background:color-mix(in srgb, var(--healthy-green) 15%, var(--paper-raised))}}.save-link-button:disabled{cursor:wait;opacity:.66}.panel-toggle{display:inline-flex}.workspace-grid{isolation:isolate;background:var(--paper-raised);flex:1;min-height:0;position:relative;overflow:hidden}.editor-panel,.inspector-panel,.canvas-panel{background:var(--paper);min-width:0;min-height:0}.editor-panel,.inspector-panel{top:var(--floating-panel-y,16px);left:var(--floating-panel-x,16px);width:var(--floating-panel-width,364px);border:1px solid var(--line-strong);background:var(--paper);border-radius:11px;flex-direction:column;max-width:calc(100% - 24px);transition:width .16s,height .16s,box-shadow .14s;display:flex;position:absolute;overflow:hidden;box-shadow:0 12px 32px #2025211a,0 2px 6px #20252114}.editor-panel{height:min(600px,100% - 24px)}.inspector-panel{height:min(640px, calc(100% - var(--floating-panel-y,16px) - 12px))}.floating-panel.is-collapsed{border-color:var(--drafting-blue);width:52px;height:132px}@supports (color:color-mix(in lab, red, red)){.floating-panel.is-collapsed{border-color:color-mix(in srgb, var(--drafting-blue) 34%, var(--line))}}.floating-panel.is-collapsed{box-shadow:0 4px 14px #20252117}.floating-panel.is-collapsed>:not(.floating-panel-heading){display:none}.panel-resizer{z-index:45;cursor:col-resize;touch-action:none;background:0 0;border:0;width:12px;padding:0;position:absolute;top:0;bottom:0}.panel-resizer:after{content:"";background:0 0;width:2px;transition:background .12s,box-shadow .12s;position:absolute;top:0;bottom:0;left:5px}.panel-resizer:hover:after{background:var(--drafting-blue);box-shadow:0 0 0 2px var(--focus-ring)}.panel-resizer:focus-visible:after{background:var(--drafting-blue);box-shadow:0 0 0 2px var(--focus-ring)}.panel-resizer-editor{right:-6px}.panel-resizer-inspector{left:-6px}.panel-heading{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:12px;min-height:76px;padding:16px;display:flex}.floating-panel-heading{background:var(--paper-raised);justify-content:flex-start;min-height:58px;padding:10px 10px 10px 8px}@supports (color:color-mix(in lab, red, red)){.floating-panel-heading{background:color-mix(in srgb, var(--paper-raised) 94%, transparent)}}.floating-panel-heading{cursor:default}.editor-panel.is-expanded .floating-panel-heading{grid-template-rows:auto auto;grid-template-columns:30px minmax(0,1fr) 30px;align-content:center;gap:5px 10px;min-height:94px;display:grid}.editor-panel.is-expanded .panel-drag-handle{grid-area:1/1}.editor-panel.is-expanded .floating-panel-title{grid-area:1/2}.editor-panel.is-expanded .panel-collapse-button{grid-area:1/3}.editor-panel.is-expanded .panel-actions{grid-area:2/2/auto/4;justify-self:start}.floating-panel.is-collapsed .floating-panel-heading{border-bottom:0;flex-direction:column;gap:3px;height:130px;min-height:130px;padding:7px 9px}.panel-drag-handle,.panel-collapse-button{width:30px;height:30px;color:var(--graphite-muted);background:0 0;border:1px solid #0000;border-radius:7px;flex:0 0 30px;place-items:center;display:inline-grid}.panel-drag-handle{cursor:grab;touch-action:none;font-size:15px}.panel-drag-handle:active{cursor:grabbing}.panel-drag-handle:hover,.panel-collapse-button:hover{border-color:var(--line);background:var(--paper-inset);color:var(--drafting-blue)}.panel-collapse-button{cursor:pointer;margin-left:auto;font-size:17px}.collapsed-panel-title,.floating-panel.is-collapsed .expanded-panel-title{display:none}.floating-panel.is-collapsed .collapsed-panel-title{display:inline}.floating-panel-title{flex:auto;min-width:0}.floating-panel-title h2{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.floating-panel.is-collapsed .eyebrow{display:none}.floating-panel.is-collapsed .floating-panel-title{flex:auto;place-items:center;display:grid}.floating-panel.is-collapsed .floating-panel-title h2{writing-mode:vertical-rl;color:var(--drafting-blue-dark);font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;text-transform:uppercase;font-size:9px;transform:rotate(180deg)}.floating-panel.is-collapsed .panel-collapse-button{margin:auto 0 0}.floating-panel.is-collapsed .panel-actions,.floating-panel.is-collapsed .kind-pill,.floating-panel.is-collapsed .panel-resizer{display:none}.eyebrow{color:var(--graphite-faint);font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;text-transform:uppercase;margin-bottom:3px;font-size:9px;font-weight:650;display:block}.panel-heading h2{letter-spacing:-.02em;margin:0;font-size:14px;font-weight:680}.panel-actions{gap:4px;display:flex}.icon-text-button{color:var(--graphite-soft);border-color:#0000;padding:6px 7px;font-size:10px;font-weight:620}.editor-wrap{background:var(--paper-inset);flex:1;min-height:0;position:relative;overflow:hidden}.c4-code-editor{width:100%;height:100%;overflow:hidden}.c4-code-editor .cm-editor{height:100%;color:var(--graphite);background:0 0}.c4-code-editor .cm-editor.cm-focused{outline:0}.c4-code-editor .cm-scroller{font-family:var(--font-geist-mono), monospace;background:0 0;font-size:11px;font-weight:450;line-height:1.75;overflow:auto}.c4-code-editor .cm-content{min-width:max-content;caret-color:var(--drafting-blue);padding:16px 0 28px}.c4-code-editor .cm-line{padding:0 18px 0 7px}.c4-code-editor .cm-gutters{border-right:1px solid var(--line-soft);background:var(--paper-inset);min-width:48px}@supports (color:color-mix(in lab, red, red)){.c4-code-editor .cm-gutters{background:color-mix(in srgb, var(--paper-inset) 92%, var(--paper-raised))}}.c4-code-editor .cm-gutters{color:var(--graphite-muted)}.c4-code-editor .cm-lineNumbers .cm-gutterElement{min-width:27px;padding:0 6px 0 4px;font-size:10px}.c4-code-editor .cm-foldGutter .cm-gutterElement{width:17px;color:var(--graphite-faint);cursor:pointer;text-align:center;padding:0;font-size:12px}.c4-code-editor .cm-foldGutter .cm-gutterElement:hover{color:var(--drafting-blue)}.c4-code-editor .cm-activeLine,.c4-code-editor .cm-activeLineGutter{background:var(--drafting-blue)}@supports (color:color-mix(in lab, red, red)){.c4-code-editor .cm-activeLine,.c4-code-editor .cm-activeLineGutter{background:color-mix(in srgb, var(--drafting-blue) 5%, transparent)}}.c4-code-editor .cm-selectionBackground,.c4-code-editor .cm-content ::selection{background:var(--drafting-blue)!important}@supports (color:color-mix(in lab, red, red)){.c4-code-editor .cm-content ::selection,.c4-code-editor .cm-selectionBackground{background:color-mix(in srgb, var(--drafting-blue) 18%, transparent)!important}}.c4-code-editor .cm-foldPlaceholder{border:1px solid var(--line);background:var(--paper-raised);color:var(--graphite-faint);font-family:var(--font-geist-mono), monospace;border-radius:4px;margin:0 4px;padding:0 5px}.c4-code-editor .cm-matchingBracket{background:var(--drafting-blue-soft);color:var(--drafting-blue-dark)}.editor-footer{border-top:1px solid var(--line-soft);background:var(--paper-raised);min-height:46px;max-height:108px;padding:11px 16px;overflow:auto}.editor-footer>p{color:var(--healthy-green);align-items:center;gap:8px;margin:0;font-size:10px;font-weight:600;display:flex}.editor-hint{color:var(--graphite-muted);font-family:var(--font-geist-mono), monospace;margin-left:auto;font-size:8px;font-weight:500}.error-list p{color:var(--review-amber);font-family:var(--font-geist-mono), monospace;margin:0 0 5px;font-size:9px;line-height:1.4}.canvas-panel{z-index:1;background-color:var(--paper-raised);background-image:radial-gradient(var(--line) .6px, transparent .6px);background-size:16px 16px;flex-direction:column;width:100%;height:100%;display:flex;position:absolute;inset:0;overflow:hidden;container-type:inline-size}.canvas-toolbar{border-bottom:1px solid var(--line-soft);background:var(--paper-raised);grid-template-columns:minmax(0,1fr) auto;justify-content:space-between;align-items:flex-start;gap:16px;min-height:84px;padding:8px 16px;display:grid}@supports (color:color-mix(in lab, red, red)){.canvas-toolbar{background:color-mix(in srgb, var(--paper-raised) 92%, transparent)}}.canvas-toolbar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.diagram-navigation{overscroll-behavior-x:contain;scrollbar-width:thin;flex-wrap:wrap;align-items:center;gap:7px;min-width:0;display:flex;overflow-x:auto}.diagram-type-tabs,.view-choice-list{border:1px solid var(--line);background:var(--paper-inset);border-radius:9px;align-items:center;gap:3px;padding:3px;display:flex}.diagram-type-tabs button,.view-choice-list button{min-height:28px;color:var(--graphite-faint);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:5px 9px;font-size:10px;font-weight:640;display:inline-flex}.diagram-type-tabs button>span{background:var(--graphite);border-radius:999px;min-width:17px;padding:1px 4px}@supports (color:color-mix(in lab, red, red)){.diagram-type-tabs button>span{background:color-mix(in srgb, var(--graphite) 7%, transparent)}}.diagram-type-tabs button>span{font-family:var(--font-geist-mono), monospace;text-align:center;font-size:8px}.diagram-type-tabs button:hover:not(:disabled),.view-choice-list button:hover:not(:disabled){color:var(--graphite)}.diagram-type-tabs button.is-current,.view-choice-list button.is-current{background:var(--paper-raised);color:var(--drafting-blue);box-shadow:0 1px 3px #20252114}.diagram-type-tabs button:disabled,.view-choice-list button:disabled{cursor:not-allowed;opacity:.42}.depth-rail{border:1px solid var(--line);background:var(--paper-inset);border-radius:9px;align-items:center;gap:3px;padding:3px;display:flex}.depth-rail button{color:var(--graphite-faint);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:6px 9px;font-size:10px;font-weight:630;transition:background .14s,color .14s;display:inline-flex}.depth-rail button span{font-family:var(--font-geist-mono), monospace;font-size:9px}.depth-rail button:hover:not(:disabled){color:var(--graphite)}.depth-rail button.is-current{background:var(--paper-raised);color:var(--drafting-blue);box-shadow:0 1px 3px #20252114}.depth-rail button:disabled{cursor:not-allowed;opacity:.42}.canvas-tools{white-space:nowrap;flex:none;align-items:center;gap:7px;display:flex}.drag-guidance{color:var(--graphite-faint);font-family:var(--font-geist-mono), monospace;white-space:nowrap;align-items:center;gap:6px;font-size:8px;display:inline-flex}.drag-guidance i{color:var(--drafting-blue);font-size:11px;font-style:normal}.reset-layout-button{border:1px solid var(--line);background:var(--paper-raised);min-height:30px;color:var(--graphite-soft);cursor:pointer;border-radius:7px;padding:6px 9px;font-size:9px;font-weight:640}.reset-layout-button:hover:not(:disabled){border-color:var(--line-strong);color:var(--drafting-blue)}.reset-layout-button:disabled{cursor:not-allowed;opacity:.38}.zoom-controls{border:1px solid var(--line);background:var(--paper-raised);border-radius:7px;flex:none;align-items:center;display:flex;overflow:hidden}.zoom-controls button{cursor:pointer;width:30px;height:30px;font-family:var(--font-geist-mono), monospace;background:0 0;border:0;font-size:16px}.zoom-controls button:hover:not(:disabled){background:var(--control)}.zoom-controls button:disabled{color:var(--graphite-muted);cursor:not-allowed}.zoom-controls span{width:42px;color:var(--graphite-faint);font-family:var(--font-geist-mono), monospace;text-align:center;font-size:9px}.view-heading{justify-content:space-between;align-items:flex-end;gap:24px;min-height:92px;padding:18px 24px 14px;display:flex}.breadcrumb{align-items:center;gap:5px;margin-bottom:5px;display:flex}.breadcrumb span{align-items:center;gap:5px;display:flex}.breadcrumb i{color:var(--graphite-muted);font-size:10px;font-style:normal}.breadcrumb button{color:var(--graphite-faint);cursor:pointer;font-family:var(--font-geist-mono), monospace;background:0 0;border:0;padding:0;font-size:9px}.breadcrumb button:hover{color:var(--drafting-blue)}.view-heading h1{letter-spacing:-.045em;margin:0;font-size:clamp(19px,2vw,26px);font-weight:680}.view-heading>p{max-width:280px;color:var(--graphite-faint);text-align:right;margin:0 0 2px;font-size:10px;line-height:1.5}.graph-viewport{overscroll-behavior:contain;flex:1;min-height:320px;padding:10px 20px 24px;overflow:auto}.graph-stage{transform-origin:0 0;flex:none;width:1000px;height:600px;margin:0;transition:transform .12s cubic-bezier(.2,.75,.25,1);position:relative}.graph-stage-shell{flex:none;margin:0 auto;position:relative}.system-boundary{z-index:0;border:1px dashed var(--line-strong);pointer-events:none;border-radius:12px;position:absolute;inset:30px 40px}.system-boundary.is-focused-scope{background:var(--paper-inset)}@supports (color:color-mix(in lab, red, red)){.system-boundary.is-focused-scope{background:color-mix(in srgb, var(--paper-inset) 34%, transparent)}}.system-boundary span{background:var(--paper-raised);color:var(--graphite-faint);font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;padding:1px 7px;font-size:8px;position:absolute;top:-9px;left:14px}.external-scope-label{z-index:1;width:206px;color:var(--graphite-muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-align:center;text-transform:uppercase;pointer-events:none;font-size:8px;font-weight:650;position:absolute;top:7px}.external-scope-label.is-left{left:27px}.external-scope-label.is-right{right:27px}.deployment-boundary{z-index:1;border:1px dashed var(--line-strong);background:var(--paper-inset);border-radius:10px;padding:15px 14px;position:absolute}@supports (color:color-mix(in lab, red, red)){.deployment-boundary{background:color-mix(in srgb, var(--paper-inset) 36%, transparent)}}.deployment-boundary{pointer-events:none}.deployment-boundary>strong,.deployment-boundary>span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.deployment-boundary>strong{color:var(--graphite-soft);padding-right:4px;font-size:10px;font-weight:680}.deployment-boundary>span{color:var(--graphite-muted);font-family:var(--font-geist-mono), monospace;margin-top:3px;font-size:8px}.relationship-layer{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.relation-line{fill:none;stroke:#758079;stroke-width:1.3px;stroke-dasharray:4 4;stroke-linecap:square;stroke-linejoin:miter;vector-effect:non-scaling-stroke}#arrowhead path{fill:#758079}.relation-token{fill:var(--paper-raised);stroke:var(--drafting-blue);stroke-width:1px}.relation-token-text{fill:var(--drafting-blue);font-family:var(--font-geist-mono), monospace;text-anchor:middle;font-size:9px;font-weight:720;font-stretch:100%}.diagram-node{z-index:3;border:1px solid var(--line-strong);background:var(--paper-raised);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;text-align:left;will-change:left, top, transform;border-radius:9px;width:206px;height:104px;padding:14px 14px 12px 48px;transition:border-color .15s,box-shadow .15s,transform .15s;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 7px #2025210f}.diagram-node:hover:not(.is-dragging){border-color:var(--drafting-blue);transform:translate(-50%,-50%)translateY(-2px);box-shadow:0 5px 14px #2025211a}.diagram-node.is-selected{border-color:var(--drafting-blue);box-shadow:0 0 0 3px var(--focus-ring), 0 5px 14px #20252114}.diagram-node:focus-visible{outline:2px solid var(--drafting-blue);outline-offset:3px}.diagram-node.is-dragging{z-index:5;border-color:var(--drafting-blue);box-shadow:0 0 0 4px var(--focus-ring), 0 10px 22px #20252121;cursor:grabbing;transition:none;transform:translate(-50%,-50%)scale(1.015)}.diagram-node.is-external{background:var(--paper-inset);border-style:dashed}.diagram-node.shape-service{border-left-width:3px}.diagram-node.shape-web{border-radius:7px 7px 10px 10px;padding-top:20px}.diagram-node.shape-web:after{content:"";border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);pointer-events:none;height:6px;position:absolute;inset:8px 0 auto}.diagram-node.shape-database{border-radius:46%/15%;padding-inline:52px 24px}.diagram-node.shape-database:after{content:"";border-bottom:1px solid var(--line);pointer-events:none;border-radius:50%;height:14px;position:absolute;inset:9px -1px auto}.diagram-node.shape-queue{border-radius:5px 18px 18px 5px;padding-right:25px}.diagram-node.shape-queue:after{content:"";background:var(--graphite-muted);width:4px;height:4px;box-shadow:0 14px 0 var(--graphite-muted), 0 28px 0 var(--graphite-muted);pointer-events:none;border-radius:50%;position:absolute;top:22px;right:9px}.diagram-node.shape-kvs{filter:drop-shadow(-4px 4px 0 var(--paper-inset)) drop-shadow(-1px 1px 0 var(--line-strong));border-radius:7px}.diagram-node.shape-function{border-radius:4px 17px}.diagram-node.shape-storage{border-radius:5px 10px 8px 8px;margin-top:5px}.diagram-node.shape-storage:before{content:"";border:1px solid var(--line-strong);background:var(--paper-raised);pointer-events:none;border-bottom:0;border-radius:6px 6px 0 0;width:48px;height:8px;position:absolute;top:-8px;left:14px}.diagram-node.shape-cloud{border-radius:22px 22px 9px 9px}.node-kind,.detail-monogram{background:var(--graphite);color:#fff;font-family:var(--font-geist-mono), monospace;place-items:center;font-size:9px;font-weight:700;display:grid}.node-kind{border-radius:6px;width:26px;height:26px;position:absolute;top:14px;left:13px}.node-kind svg{width:14px;height:14px}.node-person .node-kind,.kind-person{background:#6b6257}.node-system .node-kind,.kind-system{background:var(--drafting-blue)}.node-container .node-kind,.kind-container{background:var(--drafting-blue-dark)}.node-component .node-kind,.kind-component{background:#334d73}.diagram-node strong{color:var(--graphite);letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:690;display:block;overflow:hidden}.diagram-node small{color:var(--graphite-faint);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:9px;line-height:1.35;display:block;overflow:hidden}.drill-hint{border-top:1px solid var(--line-soft);color:var(--drafting-blue);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;align-items:center;margin-top:9px;padding-top:7px;font-size:8px;font-weight:670;display:flex}.drill-hint b{font-size:11px}.empty-graph{text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.empty-graph span{color:var(--graphite-muted);font-family:var(--font-geist-mono), monospace;font-size:26px}.empty-graph h3{margin:8px 0 4px;font-size:14px}.empty-graph p{color:var(--graphite-faint);margin:0;font-size:10px}.canvas-legend{border-top:1px solid var(--line-soft);background:var(--paper-raised);justify-content:center;align-items:center;gap:18px;min-height:38px;display:flex}@supports (color:color-mix(in lab, red, red)){.canvas-legend{background:color-mix(in srgb, var(--paper-raised) 92%, transparent)}}.canvas-legend{color:var(--graphite-faint);font-size:9px}.canvas-legend span{align-items:center;gap:5px;display:flex}.canvas-legend i{background:var(--graphite);border-radius:2px;width:7px;height:7px}.canvas-legend .legend-person{background:#6b6257}.canvas-legend .legend-system{background:var(--drafting-blue)}.canvas-legend .legend-container{background:var(--drafting-blue-dark)}.canvas-legend .legend-component{background:#334d73}.canvas-legend .shape-legend-note{border-left:1px solid var(--line);font-family:var(--font-geist-mono), monospace;padding-left:12px}.inspector-heading{align-items:flex-start}.inspector-heading h2{text-overflow:ellipsis;white-space:nowrap;max-width:165px;overflow:hidden}.kind-pill{color:#fff;font-family:var(--font-geist-mono), monospace;border-radius:5px;flex:none;padding:5px 7px;font-size:8px;font-weight:650}.inspector-content{flex:1;min-height:0;overflow:auto}.detail-intro{border-bottom:1px solid var(--line-soft);align-items:flex-start;gap:12px;padding:18px 16px;display:flex}.detail-monogram{border-radius:7px;flex:none;width:32px;height:32px}.detail-monogram svg{width:17px;height:17px}.detail-intro p{color:var(--graphite-soft);margin:0;font-size:11px;line-height:1.55}.property-list{border-bottom:1px solid var(--line-soft);margin:0;padding:10px 16px}.property-list div{justify-content:space-between;align-items:center;gap:12px;min-height:34px;display:flex}.property-list dt{color:var(--graphite-faint);font-size:9px}.property-list dd{max-width:150px;color:var(--graphite-soft);font-family:var(--font-geist-mono), monospace;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:9px;overflow:hidden}.inspector-section{border-bottom:1px solid var(--line-soft);padding:16px}.section-title{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.section-title h3{margin:0;font-size:10px;font-weight:680}.section-title>span{background:var(--control);min-width:20px;color:var(--graphite-faint);font-family:var(--font-geist-mono), monospace;text-align:center;border-radius:999px;padding:2px 5px;font-size:8px}.child-list,.relationship-list{flex-direction:column;gap:5px;display:flex}.child-list button,.relationship-list button{border:1px solid var(--line-soft);background:var(--paper-raised);cursor:pointer;text-align:left;border-radius:7px;width:100%}.child-list button{grid-template-columns:24px 1fr auto;align-items:center;gap:8px;min-height:40px;padding:7px 8px;display:grid}.child-list button:hover,.relationship-list button:hover{border-color:var(--line-strong);background:var(--paper-inset)}.child-list button>span{background:var(--control);width:24px;height:24px;color:var(--graphite-soft);font-family:var(--font-geist-mono), monospace;border-radius:5px;place-items:center;font-size:8px;display:grid}.child-list .child-glyph{color:var(--graphite-soft);position:static}.child-list .child-glyph svg{width:13px;height:13px}.child-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:630;overflow:hidden}.child-list i{color:var(--graphite-muted);font-style:normal}.relationship-list button{grid-template-columns:auto 1fr;column-gap:7px;min-height:56px;padding:8px;display:grid}.relationship-list button>span{font-family:var(--font-geist-mono), monospace;text-transform:uppercase;border-radius:4px;grid-row:span 2;align-self:start;padding:3px 4px;font-size:7px;font-weight:680}.relationship-list .outgoing{background:var(--drafting-blue-soft);color:var(--drafting-blue-dark)}.relationship-list .incoming{background:var(--control);color:var(--graphite-soft)}.relationship-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.relationship-list small{color:var(--graphite-faint);font-size:8px}.empty-note{color:var(--graphite-muted);margin:0;font-size:9px;line-height:1.4}.empty-inspector{color:var(--graphite-faint);text-align:center;flex:1;place-content:center;justify-items:center;padding:24px;display:grid}.empty-inspector span{font-size:22px}.empty-inspector p{max-width:180px;font-size:10px;line-height:1.5}.privacy-note{border:1px solid var(--line-soft);background:var(--paper-inset);border-radius:8px;align-items:flex-start;gap:9px;margin:auto 12px 12px;padding:12px;display:flex}.privacy-note>span{color:var(--healthy-green);font-size:8px;line-height:15px}.privacy-note strong{font-size:9px;display:block}.privacy-note p{color:var(--graphite-faint);margin:3px 0 0;font-size:8px;line-height:1.4}.example-picker{position:relative}.example-picker>button span{color:var(--drafting-blue)}.example-menu{z-index:80;border:1px solid var(--line-strong);background:var(--paper-raised);border-radius:9px;gap:3px;width:min(350px,100vw - 32px);max-height:min(520px,100vh - 170px);padding:7px;display:grid;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 12px 30px #20252124}.example-menu>header{border-bottom:1px solid var(--line-soft);padding:9px 10px 10px}.example-menu>header strong,.example-menu>header small{display:block}.example-menu>header strong{font-size:11px}.example-menu>header small{color:var(--graphite-faint);margin-top:3px;font-size:8px;line-height:1.4}.example-menu button{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);gap:2px 9px;min-height:58px;padding:8px 9px;display:grid}:is(.example-menu button:hover,.example-menu button:focus-visible){background:var(--paper-inset)}.example-menu button>span{border:1px solid var(--line);background:var(--paper);color:var(--drafting-blue-dark);font-family:var(--font-geist-mono), monospace;white-space:nowrap;border-radius:5px;grid-row:1/span 2;align-self:center;padding:4px 6px;font-size:7px;font-weight:680}.example-menu button strong{min-width:0;color:var(--graphite);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.example-menu button small{color:var(--graphite-faint);font-size:8px;line-height:1.35}.canvas-tools{flex-wrap:wrap;justify-content:flex-end}.visual-theme-picker{position:relative}.visual-theme-trigger{border:1px solid var(--line);background:var(--paper-raised);min-height:30px;color:var(--graphite-soft);cursor:pointer;border-radius:7px;align-items:center;gap:6px;padding:6px 8px;font-size:9px;font-weight:650;display:inline-flex}.visual-theme-trigger>span,.visual-theme-trigger>i{color:var(--drafting-blue);font-style:normal}.visual-theme-menu{z-index:85;border:1px solid var(--line-strong);background:var(--paper-raised);border-radius:9px;gap:3px;width:272px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 30px #20252124}.visual-theme-menu button{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;grid-template-rows:auto auto;grid-template-columns:18px minmax(0,1fr);column-gap:7px;min-height:52px;padding:8px;display:grid}:is(.visual-theme-menu button:hover,.visual-theme-menu button:focus-visible){background:var(--paper-inset)}.visual-theme-menu button>span{color:var(--drafting-blue);grid-row:1/span 2}.visual-theme-menu strong{font-size:9px}.visual-theme-menu small{color:var(--graphite-faint);margin-top:2px;font-size:8px;line-height:1.35}.export-controls{border:1px solid var(--line);background:var(--paper-raised);border-radius:7px;display:flex;overflow:hidden}.export-controls button,.fullscreen-button{min-height:30px;color:var(--graphite-soft);cursor:pointer;background:0 0;border:0;font-size:9px;font-weight:650}.export-controls button{min-width:43px;padding:6px 7px}.export-controls button+button{border-left:1px solid var(--line-soft)}.export-controls button:hover:not(:disabled),.fullscreen-button:hover{background:var(--control);color:var(--drafting-blue)}.export-controls button:disabled{cursor:wait;opacity:.55}.fullscreen-button{border:1px solid var(--line);background:var(--paper-raised);border-radius:7px;align-items:center;gap:5px;padding:6px 8px;display:inline-flex}.fullscreen-button span{color:var(--drafting-blue);font-family:var(--font-geist-mono), monospace}.relation-label-object{pointer-events:auto;overflow:visible}.relation-label{border:1px solid var(--drafting-blue);place-items:center;width:100%;height:100%;padding:3px 7px;display:grid}@supports (color:color-mix(in lab, red, red)){.relation-label{border:1px solid color-mix(in srgb, var(--drafting-blue) 35%, var(--line))}}.relation-label{background:var(--paper-raised);border-radius:5px}@supports (color:color-mix(in lab, red, red)){.relation-label{background:color-mix(in srgb, var(--paper-raised) 96%, transparent)}}.relation-label{color:var(--drafting-blue-dark);cursor:pointer;font-family:var(--font-geist-mono), monospace;overflow-wrap:anywhere;text-align:center;font-size:8px;font-weight:680;line-height:1.18}:is(.relation-label:hover,.relation-label:focus-visible,.relation-label.is-selected){border-color:var(--drafting-blue);background:var(--drafting-blue-soft);box-shadow:0 0 0 2px var(--focus-ring)}.relation-line.is-selected{stroke:var(--drafting-blue);stroke-width:2px}.technology-picker,.model-edit-form label,.component-editor-card label,.relationship-editor-list label{gap:4px;min-width:0;display:grid}.technology-picker>span,.model-edit-form label>span,.component-editor-card label>span,.relationship-editor-list label>span{color:var(--graphite-faint);font-family:var(--font-geist-mono), monospace;letter-spacing:.04em;text-transform:uppercase;font-size:7px;font-weight:620}.technology-picker-trigger{border:1px solid var(--line);background:var(--paper-inset);cursor:pointer;text-align:left;border-radius:5px;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:7px;width:100%;min-width:0;min-height:43px;padding:6px 8px;display:grid}.technology-picker-trigger:hover{border-color:var(--line-strong);background:var(--paper-raised)}.technology-picker-trigger[aria-expanded=true]{border-color:var(--drafting-blue);box-shadow:0 0 0 2px var(--focus-ring)}.technology-picker-icon{border:1px solid var(--review-amber);place-items:center;width:26px;height:26px;display:grid}@supports (color:color-mix(in lab, red, red)){.technology-picker-icon{border:1px solid color-mix(in srgb, var(--review-amber) 24%, transparent)}}.technology-picker-icon{background:var(--review-amber);border-radius:5px}@supports (color:color-mix(in lab, red, red)){.technology-picker-icon{background:color-mix(in srgb, var(--review-amber) 8%, var(--paper-raised))}}.technology-picker-icon{color:var(--review-amber)}.technology-picker-icon svg{width:14px;height:14px}.technology-picker-copy{min-width:0;display:block}.technology-picker-copy strong,.technology-picker-copy small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.technology-picker-copy strong{font-size:9px;font-weight:650}.technology-picker-copy small{color:var(--graphite-faint);margin-top:1px;font-size:7px}.technology-picker-trigger>i{color:var(--drafting-blue);font-size:12px;font-style:normal}.technology-picker.is-compact .technology-picker-trigger{grid-template-columns:17px minmax(0,1fr) auto;gap:4px;height:25px;min-height:25px;padding:3px 5px}.technology-picker.is-compact .technology-picker-icon{background:0 0;border:0;width:17px;height:17px}.technology-picker.is-compact .technology-picker-icon svg{width:11px;height:11px}.technology-picker.is-compact .technology-picker-copy strong{font-size:8px}.technology-picker.is-compact .technology-picker-copy small{display:none}.technology-catalog-overlay{z-index:2200;width:auto;max-width:none;height:auto;max-height:none;color:var(--graphite);background:#1b201c6b;border:0;place-items:center;margin:0;padding:16px;display:grid;position:fixed;inset:0}.technology-catalog-dialog{z-index:1;border:1px solid var(--line-strong);background:var(--paper-raised);border-radius:12px;flex-direction:column;width:min(760px,100vw - 32px);max-height:min(760px,100dvh - 32px);display:flex;position:relative;overflow:hidden;box-shadow:0 22px 60px #2025213d}.technology-catalog-backdrop{cursor:default;background:0 0;border:0;padding:0;position:absolute;inset:0}.technology-catalog-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:18px;padding:18px 20px 15px;display:flex}.technology-catalog-header h2{letter-spacing:-.025em;margin:4px 0 3px;font-size:20px}.technology-catalog-header p{color:var(--graphite-faint);margin:0;font-size:10px;line-height:1.45}.technology-catalog-header>button{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:6px;flex:none;width:30px;height:30px;font-size:20px;line-height:1}.technology-catalog-search{border-bottom:1px solid var(--line-soft);background:var(--paper);padding:14px 20px}.technology-catalog-search>label{color:var(--graphite-soft);font-family:var(--font-geist-mono), monospace;letter-spacing:.05em;text-transform:uppercase;margin-bottom:6px;font-size:8px;font-weight:650;display:block}.technology-catalog-search>div{border:1px solid var(--line-strong);background:var(--paper-raised);border-radius:7px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-height:42px;padding:0 10px;display:grid}.technology-catalog-search>div:focus-within{border-color:var(--drafting-blue);box-shadow:0 0 0 3px var(--focus-ring)}.technology-catalog-search span{color:var(--drafting-blue);font-size:17px}.technology-catalog-search input{width:100%;min-width:0;color:var(--graphite);font:inherit;background:0 0;border:0;outline:0;padding:10px 0;font-size:11px}.technology-catalog-search small{color:var(--graphite-faint);font-family:var(--font-geist-mono), monospace;white-space:nowrap;font-size:8px}.technology-current-value{border-bottom:1px solid var(--line-soft);background:var(--review-amber);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 20px;display:grid}@supports (color:color-mix(in lab, red, red)){.technology-current-value{background:color-mix(in srgb, var(--review-amber) 5%, var(--paper-raised))}}.technology-current-value{font-size:9px}.technology-current-value>span{color:var(--graphite-faint);font-family:var(--font-geist-mono), monospace;text-transform:uppercase;font-size:7px}.technology-current-value strong{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.technology-current-value strong svg{color:var(--review-amber);flex:none}.technology-current-value button{border:1px solid var(--line);color:var(--graphite-soft);cursor:pointer;background:0 0;border-radius:5px;padding:4px 7px;font-size:8px}.technology-catalog-results{overscroll-behavior:contain;min-height:180px;padding:16px 20px 22px;overflow-y:auto}.technology-category+.technology-category,.technology-custom-option{margin-top:18px}.technology-category>header,.technology-custom-option>header{justify-content:space-between;align-items:end;gap:12px;margin-bottom:8px;display:flex}.technology-category h3,.technology-custom-option h3{margin:0;font-size:11px}.technology-category p,.technology-custom-option p{color:var(--graphite-faint);margin:2px 0 0;font-size:8px}.technology-category>header>span{background:var(--paper-inset);min-width:22px;color:var(--graphite-faint);font-family:var(--font-geist-mono), monospace;text-align:center;border-radius:999px;padding:2px 5px;font-size:8px}.technology-option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.technology-option-grid>button,.technology-custom-option>button{border:1px solid var(--line);background:var(--paper-raised);cursor:pointer;text-align:left;border-radius:7px;grid-template-rows:auto auto;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;column-gap:8px;min-width:0;min-height:48px;padding:7px 9px;display:grid}.technology-option-grid>button:hover,.technology-custom-option>button:hover{border-color:var(--drafting-blue);background:var(--drafting-blue-soft)}.technology-option-grid>button.is-selected{border-color:var(--healthy-green);background:var(--healthy-green)}@supports (color:color-mix(in lab, red, red)){.technology-option-grid>button.is-selected{background:color-mix(in srgb, var(--healthy-green) 7%, var(--paper-raised))}}.technology-option-grid>button>span,.technology-custom-option>button>span{background:var(--review-amber);border-radius:6px;grid-row:1/3;place-items:center;width:30px;height:30px;display:grid}@supports (color:color-mix(in lab, red, red)){.technology-option-grid>button>span,.technology-custom-option>button>span{background:color-mix(in srgb, var(--review-amber) 9%, var(--paper))}}.technology-option-grid>button>span,.technology-custom-option>button>span{color:var(--review-amber)}.technology-option-grid svg,.technology-custom-option svg{width:16px;height:16px}.technology-option-grid strong,.technology-custom-option strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:9px;overflow:hidden}.technology-option-grid small{color:var(--graphite-faint);font-size:7px}.technology-option-grid i,.technology-custom-option i{color:var(--drafting-blue);grid-area:1/3/3;font-style:normal}.technology-custom-option>button{width:100%}.technology-empty-results{color:var(--graphite-faint);text-align:center;margin:30px 0;font-size:10px}.model-edit-form input,.model-edit-form textarea,.component-editor-card input,.component-editor-card textarea,.relationship-editor-list input{border:1px solid var(--line);background:var(--paper-raised);width:100%;min-width:0;color:var(--graphite);font:inherit;border-radius:5px}:is(.model-edit-form input:focus-visible,.model-edit-form textarea:focus-visible,.component-editor-card input:focus-visible,.component-editor-card textarea:focus-visible,.relationship-editor-list input:focus-visible){outline:2px solid var(--focus-ring);border-color:var(--drafting-blue)}.person-silhouette{color:currentColor;width:18px;height:23px;display:block;position:relative}.person-silhouette:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px;position:absolute;top:0;left:50%;transform:translate(-50%)}.person-silhouette:after{content:"";background:currentColor;border-radius:50% 50% 22% 22%;width:18px;height:13px;position:absolute;bottom:0;left:0}.diagram-node.node-person{border-radius:48px 9px 9px 48px;padding-left:80px}.diagram-node.node-person .node-kind{border:1px solid #6b6257;width:54px;height:80px;top:11px;left:11px}@supports (color:color-mix(in lab, red, red)){.diagram-node.node-person .node-kind{border:1px solid color-mix(in srgb, #6b6257 72%, var(--line))}}.diagram-node.node-person .node-kind{background:#6b6257;border-radius:30px 30px 14px 14px}@supports (color:color-mix(in lab, red, red)){.diagram-node.node-person .node-kind{background:color-mix(in srgb, #6b6257 12%, var(--paper-inset))}}.diagram-node.node-person .node-kind{color:#6b6257}.diagram-node.node-person .person-silhouette{width:32px;height:54px}.diagram-node.node-person .person-silhouette:before{width:15px;height:15px}.diagram-node.node-person .person-silhouette:after{width:32px;height:33px}.inspector-tabs{border-bottom:1px solid var(--line-soft);background:var(--paper-inset);grid-template-columns:repeat(3,1fr);gap:3px;padding:6px 8px;display:grid}.inspector-tabs button{min-width:0;min-height:29px;color:var(--graphite-faint);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:5px 4px;font-size:8px;font-weight:650}.inspector-tabs button.is-current{background:var(--paper-raised);color:var(--drafting-blue)}.inspector-tabs button:disabled{cursor:not-allowed;opacity:.45}.detail-intro>div>strong{margin-bottom:3px;font-size:9px;display:block}.model-edit-form,.component-editor-card,.relationship-editor-list article{gap:10px;display:grid}.model-edit-form input,.model-edit-form textarea,.component-editor-card input,.component-editor-card textarea,.relationship-editor-list input{background:var(--paper-inset);padding:7px 8px;font-size:9px;line-height:1.4}.model-edit-form textarea,.component-editor-card textarea{resize:vertical}.section-title>div p{color:var(--graphite-faint);margin:3px 0 0;font-size:8px;line-height:1.35}.component-editor-list,.relationship-editor-list{gap:9px;display:grid}.component-editor-card,.relationship-editor-list article{border:1px solid var(--line-soft);background:var(--paper-raised);border-radius:8px;padding:10px}.component-editor-title{border:0;border-bottom:1px solid var(--line-soft);cursor:pointer;text-align:left;background:0 0;grid-template-columns:24px 1fr auto;align-items:center;gap:8px;width:100%;padding:0 0 8px;display:grid}.component-editor-title .child-glyph{border-radius:5px;width:24px;height:24px;position:static}.component-editor-title span{min-width:0}.component-editor-title strong,.component-editor-title small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.component-editor-title strong{font-size:9px}.component-editor-title small{color:var(--graphite-faint);font-family:var(--font-geist-mono), monospace;margin-top:2px;font-size:7px}.component-editor-title i{color:var(--drafting-blue);font-style:normal}.relationship-editor-list article header{color:var(--graphite-soft);align-items:center;gap:5px;font-size:8px;display:flex}.relationship-editor-list article header strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.relationship-editor-list article header i{color:var(--graphite-muted);font-style:normal}.relationship-editor-list article header span{background:var(--drafting-blue-soft);color:var(--drafting-blue-dark);font-family:var(--font-geist-mono), monospace;white-space:nowrap;border-radius:4px;margin-left:auto;padding:2px 4px;font-size:7px}.relationship-editor-list article.is-selected{border-color:var(--drafting-blue);box-shadow:0 0 0 2px var(--focus-ring)}.theme-handwritten .graph-stage{font-family:Bradley Hand,Segoe Print,Comic Sans MS,cursive}.theme-handwritten .system-boundary,.theme-handwritten .deployment-boundary{border-width:2px;border-color:var(--drafting-blue-dark)}@supports (color:color-mix(in lab, red, red)){.theme-handwritten .system-boundary,.theme-handwritten .deployment-boundary{border-color:color-mix(in srgb, var(--drafting-blue-dark) 58%, var(--line))}}.theme-handwritten .system-boundary,.theme-handwritten .deployment-boundary{border-radius:15px 7px 13px 8px}.theme-handwritten .system-boundary span,.theme-handwritten .deployment-boundary>span,.theme-handwritten .relation-token-text{letter-spacing:.025em;text-transform:none;font-family:Bradley Hand,Segoe Print,Comic Sans MS,cursive}.theme-handwritten .diagram-node{border-width:2px;border-color:#3f5473;border-radius:13px 7px 15px 8px;box-shadow:3px 4px #3f54731f}.theme-handwritten .diagram-node.shape-database{border-radius:46%/17%}.theme-handwritten .diagram-node.shape-queue{border-radius:6px 22px 18px 8px}.theme-handwritten .diagram-node strong{letter-spacing:.005em;font-family:Bradley Hand,Segoe Print,Comic Sans MS,cursive;font-size:13px}.theme-handwritten .diagram-node small,.theme-handwritten .drill-hint{letter-spacing:.02em;font-family:Bradley Hand,Segoe Print,Comic Sans MS,cursive}.theme-handwritten .node-kind{border-radius:9px 5px 8px 6px;transform:rotate(-2deg)}.theme-handwritten .relation-line{stroke:#3f5473;stroke-width:1.9px;stroke-dasharray:2 5;stroke-linecap:round;stroke-linejoin:round}.theme-handwritten #arrowhead path{fill:#3f5473}.theme-handwritten .relation-label{border-width:2px;border-radius:9px 5px 8px 6px;font-family:Bradley Hand,Segoe Print,Comic Sans MS,cursive;font-size:10px;transform:rotate(-.6deg)}:-webkit-any(.canvas-panel.is-fullscreen,.workspace-grid:-webkit-full-screen,.workspace-grid.is-fullscreen){background-color:var(--paper-raised);width:100vw;max-width:none;height:100vh;max-height:none}:is(.canvas-panel.is-fullscreen,.workspace-grid:fullscreen,.workspace-grid.is-fullscreen){background-color:var(--paper-raised);width:100vw;max-width:none;height:100vh;max-height:none}.workspace-grid.is-fullscreen{z-index:1000;position:fixed;inset:0}:-webkit-any(.canvas-panel.is-fullscreen .graph-viewport,.workspace-grid:-webkit-full-screen .graph-viewport){min-height:0;padding:12px 48px 30px}:is(.canvas-panel.is-fullscreen .graph-viewport,.workspace-grid:fullscreen .graph-viewport){min-height:0;padding:12px 48px 30px}:-webkit-any(.canvas-panel.is-fullscreen .canvas-toolbar,.workspace-grid:-webkit-full-screen .canvas-toolbar){min-height:58px;padding:10px 24px}:is(.canvas-panel.is-fullscreen .canvas-toolbar,.workspace-grid:fullscreen .canvas-toolbar){min-height:58px;padding:10px 24px}:-webkit-any(.canvas-panel.is-fullscreen .view-heading,.workspace-grid:-webkit-full-screen .view-heading){min-height:70px;padding:12px 48px 8px}:is(.canvas-panel.is-fullscreen .view-heading,.workspace-grid:fullscreen .view-heading){min-height:70px;padding:12px 48px 8px}@container (width<=820px){.canvas-toolbar{grid-template-columns:minmax(0,1fr);align-content:start;min-height:124px}.canvas-tools{overscroll-behavior-x:contain;scrollbar-width:thin;justify-content:flex-start;width:100%;overflow-x:auto}}@container (width<=620px){.drag-guidance{display:none}}@media (max-width:840px){body{overflow:auto}.topbar{grid-template-columns:1fr auto}.compile-status,.top-actions .quiet-button:last-child{display:none}.save-link-button{min-width:126px}.workspace-grid{height:calc(100vh - 68px);display:block}.editor-panel{z-index:25;border-radius:0 11px 0 0;width:min(92vw,390px);height:auto;max-height:none;transition:transform .18s;position:fixed;top:68px;bottom:0;left:0;transform:translate(-100%);box-shadow:8px 0 24px #2025211a}.editor-panel:not(.is-open){pointer-events:none;transform:translate(-100%)}.editor-panel.is-open{visibility:visible;transform:translate(0)}.inspector-panel{z-index:25;border-radius:11px 0 0;width:min(92vw,390px);height:auto;max-height:none;transition:transform .18s,visibility 0s linear .18s;position:fixed;inset:68px 0 0 auto;transform:translate(100%);box-shadow:-8px 0 24px #2025211a}.inspector-panel.is-open{visibility:visible;transition-delay:0s;transform:translate(0)}.inspector-panel:not(.is-open){pointer-events:none}.panel-resizer,.panel-drag-handle{display:none}.canvas-panel{height:100%}.canvas-toolbar{flex-wrap:wrap;align-content:flex-start;min-height:112px}.canvas-tools{justify-content:space-between;width:100%}.view-heading{padding-inline:18px}.view-heading>p,.drag-guidance{display:none}}@media (max-width:560px){.topbar{height:60px;padding-inline:12px}.brand-lockup div span{display:none}.top-actions{gap:4px}.quiet-button{padding:7px 8px}.save-link-button{width:34px;min-width:34px;padding:0;font-size:0}.save-link-button>span{font-size:11px}.depth-rail button{padding:6px 7px;font-size:0}.depth-rail button span{font-size:9px}.canvas-legend{gap:10px}.canvas-legend span{font-size:0}.fullscreen-button{justify-content:center;width:31px;font-size:0}.fullscreen-button span{font-size:10px}.example-menu{width:min(350px,88vw);right:-64px}.visual-theme-menu{left:0;right:auto}.technology-catalog-overlay{place-items:end stretch;padding:0}.technology-catalog-dialog{border-radius:12px 12px 0 0;width:100%;max-height:calc(100dvh - 18px)}.technology-catalog-header,.technology-catalog-search,.technology-current-value,.technology-catalog-results{padding-inline:14px}.technology-catalog-header h2{font-size:17px}.technology-catalog-search>div{grid-template-columns:auto minmax(0,1fr)}.technology-catalog-search small{display:none}.technology-option-grid{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
