:root{--ui-primary:#52677d;--ui-secondary:#a8b3be;--ui-accent:#d99a3e;--ui-background:#fff;--ui-surface:#fff;--ui-surface-muted:#f8fafc;--ui-surface-subtle:#f1f5f9;--ui-text:#374151;--ui-text-strong:#111827;--ui-text-muted:#4b5563;--ui-border:#d1d5db;--ui-border-strong:#9ca3af;--ui-link-stroke:#6b7280;--ui-shadow:#0f172a1f}:root[data-theme=dark]{--ui-background:#111827;--ui-surface:#1f2937;--ui-surface-muted:#172033;--ui-surface-subtle:#263247;--ui-text:#e5e7eb;--ui-text-strong:#f9fafb;--ui-text-muted:#cbd5e1;--ui-border:#526277;--ui-border-strong:#8491a3;--ui-link-stroke:#cbd5e1;--ui-shadow:#00000059}html,body{background:var(--ui-background);width:100%;height:100%;color:var(--ui-text);margin:0;font-family:system-ui,sans-serif;overflow:hidden}#root{width:100%;height:100%;overflow:hidden}main{box-sizing:border-box;flex-direction:column;width:100%;min-width:0;height:100%;min-height:0;padding:16px;display:flex}.workspace-main{overflow:hidden}.edit-main{box-sizing:border-box;background:#f8fafc;height:100%;padding:32px;overflow:auto}.workspace-main{padding-bottom:52px}.reserve-tab{z-index:30;color:#374151;width:124px;height:44px;font:inherit;cursor:pointer;visibility:visible;background:#e5e7eb;border:1px solid #9ca3af;border-radius:8px 8px 0 0;padding:10px 24px;transition:visibility 0s .2s;position:fixed;bottom:0;right:24px}.reserve-tab[aria-expanded=true]{visibility:hidden;pointer-events:none;transition-delay:0s}.reserve-panel{z-index:25;box-sizing:border-box;clip-path:inset(calc(100% - 44px) 0 0 calc(100% - 124px) round 8px 8px 0 0);opacity:0;visibility:hidden;pointer-events:none;background:#f8fafc;border:1px solid #9ca3af;border-radius:8px;flex-direction:column;width:min(50vw,900px);height:70vh;transition:clip-path .2s,opacity .2s,visibility 0s .2s;display:flex;position:fixed;bottom:0;right:24px;box-shadow:0 -4px 24px #00000026}.reserve-panel.is-open{clip-path:inset(0 round 8px 8px 0 0);opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}.reserve-header{border-bottom:1px solid #d1d5db;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.reserve-header h2{margin:0;font-size:1rem}.reserve-up{font:inherit;cursor:pointer}.reserve-close-button{color:#4b5563;font:inherit;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:4px;padding:6px 10px;font-size:.875rem}.reserve-close-button:hover,.reserve-close-button:focus-visible{background:#f9fafb;border-color:#9ca3af}.reserve-workspace{flex-direction:column;flex:1;min-height:0;display:flex}.reserve-workspace.parent-halo{margin:24px 12px 12px}.reserve-context{padding-top:12px;position:relative}.reserve-actions{position:absolute;top:12px;right:12px}.reserve-actions .auto-layout-button{margin-bottom:0}.reserve-up{margin:0 12px 12px}.reserve-empty{padding:0 16px}.reserve-panel.is-transfer-drop-target{outline-offset:-4px;outline:2px dashed #64748b}.workspace-main.is-reserve-drop-target .children-row{outline-offset:-4px;background:#f1f5f9;outline:2px dashed #64748b}.reserve-transfer-preview{z-index:50;pointer-events:none;box-sizing:border-box;color:#374151;background:#f8fafcd9;border:1px dashed #64748b;border-radius:4px;padding:20px 16px;position:fixed;overflow:hidden}.reserve-panel .edit-main{flex:1;min-height:0}@media (width<=700px){.reserve-panel{width:calc(100vw - 24px);height:65vh;right:12px}.reserve-tab{right:12px}}@media (prefers-reduced-motion:reduce){.reserve-panel,.reserve-tab{transition:none}}[hidden]{display:none!important}.holon-delete-dialog{box-sizing:border-box;color:#374151;border:1px solid #9ca3af;border-radius:8px;width:min(520px,100vw - 48px);padding:24px}.holon-delete-dialog::backdrop{background:#0000004d}.holon-delete-dialog h2{margin-top:0;font-size:1.125rem}.holon-delete-choices{flex-direction:column;gap:12px;display:flex}.holon-delete-choices button{color:#374151;font:inherit;text-align:left;cursor:pointer;background:#f8fafc;border:1px solid #9ca3af;border-radius:4px;padding:10px 12px}.holon-delete-choices .delete-entire-branch{color:#b91c1c;background:#fef2f2;border-color:#b91c1c}h1{color:#374151;margin:0 0 12px 12px;font-size:1.25rem;font-weight:600}.parent-halo{box-sizing:border-box;cursor:pointer;border:1px solid #d1d5db;border-radius:8px;flex-direction:column;flex:1;min-width:0;min-height:0;padding:40px 28px 28px;display:flex;position:relative}.parent-halo-title{color:#111827;font:inherit;cursor:pointer;background:#fff;border:0;padding:2px 12px;font-size:1.5rem;font-weight:700;position:absolute;top:0;left:8px;transform:translateY(-50%)}.visualization-content{cursor:default;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.diagram-header{flex-wrap:wrap;flex:none;justify-content:space-between;align-items:flex-start;column-gap:16px;width:100%;display:flex}.diagram-heading{overflow-wrap:anywhere;flex-direction:column;align-items:flex-start;min-width:0;display:flex}.diagram-actions{flex-direction:column;align-items:flex-end;max-width:100%;margin-left:auto;display:flex}.add-holon-button{color:#4b5563;width:44px;height:32px;font:inherit;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:4px;place-items:center;margin:0 0 16px 12px;padding:0;font-size:1.25rem;line-height:1;display:grid}.add-holon-button:hover{background:#f9fafb;border-color:#9ca3af}.auto-layout-button{color:#4b5563;max-width:100%;font:inherit;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:4px;margin:0 0 16px;padding:6px 10px;font-size:.875rem}.auto-layout-button:hover{background:#f9fafb;border-color:#9ca3af}.auto-layout-button:disabled{cursor:wait;opacity:.6}.auto-layout-error{color:#b91c1c;flex-basis:100%;font-size:.8125rem}.add-parent-button{color:#4b5563;font:inherit;cursor:pointer;background:0 0;border:0;margin:0 0 8px;padding:2px 8px;display:block}.children-row{flex:1;min-width:0;min-height:0;overflow:auto}.children-track{min-width:100%;min-height:100%;position:relative}.holon-link-layer{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:visible}.holon-link-layer line,.holon-link-layer .holon-link-path{fill:none;stroke:#6b7280;stroke-width:1.5px;vector-effect:non-scaling-stroke}.holon-link-layer .holon-link-hit-area{fill:none;stroke:#0000;stroke-width:14px;pointer-events:stroke;cursor:pointer}.holon-delete-section{color:#991b1b;border-top:1px solid #e5e7eb;margin-top:32px;padding-top:20px;font-size:.875rem}.holon-delete-section button{color:#991b1b;cursor:pointer;background:#fff;border:1px solid #b91c1c;border-radius:4px;padding:8px 12px}.holon-delete-section button:disabled{opacity:.5;cursor:not-allowed}.children-row.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.holon-tile{z-index:1;box-sizing:border-box;-webkit-user-select:none;user-select:none;touch-action:none;background:#fff;border:1px solid #d1d5db;border-radius:4px;flex-direction:column;width:220px;display:flex;position:absolute}.holon-tile.is-position-dragging{z-index:2;cursor:grabbing;box-shadow:0 4px 12px #0000001f}.holon-open-button{box-sizing:border-box;color:#000;width:100%;min-width:0;font:inherit;text-align:left;overflow-wrap:anywhere;background:0 0;border:0;flex-direction:column;flex:1;gap:16px;padding:20px 16px;display:flex}.holon-tile.has-children .holon-open-button{cursor:pointer}.edit-button{color:#4b5563;font:inherit;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:4px;align-self:flex-end;margin:0 12px 12px;padding:4px 8px;font-size:.75rem}.holon-link-handle{color:#64748b;cursor:crosshair;touch-action:none;background:#fff;border:1px solid #d1d5db;border-radius:4px;place-items:center;width:28px;height:26px;padding:0;display:grid;position:absolute;bottom:12px;left:12px}.holon-link-handle svg{fill:none;stroke:currentColor;stroke-width:1.5px;pointer-events:none}.holon-tile.is-link-target{outline-offset:3px;outline:3px solid #2563eb}.direct-link-preview{z-index:20;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.direct-link-preview line{stroke:#2563eb;stroke-width:2px;stroke-dasharray:6 4}.direct-link-choice{z-index:30;box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:6px;flex-direction:column;width:max-content;min-width:min(280px,100vw - 16px);max-width:min(560px,100vw - 16px);max-height:calc(100vh - 16px);padding:4px;display:flex;position:fixed;overflow-y:auto;box-shadow:0 4px 12px #00000026}.direct-link-choice button{white-space:normal;overflow-wrap:anywhere;color:#334155;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:3px;flex-shrink:0;padding:9px 12px;font-size:.875rem}.direct-link-message{z-index:30;color:#475569;pointer-events:none;background:#fff;border:1px solid #d1d5db;border-radius:6px;max-width:calc(100vw - 64px);padding:10px 14px;font-size:.875rem;position:fixed;bottom:60px;left:16px}.holon-title{text-align:center;color:#4b5563;overflow-wrap:anywhere;border-bottom:1px solid #e5e7eb;align-self:center;width:100%;max-width:100%;padding-bottom:16px;font-size:1rem;font-weight:500}.holon-properties{flex-direction:column;gap:12px;min-width:0;font-size:.875rem;display:flex}.holon-property{overflow-wrap:anywhere;flex-direction:column;gap:2px;min-width:0;display:flex}.holon-property-label{color:#4b5563;font-weight:600}.holon-property-image{object-fit:contain;align-self:flex-start;max-width:100%;max-height:160px}.holon-children{color:#4b5563;flex-wrap:wrap;align-items:flex-start;gap:8px;min-width:0;font-size:.875rem;display:flex}.holon-children>span{box-sizing:border-box;overflow-wrap:anywhere;background:#fff;border:1px solid #d1d5db;border-radius:4px;min-width:0;max-width:100%;padding:4px 8px}.holon-children>.add-first-child{box-sizing:border-box;color:#4b5563;min-width:0;max-width:100%;font:inherit;font-size:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:4px;padding:4px 8px}.holon-children>.add-first-child:hover{background:#f9fafb;border-color:#9ca3af}.holon-children>.has-descendants{flex-direction:column;align-items:center;gap:4px;display:inline-flex}.depth-indicator{gap:3px;display:flex}.depth-indicator>span{background:#fff;border:1px solid #d1d5db;border-radius:2px;width:8px;height:5px}.edit-view{box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:8px;width:min(100%,720px);margin:0 auto;padding:24px;box-shadow:0 2px 8px #0f172a14}.edit-view form{flex-direction:column;gap:8px;display:flex}.edit-view input,.edit-view textarea,.edit-view select{box-sizing:border-box;width:100%;font:inherit;border:1px solid #d1d5db;border-radius:4px;padding:8px}#holon-title{font-size:1.25rem;font-weight:600}.edit-view textarea{resize:vertical}.recommended-properties{margin-top:16px}.recommended-properties h2{margin:0 0 8px;font-size:1rem}.recommended-properties>div{flex-wrap:wrap;gap:8px;display:flex}.recommended-properties button{color:#4b5563;font:inherit;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:4px;padding:6px 8px;font-size:.875rem}.property-fields{border-top:1px solid #e5e7eb;flex-direction:column;gap:16px;margin-top:16px;padding-top:16px;display:flex}.property-field{border:1px solid #d1d5db;border-radius:4px;flex-direction:column;gap:8px;padding:12px;display:flex}.property-field.is-dragging-property{opacity:.6}.property-drag-handle{color:#6b7280;font:inherit;cursor:grab;background:0 0;border:0;align-self:flex-start;padding:2px 6px}.property-drag-handle:active{cursor:grabbing}.property-value-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.property-value-heading .property-type-select{width:auto;padding:2px 4px;font-size:.75rem}.delete-property-button{color:#6b7280;font:inherit;cursor:pointer;background:0 0;border:0;align-self:flex-end;padding:2px 6px;font-size:.75rem}.property-type{color:#6b7280;font-size:.75rem}.image-property-field{flex-direction:column;gap:8px;display:flex}.image-preview{object-fit:contain;border-radius:4px;align-self:flex-start;max-width:100%;max-height:220px}.add-property-button{font:inherit;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:4px;align-self:flex-start;padding:8px 12px}.form-error{color:#b91c1c;margin:0;font-size:.875rem}.link-editor{border-top:1px solid #e5e7eb;flex-direction:column;gap:12px;margin-top:16px;padding-top:16px;display:flex}.link-editor h2,.empty-links{margin:0}.link-editor h2{font-size:1rem}.empty-links{color:#6b7280;font-size:.875rem}.link-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.link-list li{border:1px solid #d1d5db;border-radius:4px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.link-list li>div{flex-direction:column;gap:2px;display:flex}.link-type{color:#6b7280;font-size:.75rem}.link-list button{color:#6b7280;font:inherit;cursor:pointer;background:0 0;border:0;padding:2px 6px;font-size:.75rem}.new-link-drafts{flex-direction:column;gap:8px;display:flex}.add-link-fields{border:1px solid #d1d5db;border-radius:4px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;padding:12px;display:grid}.add-link-fields>div{flex-direction:column;gap:8px;display:flex}.add-link-fields .form-error{grid-column:1/-1}.add-link-fields .remove-link-draft{color:#6b7280;font:inherit;cursor:pointer;background:0 0;border:0;grid-column:1/-1;align-self:flex-start;padding:2px 0;font-size:.75rem}.add-link-draft{color:#4b5563;font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:2px 0;font-size:.875rem;text-decoration:underline}.form-actions{border-top:1px solid #e5e7eb;gap:8px;margin-top:24px;padding-top:16px;display:flex}.form-actions button{font:inherit;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:4px;padding:8px 12px}.form-actions button[type=submit]{color:#fff;background:#374151;border-color:#374151;font-weight:600}.edit-main,.reserve-panel,.holon-delete-dialog,.graphic-settings-dialog{background:var(--ui-surface-muted);color:var(--ui-text)}.reserve-tab{border-color:var(--ui-secondary);background:color-mix(in srgb, var(--ui-secondary) 32%, var(--ui-surface));color:var(--ui-text)}.reserve-panel{border-color:var(--ui-secondary);box-shadow:0 -4px 24px var(--ui-shadow)}.reserve-header{border-color:var(--ui-secondary);background:color-mix(in srgb, var(--ui-secondary) 13%, var(--ui-surface-muted))}.holon-delete-dialog{border-color:var(--ui-border-strong)}.reserve-close-button,.add-holon-button,.auto-layout-button,.edit-button,.holon-link-handle,.holon-children>span,.holon-children>.add-first-child,.recommended-properties button,.add-property-button,.form-actions button,.holon-delete-section button,.holon-delete-choices button,.link-list li,.add-link-fields,.property-field,.edit-view,.direct-link-choice,.direct-link-message{border-color:var(--ui-border);background:var(--ui-surface);color:var(--ui-text)}.reserve-close-button:hover,.reserve-close-button:focus-visible,.add-holon-button:hover,.auto-layout-button:hover,.holon-children>.add-first-child:hover{border-color:var(--ui-secondary);background:var(--ui-surface-subtle)}h1,.parent-halo-title,.holon-open-button{color:var(--ui-text-strong)}.parent-halo{border-color:var(--ui-primary);border-width:2px}.parent-halo-title{background:var(--ui-surface)}.add-parent-button,.holon-title,.holon-property-label,.holon-children,.property-type,.empty-links,.link-type,.link-list button,.property-drag-handle,.delete-property-button,.add-link-draft{color:var(--ui-text-muted)}.holon-tile{border-color:var(--ui-primary);background:var(--ui-surface);color:var(--ui-text);box-shadow:0 2px 8px var(--ui-shadow);border-width:2px}.holon-tile:hover,.holon-tile:focus-within,.holon-tile.is-navigation-target,.holon-tile.is-link-target,.holon-tile.is-reserve-transfer-target{border-color:var(--ui-accent)}.holon-tile.is-position-dragging{box-shadow:0 4px 12px var(--ui-shadow)}.holon-tile.is-navigation-target{box-shadow:0 2px 8px var(--ui-shadow)}.holon-children>span,.depth-indicator>span{border-color:var(--ui-secondary);background:color-mix(in srgb, var(--ui-secondary) 15%, var(--ui-surface))}.holon-children>span{color:var(--ui-text)}.property-field.is-drop-before{box-shadow:inset 0 3px 0 var(--ui-primary)}.property-field.is-drop-after{box-shadow:inset 0 -3px 0 var(--ui-primary)}.reserve-panel.is-transfer-drop-target,.workspace-main.is-reserve-drop-target .children-row{outline-color:var(--ui-accent)}.workspace-main.is-reserve-drop-target .children-row{background:color-mix(in srgb, var(--ui-accent) 10%, var(--ui-surface))}.holon-link-layer line,.holon-link-layer .holon-link-path{stroke:var(--ui-link-stroke)}.holon-link-layer marker path{fill:var(--ui-link-stroke)}.holon-link-handle:hover,.holon-link-handle:focus-visible{color:var(--ui-accent);border-color:var(--ui-accent)}.holon-tile.is-link-target{outline:none}.direct-link-preview line{stroke:var(--ui-accent)}.direct-link-choice button{color:var(--ui-text)}.direct-link-choice button:hover,.direct-link-choice button:focus-visible{background:color-mix(in srgb, var(--ui-accent) 15%, var(--ui-surface))}.holon-title{color:var(--ui-text-strong)}.holon-title,.holon-delete-section,.property-fields,.link-editor,.form-actions{border-color:var(--ui-border)}.edit-view{box-shadow:0 2px 8px var(--ui-shadow)}.edit-view input,.edit-view textarea,.edit-view select{border-color:var(--ui-border);background:var(--ui-surface);color:var(--ui-text)}.form-actions button[type=submit]{border:2px solid var(--ui-primary);background:color-mix(in srgb, var(--ui-primary) 18%, var(--ui-surface));color:var(--ui-text-strong)}.graphic-settings-button{z-index:30;border:1px solid var(--ui-secondary);background:color-mix(in srgb, var(--ui-secondary) 32%, var(--ui-surface));height:44px;color:var(--ui-text);font:inherit;cursor:pointer;border-radius:8px 8px 0 0;padding:10px 18px;position:fixed;bottom:0;left:24px}.graphic-settings-button:hover,.graphic-settings-button:focus-visible{background:color-mix(in srgb, var(--ui-secondary) 45%, var(--ui-surface))}.graphic-settings-dialog{box-sizing:border-box;border:1px solid var(--ui-primary);width:min(480px,100vw - 32px);box-shadow:0 10px 30px var(--ui-shadow);border-radius:8px;padding:20px}.graphic-settings-dialog::backdrop{background:#00000059}.graphic-settings-header,.graphic-custom-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.graphic-settings-header{border-bottom:1px solid var(--ui-border);padding-bottom:12px}.graphic-settings-header h2,.graphic-settings-section h3{color:var(--ui-text-strong);margin:0}.graphic-settings-header h2{font-size:1.125rem}.graphic-settings-section{padding-top:16px}.graphic-settings-section h3{font-size:.9375rem}.graphic-settings-close,.graphic-custom-heading button,.graphic-theme-options button,.graphic-palette-options button{border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-text);font:inherit;cursor:pointer;border-radius:4px}.graphic-settings-close,.graphic-custom-heading button{padding:6px 10px;font-size:.875rem}.graphic-theme-options,.graphic-palette-options{gap:8px;margin-top:10px;display:flex}.graphic-theme-options button{padding:7px 12px}.graphic-palette-options{flex-wrap:wrap}.graphic-palette-options button{align-items:center;gap:8px;padding:7px 9px;display:inline-flex}.graphic-theme-options button[aria-pressed=true],.graphic-palette-options button[aria-pressed=true]{border-color:var(--ui-accent);box-shadow:inset 0 0 0 1px var(--ui-accent)}.graphic-swatches{gap:4px;display:inline-flex}.graphic-swatches i{border:1px solid #0000002e;border-radius:50%;width:12px;height:12px;position:relative}.graphic-custom-heading{margin-bottom:10px}.graphic-color-fields{gap:8px;display:grid}.graphic-color-fields label{color:var(--ui-text);grid-template-columns:minmax(96px,1fr) 34px minmax(88px,110px);align-items:center;gap:8px;font-size:.875rem;display:grid}.graphic-color-fields label>span{flex-direction:column;gap:2px;display:flex}.graphic-color-fields small{color:var(--ui-text-muted);font-size:.75rem;line-height:1.2}.graphic-color-fields input[type=color]{border:1px solid var(--ui-border);background:var(--ui-surface);cursor:pointer;border-radius:4px;width:34px;height:30px;padding:2px}.graphic-color-fields input[type=text]{box-sizing:border-box;border:1px solid var(--ui-border);background:var(--ui-surface);width:100%;color:var(--ui-text);font:inherit;border-radius:4px;padding:6px 8px}@media (width<=700px){.graphic-settings-button{left:12px}}@media (prefers-reduced-motion:reduce){.graphic-settings-button{transition:none}}.auto-layout-button{border-color:var(--ui-primary)}.pov-control,.layout-disposition-control{color:var(--ui-text-muted);align-items:center;gap:6px;margin:0 0 8px;font-size:.875rem;display:flex}.pov-control select,.layout-disposition-control select{border:1px solid var(--ui-border);background:var(--ui-surface);max-width:180px;color:var(--ui-text);font:inherit;border-radius:4px;padding:5px 8px}.add-holon-button,.holon-children>.add-first-child{border-color:var(--ui-secondary)}.reserve-close-button:focus-visible,.add-holon-button:focus-visible,.auto-layout-button:focus-visible,.edit-button:focus-visible,.holon-children>.add-first-child:focus-visible,.form-actions button:focus-visible,.graphic-settings-button:focus-visible,.graphic-settings-dialog button:focus-visible,.graphic-color-fields input:focus-visible,.pov-control select:focus-visible,.layout-disposition-control select:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}*{scrollbar-color:var(--ui-border-strong) var(--ui-surface-muted)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--ui-surface-muted)}::-webkit-scrollbar-thumb{border:3px solid var(--ui-surface-muted);background:var(--ui-border-strong);border-radius:999px}:root[data-theme=dark] .holon-delete-choices .delete-entire-branch{background:color-mix(in srgb, #b91c1c 18%, var(--ui-surface))}
