:root,.god-theme-dialog[data-theme=alfaverse]{font-family:Inter,system-ui,sans-serif;color:var(--text);background:var(--page-background);color-scheme:dark;--page-background: #07110f;--page-glow: #123028;--surface: #0d1a17;--surface-raised: #10201b;--surface-interactive: #132c22;--surface-interactive-hover: #1a3a2b;--input-background: #091411;--header-background: #07110fe8;--text: #edf5ef;--text-strong: #f1fbf4;--line: #22352e;--panel: var(--surface);--lime: #c9f36c;--mint: #64d8af;--context-type-colour: var(--mint);--muted: #8fa29a;--dropdown-background: #0d1a17;--dropdown-item-background: #10201b;--dropdown-border: #315047;--dropdown-text: #edf5ef;--dropdown-muted: #8fa29a;--dropdown-accent: #c9f36c;--selection-color: #ff6fae;--selection-thickness: 3px;--activity-history-height: 74px;--button-height: 32px;--button-padding: 6px 10px;--button-border: 1px solid var(--line);--button-radius: 7px}body[data-theme=midnight],.god-theme-dialog[data-theme=midnight]{--page-background: #090d1a;--page-glow: #17234a;--surface: #10162a;--surface-raised: #172039;--surface-interactive: #1d2949;--surface-interactive-hover: #283963;--input-background: #0c1223;--header-background: #090d1ae8;--text: #edf1ff;--text-strong: #ffffff;--line: #344362;--lime: #a8c7ff;--mint: #82d6ff;--muted: #a2b0ca;--dropdown-background: var(--surface);--dropdown-item-background: var(--surface-raised);--dropdown-border: #496083;--dropdown-text: var(--text);--dropdown-muted: var(--muted);--dropdown-accent: var(--lime);--selection-color: #ff8dca}body[data-theme=light],.god-theme-dialog[data-theme=light]{color-scheme:light;--page-background: #f2f7f2;--page-glow: #d4ebe1;--surface: #ffffff;--surface-raised: #edf6f0;--surface-interactive: #e0f0e7;--surface-interactive-hover: #cce8d8;--input-background: #ffffff;--header-background: #f8fcf9e8;--text: #153126;--text-strong: #0c2118;--line: #a6c7b4;--lime: #477a16;--mint: #147a5a;--muted: #547064;--dropdown-background: var(--surface);--dropdown-item-background: var(--surface-raised);--dropdown-border: #83aa96;--dropdown-text: var(--text);--dropdown-muted: var(--muted);--dropdown-accent: var(--lime);--selection-color: #ba2b70}*{box-sizing:border-box}body{margin:0;min-width:720px;background:radial-gradient(circle at 65% 28%,var(--page-glow),transparent 38%),var(--page-background)}button,input,textarea{font:inherit}select{border:1px solid var(--dropdown-border);border-radius:8px;padding:11px;background:var(--input-background);color:var(--text)}button{min-height:var(--button-height);padding:var(--button-padding);border:1px solid var(--button-standard-border, var(--line));border-radius:var(--button-radius);background:var(--button-standard-background, var(--surface-interactive));color:var(--button-standard-text, var(--text));cursor:pointer}button:disabled{border-color:var(--button-disabled-border, color-mix(in srgb, var(--line) 72%, transparent));background:var(--button-disabled-background, color-mix(in srgb, var(--surface-interactive) 45%, transparent));color:var(--button-disabled-text, color-mix(in srgb, var(--muted) 72%, transparent));cursor:not-allowed;opacity:.42;filter:grayscale(.8);box-shadow:none}button.primary:disabled{background:color-mix(in srgb,var(--surface-interactive) 65%,var(--page-background))!important;color:var(--muted)!important}button[data-action-icon]{display:inline-flex;align-items:center;gap:.4em}button[data-action-icon]:before{font-size:1em;line-height:1}button[data-action-icon=view]:before{content:"👁"}button[data-action-icon=add]:before{content:"＋"}button[data-action-icon=create]:before{content:"⊞"}button[data-action-icon=edit]:before{content:"✎"}button[data-action-icon=delete]:before{content:"🗑"}button[data-action-icon=cancel]:before{content:"×"}button[data-action-icon=save]:before{content:"💾"}button[data-action-icon=close]:before{content:"×"}button[data-action-icon=try]:before{content:"▶"}button[data-action-icon=apply]:before{content:"✓"}.open-door-icon{width:16px;height:16px;margin-right:.4em;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;vertical-align:-.15em}button[data-action-icon=data]:before{content:"▤"}.entry-preview-dialog .view-dialog-actions{display:flex;align-items:center;gap:7px}.entry-preview-dialog .view-dialog-actions>button{min-height:var(--button-height);padding:var(--button-padding);border:var(--button-border);border-radius:var(--button-radius);background:var(--surface-interactive);color:var(--text);font:inherit}.entry-preview-dialog .view-dialog-actions>button:hover:not(:disabled),.entry-preview-dialog .view-dialog-actions>button:focus-visible{border-color:#fff}.entry-preview-dialog{height:min(680px,calc(100vh - 88px - var(--activity-history-height)));overflow:hidden!important;resize:both}.entry-preview-dialog>section{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;height:100%}.entry-preview-dialog>section>.note{margin:10px 14px}.entry-preview-dialog [data-entry-preview-fields]{min-height:0;overflow:auto;padding:0 14px 14px}.entry-preview-data{align-self:end;display:grid;grid-template-rows:9px minmax(0,1fr);height:var(--entry-preview-data-height, 180px);min-height:100px;margin-top:14px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--input-background) 70%,transparent)}.entry-preview-data-resize{position:relative;cursor:ns-resize;touch-action:none}.entry-preview-data-resize:after{position:absolute;top:3px;right:0;left:0;height:2px;content:"";background:var(--line)}.entry-preview-data-resize:hover:after,.entry-preview-data-resize:focus-visible:after{background:var(--mint)}.entry-preview-data pre{min-height:0;overflow:auto;margin:0 10px 10px;padding:12px;border:1px solid var(--line);border-radius:7px;background:var(--input-background);color:var(--mint);font:12px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace}header{position:sticky;top:0;z-index:1100;height:132px;padding:0 28px;display:grid;grid-template-columns:1fr auto;grid-template-rows:70px 62px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--header-background)}body.admin-mode #app>header{background:linear-gradient(180deg,color-mix(in srgb,#c8862f 42%,transparent) 0%,transparent 100%),var(--header-background);border-bottom-color:#d69a45}body.god-mode #app>header{background:linear-gradient(180deg,color-mix(in srgb,#c51c36 48%,transparent) 0%,transparent 100%),var(--header-background);border-bottom-color:#ff5968}.brand{display:flex;gap:12px;align-items:center}.header-actions{justify-self:end}.context-home-header{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line)}.context-home-header h1{margin:2px 0;font-size:24px}.context-home-header p{display:none}.context-home-header em{color:var(--mint);font-size:10px;font-style:normal;font-weight:700;letter-spacing:.12em;text-transform:uppercase}body.editor-open header{height:70px;grid-template-rows:70px}body.editor-open .context-home-header{display:none}body.editor-open main{height:calc(100vh - 70px - var(--activity-history-height))}.brand>b{display:grid;place-items:center;width:40px;height:40px;border:1px solid #416458;border-radius:12px;color:var(--lime)}body.god-mode .brand>b{border-color:#ff5968;background:color-mix(in srgb,#8f1727 42%,transparent);box-shadow:0 0 13px color-mix(in srgb,#ff5968 28%,transparent);color:#ffd8dc}body.god-mode .brand strong{color:#ffe1e4}body.god-mode .brand small{color:#ff929d}.brand strong,.brand small{display:block}.brand small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.12em}.online{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.online i{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 12px var(--mint)}.profile-placeholder{display:inline-grid;width:34px;height:34px;place-items:center;border:1px dashed color-mix(in srgb,var(--line) 80%,transparent);border-radius:50%;background:transparent;color:var(--muted);opacity:.55;cursor:not-allowed}.profile-placeholder span{font-size:17px;line-height:1}.header-actions{display:flex;align-items:center;gap:14px;min-width:0;max-width:calc(100vw - 190px);overflow:visible;white-space:nowrap;scrollbar-width:thin}.theme-picker{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.theme-picker select{min-height:32px;padding:5px 28px 5px 8px;font-size:11px}.disclosure-control{display:grid;width:24px;height:24px;place-items:center;border:1px solid var(--mint);border-radius:50%;padding:0;background:var(--surface-interactive);color:var(--text);font:inherit;font-size:17px;line-height:1;cursor:pointer}.disclosure-control:hover,.disclosure-control:focus-visible{border-color:var(--lime);background:var(--surface-interactive-hover);outline:none}.mode-toggle{display:inline-flex;min-height:38px;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:6px 12px;background:#0c1a16;color:var(--muted)}.account-toggle{min-height:34px;border:1px solid var(--line);border-radius:8px;padding:6px 10px;background:var(--surface-interactive);color:var(--text);font-size:12px}.account-toggle:hover,.account-toggle:focus-visible{border-color:#fff;outline:none}.mode-toggle span{color:var(--mint);font-size:18px}.mode-toggle strong{font-size:11px;letter-spacing:.06em;text-transform:uppercase}.admin-mode .mode-toggle{border-color:#9b7135;background:#251d13;color:#ffd08a}.admin-mode .mode-toggle span{color:#ffc56f}.god-mode .mode-toggle{border-color:#ff5968;background:color-mix(in srgb,#8f1727 42%,#0c1a16);box-shadow:0 0 14px color-mix(in srgb,#ff5968 32%,transparent);color:#ffd9dd}.god-mode .mode-toggle span{color:#ff6e7b}.god-mode [data-god-layout-toggle],.god-mode [data-god-tools-toggle],.god-mode [data-god-mapping-review],.god-mode [data-god-model-security],.god-mode [data-god-development-identity],.god-mode [data-god-edit-themes],.god-mode [data-god-template-reset],.god-mode [data-god-template-selector],.god-mode [data-god-structure-boundaries],.god-mode [data-god-div-editor-toggle],.god-mode [data-god-history-toggle],.god-mode [data-god-layout-apply],.god-mode [data-god-layout-force-update],.god-mode [data-god-force-confirm],.god-mode [data-god-theme-save],.god-mode [data-god-theme-undo],.god-mode [data-god-theme-apply],.god-mode [data-connection-contract-editor],.god-mode [data-context-type-configuration],.god-mode .god-form-context-menu button,.god-mode #connection-contract-dialog button.primary,.god-mode #context-type-configuration-dialog button.primary{--god-button-background: var(--button-god-background, color-mix(in srgb, #991d2d 58%, var(--surface-interactive)));border-color:var(--button-god-border, #ff5968);background:var(--god-button-background);color:var(--button-god-text, #ffe7e9);box-shadow:0 0 10px color-mix(in srgb,var(--button-god-glow, #ff5968) 23%,transparent)}.god-mode [data-god-layout-toggle]:hover,.god-mode [data-god-layout-toggle]:focus-visible,.god-mode [data-god-tools-toggle]:hover,.god-mode [data-god-tools-toggle]:focus-visible,.god-mode [data-god-mapping-review]:hover,.god-mode [data-god-mapping-review]:focus-visible,.god-mode [data-god-model-security]:hover,.god-mode [data-god-model-security]:focus-visible,.god-mode [data-god-development-identity]:hover,.god-mode [data-god-development-identity]:focus-visible,.god-mode [data-god-edit-themes]:hover,.god-mode [data-god-edit-themes]:focus-visible,.god-mode [data-god-template-reset]:hover,.god-mode [data-god-template-reset]:focus-visible,.god-mode [data-god-template-selector]:hover,.god-mode [data-god-template-selector]:focus-visible,.god-mode [data-god-structure-boundaries]:hover,.god-mode [data-god-structure-boundaries]:focus-visible,.god-mode [data-god-div-editor-toggle]:hover,.god-mode [data-god-div-editor-toggle]:focus-visible,.god-mode [data-god-history-toggle]:hover,.god-mode [data-god-history-toggle]:focus-visible,.god-mode [data-god-layout-apply]:hover,.god-mode [data-god-layout-apply]:focus-visible,.god-mode [data-god-layout-force-update]:hover,.god-mode [data-god-layout-force-update]:focus-visible,.god-mode [data-god-force-confirm]:hover,.god-mode [data-god-force-confirm]:focus-visible,.god-mode [data-god-theme-save]:hover,.god-mode [data-god-theme-save]:focus-visible,.god-mode [data-god-theme-undo]:hover,.god-mode [data-god-theme-undo]:focus-visible,.god-mode [data-god-theme-apply]:hover,.god-mode [data-god-theme-apply]:focus-visible,.god-mode [data-connection-contract-editor]:hover,.god-mode [data-connection-contract-editor]:focus-visible,.god-mode [data-context-type-configuration]:hover,.god-mode [data-context-type-configuration]:focus-visible,.god-mode .god-form-context-menu button:hover,.god-mode .god-form-context-menu button:focus-visible,.god-mode #connection-contract-dialog button.primary:hover,.god-mode #connection-contract-dialog button.primary:focus-visible,.god-mode #context-type-configuration-dialog button.primary:hover,.god-mode #context-type-configuration-dialog button.primary:focus-visible{border-color:var(--button-god-highlight-border, #ffd2d6)!important;background:var(--button-god-highlight-background, var(--god-button-background))!important;color:var(--button-god-text, #ffe7e9)!important;box-shadow:0 0 0 2px var(--button-god-glow, #ff5968),0 0 18px color-mix(in srgb,var(--button-god-glow, #ff5968) 48%,transparent);outline-color:#ffadb5}.recycle-bin-toggle{display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--line);border-radius:9px;background:var(--surface-interactive);color:var(--mint);font-size:16px}.recycle-bin-toggle:hover,.recycle-bin-toggle:focus-visible{border-color:var(--button-standard-highlight-border, var(--text-strong))}#context-dialog select{width:100%}main{height:calc(100vh - 132px - var(--activity-history-height));display:flex;flex-direction:column}.lens{min-height:130px;padding:22px 30px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.context-home{flex:1;min-height:0;display:block;overflow:auto;padding:30px}.context-home-head{display:flex;align-items:end;justify-content:space-between;position:sticky;top:-30px;z-index:10;gap:24px;max-width:1500px;margin:0 auto 14px;padding:14px 0;background:var(--page-background);box-shadow:0 12px 18px var(--page-background)}.context-home-head p{margin:8px 0 0;color:var(--muted)}.context-home-controls{display:flex;align-items:end;gap:12px}.context-home-controls select,.context-home-controls input{min-height:40px;border:1px solid var(--dropdown-border, var(--line));border-radius:8px;padding:9px 11px;background:var(--dropdown-background, var(--input-background));color:var(--dropdown-text, var(--text))}.context-home-search{min-width:280px}.context-home-search .thing-class-options{z-index:12}.context-home-search .lookup-empty{margin:0;padding:8px 10px;color:var(--muted);font-size:12px}.universe-map-view{position:relative;min-height:calc(100vh - 260px - var(--activity-history-height));margin-top:14px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text)}.context-home:has(.universe-map-view:not([hidden])){display:flex;flex-direction:column;overflow:hidden;padding:0}.context-home:has(.universe-map-view:not([hidden])) .context-home-head{flex:0 0 auto;width:auto;margin:0;padding:14px 30px}.context-home:has(.universe-map-view:not([hidden])) .universe-map-view{align-self:stretch;box-sizing:border-box;width:100%;flex:1 1 auto;min-height:0;margin:0;padding:0;border:0;border-radius:0}.context-home:has(.universe-map-view:not([hidden])) .universe-map-head{position:absolute;z-index:5;top:12px;right:22px;left:22px;padding:6px 10px;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:10px;background:color-mix(in srgb,var(--surface) 86%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.context-home:has(.universe-map-view:not([hidden])) .universe-surface{inset:0;border:0;border-radius:0}.universe-map-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.universe-map-head h2{margin:4px 0}.universe-map-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.universe-map-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px 12px;margin:0;padding:0;color:var(--muted);font-size:10px;list-style:none}.universe-map-legend li{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.universe-legend-swatch{display:inline-block;width:10px;height:10px;border-radius:50%}.universe-legend-context-type{background:var(--context-type-colour)}.universe-legend-line{position:relative;display:inline-block;width:25px;height:6px;border-top:2px solid}.universe-legend-connection{border-color:#f0b35b}.universe-legend-subcontext{border-color:var(--mint);border-top-style:dashed}.universe-legend-combined{border-color:#f0b35b}.universe-legend-combined:after{position:absolute;top:-2px;right:0;left:0;border-top:2px dashed var(--mint);content:""}.universe-map-head button{min-height:var(--button-height);padding:var(--button-padding);border:var(--button-border);border-radius:var(--button-radius);background:var(--surface-interactive);color:var(--text);font:inherit;font-size:11px;line-height:17px;white-space:nowrap}.universe-map-head button:hover:not(:disabled),.universe-map-head button:focus-visible{border-color:#fff}.universe-map-zoom{display:inline-flex;align-items:center;gap:4px}.universe-map-zoom button{min-width:28px;padding-inline:7px}.universe-map-zoom output{min-width:42px;color:var(--muted);font-size:10px;font-variant-numeric:tabular-nums;text-align:center}.universe-surface{position:absolute;inset:76px 18px 18px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--page-background)}.universe-content{position:relative;width:100%;height:100%;min-width:100%;min-height:100%;transform-origin:top left}.universe-paths{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.universe-paths line{stroke:#5f7d49;stroke-width:.22;opacity:.72}.universe-paths line.universe-subcontext-path{stroke:var(--mint);stroke-width:.45;stroke-dasharray:1.3 1.3;opacity:.85}.universe-surface{--universe-cluster-0: #66d9ff;--universe-cluster-1: #d8a4ff;--universe-cluster-2: #ffbe63;--universe-cluster-3: #6ee7a8;--universe-cluster-4: #ff7b9d;--universe-cluster-5: #9bb3ff;--universe-cluster-6: #f6e878;--universe-cluster-7: #72d9d2}.universe-node{position:absolute;z-index:1;min-width:140px;min-height:82px;transform:translate(-50%,-50%)}.universe-node-action{display:flex;width:100%;height:100%;align-items:center;justify-content:center;gap:4px;border:2px solid var(--universe-cluster-colour, #416955);border-radius:50%;padding:12px 20px;background:var(--surface-raised);color:var(--text);box-shadow:0 0 0 4px var(--page-background);cursor:pointer;flex-direction:column;text-align:center;overflow:visible}.universe-node strong{max-width:100%;overflow-wrap:anywhere;font-size:12px;line-height:1.2;text-overflow:clip;white-space:normal}.universe-node small{display:-webkit-box;overflow:hidden;max-width:100%;color:var(--muted);font-size:10px;line-height:1.2;-webkit-box-orient:vertical;-webkit-line-clamp:2}.universe-node-key{display:grid;min-width:0;gap:1px;color:var(--muted)}.universe-node-key small{color:var(--mint);font-size:8px;font-weight:800;letter-spacing:.06em;line-height:1.1;text-transform:uppercase;-webkit-line-clamp:1}.universe-node-key b{display:block;max-width:100%;overflow-wrap:anywhere;color:var(--muted);font-size:10px;font-weight:700;line-height:1.2;text-overflow:clip;white-space:normal}.universe-node.is-context-root{min-width:164px;min-height:98px}.universe-node.is-context-root .universe-node-action{position:relative;border-color:transparent;background:transparent;box-shadow:none}.root-cloud-shape{position:absolute;z-index:0;inset:-7px;width:calc(100% + 14px);height:calc(100% + 14px);overflow:visible;pointer-events:none}.root-cloud-shape path{fill:var(--context-node-background, #10201b);stroke:var(--context-border-color, #638033);stroke-width:3;vector-effect:non-scaling-stroke}.universe-node.is-context-root .root-cloud-shape path{fill:color-mix(in srgb,var(--universe-cluster-colour) 18%,var(--surface-raised));stroke:var(--universe-cluster-colour)}.universe-node.is-context-root .universe-node-action>:not(.root-cloud-shape){position:relative;z-index:1}.universe-node.is-context-root.is-selected .root-cloud-shape path,.universe-node.is-context-root.is-preview .root-cloud-shape path{stroke:var(--selection-color)}.universe-node.is-collapsed .universe-node-action{border-style:dashed;opacity:.92}.universe-node.is-match .universe-node-action{border-color:var(--lime);background:color-mix(in srgb,var(--lime) 25%,var(--surface-raised));box-shadow:0 0 14px color-mix(in srgb,var(--lime) 45%,transparent);animation:universe-search-glow 1.8s ease-in-out infinite}@keyframes universe-search-glow{0%,to{filter:brightness(1);box-shadow:0 0 10px color-mix(in srgb,var(--lime) 35%,transparent)}50%{filter:brightness(1.32);box-shadow:0 0 27px color-mix(in srgb,var(--lime) 88%,transparent)}}.universe-node.is-preview .universe-node-action{border-color:var(--selection-color);background:color-mix(in srgb,var(--selection-color) 25%,var(--surface-raised));box-shadow:0 0 17px color-mix(in srgb,var(--selection-color) 55%,transparent)}.universe-node.is-selected .universe-node-action{border-color:var(--selection-color);background:color-mix(in srgb,var(--selection-color) 24%,var(--surface-raised));box-shadow:0 0 0 var(--selection-thickness) var(--selection-color),0 0 18px color-mix(in srgb,var(--selection-color) 58%,transparent)}.universe-node.is-context-root.is-selected .universe-node-action,.universe-node.is-context-root.is-preview .universe-node-action{border-color:transparent;background:transparent;box-shadow:none}.universe-node-resize{position:absolute;z-index:3;right:-4px;bottom:-4px;width:14px;height:14px;border:2px solid var(--surface-raised);border-radius:3px;background:var(--selection-color);box-shadow:0 0 0 1px var(--line);cursor:nwse-resize;opacity:.8}.universe-node:hover .universe-node-resize,.universe-node:focus-within .universe-node-resize{opacity:1}.universe-node .disclosure-control{position:absolute;z-index:2;top:-7px;right:-7px}.universe-tree-surface .universe-node-action{cursor:default}.universe-tree-surface .universe-node-resize{display:none}.universe-tree-surface .universe-paths line{stroke-width:.34;opacity:.86}.universe-tree-surface .universe-paths line.universe-subcontext-path{stroke-width:.58}.universe-orbits-surface .universe-node-action{cursor:default}.universe-orbits-surface .universe-node-resize{display:none}.universe-orbit-area{fill-opacity:.09;stroke:currentColor;stroke-width:.32;stroke-opacity:.42}.universe-orbit-path{fill:none;stroke:var(--mint);stroke-width:.45;stroke-dasharray:1.4 1.8;opacity:.86}.universe-minimap{position:absolute;z-index:6;right:18px;bottom:18px;width:180px;height:118px;border:1px solid var(--aqua);border-radius:9px;padding:18px 8px 8px;background:color-mix(in srgb,var(--surface) 88%,transparent);box-shadow:0 9px 24px #0008;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.universe-minimap[hidden]{display:none}.universe-minimap>strong{position:absolute;top:5px;left:8px;color:var(--muted);font-size:9px;letter-spacing:.08em;text-transform:uppercase}.universe-minimap [data-universe-minimap-nodes]{position:relative;width:100%;height:100%;overflow:hidden;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:5px;background:color-mix(in srgb,var(--page-background) 88%,transparent)}.universe-minimap-node{position:absolute;width:7px;height:7px;transform:translate(-50%,-50%);border:1px solid var(--universe-cluster-colour, var(--mint));border-radius:50%;padding:0;background:var(--universe-cluster-colour, var(--mint));box-shadow:0 0 5px color-mix(in srgb,var(--universe-cluster-colour, var(--mint)) 68%,transparent);cursor:pointer}.universe-minimap-node:hover,.universe-minimap-node:focus-visible{width:10px;height:10px;outline:none}.universe-context-menu{position:fixed;z-index:2500;display:grid;min-width:230px;max-width:min(340px,calc(100vw - 16px));gap:7px;border:1px solid var(--aqua);border-radius:10px;padding:10px;background:var(--surface-raised);box-shadow:0 14px 34px #000b;color:var(--text)}.universe-context-menu[hidden]{display:none}.universe-context-menu>strong{color:var(--aqua);font-size:12px;overflow-wrap:anywhere}.universe-context-menu button{min-height:30px;border:1px solid var(--line);border-radius:6px;padding:5px 8px;background:var(--surface-interactive);color:var(--text);font:inherit;font-size:12px;text-align:left;cursor:pointer}.universe-context-menu button:hover,.universe-context-menu button:focus-visible{border-color:var(--lime);background:var(--surface-interactive-hover);outline:none}.universe-context-menu label{display:grid;gap:4px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.universe-context-menu input{min-width:0;min-height:31px;border:1px solid var(--line);border-radius:6px;padding:5px 8px;background:var(--input-background);color:var(--text);font:inherit;font-size:12px;text-transform:none}.universe-context-search-results{display:grid;max-height:200px;gap:4px;overflow:auto;color:var(--muted);font-size:11px}.mapping-review-board{display:grid;gap:14px;min-width:780px;padding:18px}.mapping-review-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:color-mix(in srgb,var(--surface-raised) 86%,var(--aqua))}.mapping-review-summary div{display:grid;gap:3px}.mapping-review-summary span,.mapping-review-summary p{margin:0;color:var(--muted);font-size:12px}.mapping-review-summary p{max-width:350px}.mapping-review-error{margin:0;border:1px solid #ff5968;border-radius:8px;padding:10px 12px;color:#ff8791}.mapping-review-model{display:grid;gap:12px;border:1px solid var(--line);border-left:4px solid #f0b35b;border-radius:10px;padding:14px;background:var(--surface-raised)}.mapping-review-model.is-approved{border-left-color:var(--mint)}.mapping-review-model>header{display:flex;align-items:start;justify-content:space-between;gap:12px}.mapping-review-model h3{margin:3px 0 0;font-size:15px}.mapping-review-model em{color:#f0b35b;font-size:10px;font-style:normal;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.mapping-review-model.is-approved em{color:var(--mint)}.mapping-review-model>header>span{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px}.mapping-review-flow{display:grid;grid-template-columns:minmax(210px,1fr) 70px minmax(210px,1fr);gap:10px}.mapping-review-flow>p{grid-column:1 / -1;margin:0;color:var(--muted)}.mapping-review-column{display:grid;gap:7px}.mapping-review-column b{color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.mapping-review-column span{min-height:32px;border:1px solid var(--line);border-radius:6px;padding:8px 10px;background:var(--surface);font-size:12px}.mapping-review-connectors{display:grid;align-content:end;gap:7px;padding-top:21px}.mapping-review-connectors span{position:relative;display:grid;min-height:32px;place-items:center;color:var(--muted);font-size:10px}.mapping-review-connectors span:before,.mapping-review-connectors span:after{position:absolute;top:50%;width:25%;border-top:2px solid #f0b35b;content:""}.mapping-review-model.is-approved .mapping-review-connectors span:before,.mapping-review-model.is-approved .mapping-review-connectors span:after{border-color:var(--mint)}.mapping-review-connectors span:before{left:0}.mapping-review-connectors span:after{right:0}.mapping-review-gaps{border-top:1px solid var(--line);padding-top:10px;color:var(--muted);font-size:12px}.mapping-review-gaps summary{cursor:pointer}.mapping-review-gaps ul{display:grid;gap:6px;margin:9px 0 0;padding-left:20px}.mapping-review-gaps b{color:var(--text)}.home-admin-toolbar{display:none;align-items:center;gap:8px;flex:0 0 auto}.admin-mode .home-admin-toolbar{display:flex}.admin-tools,.god-tools{position:relative;display:flex;align-items:center}.home-admin-toolbar button{padding:6px 9px;border:1px solid var(--line);border-radius:6px;cursor:pointer;background:var(--surface-interactive);color:var(--text);white-space:nowrap}.home-admin-toolbar button:hover,.home-admin-toolbar button:focus-visible{border-color:var(--button-standard-highlight-border, var(--text-strong))}.god-tools[hidden]{display:none}.runtime-branch-indicator{max-width:260px;overflow:hidden;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.runtime-branch-indicator[hidden]{display:none}.admin-tools-popover,.god-tools-popover{position:absolute;z-index:120;top:calc(100% + 7px);left:0;display:grid;min-width:150px;gap:5px;padding:7px;border:1px solid var(--line);border-radius:8px;background:var(--surface-raised);box-shadow:0 12px 28px #000a}.god-tools-popover{border-color:#ff5968}.admin-tools-popover[hidden],.god-tools-popover[hidden]{display:none}.admin-tools-popover button,.god-tools-popover button{width:100%;justify-content:flex-start;text-align:left}.god-tools-popover button:disabled{border-style:dashed;opacity:.45}.window-busy-indicator{position:fixed;z-index:3000;inset:0;width:max-content;height:max-content;margin:auto;display:inline-flex;align-items:center;min-height:64px;gap:13px;padding:14px 22px;border:2px solid var(--aqua);border-radius:16px;background:var(--surface-raised);box-shadow:0 14px 38px #000d,0 0 0 100vmax #02070bb8,0 0 22px color-mix(in srgb,var(--aqua) 75%,transparent);color:var(--text);font-size:16px;font-weight:800;letter-spacing:.02em;pointer-events:none;animation:window-busy-pulse 1.4s ease-in-out infinite}.window-busy-indicator .loader{width:28px;height:28px;margin:0;border-width:3px}@keyframes window-busy-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.035)}}.administration-picker{display:grid;gap:12px}.administration-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.administration-picker-heading strong{color:var(--aqua);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.administration-picker-heading button{min-height:32px;padding:5px 9px;font-size:11px}.lookup-control{position:relative}.lookup-control>input{width:100%;box-sizing:border-box}.lookup-control .thing-class-options{gap:0;padding:0;border-radius:0 0 7px 7px}.lookup-control .thing-class-options button{display:block;width:100%;padding:8px 10px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--text);font:inherit;font-size:12px;text-align:left}.lookup-control .thing-class-options button:last-child{border-bottom:0}.lookup-control .thing-class-options button:hover,.lookup-control .thing-class-options button:focus-visible{outline:0}.class-hover-preview{position:absolute;z-index:2;top:0;left:calc(100% + 10px);display:grid;width:min(320px,34vw);gap:4px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#10231d;box-shadow:0 12px 24px #0009;color:var(--text);pointer-events:none}.class-hover-preview span,.class-hover-preview small{color:var(--muted)}.class-hover-preview[hidden]{display:none}.administration-picker>label{display:grid;gap:5px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.administration-picker select{min-height:38px;border:1px solid var(--line);border-radius:7px;padding:7px 9px;background:#091411;color:var(--text);font:inherit;letter-spacing:normal;text-transform:none}.administration-picker select[size]{min-height:180px}.class-catalog-entry{display:grid;gap:3px;padding:9px;border:1px solid var(--line);border-radius:7px}.class-catalog-entry span,.class-catalog-entry small{color:var(--muted)}.context-home-controls input{width:min(360px,34vw)}.context-catalog{max-width:1500px;margin:0 auto}.context-catalog-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}.context-card{display:grid;grid-template-columns:48px 1fr;gap:14px;min-height:190px;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--button-card-background, var(--surface-raised));color:var(--button-card-text, var(--text));text-align:left;cursor:pointer;transition:border-color .14s ease,transform .14s ease}.context-card:hover,.context-card:focus-visible{border-color:var(--button-card-highlight-border, var(--mint));background:var(--button-card-highlight-background, var(--surface-interactive));transform:translateY(-2px)}.context-card.is-selected,.context-catalog tbody tr.is-selected{border-color:var(--selection-color);outline:var(--selection-thickness) solid var(--selection-color);outline-offset:-3px}.context-card-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:var(--surface-interactive);color:var(--mint);font-size:20px;font-weight:800}.context-card-copy{display:grid;align-content:start;gap:7px}.context-card-copy small{color:var(--mint);font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.context-card-copy strong{font-size:21px}.context-card-copy>span{color:var(--muted);line-height:1.5}.context-card-stats{grid-column:1 / -1;align-self:end;padding-top:13px;border-top:1px solid var(--line);color:var(--button-card-highlight-border, var(--muted));font-size:11px}.context-card-stats b{color:var(--button-card-text, var(--text))}.context-catalog-table{overflow:visible;border:1px solid var(--line);border-radius:14px}.context-catalog table{width:100%;border-collapse:collapse;background:var(--button-table-background, var(--surface));color:var(--button-table-text, var(--text))}.context-catalog th,.context-catalog td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left}.context-catalog th{color:var(--button-table-highlight-border, var(--mint));background:var(--button-table-highlight-background, var(--surface-raised));font-size:9px;letter-spacing:.1em;text-transform:uppercase}.context-catalog tbody tr{cursor:pointer}.context-catalog tbody tr:hover,.context-catalog tbody tr:focus-visible{background:var(--button-table-highlight-background, var(--surface-raised));color:var(--button-table-text, var(--text));outline:none}.context-catalog tbody tr.is-selected:hover,.context-catalog tbody tr.is-selected:focus-visible{background:color-mix(in srgb,var(--selection-color) 18%,transparent);outline:var(--selection-thickness) solid var(--selection-color);outline-offset:-3px}.context-catalog td small{display:block;margin-top:4px;color:var(--muted)}.context-catalog td button,.context-empty button{border:1px solid var(--line);border-radius:7px;padding:8px 12px;background:var(--surface-interactive);color:var(--mint)}.context-empty{padding:70px 24px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);text-align:center}.context-empty h2{color:#edf5ef}.presentation-mode{display:inline-flex;align-items:center;min-height:34px;padding:0 10px;border:1px solid var(--line);border-radius:7px;color:var(--muted);font-size:10px;white-space:nowrap}.view-search,.branch-order{display:inline-grid;grid-template-columns:minmax(110px,190px) auto;gap:4px 6px}.view-search .tool-label,.branch-order .tool-label{grid-column:1 / -1}.view-search input,.view-search select,.branch-order select{min-height:32px;border:1px solid var(--dropdown-border, var(--line));border-radius:6px;padding:5px 8px;background:var(--dropdown-background, var(--input-background));color:var(--dropdown-text, var(--text));font-size:10px}.field .search-dimmed{opacity:.18}.field .search-hidden{display:none!important}.field .node.search-match,.element-table tr.search-match{outline:var(--selection-thickness, 3px) solid var(--selection-color, #ff6fae);outline-offset:3px}[hidden]{display:none!important}body:not(.editor-open) .work{display:none}.editor-page-head{display:grid;grid-template-columns:fit-content(34rem) minmax(0,1fr);align-items:start;min-height:0;padding:15px 28px;gap:12px;border-bottom:1px solid var(--line);transition:background .16s ease,border-color .16s ease}.editor-page-head.status-editing{border-color:#a86f2f;background:linear-gradient(90deg,#2d2114,#0f1d19 48%)}.editor-page-head.status-draft{border-color:#8066ae;background:linear-gradient(90deg,#251d35,#0f1d19 48%)}.editor-page-head.status-saved{border-color:#3c806b;background:linear-gradient(90deg,#123028,#0f1d19 48%)}.editor-page-head.status-milestone{border-color:#9fbd4a;background:linear-gradient(90deg,#293613,#0f1d19 48%)}.editor-page-head.status-milestone-draft{border-color:#b18ad9;background:linear-gradient(90deg,#30213d,#0f1d19 48%)}.editor-page-head.status-saved-draft{border-color:#5d9f89;background:linear-gradient(90deg,#17352d,#0f1d19 48%)}.editor-page-head.status-editing,.editor-page-head.status-draft,.editor-page-head.status-saved,.editor-page-head.status-milestone,.editor-page-head.status-milestone-draft,.editor-page-head.status-saved-draft{background:var(--surface)}.home-bar{display:flex;align-items:center;width:max-content;max-width:100%;gap:12px}.page-navigation{display:flex;gap:7px}.page-navigation button{display:inline-flex;align-items:center;padding:8px 11px;gap:6px;border:1px solid #ffffff18;border-radius:8px;background:#07110eb8;color:#edf5ef}.page-navigation button:disabled{opacity:.35}.page-heading h1{margin:0;color:#f4faf6;font-size:22px}.page-heading p{margin:4px 0 0;color:var(--muted);font-size:11px}.context-breadcrumbs{display:flex;max-width:min(75vw,900px);align-items:center;gap:5px;margin-top:8px;overflow-x:auto;white-space:nowrap}.context-breadcrumbs span{color:var(--muted)}.context-breadcrumbs button{border:0;padding:2px 3px;background:transparent;color:var(--mint);font-size:10px}.context-breadcrumbs button[aria-current=page]{color:var(--text);cursor:default;font-weight:700}.context-breadcrumbs .context-draft-crumb{color:var(--lime);font-size:10px;font-weight:800}.context-breadcrumbs .context-path-toggle{border:1px solid color-mix(in srgb,var(--lime) 48%,transparent);border-radius:999px;padding:2px 7px;background:color-mix(in srgb,var(--lime) 10%,transparent);color:var(--lime);font-weight:800}.context-breadcrumbs .context-path-toggle:hover,.context-breadcrumbs .context-path-toggle:focus-visible{border-color:#fff}.page-status{padding:6px 10px;border:1px solid currentColor;border-radius:999px;color:#e7f6a8;font-size:9px;letter-spacing:.08em;text-transform:uppercase}.header-page-status{display:flex;width:max-content;margin-top:8px}.editor-toolbar-host{min-width:0;width:100%}.editor-toolbar-host .canvas-controls{justify-content:flex-start;box-sizing:border-box;max-height:none;overflow:visible;align-content:flex-start}.status-editing .page-status{color:#f0b35b}.status-draft .page-status{color:#c5a7f2}.status-saved .page-status{color:var(--mint)}.status-milestone .page-status{color:var(--lime)}.status-milestone-draft .page-status{color:#d7b1ff}.status-saved-draft .page-status{color:#79d3b7}em{display:block;color:var(--mint);font-style:normal;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.16em}.lens h1{margin:5px 0 0;font:500 28px Georgia,serif}.lens form{display:flex;align-items:end;gap:12px}label{display:grid;gap:7px;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}input,textarea{border:1px solid var(--line);border-radius:8px;padding:11px;background:var(--input-background);color:var(--text);outline:none}.lens input{width:235px}input:focus,textarea:focus{border-color:var(--mint)}form button{min-height:var(--button-height);padding:var(--button-padding);border:var(--button-border);border-radius:var(--button-radius);background:var(--surface-interactive);color:var(--text)}.lens form>button,.primary{border-color:var(--button-primary-border, var(--line));background:var(--button-primary-background, var(--lime))!important;color:var(--button-primary-text, #14210e)!important;font-weight:800}.lens form>.secondary{border-color:#416458;background:transparent;color:var(--mint)}.work{flex:1;min-height:0;display:grid;grid-template-columns:1fr 285px}.work.inspector-collapsed{grid-template-columns:1fr 42px}.work nav{border-right:1px solid var(--line);padding:16px 9px}.work nav button{display:block;width:100%;border:1px solid transparent;border-radius:10px;padding:10px 2px;margin-bottom:7px;background:transparent;color:#799087;font-size:20px}.work nav button span{display:block;font-size:10px;font-weight:700}.work nav .active{background:var(--surface-interactive);color:var(--lime)}.work nav button:hover:not(:disabled){color:var(--lime)}.work nav button:disabled{opacity:.3}.stage{display:flex;min-width:0;min-height:0;flex-direction:column}.stage-head{min-height:65px;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);overflow:visible}.stage-head small,.stage-head strong{display:block}.stage-head small,.stage-head p{color:var(--muted);font-size:10px}.stage-head p{display:flex;gap:7px;align-items:center}.stage-head p i{width:8px;height:8px;border-radius:50%;background:var(--lime)}.stage-head p .element{background:var(--mint)}.stage-head p .relation{background:#f0b35b}.stage-head p .context-type{background:var(--context-type-colour)}.canvas{--context-canvas-background: var(--page-background) !important;--context-panel-background: var(--surface) !important;--context-node-background: var(--surface-raised) !important;--context-border-color: var(--line) !important;--context-text-color: var(--text) !important;--context-muted-color: var(--muted) !important;position:relative;flex:1;min-width:0;min-height:0;overflow:visible;overflow-anchor:none;overscroll-behavior:contain;cursor:grab;scrollbar-color:var(--line) var(--surface);background-color:var(--page-background)}.canvas-ruler{position:absolute;z-index:20;overflow:hidden;pointer-events:none;background:color-mix(in srgb,var(--page-background) 92%,var(--surface-raised));color:color-mix(in srgb,var(--mint) 72%,transparent);font-size:8px;font-weight:800;line-height:1;-webkit-user-select:none;user-select:none}.canvas-ruler-horizontal{top:0;left:0;height:20px;border-bottom:1px solid color-mix(in srgb,var(--mint) 36%,transparent)}.canvas-ruler-vertical{top:0;left:0;width:28px;border-right:1px solid color-mix(in srgb,var(--mint) 36%,transparent)}.canvas-ruler span{position:absolute;display:block;white-space:nowrap}.canvas-ruler span i{position:absolute;display:block;background:color-mix(in srgb,var(--mint) 65%,transparent);content:""}.canvas-ruler-horizontal span{top:3px;padding-left:3px}.canvas-ruler-horizontal span i{top:-3px;left:0;width:1px;height:6px}.canvas-ruler-vertical span{left:3px;padding-top:2px;writing-mode:vertical-rl;transform:rotate(180deg)}.canvas-ruler-vertical span i{top:0;left:-3px;width:6px;height:1px}.canvas.panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.selection-marquee{position:absolute;z-index:12;border:var(--selection-thickness) solid var(--selection-color);border-radius:4px;pointer-events:none;background:color-mix(in srgb,var(--selection-color) 14%,transparent);box-shadow:0 0 10px color-mix(in srgb,var(--selection-color) 35%,transparent)}.canvas.expanded{position:fixed;inset:0;z-index:1000;min-height:100vh;background-color:var(--page-background)}.canvas-is-expanded{overflow:hidden}.canvas.empty{display:grid;place-items:center}.editor-status-host{flex:0 0 auto;min-width:0}.canvas.expanded+.editor-status-host{position:fixed;right:0;bottom:var(--activity-history-height);left:0;z-index:1001}.welcome{text-align:center;max-width:380px;color:var(--muted)}.welcome h2{font:500 28px Georgia,serif;color:var(--text)}.orbit{position:relative;width:95px;height:95px;margin:auto;border:1px solid var(--line);border-radius:50%}.orbit:after{content:"";position:absolute;inset:18px;border:1px solid var(--line);border-radius:50%}.orbit>*{position:absolute;width:11px;height:11px;border-radius:50%;background:var(--lime)}.orbit i{top:-5px;left:42px}.orbit b{bottom:9px;left:5px;background:var(--mint)}.orbit span{bottom:9px;right:5px;background:#f0b35b}.field{position:relative;transform-origin:0 0}.field.diagram-grid{background-image:linear-gradient(color-mix(in srgb,var(--mint) 14%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--mint) 14%,transparent) 1px,transparent 1px);background-size:var(--diagram-grid-size, 20px) var(--diagram-grid-size, 20px)}.graph-space{position:relative;min-width:100%;min-height:100%;overflow-anchor:none}.connectors{position:absolute;inset:0;overflow:visible;pointer-events:none;z-index:5}.connectors polyline{fill:none;stroke:var(--line);stroke-width:2;vector-effect:non-scaling-stroke;pointer-events:visibleStroke;cursor:pointer}.connectors polyline:hover{stroke-width:3}.connectors .relationship-gesture{fill:none;stroke:var(--selection-color, #ff6fae);stroke-width:3;stroke-dasharray:8 6;vector-effect:non-scaling-stroke;pointer-events:none}.connectors .connector-hit-target{stroke:transparent!important;stroke-width:40;pointer-events:stroke;cursor:pointer}.field.show-hit-areas .connectors .connector-hit-target{stroke-width:var(--hit-area-line-width, 34px);stroke-dasharray:none;opacity:1}.connectors .connector-hit-area-guide{fill:none;stroke:transparent;pointer-events:none}.field.show-hit-areas .connectors .connector-hit-area-guide{stroke:color-mix(in srgb,var(--mint) 72%,transparent);stroke-width:var(--hit-area-line-width, 34px);stroke-dasharray:none;opacity:.72;vector-effect:non-scaling-stroke}.connectors .editable-connector.selected{stroke:var(--selection-color);stroke-width:var(--selection-thickness)}.connectors .connector-end,.connectors .connector-elbow{fill:var(--lime);stroke:var(--page-background);stroke-width:3;vector-effect:non-scaling-stroke;pointer-events:all;cursor:grab}.connectors .connector-elbow{fill:#f0b35b}.connectors .connector-elbow.automatic-elbow{fill:#64d8af}.connectors .connector-elbow.manual-elbow{fill:#f0b35b}.connectors .connector-elbow.automatic-elbow:hover,.connectors .connector-elbow.automatic-elbow.active{fill:#8ee9ce;stroke:#1b8f6c;stroke-width:4}.connectors .connector-elbow.manual-elbow:hover,.connectors .connector-elbow.manual-elbow.active{fill:#ffd18a;stroke:#b86c22;stroke-width:4}.connectors .connector-elbow:hover,.connectors .connector-elbow.active,.connectors .connector-end:hover,.connectors .connector-end.active{fill:var(--lime);stroke:var(--selection-color);stroke-width:4}.connectors .connector-end:active{cursor:grabbing}.connectors .relationship-line{stroke:#f0b35b}.connectors .context-link{stroke-width:3}.connectors .context-link-contains,.context-link-node.context-link-contains{--context-link-color: var(--lime)}.connectors .context-link-specializes,.context-link-node.context-link-specializes{--context-link-color: #75bfff}.connectors .context-link-references,.context-link-node.context-link-references{--context-link-color: #c7a2ff}.connectors .context-link-overlays,.context-link-node.context-link-overlays{--context-link-color: #ff9ec7}.connectors .context-link{stroke:var(--context-link-color)}.node.context-link-node{color:var(--context-link-color)}.node.context-link-node:before{border-color:var(--context-link-color)}.node.context-link-node i{color:var(--context-link-color)}.connector-label{fill:var(--text);paint-order:stroke;stroke:var(--page-background);stroke-width:4px;stroke-linejoin:round;font-size:10px;font-weight:700;text-anchor:middle;dominant-baseline:central;pointer-events:all;cursor:grab;-webkit-user-select:none;user-select:none}.connector-label:active{cursor:grabbing}.connector-label.generated-connection-label{opacity:.38;font-weight:500}.table-wrap{width:min(1200px,calc(100% - 80px));margin:110px auto 60px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface) 93%,transparent)}.element-table{width:100%;table-layout:fixed;border-collapse:collapse;color:var(--text);text-align:left}.element-table th,.element-table td{padding:13px 15px;border-bottom:1px solid var(--line);vertical-align:top}.element-table th:first-child,.element-table td:first-child{width:64px;padding-inline:8px;text-align:center}.element-table th:nth-child(2),.element-table td:nth-child(2){width:26%}.element-table th:nth-child(3),.element-table td:nth-child(3){width:13%}.element-table th:nth-child(5),.element-table td:nth-child(5){width:10%}.element-table th:nth-child(6),.element-table td:nth-child(6){width:10%}.element-table .root-row{background:color-mix(in srgb,var(--surface-raised) 88%,var(--lime));box-shadow:inset 3px 0 var(--lime)}.element-table tbody tr:not(.root-row){background:var(--surface)}.element-table tr[draggable=true]{cursor:grab}.element-table tr[draggable=true]:active{cursor:grabbing}.drag-handle{color:var(--muted);-webkit-user-select:none;user-select:none}.table-row-tools{display:inline-flex;align-items:center;justify-content:center;gap:4px;white-space:nowrap}.element-table .table-disclosure{display:inline-grid;width:17px;height:17px;padding:0;border:1px solid var(--line);border-radius:4px;place-items:center;color:var(--context-primary-accent, var(--lime));font-size:13px;line-height:1;cursor:pointer}.tree-view .tree-branch{stroke:var(--branch-color, var(--context-border-color));stroke-width:2px;stroke-linecap:square;stroke-linejoin:round}.tree-view .node.branch-record{width:170px;min-height:126px;padding:10px 12px;border-color:var(--branch-color, var(--context-border-color));border-radius:8px;background:color-mix(in srgb,var(--branch-background, var(--context-node-background)) 28%,var(--context-node-background));cursor:default;text-align:left}.tree-view .node.branch-record>i,.tree-view .node.branch-record>.treatment-badge,.tree-view .node.branch-record>.relationship-status{display:none}.tree-view .node.branch-record>b{margin-bottom:5px;color:var(--context-text-color);font-size:13px}.tree-view .node.branch-record>small{min-height:27px;margin:0 0 6px;color:var(--context-muted-color);font-size:9px}.branch-record-field{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding-top:3px;border-top:1px solid color-mix(in srgb,var(--branch-color) 55%,transparent);color:var(--context-text-color);font-size:8px}.branch-record-field em{overflow:hidden;color:var(--context-muted-color);font-style:normal;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.tree-disclosure{cursor:pointer;pointer-events:all}.tree-disclosure rect{fill:var(--context-panel-background, #10201b);stroke:var(--context-primary-accent, var(--lime));stroke-width:1.5px}.tree-disclosure text{fill:var(--context-primary-accent, var(--lime));font-size:14px;font-weight:800;text-anchor:middle;dominant-baseline:central;pointer-events:none;-webkit-user-select:none;user-select:none}.tree-disclosure:hover rect,.tree-disclosure:focus rect{stroke:var(--selection-color, #ff6fae);stroke-width:var(--selection-thickness, 3px)}.table-tools{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;gap:18px;border-bottom:1px solid var(--line);color:var(--muted);font-size:10px}.table-tools label{display:flex;align-items:center;gap:8px;color:var(--text);font-weight:700}.table-tools select{padding:6px 9px;border:1px solid var(--line);border-radius:6px;background:var(--input-background);color:var(--text)}.element-table th{color:var(--muted);background:var(--surface-raised);font-size:9px;letter-spacing:.08em;text-transform:uppercase}.element-table td{color:var(--muted);font-size:12px}.element-table td:first-child{color:var(--text)}.element-table button{padding:0;border:0;background:transparent;color:var(--mint);font-weight:800}.element-table .table-element-name{position:relative;padding-inline-start:calc(var(--element-depth, 1) * 1.4rem);text-align:left}.element-table .table-element-name:before{position:absolute;inset-inline-start:calc((var(--element-depth, 1) - 1) * 1.4rem + .3rem);content:"↳";color:var(--muted);font-weight:400}.element-table small{display:block;margin-top:3px;color:var(--muted)}.table-treatment{padding:3px 7px;border-radius:999px;background:var(--surface-interactive);color:var(--mint);font-size:8px;font-weight:800;text-transform:uppercase}.table-treatment.expanded{background:color-mix(in srgb,var(--lime) 24%,var(--surface-interactive));color:var(--lime)}.canvas-controls{position:relative;z-index:20;display:flex;align-items:stretch;width:100%;max-width:100%;flex-wrap:wrap;margin:0;padding:5px;gap:4px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.canvas-is-expanded .editor-toolbar-host{position:fixed;z-index:1001;inset:70px 0 auto;padding:5px;background:color-mix(in srgb,var(--surface) 96%,transparent)}.canvas.expanded{top:135px;bottom:var(--activity-history-height);min-height:calc(100vh - 135px - var(--activity-history-height))}.canvas-controls button{display:inline-flex;align-items:center;justify-content:center;min-width:34px;padding:7px 9px;gap:6px;border:0;border-radius:7px;background:var(--surface-interactive);color:var(--text)}.canvas-controls .toolbar-toggle{border-right:1px solid var(--line);border-radius:7px 0 0 7px;color:var(--mint)}.canvas-controls .hit-area-control{display:grid;grid-template-rows:auto auto;align-items:center;justify-items:center;min-width:68px}.canvas-controls .hit-area-size-control{display:inline-flex;align-items:center;gap:3px;width:64px;margin:1px 2px 2px}.canvas-controls .hit-area-size-control input[type=range]{width:48px;min-width:48px;height:14px;margin:0;appearance:none;-webkit-appearance:none;border:0;border-radius:999px;background:linear-gradient(to right,var(--mint) 0 var(--hit-area-progress, 0%),var(--surface-raised) var(--hit-area-progress, 0%) 100%);cursor:ew-resize;touch-action:none}.canvas-controls .hit-area-size-control input[type=range]::-webkit-slider-runnable-track{height:5px;border:1px solid var(--line);border-radius:999px;background:transparent}.canvas-controls .hit-area-size-control input[type=range]::-webkit-slider-thumb{width:12px;height:12px;margin-top:-4.5px;appearance:none;-webkit-appearance:none;border:1px solid color-mix(in srgb,var(--mint) 80%,white);border-radius:50%;background:var(--mint);box-shadow:0 0 0 1px var(--context-panel-background, #0d1a17)}.canvas-controls .hit-area-size-control input[type=range]::-moz-range-track{height:5px;border:1px solid var(--line);border-radius:999px;background:var(--surface-raised)}.canvas-controls .hit-area-size-control input[type=range]::-moz-range-progress{height:5px;border-radius:999px;background:var(--mint)}.canvas-controls .hit-area-size-control input[type=range]::-moz-range-thumb{width:10px;height:10px;border:1px solid color-mix(in srgb,var(--mint) 80%,white);border-radius:50%;background:var(--mint)}.canvas-controls .hit-area-size-control output{min-width:11px;color:var(--mint);font-size:8px;font-weight:800;line-height:1;text-align:right}.canvas-controls .hit-area-size-control[hidden]{display:none}.canvas-controls .zoom-tools{display:inline-flex;flex:0 0 auto;align-items:center;gap:4px;white-space:nowrap}.canvas-controls .tool-icon{display:inline-grid;min-width:16px;place-items:center;font-size:15px;line-height:1}.canvas-controls .zoom-magnifier{width:17px;height:17px;overflow:visible;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.canvas-controls .toolbar-svg-icon{width:17px;height:17px;overflow:visible;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.canvas-controls .tool-label{white-space:nowrap;font-size:10px;font-weight:700}.canvas-controls .toolbar-divider{display:none}.toolbar-section{display:flex;flex:0 1 auto;min-width:0;flex-direction:column;gap:3px;padding:3px 5px 5px;border:1px solid color-mix(in srgb,var(--line) 58%,transparent);border-radius:9px;background:color-mix(in srgb,var(--surface) 62%,transparent)}.toolbar-section-items{display:flex;align-items:center;min-width:0;gap:3px;flex-wrap:wrap}.toolbar-overflow{position:relative}.toolbar-overflow summary{display:inline-flex;min-height:32px;align-items:center;padding:0 9px;border:1px solid var(--line);border-radius:7px;background:var(--surface-interactive);color:var(--text);cursor:pointer}.toolbar-overflow>div{display:none}.toolbar-overflow[open]>div{position:absolute;top:calc(100% + 6px);right:0;z-index:130;display:flex;min-width:170px;padding:7px;gap:5px;flex-wrap:wrap;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 12px 24px #0008}.toolbar-section-heading{align-self:flex-start;margin:0 3px;color:var(--dropdown-muted);font-size:7px;font-weight:800;letter-spacing:.08em;line-height:1;text-transform:uppercase;writing-mode:horizontal-tb}.view-picker{display:flex;align-items:center;grid-auto-flow:column;gap:6px;padding-left:7px;color:var(--muted)}.minimap-option{position:relative;display:inline-flex;align-items:center;gap:6px;padding:7px 8px;border-radius:7px;cursor:pointer;background:var(--dropdown-item-background);color:var(--dropdown-muted)}.minimap-option:has(input:checked){color:var(--dropdown-accent)}.minimap-option:not(:has(input:checked)),.anchor-fixed:not(:has(input:checked)){color:color-mix(in srgb,var(--muted) 64%,transparent);opacity:.46}.minimap-option input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.minimap-option:before,.anchor-fixed:before{display:inline-grid;width:16px;height:16px;place-items:center;color:currentColor;font-size:15px;line-height:1}.minimap-option:before{content:"🗺"}.view-picker select{width:112px;padding:6px 24px 6px 7px;border:0;border:1px solid var(--dropdown-border);background-color:var(--dropdown-item-background);color:var(--dropdown-text);font-size:10px;font-weight:700;text-transform:none;letter-spacing:0}.anchor-fixed{position:relative;display:inline-flex;align-items:center;gap:6px;padding:7px 8px;border-radius:7px;cursor:pointer;background:var(--surface-interactive);color:var(--muted)}.anchor-fixed:has(input:checked){color:var(--mint)}.anchor-fixed input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.anchor-fixed:before{content:"⚓"}.canvas-controls.compact .view-picker select{width:104px}.canvas-controls.compact .tool-label{display:none}.canvas-controls.compact .tool-action{width:34px;padding-inline:6px}.canvas-controls button:hover{color:var(--lime)}.canvas-controls button:disabled{cursor:default;opacity:.32}.canvas-controls output{min-width:48px;color:var(--muted);text-align:center;font-size:10px}.save-split{position:relative;display:inline-flex}.persistence-tools{display:inline-flex;align-items:center;gap:3px;padding:2px;border:1px solid color-mix(in srgb,var(--line) 58%,transparent);border-radius:9px;background:color-mix(in srgb,var(--surface) 70%,transparent)}.snap-grid-control{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:0 7px;border:1px solid color-mix(in srgb,var(--line) 58%,transparent);border-radius:7px;background:var(--surface-interactive);color:var(--mint);cursor:pointer}.snap-grid-control select{min-width:58px;padding:5px 4px;border:1px solid var(--line);border-radius:5px;background:var(--input-background);color:var(--text);font-size:10px}.snap-gesture,.toggle-icon{position:relative}.snap-gesture.disabled,.toggle-icon.disabled{opacity:.42;filter:saturate(.25)}.canvas-controls.compact .snap-grid-control .tool-label{display:none}.undo-levels{display:inline-flex;align-items:center;gap:5px;padding:0 6px;color:var(--muted)}.undo-levels input{width:48px;padding:6px 4px;border:1px solid var(--line);border-radius:6px;background:var(--surface-interactive);color:var(--text);font-size:10px;text-align:center}.canvas-controls .save-primary{border-radius:7px 0 0 7px;color:var(--lime)}.canvas-controls .save-menu-toggle{min-width:24px;padding-inline:5px;border-left:1px solid var(--line);border-radius:0 7px 7px 0;color:var(--lime)}.save-menu{position:fixed;z-index:2000;display:grid;grid-auto-flow:row;gap:3px;min-width:185px;padding:5px;border:1px solid var(--dropdown-border);border-radius:8px;background:var(--dropdown-background);box-shadow:0 14px 30px #0008}.save-menu[hidden]{display:none}.save-menu button{display:flex;align-items:center;width:100%;padding:8px 10px;border:1px solid transparent;border-radius:6px;justify-content:flex-start;background:var(--dropdown-item-background);color:var(--dropdown-text);text-align:left}.save-menu button:hover,.save-menu button:focus-visible{border-color:#fff;color:var(--dropdown-accent);outline:none}.user-mode .save-menu [data-save-as]{display:none}.save-menu small{display:block;padding:8px 9px 4px;color:var(--dropdown-muted);font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.node{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:170px;padding:15px;border:1px solid var(--line);border-radius:17px;cursor:grab;touch-action:none;background:var(--surface-raised);color:var(--text)}.node.class-visual{border-color:var(--class-stroke);background:var(--class-fill);color:var(--class-text)}.class-visual-layout{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:18px;align-items:center}.class-visual-preview-wrap{display:grid;place-items:center;gap:6px;min-height:118px;padding:10px;border:1px dashed var(--context-border-color, #315047);border-radius:10px}.class-visual-preview{display:grid;place-items:center;width:142px;height:76px;padding:10px;border:2px solid var(--preview-stroke, #72a76a);border-radius:14px;background:var(--preview-fill, #173d32);color:var(--preview-text, #f5f5e9);font-weight:800;text-align:center;transition:background-color .12s ease,border-color .12s ease,color .12s ease,border-radius .12s ease}.class-visual-preview.shape-rectangle{border-radius:0}.class-visual-preview.shape-ellipse{border-radius:50%}.class-visual-preview.shape-capsule{border-radius:999px}.class-visual-preview.shape-diamond,.class-visual-preview.shape-hexagon{border:0;border-radius:0;background:transparent;position:relative}.class-visual-preview.shape-diamond:before,.class-visual-preview.shape-hexagon:before{position:absolute;inset:0;border:2px solid var(--preview-stroke, #72a76a);background:var(--preview-fill, #173d32);content:""}.class-visual-preview.shape-diamond:before{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.class-visual-preview.shape-hexagon:before{clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}.class-visual-preview.shape-diamond span,.class-visual-preview.shape-hexagon span{position:relative;z-index:1}@media(max-width:620px){.class-visual-layout{grid-template-columns:1fr}}.node-hit-area{display:none}.field.show-hit-areas .node-hit-area{position:absolute;z-index:0;display:block;inset:calc(0px - var(--hit-area-padding, 16px));border:1px dashed color-mix(in srgb,var(--mint) 88%,transparent);border-radius:inherit;background:color-mix(in srgb,var(--mint) 10%,transparent);pointer-events:auto}.field.show-hit-areas .node{z-index:6}.field.show-hit-areas .node.connector-active{z-index:4}.field.show-hit-areas .node>:not(.node-hit-area):not(.shape-anchor):not(.shape-resize-handle){position:relative;z-index:1}.node.shape-rectangle{border-radius:0}.node.shape-rounded-rectangle,.node.shape-custom{border-radius:17px}.node.shape-ellipse{border-radius:50%}.node.shape-capsule{border-radius:999px}.node.shape-diamond,.node.shape-hexagon{border-color:transparent;background:transparent}.node.shape-diamond:before,.node.shape-hexagon:before{position:absolute;z-index:0;inset:0;border:1px solid var(--line);background:var(--surface-raised);content:""}.node.class-visual.shape-diamond:before,.node.class-visual.shape-hexagon:before{border-color:var(--class-stroke);background:var(--class-fill)}.node.shape-diamond:before{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.node.shape-hexagon:before{clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}.node.shape-diamond>:not(.shape-anchor),.node.shape-hexagon>:not(.shape-anchor){position:relative;z-index:1}.node.shape-document{border-radius:4px 4px 22px}.node.shape-database{border-radius:50%/14%}.god-mode .node.shape-cloud:after,.god-mode .node.shape-ellipse:after,.god-mode .node.shape-capsule:after,.god-mode .node.shape-diamond:after,.god-mode .node.shape-hexagon:after,.god-mode .node.shape-document:after,.god-mode .node.shape-database:after{position:absolute;z-index:7;inset:0;box-sizing:border-box;border:1px dashed color-mix(in srgb,var(--lime) 78%,transparent);border-radius:0;content:"";pointer-events:none}.node.root.shape-cloud{box-sizing:border-box;display:grid;width:236px;aspect-ratio:1.82 / 1;place-items:center;padding:25px 42px 23px;overflow:visible;border-color:transparent;border-radius:0;background:transparent}.node.root.shape-cloud .root-cloud-shape{inset:-5px -8px;width:calc(100% + 16px);height:calc(100% + 10px);pointer-events:auto}.node.root.shape-cloud .root-cloud-shape path{fill:var(--surface-raised);stroke:var(--line)}.node.root.shape-cloud>:not(.root-cloud-shape):not(.shape-anchor):not(.shape-resize-handle):not(.relationship-disclosure):not(.context-navigator):not(.nested-context-badge){position:relative;z-index:1}.node.root.shape-cloud .root-cloud-copy{display:grid;min-width:0;gap:3px;place-items:center;text-align:center}.node.root.shape-cloud .root-cloud-copy b,.node.root.shape-cloud .root-cloud-copy small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-type-name{color:var(--context-type-colour)!important}.node.root.shape-cloud .root-cloud-copy small{color:var(--context-type-colour)}.node.root.shape-cloud>.context-navigator{position:absolute;z-index:8;top:19px;right:26px}.node.root.shape-cloud>.shape-resize-handle{right:23px;bottom:18px;left:auto}.context-navigator.context-selection{min-width:auto;padding:0 7px;font-size:9px;letter-spacing:.03em}.context-navigator.context-selection b{font-size:9px}.node.root.shape-cloud>.nested-context-badge{position:absolute;z-index:8;bottom:-21px;left:50%;margin:0;transform:translate(-50%)}.node.root.shape-cloud>.relationship-status{position:absolute;z-index:8;bottom:-20px;left:50%;width:max-content;margin:0;transform:translate(-50%)}.node.root.shape-cloud:hover,.node.root.shape-cloud:focus-visible{border-color:transparent;outline:none}.node.root.shape-cloud.selected{border-color:transparent;box-shadow:none}.node.root.shape-cloud.selected .root-cloud-shape path,.node.root.shape-cloud:hover .root-cloud-shape path,.node.root.shape-cloud:focus-visible .root-cloud-shape path{stroke:var(--selection-color);filter:drop-shadow(0 0 5px color-mix(in srgb,var(--selection-color) 45%,transparent))}.node.root.root-context-marker{border-radius:50%;padding:17px 23px}.node.root.root-context-marker>i{border-radius:50%;font-size:19px}.node.relationship-node{z-index:4;width:58px;height:58px;min-height:58px;padding:0;border-color:transparent;border-radius:0;background:transparent;color:#f0b35b}.node.relationship-node:before{position:absolute;z-index:0;inset:8px;border:1px solid #8a6532;border-radius:8px;background:#251d13;content:"";transform:rotate(45deg)}.node.relationship-node i{position:relative;z-index:1;display:grid;width:100%;height:100%;place-items:center;background:transparent;color:#ffc56f;font-size:15px}.node.relationship-node:hover,.node.relationship-node:focus-visible{border-color:transparent;outline:none}.node.relationship-node:hover:before,.node.relationship-node:focus-visible:before{border-color:var(--mint);box-shadow:0 0 0 3px #64d8af20}.node.relationship-node.selected{border-color:transparent;box-shadow:none}.node.relationship-node.selected:before{border-color:var(--selection-color);box-shadow:0 0 0 var(--selection-thickness) var(--selection-color),0 12px 28px #0006}.node:active{cursor:grabbing}.node:hover,.node:focus-visible{z-index:3;border-color:var(--mint);outline:3px solid #64d8af20}.node.selected{z-index:3;border-color:var(--selection-color);box-shadow:inset 0 0 0 var(--selection-thickness) var(--selection-color),0 12px 28px #0006}.node.selected:hover,.node.selected:focus-visible{border-color:var(--selection-color);outline:none;box-shadow:inset 0 0 0 var(--selection-thickness) var(--selection-color),0 12px 28px #0006}.node.relationship-undetermined{border-style:dashed;border-color:#a86f2f}.node.nested-context{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--lime) 38%,transparent)}.node.projected-context-ghost{border-style:dashed;opacity:.56;filter:saturate(.72)}.context-navigator{position:absolute;z-index:8;top:8px;right:8px;display:inline-flex;min-width:20px;height:20px;align-items:center;justify-content:center;gap:2px;border:1px solid color-mix(in srgb,var(--lime) 70%,transparent);border-radius:6px;background:color-mix(in srgb,var(--canvas-background) 82%,var(--lime));color:var(--lime);font-size:11px;font-weight:800;line-height:1}.context-navigator b{font-size:8px}.context-navigator:hover,.context-navigator:focus-visible{background:var(--lime);color:var(--canvas-background);outline:none}.node.shape-diamond>.context-navigator,.node.shape-hexagon>.context-navigator{position:absolute;z-index:8}.nested-context-badge{display:inline-flex;width:max-content;max-width:100%;margin:7px auto 0;overflow:hidden;border:1px solid color-mix(in srgb,var(--lime) 55%,transparent);border-radius:999px;padding:3px 7px;background:color-mix(in srgb,var(--lime) 12%,transparent);color:var(--lime);font-size:7px;font-weight:800;letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.nested-context-disclosure{display:inline-grid;width:14px;height:14px;place-items:center;margin-right:5px;border:1px solid currentColor;border-radius:4px;line-height:1}.nested-context-disclosure:hover,.nested-context-disclosure:focus-visible{background:var(--lime);color:var(--canvas-background);outline:none}.relationship-disclosure{display:inline-grid;width:14px;height:14px;place-items:center;margin:7px auto 0;border:1px solid color-mix(in srgb,var(--lime) 65%,transparent);border-radius:4px;color:var(--lime);font-size:12px;font-weight:800;line-height:1}.relationship-disclosure:hover,.relationship-disclosure:focus-visible{background:var(--lime);color:var(--canvas-background);outline:none}.context-choice-list{display:grid;min-width:min(420px,80vw);gap:8px;padding:18px}#context-choice-dialog{overflow:visible;width:min(620px,calc(100vw - 30px));min-width:min(620px,calc(100vw - 30px));max-height:calc(100vh - 110px);min-height:0;padding:0}.context-choice-dialog .dialog-head{position:sticky;top:0;z-index:3;margin:0;padding:15px 18px 12px;background:var(--surface);border-bottom:1px solid var(--line)}dialog .dialog-head .dialog-actions.is-wrapped,.context-choice-dialog .dialog-head .dialog-actions.is-wrapped,#connection-editor-form .dialog-actions.is-wrapped{grid-column:1 / -1;width:100%;justify-self:stretch;justify-content:flex-start}.administration-dialog-body{min-width:0;padding:14px;background:color-mix(in srgb,var(--surface) 92%,var(--canvas-background));overflow:visible}.context-choice-dialog .context-choice-list{min-width:0;box-sizing:border-box;padding:0}.context-choice-list button{display:grid;gap:5px;border:1px solid var(--line);border-radius:9px;padding:12px;background:var(--dropdown-item-background);color:var(--dropdown-text);text-align:left}.context-choice-list button:hover{border-color:#fff}.context-choice-list span{color:var(--muted);font-size:10px}.relationship-status{margin-top:8px;color:#f0b35b;font-size:8px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.shape-anchor{position:absolute;z-index:7;width:9px;height:9px;padding:0;border:1px solid #08120f;border-radius:50%;background:var(--mint);box-shadow:0 0 0 2px #64d8af40;cursor:crosshair;opacity:0;pointer-events:none;transition:opacity .12s ease}.shape-anchor.default{opacity:0}.node:hover .shape-anchor,.node.selected .shape-anchor,.node.connector-active .shape-anchor,.shape-anchor.active{opacity:1;pointer-events:auto}.shape-anchor.custom{width:11px;height:11px;background:var(--lime);cursor:grab}.shape-anchor.custom:active{cursor:grabbing}.shape-anchor.active{outline:3px solid #c9f36c70}.shape-anchor[data-anchor-edge=north]{top:0;transform:translate(-50%,-50%)}.shape-anchor[data-anchor-edge=south]{bottom:0;transform:translate(-50%,50%)}.shape-anchor[data-anchor-edge=west]{left:0;transform:translate(-50%,-50%)}.shape-anchor[data-anchor-edge=east]{right:0;transform:translate(50%,-50%)}.node>.shape-resize-handle{position:absolute;z-index:9;right:-8px;bottom:-8px;display:block;width:17px;height:17px;border:1px solid var(--canvas-background);border-radius:3px;background:linear-gradient(135deg,transparent 0 34%,var(--lime) 35% 45%,transparent 46% 54%,var(--lime) 55% 65%,transparent 66%);box-shadow:0 0 0 1px color-mix(in srgb,var(--lime) 60%,transparent);cursor:nwse-resize;opacity:0;touch-action:none;transition:opacity .12s ease}.node:hover .shape-resize-handle,.node.selected .shape-resize-handle,.shape-resize-handle.active{opacity:1}.canvas.resizing-shape,.canvas.resizing-shape *,body.shape-resizing,body.shape-resizing *{cursor:var(--shape-resize-cursor, nwse-resize)!important}.node>*{display:block}.node i{width:34px;height:34px;margin:0 auto 8px;display:grid;place-items:center;border-radius:11px;background:#1b342c;color:var(--mint);font-style:normal}.node small{margin-top:5px;color:var(--muted);line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.node-context-type{min-width:0;margin-top:7px;padding-top:5px;border-top:1px solid color-mix(in srgb,var(--context-border-color, #315047) 70%,transparent);overflow:hidden;font-size:10px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.root{border-color:#638033}.root i{background:var(--lime);color:#15200e}.node.leaf{border-color:#316553}.node.expanded{border-color:#789d3d;box-shadow:0 0 0 1px #c9f36c18 inset}.node.root.selected,.node.leaf.selected,.node.expanded.selected{border-color:var(--selection-color);box-shadow:inset 0 0 0 var(--selection-thickness) var(--selection-color),0 12px 28px #0006}.treatment-badge{width:max-content;margin:9px auto 0;padding:3px 7px;border-radius:999px;background:#193128;color:var(--mint);font-size:8px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.expanded .treatment-badge{background:#29361a;color:var(--lime)}.editor-status-line{width:100%;min-height:56px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-start;border-top:1px solid var(--line);padding:10px 18px;background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--muted);font-size:12px;transition:background .16s ease,border-color .16s ease}.editor-status-line .page-status{flex:0 0 auto;margin:0}.editor-status-line.status-editing{border-color:#a86f2f;background:linear-gradient(90deg,#2d2114ed,#171a13ed)}.editor-status-line.status-draft{border-color:#8066ae;background:linear-gradient(90deg,#251d35ed,#15171bed)}.editor-status-line.status-saved{border-color:#3c806b;background:linear-gradient(90deg,#123028ed,#0c1c17ed)}.editor-status-line.status-milestone{border-color:#9fbd4a;background:linear-gradient(90deg,#293613ed,#18200fed)}.editor-status-line.status-milestone-draft{border-color:#b18ad9;background:linear-gradient(90deg,#30213ded,#21172bed)}.editor-status-line.status-saved-draft{border-color:#5d9f89;background:linear-gradient(90deg,#17352ded,#10231ded)}.editor-status-line.status-editing,.editor-status-line.status-draft,.editor-status-line.status-saved,.editor-status-line.status-milestone,.editor-status-line.status-milestone-draft,.editor-status-line.status-saved-draft{background:color-mix(in srgb,var(--surface) 94%,transparent)}.none{position:absolute;left:50%;top:70%;transform:translate(-50%);color:var(--muted)}.inspector-sidebar{position:relative;display:flex;min-width:0;min-height:0;flex-direction:column;padding:23px;border-left:1px solid var(--line);background:color-mix(in srgb,var(--surface) 72%,transparent);overflow-x:hidden;overflow-y:auto;transition:padding .15s ease}.inspector-sidebar.collapsed{padding:0}.inspector-sidebar.collapsed>:not(.inspector-toggle){display:none!important}.inspector-toggle{position:absolute;z-index:4;top:8px;right:8px;width:28px;height:28px;border:1px solid var(--line);border-radius:7px;padding:0;background:var(--surface-interactive);color:var(--mint);font-size:20px;line-height:1}.inspector-sidebar.collapsed .inspector-toggle{right:6px}aside h2{font:500 24px Georgia,serif;margin:8px 0}aside>p{color:var(--muted);line-height:1.55}.minimap-window{position:fixed;z-index:1900;right:24px;bottom:24px;width:300px;padding:8px;border:1px solid var(--dropdown-border);border-radius:10px;background:var(--dropdown-background);box-shadow:0 16px 40px #0009}.minimap-window[hidden]{display:none}.minimap-window header{height:auto;min-height:34px;padding:4px 5px 8px;display:flex;align-items:center;justify-content:space-between;border:0;cursor:move;background:transparent;color:var(--dropdown-muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.minimap-window header span{margin-left:auto;margin-right:8px;font-size:9px}.minimap-window header button{width:25px;height:25px;padding:0;border:1px solid var(--dropdown-border);border-radius:6px;cursor:pointer;background:var(--dropdown-item-background);color:var(--dropdown-accent)}.minimap-surface{position:relative;width:100%;height:160px;border:1px solid #345047;border-radius:8px;overflow:hidden;cursor:crosshair;background-color:var(--context-canvas-background, #07110f);background-image:linear-gradient(#56756518 1px,transparent 1px),linear-gradient(90deg,#56756518 1px,transparent 1px);background-size:12px 12px}.minimap-content{position:absolute;inset:0;color:var(--muted);font-size:10px}.minimap-content i{position:absolute;z-index:3;width:7px;height:7px;border-radius:2px;background:var(--mint);transform:translate(-50%,-50%);cursor:pointer}.minimap-content i.selected{box-shadow:0 0 0 var(--selection-thickness) var(--selection-color),0 0 8px var(--selection-color)}.minimap-lines{position:absolute;z-index:1;overflow:visible}.minimap-lines polyline{fill:none;stroke:#416458;stroke-width:1.5;vector-effect:non-scaling-stroke}.minimap-lines polyline.relationship{stroke:#f0b35b}.minimap-lines polyline.selected{stroke:var(--selection-color);stroke-width:var(--selection-thickness)}.minimap-content i.root{width:9px;height:9px;background:var(--lime)}.minimap-content i.relationship{width:7px;height:7px;border-radius:1px;background:#f0b35b;transform:translate(-50%,-50%) rotate(45deg)}.minimap-viewport{position:absolute;z-index:2;min-width:72px;min-height:48px;border:2px solid var(--lime);border-radius:3px;background:#c9f36c18;box-shadow:0 0 0 1px #07110faa;cursor:move;transform:translate(-50%,-50%);pointer-events:auto}.minimap-surface.unavailable{display:grid;place-items:center;padding:16px;text-align:center;cursor:default}dl div{padding:12px 0;border-top:1px solid var(--line)}dt{color:var(--muted);font-size:9px;text-transform:uppercase}dd{margin:5px 0 0;font-size:11px;overflow-wrap:anywhere}.provenance-panel{margin-top:18px;padding-top:4px;border-top:1px solid var(--line)}.provenance-panel h3{margin:18px 0 8px;color:var(--mint);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.provenance-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.provenance-heading button{padding:5px 8px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--lime);cursor:pointer;font-size:9px}.inspector-edit-element{width:100%;margin:8px 0 4px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--lime);cursor:pointer;font-size:10px}.element-search-results{display:grid;gap:5px;max-height:180px;overflow:auto}.element-search-results[hidden]{display:none}.searchable-element-picker{position:relative;z-index:4}.relationship-role-picker{position:relative;z-index:40}.relationship-role-picker .element-search-results{position:absolute;top:100%;right:0;left:0;z-index:20;margin-top:4px;padding:6px;border:1px solid var(--line);border-radius:8px;background:var(--panel-strong, var(--panel));box-shadow:0 12px 30px #00000059}.relationship-role-picker .element-search-results:empty{display:none}.searchable-element-picker .element-search-results{position:absolute;top:100%;right:0;left:0;z-index:20;margin-top:4px;padding:6px;border:1px solid var(--line);border-radius:8px;background:var(--panel-strong, var(--panel));box-shadow:0 12px 30px #00000059}.searchable-element-picker .element-search-results:empty{display:none}.thing-view-preview{position:fixed;z-index:2100;display:grid;gap:6px;width:min(360px,calc(100vw - 32px));max-height:min(360px,calc(100vh - 32px));overflow:auto;padding:9px 10px;border:1px solid var(--line);border-left:2px solid var(--aqua);border-radius:7px;background:var(--panel-strong, #071914);opacity:1;box-shadow:0 14px 34px #0000008c;color:var(--text);font-size:12px}.thing-view-preview[hidden]{display:none}.thing-view-preview>small,.thing-view-preview li small{color:var(--muted)}.thing-view-preview ul{display:grid;gap:5px;margin:0;padding:0;list-style:none}.thing-view-preview li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:baseline}.element-search-results button{display:grid;gap:3px;padding:8px;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--text);cursor:pointer;text-align:left}.element-search-results small{color:var(--muted);overflow-wrap:anywhere}.element-context-menu{position:fixed;z-index:1000;display:grid;min-width:170px;padding:6px;border:1px solid var(--dropdown-border, var(--line));border-radius:8px;background:var(--dropdown-background, var(--panel));box-shadow:0 14px 36px #00000073}.element-context-menu[hidden]{display:none}.element-context-menu button{padding:9px 11px;border:0;border-radius:6px;background:transparent;color:var(--text);cursor:pointer;text-align:left}.element-context-menu button:hover:not(:disabled){color:var(--lime);font-weight:800;outline:2px solid color-mix(in srgb,var(--lime) 65%,white);outline-offset:-2px}.element-context-menu button:focus-visible{color:var(--lime);font-weight:800;outline:2px solid white;outline-offset:-2px}.element-context-menu button:disabled{color:var(--muted);cursor:not-allowed;opacity:.55}.element-context-menu button[data-popup-locked]{opacity:.28}.provenance-panel.loading,.provenance-panel.failed,.inspector-empty{color:var(--muted);font-size:11px;line-height:1.5}.provenance-panel.failed{color:var(--secondary-accent, #ffb84d)}.external-reference{display:grid;gap:5px;margin-bottom:8px;padding:10px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--panel) 84%,transparent)}.external-reference strong,.external-reference code{overflow-wrap:anywhere;font-size:11px}.external-reference small,.provenance-assertion small{color:var(--muted);font-size:9px;line-height:1.45}.provenance-assertion{margin-bottom:8px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--panel) 84%,transparent)}.provenance-assertion summary{padding:10px;cursor:pointer}.provenance-assertion summary span{display:inline-grid;gap:4px;max-width:calc(100% - 18px);vertical-align:top}.provenance-assertion dl{margin:0 10px}.provenance-assertion pre{max-height:220px;margin:8px 10px 10px;padding:9px;overflow:auto;border-radius:6px;background:var(--canvas-background, #07110f);color:var(--text, #edf5ef);font-size:9px;white-space:pre-wrap;overflow-wrap:anywhere}.loader{width:36px;height:36px;border:2px solid var(--line);border-top-color:var(--lime);border-radius:50%;animation:s .8s linear infinite}@keyframes s{to{transform:rotate(360deg)}}dialog{--panel: var(--surface);--panel-strong: var(--surface-raised);width:min(500px,calc(100vw - 30px));padding:0;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--text)}dialog::backdrop{background:#010705c9;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}dialog.floating-editor{position:fixed;z-index:2000;max-height:calc(100vh - 88px - var(--activity-history-height));margin:0;overflow:auto;overscroll-behavior:contain;box-shadow:0 24px 70px #000a;min-width:min(540px,calc(100vw - 30px));width:min(680px,calc(100vw - 30px));max-width:calc(100vw - 30px);box-sizing:border-box;resize:none}dialog.floating-editor:has(.thing-class-options:not([hidden])),dialog.floating-editor:has(.element-search-results:not([hidden])){overflow:visible}#class-editor-dialog:has(.thing-class-options:not([hidden])){overflow:auto}.dialog-resize-handle{position:fixed;z-index:2100;width:18px;height:18px;cursor:nwse-resize;touch-action:none}.dialog-resize-handle:after{position:absolute;right:3px;bottom:3px;width:9px;height:9px;content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted)}.dialog-resize-handle:hover:after,.dialog-resize-handle:focus-visible:after{border-color:var(--mint)}.thing-delete-dialog{width:min(520px,calc(100vw - 30px))}.thing-delete-dialog>section{display:grid;gap:12px;padding:18px 22px}.thing-delete-dialog p{margin:0}.thing-delete-identity-option{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--input-background)}.thing-delete-dialog .actions{justify-content:flex-end}#context-dialog,#lookup-editor-dialog,#connection-contract-dialog,#treatment-dialog{overflow:visible}dialog.floating-editor .dialog-head{position:sticky;top:0;z-index:4;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:3px 0 8px;background:var(--surface);cursor:grab;-webkit-user-select:none;user-select:none}#element-editor-dialog .dialog-head{top:-18px;margin:-18px -22px 0;padding:18px 22px 10px;box-shadow:0 8px 14px #0005}dialog.floating-editor .dialog-head:active{cursor:grabbing}dialog.floating-editor .dialog-head button{cursor:pointer}.dialog-head>button.window-close{display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid var(--line);border-radius:7px;background:var(--surface-interactive);color:var(--text);font:700 20px/1 system-ui,sans-serif;cursor:pointer}.dialog-head>button.window-close:hover,.dialog-head>button.window-close:focus-visible{border-color:#fff;color:var(--lime)}button.dismiss-glyph,button[data-action-icon=cancel]:before,button[data-action-icon=close]:before{font-weight:400;opacity:.52;transition:opacity .12s ease,color .12s ease,background-color .12s ease,border-color .12s ease}button.dismiss-glyph{border-color:color-mix(in srgb,var(--line) 58%,transparent)!important;background:color-mix(in srgb,var(--surface-interactive) 54%,transparent)!important;color:color-mix(in srgb,var(--text) 68%,transparent)!important;font-weight:400!important}button.dismiss-glyph:hover,button.dismiss-glyph:focus-visible{border-color:#fff!important;background:color-mix(in srgb,var(--surface-interactive) 54%,transparent)!important;color:var(--lime)!important;opacity:1}button[data-action-icon=cancel]:hover:before,button[data-action-icon=cancel]:focus-visible:before,button[data-action-icon=close]:hover:before,button[data-action-icon=close]:focus-visible:before{opacity:1}.connection-line-colour{display:flex;align-items:end;gap:16px}.connection-line-colour>label{flex:0 0 auto}.connection-line-preview{display:grid;align-items:center;width:150px;height:38px;padding:0 8px;border:1px solid var(--line);border-radius:7px;background:var(--input-background)}.connection-line-preview>span{display:block;width:100%;border-top:var(--connection-preview-width, 3px) var(--connection-preview-style, solid) var(--connection-preview-colour, #f0b35b)}.connection-label-visible{display:inline-flex!important;grid-template-columns:none!important;justify-content:start;align-items:center;width:max-content;gap:7px;cursor:pointer}.connection-label-visible>input{width:auto!important;margin:0}.recycle-bin-dialog{width:min(760px,calc(100vw - 30px))}dialog.recycle-bin-dialog .dialog-head>button.recycle-bin-close{padding:7px 12px;border:1px solid var(--line);border-radius:7px;background:var(--surface-interactive);color:var(--text);font:inherit;font-size:12px;cursor:pointer}dialog.recycle-bin-dialog .dialog-head>button.recycle-bin-close:hover,dialog.recycle-bin-dialog .dialog-head>button.recycle-bin-close:focus-visible{border-color:var(--text-strong)}.thing-view-dialog input[readonly],.thing-view-dialog textarea[readonly]{cursor:default;color:var(--text);background:var(--input-background)}.thing-view-dialog>.view-editor-form{display:grid;gap:10px;padding:18px 22px}.thing-view-dialog .editor-core-fields{border:1px solid var(--line);border-radius:9px;background:var(--surface-raised)}.thing-view-dialog .editor-core-fields>div{display:grid;gap:8px;padding:12px}.thing-view-dialog .editor-core-fields label{display:grid;grid-template-columns:118px minmax(0,1fr);align-items:center;gap:10px}.thing-view-dialog .editor-core-fields label>span{color:var(--muted)}.thing-view-dialog .editor-core-fields label:has(textarea){align-items:start}.thing-view-dialog .view-dialog-actions{display:flex;align-items:center;gap:7px}.thing-view-dialog .view-dialog-close{padding:7px 13px;border:1px solid var(--lime);border-radius:7px;background:var(--surface-interactive);color:var(--text);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.thing-view-dialog .view-dialog-close:hover,.thing-view-dialog .view-dialog-close:focus-visible{background:var(--surface-interactive-hover);box-shadow:0 0 0 2px color-mix(in srgb,var(--lime) 28%,transparent)}.thing-view-dialog .view-internals-toggle{padding:5px 8px;border:1px solid var(--line);border-radius:7px;background:var(--surface-interactive);color:var(--text);font:inherit;font-size:11px;cursor:pointer}.thing-view-dialog .view-internal-attributes{display:grid;gap:6px;padding:10px 12px;border:1px dashed var(--line);border-radius:8px;background:var(--input-background)}.thing-view-dialog .view-internal-attributes>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px}.thing-view-dialog .view-internal-attributes span{color:var(--muted);font-size:11px}.thing-view-dialog .view-internal-attributes code{overflow-wrap:anywhere;color:var(--aqua);font-size:11px}.thing-view-dialog .view-relationship-details{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--surface-raised)}.thing-view-dialog .view-relationship-details>strong{color:var(--aqua);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.thing-view-dialog .view-relationship-details>div{display:grid;gap:8px}.thing-view-dialog .view-relationship-details label{display:grid;grid-template-columns:118px minmax(0,1fr);align-items:center;gap:10px}.thing-view-dialog .view-relationship-details label:has(textarea){align-items:start}.thing-view-dialog .view-relationship-details label>span{color:var(--muted)}.thing-view-dialog .view-god-action{padding:5px 8px;border:1px solid var(--aqua);border-radius:7px;background:var(--surface-interactive);color:var(--aqua);font:inherit;font-size:11px;font-weight:700;cursor:pointer}.thing-view-dialog .view-god-action:hover:not(:disabled),.thing-view-dialog .view-god-action:focus-visible:not(:disabled){background:var(--surface-interactive-hover);box-shadow:0 0 0 2px color-mix(in srgb,var(--aqua) 28%,transparent)}.thing-view-dialog .view-god-action:disabled{cursor:not-allowed;opacity:.56}.floating-editor .editor-internal-actions{margin-left:auto}.floating-editor .view-internals-toggle{padding:5px 8px;border:1px solid var(--line);border-radius:7px;background:var(--surface-interactive);color:var(--text);font:inherit;font-size:11px;cursor:pointer}.floating-editor .editor-internal-attributes{display:grid;gap:6px;margin:0 14px 10px;padding:10px 12px;border:1px dashed var(--line);border-radius:8px;background:var(--input-background)}.floating-editor .editor-internal-attributes>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px}.floating-editor .editor-internal-attributes span{color:var(--muted);font-size:11px}.floating-editor .editor-internal-attributes code{overflow-wrap:anywhere;color:var(--mint);font-size:11px}.recycle-bin-list{display:grid;gap:8px;padding:12px}.recycle-bin-controls{display:grid;gap:5px;padding:12px;border-bottom:1px solid var(--line)}.recycle-bin-controls>div{display:flex;align-items:center;gap:10px}.recycle-bin-controls label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.recycle-bin-controls input[type=search]{width:min(360px,100%);min-height:27px;padding:4px 7px}.recycle-bin-controls select{width:118px;min-height:27px;padding:3px 6px;font-size:11px}.recycle-bin-controls .recycle-bin-direction{gap:5px;min-height:27px;white-space:nowrap;font-size:10px;letter-spacing:0;text-transform:none}.recycle-bin-item{display:grid;gap:4px;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--surface-raised)}.recycle-bin-item p{margin:0;color:var(--muted)}.recycle-bin-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px}.dialog-head>div:first-child{min-width:0}.dialog-head .dialog-actions{margin-left:auto;flex:0 1 auto;flex-wrap:wrap;justify-content:flex-end;max-width:100%}.dialog-head>button{flex:0 0 auto}.dialog-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:5px}.dialog-actions .dialog-clone-control{order:-1}.dialog-clone-control{display:inline-flex;align-items:center;gap:5px;max-width:210px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.dialog-clone-control select,.dialog-clone-control input[type=search]{width:130px;min-height:29px;border:1px solid var(--line);border-radius:6px;padding:4px 24px 4px 7px;background:var(--input-background);color:var(--text);font:inherit;font-size:11px}.class-template-picker,.class-parent-picker{position:relative}.class-template-picker .thing-class-options,.class-parent-picker .thing-class-options{z-index:6;width:min(460px,calc(100vw - 80px));max-width:none;min-width:0;left:auto;right:0}.class-parent-picker>input{width:100%;box-sizing:border-box}.dialog-actions button,.dialog-head>button{min-height:29px;padding:5px 8px;font-size:11px;white-space:nowrap}.dialog-actions button.danger,.god-theme-preview button.danger{border-color:var(--button-danger-border, #a54b43);background:var(--button-danger-background, #351a1a);color:var(--button-danger-text, #ffc4bb)}.dialog-actions button.danger:hover:not(:disabled),.god-theme-preview button.danger:hover:not(:disabled),.god-theme-preview button.danger:focus-visible:not(:disabled){border-color:var(--button-danger-highlight-border, #ef776b);background:var(--button-danger-highlight-background, var(--button-danger-background, #351a1a));color:var(--button-danger-text, #fff1ee);box-shadow:0 0 0 1px var(--button-danger-glow, #ef776b),0 0 12px color-mix(in srgb,var(--button-danger-glow, #ef776b) 46%,transparent)}.dialog-actions button.danger:disabled{cursor:wait;opacity:.7}dialog .dialog-head{padding-right:44px}dialog:not(.floating-editor) .dialog-head{position:relative}.dialog-drag-strip{position:absolute;top:0;right:0;left:0;z-index:4;height:9px;cursor:grab}.dialog-drag-strip:active{cursor:grabbing}.field-help-caption{cursor:help}.field-help-view{position:fixed;z-index:2200;max-width:310px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--surface-raised);box-shadow:0 8px 20px #0009;color:var(--text);font-size:11px;line-height:1.35;pointer-events:none}dialog .dialog-head>button.window-close{position:absolute;top:10px;right:10px;z-index:2}.dialog-head .dialog-actions{margin-right:0}.dialog-actions button.view-internals-toggle.is-toggled{border-color:color-mix(in srgb,var(--line) 62%,transparent);background:color-mix(in srgb,var(--surface-interactive) 45%,transparent);color:color-mix(in srgb,var(--muted) 68%,transparent);opacity:.58}.dialog-actions button.view-internals-toggle.is-toggled:hover,.dialog-actions button.view-internals-toggle.is-toggled:focus-visible{border-color:#fff;color:var(--mint);opacity:1}#connection-editor-dialog [data-connection-editor-delete]{border-color:#d9786c;background:#6a302c;color:#fff0eb}#connection-editor-dialog [data-connection-editor-delete]:hover:not(:disabled),#connection-editor-dialog [data-connection-editor-delete]:focus-visible{border-color:#ffc0b4;background:#91433c;color:#fff}.dialog-head>button{padding:2px 7px;font-size:20px}.editor-core-fields{position:sticky;top:62px;z-index:3;margin:0;border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:0 10px 16px #0005}.editor-core-fields>summary{padding:7px 10px;color:var(--aqua);cursor:pointer;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.editor-core-fields>div{display:grid;gap:8px;padding:0 10px 10px}.editor-core-fields:not([open])>summary{border-radius:9px}#element-editor-form,#connection-editor-form,#context-dialog-form,#lookup-editor-form,#connection-contract-form,#class-editor-form{gap:10px;padding:18px 22px;min-width:0;width:100%;box-sizing:border-box}#connection-contract-form>section,.connection-contract-endpoints{display:grid;gap:10px;border:1px solid var(--line);border-radius:9px;padding:12px}#connection-contract-form h3{margin:0;font-size:15px}#connection-contract-form fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:10px;border:1px solid var(--line);border-radius:7px}#connection-contract-form fieldset>label{display:grid;gap:4px;font-size:12px;color:var(--muted)}#connection-contract-form fieldset>label input,#connection-contract-form fieldset>label select{min-width:0}#connection-contract-form .contract-stable-key{grid-column:1 / -1;margin:0;color:var(--muted);font-size:11px;overflow-wrap:anywhere}#connection-contract-form .connection-contract-endpoints{grid-template-columns:repeat(2,minmax(0,1fr))}#connection-contract-form .connection-contract-endpoints legend{padding:0 4px;color:var(--muted)}#element-editor-form>label,#connection-editor-form>label,#context-dialog-form>label,#lookup-editor-form>label,#connection-contract-form>label,#class-editor-form>label{grid-template-columns:118px minmax(0,1fr);align-items:center;gap:10px}#element-editor-form .editor-core-fields>div>label,#connection-editor-form .editor-core-fields>div>label,#context-dialog-form .editor-core-fields>div>label,#lookup-editor-form .editor-core-fields>div>label,#class-editor-form .editor-core-fields>div>label{display:grid;grid-template-columns:118px minmax(0,1fr);align-items:center;gap:10px}#element-editor-form>label>span,#connection-editor-form>label>span,#context-dialog-form>label>span,#lookup-editor-form>label>span,#connection-contract-form>label>span,#class-editor-form>label>span{color:var(--muted);cursor:help}#element-editor-form .editor-core-fields>div>label>span,#connection-editor-form .editor-core-fields>div>label>span,#context-dialog-form .editor-core-fields>div>label>span,#lookup-editor-form .editor-core-fields>div>label>span,#class-editor-form .editor-core-fields>div>label>span{color:var(--muted);cursor:help}#element-editor-form>label input,#element-editor-form>label select,#element-editor-form>label textarea,#connection-editor-form>label input,#connection-editor-form>label select,#connection-editor-form>label textarea,#context-dialog-form>label input,#context-dialog-form>label select,#context-dialog-form>label textarea,#lookup-editor-form>label input,#lookup-editor-form>label select,#lookup-editor-form>label textarea,#connection-contract-form>label input,#connection-contract-form>label select,#connection-contract-form>label textarea,#class-editor-form>label input,#class-editor-form>label select,#class-editor-form>label textarea{min-width:0}#element-editor-form .editor-core-fields>div>label input,#element-editor-form .editor-core-fields>div>label select,#element-editor-form .editor-core-fields>div>label textarea,#connection-editor-form .editor-core-fields>div>label input,#connection-editor-form .editor-core-fields>div>label select,#connection-editor-form .editor-core-fields>div>label textarea,#context-dialog-form .editor-core-fields>div>label input,#context-dialog-form .editor-core-fields>div>label select,#context-dialog-form .editor-core-fields>div>label textarea,#lookup-editor-form .editor-core-fields>div>label input,#lookup-editor-form .editor-core-fields>div>label select,#lookup-editor-form .editor-core-fields>div>label textarea,#class-editor-form .editor-core-fields>div>label input,#class-editor-form .editor-core-fields>div>label select,#class-editor-form .editor-core-fields>div>label textarea{min-width:0}#context-dialog-form .context-element-picker{display:grid;min-width:0;gap:8px}#context-dialog-form .context-element-picker input,#context-dialog-form .context-element-picker select{width:100%;min-width:0}#context-dialog-form .context-refinement-element{display:grid;gap:6px}#context-dialog-form .context-refinement-element>span{color:var(--muted);font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}#context-dialog-form .context-refinement-element output{display:block;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:var(--field-background, var(--surface));color:var(--text)}#context-dialog-form .context-type-picker,#context-dialog-form .context-type-picker>input[type=search],#context-dialog-form .context-clone-picker,#context-dialog-form .context-clone-picker>input[type=search]{width:100%;min-width:0}#element-editor-form>label.editor-field-description,#connection-editor-form>label:has(textarea),#lookup-editor-form>label:has(textarea),#class-editor-form>label:has(textarea){align-items:start}#connection-editor-form>label.connection-name-field{display:grid;grid-template-columns:118px minmax(0,1fr)}#connection-editor-form .editor-core-fields>div>label.connection-name-field{display:grid;grid-template-columns:118px minmax(0,1fr)}#connection-editor-form>label.connection-name-field>.generated-name-control{display:block;width:100%;min-width:0}#connection-editor-form .editor-core-fields>div>label.connection-name-field>.generated-name-control{display:block;width:100%;min-width:0}#connection-editor-form>label.connection-name-field>.generated-name-control>input{box-sizing:border-box;width:100%!important}#connection-editor-form .editor-core-fields>div>label.connection-name-field>.generated-name-control>input{box-sizing:border-box;width:100%!important}#connection-editor-form .generated-name-control.is-generated>input{color:color-mix(in srgb,var(--text) 42%,transparent);border-color:color-mix(in srgb,var(--line) 66%,transparent)}#connection-editor-form .generated-name-control.is-generated:focus-within>input{color:var(--text);border-color:var(--lime)}#element-editor-form>label.editor-field-description textarea,#connection-editor-form>label textarea,#lookup-editor-form>label textarea,#connection-contract-form>label textarea,#class-editor-form>label textarea{min-height:58px}#element-editor-form .dialog-head h2,#connection-editor-form .dialog-head h2,#context-dialog-form .dialog-head h2,#lookup-editor-form .dialog-head h2,#class-editor-form .dialog-head h2{font-size:24px}#element-editor-form .context-summary{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:5px 10px;padding:8px 10px;font-size:10px}#element-editor-form .context-summary b{min-width:0;overflow:hidden;text-overflow:ellipsis}.class-attributes{display:grid;gap:7px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--input-background)}#class-editor-dialog{width:min(980px,calc(100vw - 30px))}.class-visual>div:first-child{display:grid;gap:3px}.class-visual>div:first-child small{color:var(--muted);line-height:1.35}.class-attributes>div:first-child{display:flex;justify-content:space-between;align-items:center}.class-attributes strong small{margin-left:8px;color:var(--muted);font-size:10px;font-weight:400}.class-attribute-row{display:grid;grid-template-columns:36px max-content max-content max-content 26px 26px;gap:5px;align-items:center}.class-attribute-row label{display:flex;gap:3px;align-items:center;font-size:10px;white-space:nowrap}.class-attribute-row input,.class-attribute-row select{field-sizing:content;min-width:130px;max-width:300px}.class-attribute-row select{min-width:105px}.class-attribute-row .attribute-required{width:32px;min-width:32px;height:32px;color:#789487;border-color:transparent;background:transparent;font-size:16px}.class-attribute-row .attribute-required[aria-pressed=true]{color:var(--lime);border-color:var(--lime);background:color-mix(in srgb,var(--lime) 20%,var(--surface-interactive));box-shadow:0 0 10px color-mix(in srgb,var(--lime) 35%,transparent)}.class-attribute-row .attribute-drag{cursor:grab;color:var(--muted)}.class-attribute-row .attribute-drag:active{cursor:grabbing}.class-attribute-row.is-dragging{opacity:.55}.attribute-drag-preview{position:fixed;top:-10000px;left:-10000px;width:max-content;min-width:420px;padding:5px;border:1px solid var(--lime);border-radius:7px;background:#0d2119;box-shadow:0 10px 24px #0009;opacity:.95}.class-attribute-row button{min-width:26px;padding:5px}@media(max-width:700px){.class-attribute-row{grid-template-columns:36px minmax(120px,1fr) minmax(120px,1fr) 90px 26px 26px}}.thing-class-field .thing-class-picker{width:100%}.thing-attribute-fields{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:9px;background:var(--input-background)}.thing-class-options{display:grid;gap:5px;position:absolute;z-index:50;top:calc(100% + 4px);right:0;left:0;max-height:210px;overflow:auto;padding:5px;border:1px solid var(--line);border-radius:8px;background:var(--dropdown-background, var(--surface));box-shadow:0 12px 24px #0009;overscroll-behavior:contain}.thing-class-options[hidden]{display:none}.thing-class-options{gap:0;padding:0;border-radius:0 0 7px 7px}.thing-class-options>button{display:block;width:100%;min-height:0;padding:8px 10px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--text);font:inherit;font-size:12px;line-height:1.3;text-align:left}.thing-class-options>button:last-of-type{border-bottom:0}.thing-class-options>button:hover,.thing-class-options>button:focus-visible{outline:0}.class-group-class-assignment{display:grid;gap:8px}.class-group-class-assignment>div:first-child{display:grid;gap:3px}.class-group-class-assignment>div:first-child small{color:var(--muted);line-height:1.35}.class-group-class-picker .thing-class-options{z-index:8}.class-group-class-picker .thing-class-options.opens-upward{top:auto;bottom:calc(100% + 4px);border-radius:7px 7px 0 0}.class-group-class-picker .thing-class-options small{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px}.class-group-class-controls{display:grid;width:100%;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px}.class-group-class-picker{width:100%;min-width:0}.class-group-class-picker>input{box-sizing:border-box;width:100%}.class-group-class-controls>button{min-height:34px}.class-group-key-format,.class-group-key-format code{text-transform:none}.class-group-class-results{display:flex;flex-wrap:wrap;gap:6px;min-height:30px;padding:8px;border:1px solid var(--line);border-radius:7px;background:var(--input-background)}.class-group-class-results span{display:inline-flex;align-items:baseline;gap:5px;padding:4px 7px;border-radius:5px;background:var(--surface-raised);color:var(--text);font-size:11px}.class-group-class-results button{min-width:18px;min-height:18px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);font:inherit;font-size:16px;line-height:1}.class-group-class-results button:hover,.class-group-class-results button:focus-visible{background:color-mix(in srgb,var(--danger, #ff5968) 20%,transparent);color:var(--danger, #ff5968)}.class-group-class-results small,.class-group-class-results p{margin:0;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px}.thing-class-picker{position:relative}.relationship-meaning-picker,.relationship-direction-picker{z-index:40}.relationship-meaning-picker:has(.thing-class-options:not([hidden])),.relationship-direction-picker:has(.thing-class-options:not([hidden])),.relationship-role-picker:has(.thing-class-options:not([hidden])),.relationship-role-picker:has(.element-search-results:not([hidden])){z-index:60}dialog form{display:grid;gap:17px;padding:24px}.dialog-head{display:flex;justify-content:space-between}#relationship-dialog .dialog-head .actions{display:flex;align-items:center;gap:8px;margin-left:auto}#relationship-dialog{max-height:calc(100vh - 88px - var(--activity-history-height));overflow:auto;overscroll-behavior:contain}#relationship-dialog .dialog-head{position:sticky;top:0;z-index:4;padding:18px 22px 10px;margin:-24px -24px 12px;background:var(--surface);box-shadow:0 8px 14px #0005}.dialog-head h2{font:500 28px Georgia,serif;margin:4px 0}.dialog-head>button{border:0;background:transparent;color:var(--muted);font-size:25px}.note{padding:11px;border-left:2px solid var(--mint);background:var(--surface-raised);color:var(--muted);font-size:12px}.context-summary{padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--input-background)}.context-summary span,.context-summary b{display:block}.context-summary span{color:var(--muted);font-size:9px;text-transform:uppercase}.context-summary b{margin-top:4px}.participant{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:13px;border:1px solid var(--line);border-radius:10px}.participant>strong{grid-column:1/-1;color:var(--mint);font-size:11px}.participant .readonly-participant-field{appearance:none;padding-right:12px;cursor:default}#connection-editor-form>label{display:grid;grid-template-columns:1fr;align-items:stretch;gap:6px}#connection-editor-form>label.connection-name-field{grid-template-columns:1fr}#connection-editor-form>label>span{color:var(--muted)}#connection-editor-dialog{width:min(620px,calc(100vw - 30px));min-width:min(620px,calc(100vw - 30px));overflow:hidden}#connection-editor-form{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-auto-flow:row;max-height:calc(100vh - 88px - var(--activity-history-height));overflow:auto}#connection-editor-form>*{grid-column:1 / -1!important;width:100%;min-width:0;box-sizing:border-box}#connection-editor-form .dialog-actions{flex-wrap:wrap;justify-content:flex-end}#relationship-dialog{width:min(620px,calc(100vw - 30px));min-width:min(620px,calc(100vw - 30px));overflow:hidden}#relationship-form{max-height:calc(100vh - 88px - var(--activity-history-height));overflow:auto;overscroll-behavior:contain}.connection-participants{display:grid;gap:10px}.connection-participants>strong{color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.connection-participants .participant label{display:grid;gap:5px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.connection-participants input[readonly]{cursor:default}.mode-toggle{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.mode-toggle select{min-width:82px;padding:6px 24px 6px 8px;font:inherit;color:var(--text)}.alfaai-status-indicator{display:inline-grid;width:32px;height:32px;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface-interactive);color:var(--text);font-size:17px;line-height:1}.alfaai-status-indicator.is-enabled{border-color:var(--aqua);box-shadow:0 0 12px color-mix(in srgb,var(--aqua) 45%,transparent);filter:saturate(1.15)}.alfaai-status-indicator.is-disabled{opacity:.28;filter:grayscale(1)}.alfaai-status-indicator.is-enabled{cursor:pointer}.alfaai-status-indicator.is-enabled:hover,.alfaai-status-indicator.is-enabled:focus-visible{border-color:var(--lime);background:var(--surface-interactive-hover);outline:none}.alfaai-status-indicator:disabled{cursor:not-allowed}.god-mode .mode-toggle select{border-color:#ff5968;background:#7e1726;color:#ffe7e9;font-weight:800}.god-template-dialog{width:min(520px,calc(100vw - 28px))}.god-template-dialog form{display:grid;gap:16px;padding:18px 22px}.god-template-picker{display:grid;gap:7px}.god-template-picker>span{color:#ffadb5;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.god-mode .god-template-picker select{border-color:#ff5968;background:#421820;color:#ffe7e9}.god-template-dialog .actions{justify-content:flex-end}.god-force-template-dialog{width:min(520px,calc(100vw - 28px))}.branch-merge-dialog{width:min(620px,calc(100vw - 28px))}.branch-merge-dialog section{margin:14px 0;border:1px solid var(--line);border-radius:8px;padding:10px 14px;background:var(--surface-raised)}.branch-merge-dialog h3{margin:0 0 7px;font-size:13px}.branch-merge-dialog ul{margin:0;padding-left:20px;display:grid;gap:4px}.god-force-template-dialog>section{display:grid;gap:16px;padding:18px 22px}.god-force-template-dialog::backdrop{background:#050807c7;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.god-force-warning{padding:14px 15px;border:1px solid #ff5968;border-left-width:4px;border-radius:8px;background:color-mix(in srgb,#991d2d 28%,var(--surface-raised));color:#ffe7e9}.god-force-warning strong{display:block;margin-bottom:7px;color:#ff929d}.god-force-warning p{margin:0;line-height:1.5}.god-force-template-dialog .actions{justify-content:flex-end}.god-theme-dialog{width:min(840px,calc(100vw - 28px))}.model-security-dialog{width:min(680px,calc(100vw - 28px))}.model-security-dialog form{display:grid;gap:13px;padding:27px 22px 18px}.model-security-dialog textarea{min-height:100px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.god-theme-dialog form{display:grid;gap:13px;padding:27px 22px 18px}.god-theme-dialog>.dialog-drag-strip{z-index:5;height:15px;border-bottom:1px solid color-mix(in srgb,var(--button-god-border, #ff5968) 72%,var(--line));border-radius:15px 15px 0 0;background:linear-gradient(90deg,transparent 0 37%,color-mix(in srgb,var(--button-god-border, #ff5968) 72%,transparent) 37% 63%,transparent 63%),var(--surface-raised);box-shadow:0 2px 8px color-mix(in srgb,var(--button-god-glow, #ff5968) 22%,transparent)}.god-theme-dialog>.dialog-drag-strip:hover{border-bottom-color:var(--button-god-highlight-border, #ffd2d6);box-shadow:0 2px 12px color-mix(in srgb,var(--button-god-glow, #ff5968) 42%,transparent)}.god-theme-dialog .dialog-head>button.window-close{position:absolute;z-index:7;top:21px;right:12px;width:30px;height:30px}.god-theme-dialog .dialog-head{padding-right:40px}.god-theme-selectors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.god-theme-selector{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:10px}.god-theme-selector>span{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.god-theme-roles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:min(470px,calc(100vh - 320px));overflow:auto}.god-theme-roles fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px;margin:0;border:1px solid var(--line);border-radius:8px;padding:10px}.god-theme-roles legend{padding:0 5px;color:var(--mint);font-size:11px;font-weight:800}.god-theme-roles label{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:9px;color:var(--muted);font-size:10px}.god-theme-roles label>span{min-width:0;line-height:1.25;overflow-wrap:anywhere}.god-theme-roles .theme-colour-button{width:42px;min-width:42px;height:30px;min-height:30px;border:2px solid var(--line);border-radius:5px;padding:0}.theme-colour-picker{position:fixed;z-index:5000;width:238px;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);box-shadow:0 18px 44px #000a}.theme-colour-picker[hidden]{display:none}.theme-colour-picker-drag{display:flex;align-items:center;justify-content:space-between;min-height:32px;padding:4px 5px 4px 10px;border-bottom:1px solid var(--line);background:var(--surface-raised);cursor:grab;-webkit-user-select:none;user-select:none}.theme-colour-picker-drag:active{cursor:grabbing}.theme-colour-picker-drag strong{color:var(--text);font-size:11px}.theme-colour-picker-drag button{display:grid;place-items:center;width:24px;min-width:24px;height:24px;min-height:24px;padding:0;font-size:17px;line-height:1}.theme-colour-picker-field{position:relative;height:126px;border-bottom:1px solid var(--line);cursor:crosshair;touch-action:none}.theme-colour-picker-field i{position:absolute;width:13px;height:13px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #000;transform:translate(-50%,-50%);pointer-events:none}.theme-colour-picker-hue{display:block;width:calc(100% - 20px);height:13px;margin:10px;padding:0;border:0;border-radius:8px;appearance:none;background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red);cursor:pointer}.theme-colour-picker-hue::-webkit-slider-thumb{width:12px;height:18px;border:2px solid #fff;border-radius:5px;appearance:none;background:transparent;box-shadow:0 0 0 1px #000}.theme-colour-picker-hue::-moz-range-thumb{width:9px;height:15px;border:2px solid #fff;border-radius:5px;background:transparent;box-shadow:0 0 0 1px #000}.theme-colour-picker>label{grid-template-columns:38px minmax(0,1fr);align-items:center;margin:10px 10px 8px}.theme-colour-picker input{min-width:0;padding:7px 8px}.theme-colour-picker-rgb{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:0 10px 11px}.theme-colour-picker-rgb label{gap:4px;text-align:center}.theme-colour-picker-rgb input{width:100%;padding:7px 4px;text-align:center}.god-theme-preview{display:grid;gap:8px;padding:11px;border:1px dashed #ff5968;border-radius:8px}.god-theme-preview>strong{color:#ff929d;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.god-theme-preview>div{display:flex;flex-wrap:wrap;gap:8px}.theme-display-card{display:grid;flex:1 1 190px;gap:5px;min-height:100px;padding:12px;border:1px solid var(--button-card-border, var(--line));border-radius:9px;background:var(--button-card-background, var(--surface-raised));color:var(--button-card-text, var(--text))}.theme-display-card small{color:var(--button-card-highlight-border, var(--mint));font-size:9px;font-weight:800;text-transform:uppercase}.theme-display-card span{color:color-mix(in srgb,var(--button-card-text, var(--text)) 68%,transparent);font-size:11px}.theme-display-table{display:grid;flex:1 1 290px;overflow:hidden;border:1px solid var(--button-table-border, var(--line));border-radius:8px;background:var(--button-table-background, var(--surface));color:var(--button-table-text, var(--text));font-size:10px}.theme-display-table>div{display:grid;grid-template-columns:1.3fr 1fr .6fr;gap:6px;padding:8px 9px;border-bottom:1px solid var(--button-table-border, var(--line))}.theme-display-table>div:first-child{background:var(--button-table-highlight-background, var(--surface-raised));color:var(--button-table-highlight-border, var(--mint));font-size:8px;letter-spacing:.06em;text-transform:uppercase}.theme-display-table>div:last-child{border-bottom:0}.god-theme-preview [data-theme-preview=god]{border-color:var(--button-god-border, #ff5968);background:var(--button-god-background, #681f2c);color:var(--button-god-text, #ffe7e9)}.god-theme-preview [data-theme-preview=god]:hover,.god-theme-preview [data-theme-preview=god]:focus-visible,.god-theme-preview [data-theme-preview=god].is-theme-highlight-preview{border-color:var(--button-god-highlight-border, #ffd2d6);background:var(--button-god-highlight-background, #681f2c);box-shadow:0 0 0 1px var(--button-god-glow, #ff5968),0 0 14px color-mix(in srgb,var(--button-god-glow, #ff5968) 52%,transparent)}.god-theme-preview [data-theme-preview=standard].is-theme-highlight-preview{border-color:var(--button-standard-highlight-border, #ffffff);background:var(--button-standard-highlight-background, var(--button-standard-background));color:var(--button-standard-text);box-shadow:0 0 0 1px var(--button-standard-glow, #ffffff),0 0 12px color-mix(in srgb,var(--button-standard-glow, #ffffff) 46%,transparent)}.god-theme-preview [data-theme-preview=primary].is-theme-highlight-preview{border-color:var(--button-primary-highlight-border, #70b7ff)!important;background:var(--button-primary-highlight-background, var(--button-primary-background))!important;color:var(--button-primary-text)!important;box-shadow:0 0 0 1px var(--button-primary-glow, #70b7ff),0 0 12px color-mix(in srgb,var(--button-primary-glow, #70b7ff) 46%,transparent)!important}.god-theme-preview [data-theme-preview=danger].is-theme-highlight-preview{border-color:var(--button-danger-highlight-border, #ef776b);background:var(--button-danger-highlight-background, var(--button-danger-background));color:var(--button-danger-text);box-shadow:0 0 0 1px var(--button-danger-glow, #ef776b),0 0 12px color-mix(in srgb,var(--button-danger-glow, #ef776b) 46%,transparent)}.god-theme-preview [data-theme-preview=disabled].is-theme-highlight-preview{opacity:1;border-color:var(--button-disabled-highlight-border, var(--button-disabled-border));background:var(--button-disabled-highlight-background, var(--button-disabled-background));color:var(--button-disabled-text);box-shadow:0 0 0 1px var(--button-disabled-glow, transparent),0 0 12px color-mix(in srgb,var(--button-disabled-glow, transparent) 46%,transparent)}.god-layout-dialog{width:min(500px,calc(100vw - 28px));max-height:min(720px,calc(100vh - 28px))}.god-layout-dialog form{display:grid;gap:7px;padding:16px 18px}.god-layout-dialog label{display:grid;grid-template-columns:140px minmax(0,1fr);align-items:center;gap:10px}.god-layout-toggles{display:flex;gap:7px}.god-layout-toggles .view-internals-toggle.is-toggled{opacity:.58}.god-layout-json{display:grid;gap:7px;padding:10px 12px;border:1px dashed var(--lime);border-radius:8px;background:color-mix(in srgb,var(--surface) 82%,#3f4b17);color:var(--text)}.god-layout-json strong{color:var(--lime);font-size:11px}.god-layout-json pre{max-height:360px;overflow:auto;margin:0;color:var(--aqua);font:10px/1.35 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap}.god-div-editor{display:grid;gap:8px;padding:10px 12px;border:1px dashed var(--lime);border-radius:8px;background:color-mix(in srgb,var(--surface) 82%,#3f4b17)}.god-div-editor>strong{color:var(--lime);font-size:11px}.god-div-editor>div{display:flex;flex-direction:column;align-items:stretch;gap:7px}.god-div-editor-row,.god-layout-row{display:flex;width:100%;min-width:0;align-items:flex-start;gap:10px}.god-div-editor-row>.god-div-card{flex:1 1 0}.god-layout-row>.god-layout-div{flex:1 1 0;min-width:max-content;align-self:flex-start}.god-div-card{display:grid;min-width:0;grid-template-columns:82px 1fr;gap:4px 8px;padding:8px;border:1px solid var(--line);border-radius:6px;cursor:grab}.god-div-card:active{cursor:grabbing}.god-div-card.is-selected,.god-layout-div.is-selected{background:color-mix(in srgb,#ff78b5 18%,var(--surface));outline:2px solid #ff78b5;outline-offset:3px}.god-div-card>strong{color:var(--aqua)}.god-div-card>small{color:var(--muted);text-align:right}.god-div-items{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:5px}.god-div-items span{padding:3px 6px;border-radius:4px;background:var(--surface);color:var(--text);font-size:10px;cursor:grab}.god-div-items span:hover{background:color-mix(in srgb,#ff78b5 18%,var(--surface));outline:1px solid #ff78b5}.god-layout-active [data-god-field-key]{outline:1px dashed color-mix(in srgb,var(--lime) 66%,transparent);outline-offset:3px;cursor:grab}.god-layout-active [data-god-field-key]:active{cursor:grabbing}.god-layout-active [data-god-field-key]:hover{outline-color:#ff78b5;background:color-mix(in srgb,#ff78b5 10%,transparent)}.god-layout-dialog [data-god-layout-apply].is-dirty{--god-button-background: #c62f42;background:var(--god-button-background)!important;border-color:#ffd2d6!important;color:#fff!important;box-shadow:0 0 14px color-mix(in srgb,#ff5968 36%,transparent);font-weight:800}.god-layout-dragging [data-god-field-key]{transition:transform .14s ease,margin .14s ease,outline-color .14s ease}.god-layout-dragging [data-god-field-key][draggable=true]{opacity:.55}.god-editable-body{display:flex;flex-direction:column;gap:10px;align-items:stretch;margin-top:10px}.god-layout-div{display:flex;min-width:0;flex-direction:column;gap:10px}.god-layout-spacer{min-height:30px;border-radius:6px;background:color-mix(in srgb,var(--surface) 72%,transparent)}.god-layout-active .god-layout-spacer{min-height:30px}.god-show-structure-boundaries .editor-header,.god-show-structure-boundaries .god-editable-body{outline:2px solid #39bfff;outline-offset:4px}.god-show-structure-boundaries .god-layout-div{outline:2px dashed #39bfff;outline-offset:3px}.god-form-context-menu{position:fixed;z-index:2300;display:grid;min-width:190px;gap:3px;padding:5px;border:1px solid var(--lime);border-radius:8px;background:var(--panel, #0b1b15);box-shadow:0 12px 28px #000a}.god-form-context-menu button{padding:8px 10px;border:0;border-radius:5px;background:transparent;color:var(--text);font:inherit;font-size:12px;text-align:left}.god-form-context-menu button:hover,.god-form-context-menu button:focus-visible{outline:0}#relationship-form,#connection-editor-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-flow:row;align-items:start}#connection-editor-form>label{grid-column:auto!important;width:auto}#relationship-form>.dialog-head,#connection-editor-form>.dialog-head,#relationship-form>.context-summary,#connection-editor-form>.context-summary,#relationship-form>.connection-participants,#connection-editor-form>.connection-participants,#relationship-form>.note,#connection-editor-form>.note,#relationship-form>.error,#connection-editor-form>.error{grid-column:1 / -1!important}#relationship-form>.dialog-head,#connection-editor-form>.dialog-head{order:0}#relationship-form>.context-summary,#connection-editor-form>.context-summary{order:1}#relationship-form>label:has(input[name=name]),#connection-editor-form>label.connection-name-field{order:2}#relationship-form>label:has(input[name=displayName]),#connection-editor-form>label:has(input[name=displayName]){order:3}#relationship-form>label:has(textarea[name=description]),#connection-editor-form>label:has(textarea[name=description]){order:4}#relationship-form>.relationship-meaning-picker,#connection-editor-form>.connection-meaning-picker{order:5}#relationship-form>.relationship-direction-picker,#connection-editor-form>.connection-direction-picker{order:6}#relationship-form>.connection-participants,#connection-editor-form>.connection-participants{order:7}#connection-editor-form>label:has(input[name=aliases]){order:8}#connection-editor-form>label:has(select[name=lifecycle]){order:9}#relationship-form>.note,#connection-editor-form>.error,#relationship-form>.error{order:10}.error{color:#ff9d8d;font-size:12px}dialog .dialog-head .editor-status{grid-column:1 / -1;display:none;margin:0 0 12px;padding:8px 10px;border:1px solid #a94f42;border-left:3px solid #ff9d8d;border-radius:6px;background:#351815;color:#ffb4a8;cursor:default;line-height:1.35}dialog .dialog-head:has(.editor-status){display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}dialog .dialog-head .editor-status:not(:empty){display:block}dialog .editor-status-message{display:block;padding:3px 0 3px 8px;border-left:3px solid var(--editor-error-colour, #ff9d8d);color:var(--editor-error-colour, #ffb4a8)}dialog [data-editor-error-index="0"]{--editor-error-colour: #ff9d8d}dialog [data-editor-error-index="1"]{--editor-error-colour: #f7cf68}dialog [data-editor-error-index="2"]{--editor-error-colour: #8fd7ff}dialog [data-editor-error-index="3"]{--editor-error-colour: #db9cff}dialog label[data-editor-error-index]>input:not([type=hidden]),dialog label[data-editor-error-index]>textarea,dialog label[data-editor-error-index]>select,dialog [data-editor-error-index].thing-class-picker,dialog [data-editor-error-index].participant{border-color:var(--editor-error-colour);box-shadow:0 0 0 1px var(--editor-error-colour),0 0 12px color-mix(in srgb,var(--editor-error-colour) 24%,transparent)}.actions{display:flex;justify-content:flex-end;gap:9px}#activity-history{position:fixed;right:0;bottom:0;left:0;z-index:1002;display:grid;grid-template-rows:7px minmax(0,1fr);height:var(--activity-history-height);min-height:52px;max-height:45vh;overflow:hidden;border-top:1px solid var(--line);background:var(--surface);box-shadow:0 -8px 24px #0006}[data-activity-resize]{position:relative;cursor:ns-resize;touch-action:none}[data-activity-resize]:after{position:absolute;top:2px;right:0;left:0;height:2px;background:var(--line);content:""}[data-activity-resize]:hover:after,[data-activity-resize]:focus-visible:after{background:var(--lime)}#toast{min-width:0;overflow-y:auto;scrollbar-color:var(--line) transparent;scrollbar-width:thin}#toast p{display:grid;grid-template-columns:155px minmax(0,1fr);gap:10px;min-height:22px;margin:0;padding:3px 14px;border-bottom:1px solid #213d31;color:#d6e7da;font-size:11px;line-height:16px}#toast time{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}@media(max-width:640px){#toast p{grid-template-columns:minmax(0,1fr);gap:0}#toast time{font-size:9px}}@media(max-width:900px){.lens{align-items:flex-start;flex-direction:column;gap:18px}.lens form{width:100%}.lens label{flex:1}.lens input{width:100%}main{height:auto}.work{grid-template-columns:1fr}.work aside{display:none}.canvas{min-height:600px}}@media(max-width:600px){header{padding:0 15px}.online{display:none}.lens{padding:18px}.editor-page-head{grid-template-columns:1fr;padding:13px 15px;gap:10px}.editor-toolbar-host .canvas-controls{justify-content:flex-start}.page-navigation span{display:none}.lens form{display:grid;grid-template-columns:1fr}.lens form>span{display:none}.work{grid-template-columns:1fr}.stage-head p{display:none}}.dialog-head>button,.dialog-actions button,.actions button,#universe-map-view .dialog-head button{min-height:var(--button-height);padding:var(--button-padding);border:var(--button-border);border-radius:var(--button-radius);background:var(--button-standard-background, var(--surface-interactive));color:var(--button-standard-text, var(--text));font:inherit;font-size:11px;line-height:17px;white-space:nowrap}dialog.recycle-bin-dialog .dialog-head>button.recycle-bin-close,.thing-view-dialog .view-dialog-close{min-height:29px;padding:5px 8px;font-size:11px;line-height:17px}.dialog-head>button:hover,.dialog-head>button:focus-visible,.dialog-actions button:hover:not(:disabled),.actions button:hover:not(:disabled){border-color:var(--button-standard-highlight-border, var(--text-strong))}button:hover:not(:disabled),button:focus-visible:not(:disabled){border-color:var(--button-standard-highlight-border, #ffffff);background:var(--button-standard-highlight-background, var(--button-standard-background, var(--surface-interactive)));box-shadow:0 0 0 1px color-mix(in srgb,var(--button-standard-glow, #ffffff) 78%,transparent),0 0 12px color-mix(in srgb,var(--button-standard-glow, #ffffff) 42%,transparent)}.primary:hover:not(:disabled),.primary:focus-visible:not(:disabled),.lens form>button:hover:not(:disabled),.lens form>button:focus-visible:not(:disabled){border-color:var(--button-primary-highlight-border, #69bfff)!important;background:var(--button-primary-highlight-background, color-mix(in srgb, var(--lime) 76%, white))!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--button-primary-glow, #69bfff) 84%,transparent),0 0 14px color-mix(in srgb,var(--button-primary-glow, #69bfff) 52%,transparent)}dialog .dialog-head{display:grid;grid-template-columns:minmax(0,1fr) max-content;grid-template-rows:auto auto auto;align-items:center;column-gap:9px;padding-top:15px;padding-right:0}dialog .dialog-head>div:first-child{display:contents}dialog .dialog-head>div:first-child>em{grid-column:1;grid-row:1;min-width:0;white-space:nowrap}dialog .dialog-head>div:first-child>h2{grid-column:1 / -1;grid-row:2;min-width:0;white-space:nowrap}dialog .dialog-head .dialog-actions{grid-column:1 / -1;grid-row:3;justify-self:end;margin-left:0}dialog .dialog-head>button.window-close{position:static;grid-column:2;grid-row:1;justify-self:end}.context-choice-dialog .dialog-head .dialog-actions{grid-column:2;grid-row:2;width:auto;justify-self:end;align-self:end;margin:0}.mapping-review-dialog{width:min(1100px,calc(100vw - 30px))}.mapping-review-dialog>section{display:grid;gap:14px;padding:22px}.mapping-review-surface{min-width:0}.mapping-review-dialog .dialog-head{top:-22px;z-index:20;margin:-22px -22px 0;padding:18px 22px 12px;box-shadow:0 8px 14px #0005}.mapping-review-dialog .mapping-review-board{min-width:0}.alfaai-dialog{width:min(760px,calc(100vw - 30px))}.alfaai-dialog form{display:grid;gap:14px;padding:22px}.alfaai-dialog .dialog-head{top:-22px;z-index:20;margin:-22px -22px 0;padding:18px 22px 12px;box-shadow:0 8px 14px #0005}.alfaai-dialog textarea{min-height:100px;resize:vertical}.alfaai-thinking{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px 10px;padding:12px;border:1px solid var(--aqua);border-radius:8px;background:color-mix(in srgb,var(--surface-raised) 88%,var(--aqua));color:var(--text-strong)}.alfaai-thinking small{grid-column:2;color:var(--muted)}.alfaai-thinking .loader{width:20px;height:20px;margin:0}.alfaai-answer{display:grid;gap:8px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--input-background)}.alfaai-answer h3,.alfaai-answer p{margin:0}.alfaai-answer p{white-space:pre-wrap;line-height:1.5}.alfaai-model{color:var(--muted);font-size:12px}.alfaai-answer ul{display:grid;gap:6px;margin:0;padding-left:20px}.alfaai-answer li{overflow-wrap:anywhere;color:var(--muted);font-family:var(--font-mono, monospace);font-size:12px}.local-runtime-action{display:flex;align-items:center;gap:12px}.local-runtime-status{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:13px}.local-runtime-status i{width:11px;height:11px;border:1px solid color-mix(in srgb,var(--text) 38%,transparent);border-radius:50%;background:#f8fafc}.local-runtime-status.is-starting i{background:#f7c948;box-shadow:0 0 9px #f7c94899}.local-runtime-status.is-active i{background:#4cd78c;box-shadow:0 0 9px #4cd78c99}.local-runtime-status.is-errored i{background:#ef5b62;box-shadow:0 0 9px #ef5b6299}.database-debug-toggle{min-width:32px;border:1px solid var(--line);border-radius:7px;background:var(--surface-interactive);color:var(--muted);cursor:pointer;filter:grayscale(1);opacity:.48}.database-debug-toggle.is-active{border-color:var(--lime);color:var(--lime);filter:none;opacity:1;box-shadow:0 0 12px color-mix(in srgb,var(--lime) 55%,transparent)}.database-debug-window{position:fixed;z-index:5000;top:92px;right:18px;box-sizing:border-box;display:flex;flex-direction:column;width:min(520px,calc(100vw - 36px));height:min(540px,calc(100vh - 24px));min-width:320px;min-height:150px;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);resize:both;overflow:hidden;border:1px solid var(--lime);border-radius:10px;padding:8px;background:var(--surface-raised);box-shadow:0 18px 48px #000c}.database-debug-window[hidden]{display:none}.database-debug-window>header{display:flex;flex:0 0 28px;align-items:center;justify-content:space-between;min-height:28px;cursor:move;-webkit-user-select:none;user-select:none}.database-debug-window>header strong{font-size:13px}.database-debug-window>header button{cursor:pointer}.database-debug-window>p{flex:0 0 auto;margin:4px 0;font-size:12px;overflow-wrap:anywhere}.database-debug-window pre{min-height:0;max-height:none;overflow:auto;white-space:pre-wrap}.database-explain-window>pre{flex:1 1 auto;margin:4px 0 0}.database-explain-window{top:116px;right:min(552px,calc(100vw - 36px))}.database-debug-actions{display:flex;gap:6px;margin:6px 0}.database-debug-actions button,.database-trace>button{width:auto;min-width:0;min-height:0;padding:4px 9px;font-size:12px;line-height:1.1}.database-debug-output{display:grid;flex:1 1 auto;min-height:0;gap:8px;overflow:auto;padding-right:2px}.database-trace{display:grid;gap:6px;padding:8px;border:1px solid var(--line);border-radius:7px}.database-trace>button{justify-self:start}.database-trace h4{margin:2px 0 0;font-size:12px}.database-debug-sql{margin:0;padding:8px;border-radius:6px;background:var(--input-background);color:var(--text-strong)}.database-trace-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:5px 12px;margin:0}.database-trace-field{min-width:0}.database-trace-field dt{color:var(--muted);font-size:11px}.database-trace-field dd{margin:1px 0 0;overflow-wrap:anywhere}
