:root{font-family:system-ui,sans-serif;color:#e5e7eb;background:#0f172a}:root{--theme-canvas: #111827;--theme-surface: #172033;--theme-elevated: #26354f;--theme-text: #e5e7eb;--theme-muted: #cbd5e1;--theme-border: #334155;--theme-accent: #60a5fa;color:var(--theme-text);background:var(--theme-canvas)}*{box-sizing:border-box}body{margin:0;min-width:720px;overflow-x:hidden}button,input{font:inherit}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}#app{min-height:100vh;height:100vh;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto}header{display:grid;grid-template-columns:1fr minmax(180px,360px) 1fr;align-items:center;gap:.65rem;padding:.65rem 1rem;background:linear-gradient(180deg,#1d293d,#172033);border-bottom:1px solid #334155}.search-wrap{position:relative;grid-column:2;width:100%}header #search{width:100%}.action-menu-bar{grid-column:1;justify-self:start;display:flex;align-items:center;gap:.1rem;padding:.2rem;border:1px solid #334155;border-radius:.6rem;background:#0f172a88}.action-menu{position:relative}.action-menu>button{border:0;border-radius:.4rem;background:transparent;color:#cbd5e1}.action-menu>button:hover,.action-menu>button:focus-visible{background:#334155;color:#fff}.action-menu-panel{position:absolute;z-index:15;top:calc(100% + .55rem);left:0;min-width:170px;padding:.4rem;border:1px solid #475569;border-radius:.6rem;background:#1e293b;box-shadow:0 14px 32px #020617cc}.action-menu-panel button{display:block;width:100%;margin:.08rem 0;border:0;border-radius:.35rem;text-align:left;background:transparent}.action-menu-panel button:hover{background:#334155}h1{grid-column:3;justify-self:end;font-size:1rem;margin:0}button{border:1px solid #475569;border-radius:.35rem;padding:.45rem .7rem;background:#26354f;color:inherit;cursor:pointer}button:hover{background:#364765}.project-name-text{cursor:text;border-bottom:1px dashed transparent}.project-name-text:hover,.project-name-text:focus-visible{border-bottom-color:#94a3b8;outline:none}.inline-project-name{width:min(260px,30vw);padding:.2rem .4rem;font-size:1rem}main{min-height:0;display:grid;grid-template-columns:230px 1fr 245px}#worksheet-tabs{display:flex;align-items:end;gap:.3rem;min-height:2.45rem;padding:.4rem .75rem 0;overflow-x:auto;background:#111827;border-bottom:1px solid #334155}.worksheet-tab{border-radius:.45rem .45rem 0 0;border-bottom:0;background:#1e293b;color:#cbd5e1;white-space:nowrap}.worksheet-tab.active{background:#334155;color:#fff;border-color:#64748b}.worksheet-add{width:2rem;height:2rem;padding:0;font-size:1.25rem;line-height:1;border-radius:.4rem .4rem 0 0}aside{padding:1rem;background:#172033;border-right:1px solid #334155}aside:last-child{border-right:0;border-left:1px solid #334155}.tool-panel{display:flex;flex-direction:column;gap:.45rem}.tool-panel h2,.tool-panel p{margin-bottom:.25rem}.tool-grid{display:grid;grid-template-columns:repeat(3,42px);gap:.45rem}.tool{width:42px;height:42px;padding:0;font-size:1.25rem}.tool.active{border-color:#60a5fa;background:#1d4ed8}.layout-section{margin-top:.9rem;padding-top:.85rem;border-top:1px solid #334155}.layout-section h2{margin-bottom:.55rem}.layout-tool{color:#cbd5e1;background:#1e293b}.toolbox-view-controls{display:flex;gap:.35rem;margin-top:auto;padding-top:.85rem;border-top:1px solid #334155}.toolbox-view-controls button{width:42px;height:36px;padding:0}.toolbox-view-controls [aria-pressed=true]{border-color:#60a5fa;background:#1d4ed8}.toolbox-list .tool-grid{grid-template-columns:1fr}.toolbox-list .tool{display:flex;align-items:center;width:100%;height:38px;padding:0 .65rem;gap:.65rem;text-align:left;font-size:1.1rem}.toolbox-list .tool:after{content:attr(aria-label);font-size:.82rem}.toolbox-list .history-action{font-size:0}.toolbox-list .history-action:after{font-size:.82rem}#cy{position:relative;min-width:0;background:#111827}#cy.relationship-mode{cursor:crosshair}#cy.delete-mode{cursor:not-allowed}.node-icon-overlay{position:absolute;inset:0;z-index:4;overflow:hidden;pointer-events:none}.entity-icon-overlay{position:absolute;display:grid;place-items:center;color:#0f172a;line-height:1;filter:grayscale(1) contrast(1.35);transform-origin:center;-webkit-user-select:none;user-select:none}h2{font-size:.9rem;margin-top:0}p{color:#cbd5e1;line-height:1.4;font-size:.88rem}.inline-node-label{position:fixed;z-index:30;min-width:120px;padding:.3rem .45rem;border:2px solid #60a5fa;border-radius:.3rem;color:#fff;background:#0f172a;box-shadow:0 4px 14px #020617aa}#status{display:flex;gap:1rem;padding:.5rem 1rem;font-size:.85rem;color:#cbd5e1;border-top:1px solid #334155;background:#172033}#app-version{margin-left:auto;color:#94a3b8;font-variant-numeric:tabular-nums}.error{color:#fecaca!important}.hidden{display:none}label{display:block;margin:.8rem 0 .3rem;font-size:.8rem;color:#cbd5e1}input,select{width:100%;padding:.45rem;border:1px solid #475569;border-radius:.3rem;color:#fff;background:#0f172a}input[type=color]{height:2.5rem;padding:.15rem}#node-properties button{margin-top:1rem}.property-color-picker{width:100%;display:flex;align-items:center;gap:.55rem;margin-top:0!important}.property-color-picker:before{content:"";width:1.25rem;height:1.25rem;flex:0 0 auto;border:1px solid #94a3b8;border-radius:.25rem;background:var(--selected-color)}.color-swatches{display:grid;grid-template-columns:repeat(6,1fr);gap:.45rem;margin-top:1rem}.color-swatch{width:100%;aspect-ratio:1;min-width:0;padding:0;border:2px solid #475569;border-radius:.3rem;transition:transform .12s ease,outline-color .12s ease}.color-swatch:hover,.color-swatch:focus-visible{transform:scale(1.12);outline:2px solid #f8fafc;outline-offset:2px;position:relative;z-index:1}.color-swatch[aria-pressed=true]{outline:2px solid #f8fafc;outline-offset:2px}#color-palette-title{cursor:move;-webkit-user-select:none;user-select:none;touch-action:none}.color-palette-actions{display:grid;grid-template-columns:1fr auto;gap:.6rem;align-items:center;margin-top:1rem}.color-palette-actions input{width:2.5rem;grid-column:2;grid-row:1}#save-custom-color{grid-column:1 / -1;margin:0}#save-custom-color:disabled{opacity:.55;cursor:not-allowed}.context-menu{position:fixed;z-index:10;max-width:calc(100vw - 1rem);margin:0;padding:.25rem;list-style:none;border:1px solid #475569;border-radius:.35rem;background:#1e293b;box-shadow:0 8px 22px #020617aa}.context-menu button{width:100%;border:0;text-align:left;background:transparent}.settings-menu{right:.5rem!important;left:auto!important}.settings-menu,.organize-menu{min-width:150px}.search-results{max-height:280px;overflow-y:auto}.search-results button{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#analysis-panel{margin:.9rem 0;padding:.75rem;border:1px solid #334155;border-radius:.45rem;background:#0f172a88}#analysis-panel h3{margin:0 0 .45rem;font-size:.88rem}#analysis-panel p{margin:.45rem 0;font-size:.82rem;color:#cbd5e1}#analysis-panel ol{max-height:170px;margin:.45rem 0 0;padding-left:1.25rem;overflow:auto;font-size:.8rem}#analysis-panel li{margin:.25rem 0;overflow-wrap:anywhere}#analysis-panel label{display:inline-block;width:8.6rem;margin:.3rem .35rem .3rem 0}#analysis-panel input{display:inline-block;width:4rem;margin-left:.35rem}#analysis-panel button{margin:.3rem .3rem .3rem 0;padding:.3rem .45rem}dialog{width:min(420px,calc(100vw - 2rem));padding:0;border:1px solid #475569;border-radius:.5rem;color:#e5e7eb;background:#172033;box-shadow:0 18px 50px #020617cc}dialog::backdrop{background:#02061799}dialog form{padding:1.25rem}dialog h2{margin:0}.dialog-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.25rem}.check-label{display:flex;align-items:center;gap:.5rem}.check-label input{width:auto}.layout-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem .8rem;max-height:60vh;overflow-y:auto;padding-right:.35rem}.layout-options label{margin-top:.5rem}.relationship-preview{position:fixed;inset:0;width:100vw;height:100vh;z-index:20;pointer-events:none}.relationship-preview line{stroke:#60a5fa;stroke-width:3;stroke-dasharray:7 5}.marquee{position:fixed;z-index:18;border:1px solid #60a5fa;background:#3b82f633;pointer-events:none}.help-dialog{width:min(1000px,calc(100vw - 3rem));height:min(680px,calc(100vh - 3rem))}.help-header{display:flex;gap:.75rem;padding:1rem;border-bottom:1px solid #334155}.help-header input{flex:1}.help-body{display:grid;grid-template-columns:220px 1fr;height:calc(100% - 70px)}#help-nav{padding:.75rem;border-right:1px solid #334155;overflow-y:auto}#help-nav button{width:100%;margin-bottom:.4rem;text-align:left;background:transparent}#help-content{padding:1.25rem 1.5rem;overflow-y:auto}#help-content ul{padding-left:1.25rem}#help-content li{margin:.5rem 0;color:#cbd5e1;font-size:.9rem}.history-action{width:auto;height:auto;padding:.45rem .7rem;font:inherit;font-size:inherit}#custom-properties-list table{width:100%;border-collapse:collapse}#custom-properties-list th,#custom-properties-list td{padding:.6rem .75rem;border-bottom:1px solid #334155;text-align:left}#custom-properties-list th:first-child,#custom-properties-list td:first-child{width:3rem;text-align:center}#custom-properties-list input[type=checkbox]{width:auto;margin:0;vertical-align:middle}header,aside,#status,dialog{background:var(--theme-surface);color:var(--theme-text);border-color:var(--theme-border)}main>aside{min-height:0;overflow-y:auto}#cy{overflow:hidden}#cy,#worksheet-tabs,input,select,textarea,.inline-node-label,#analysis-panel{background-color:var(--theme-canvas);color:var(--theme-text);border-color:var(--theme-border)}button,.layout-tool,.worksheet-tab{background:var(--theme-elevated);color:var(--theme-text);border-color:var(--theme-border)}button:hover,.action-menu-panel button:hover,.context-menu button:hover{background:color-mix(in srgb,var(--theme-accent) 18%,var(--theme-surface))}p,label,#app-version,#help-content li,#analysis-panel p{color:var(--theme-muted)}.layout-section,.toolbox-view-controls,#custom-properties-list td,#custom-properties-list th,.help-header,#help-nav{border-color:var(--theme-border)}.tool.active,.worksheet-tab.active,.toolbox-view-controls [aria-pressed=true]{background:color-mix(in srgb,var(--theme-accent) 25%,var(--theme-surface));border-color:var(--theme-accent);color:var(--theme-text)}.action-menu-bar{border:0;background:transparent;gap:.15rem;padding:0}.action-menu>button{color:var(--theme-muted);padding:.5rem .8rem;font-size:.88rem;font-weight:550}.action-menu>button:hover,.action-menu>button:focus-visible{background:var(--theme-elevated);color:var(--theme-text)}.action-menu-panel,.context-menu{padding:.4rem;border:1px solid var(--theme-border);border-radius:.65rem;background:var(--theme-surface);box-shadow:0 16px 40px #0005}.action-menu-panel{min-width:210px;top:calc(100% + .35rem)}.action-menu-panel button,.context-menu button{padding:.55rem .7rem;border-radius:.35rem;color:var(--theme-text);font-size:.87rem}.export-submenu{position:relative}#export{display:flex;justify-content:space-between;gap:1.5rem}#export:after{content:"›";color:var(--theme-muted);font-size:1.1rem;line-height:1}.export-submenu>#export-menu{display:none;position:absolute;left:calc(100% - 2px);top:-.4rem;min-width:235px;z-index:25}.export-submenu:hover>#export-menu,.export-submenu:focus-within>#export-menu,.export-submenu.open>#export-menu{display:block}.theme-fields,.background-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem .8rem}.theme-preview{margin:1rem 0;border:1px solid var(--theme-border);border-radius:.65rem;padding:1rem;background:var(--theme-canvas);color:var(--theme-accent);font-size:1.5rem}.theme-preview span{color:var(--theme-text);font-size:.9rem;margin-left:.5rem}dialog{max-height:calc(100dvh - 2rem);overflow-y:auto}dialog .dialog-actions{flex-wrap:wrap}.background-frame{position:absolute;z-index:6;outline:2px solid var(--theme-accent);cursor:move;touch-action:none}.background-frame img{width:100%;height:100%;display:block;pointer-events:none;-webkit-user-select:none;user-select:none}.background-resize{position:absolute;right:-10px;bottom:-10px;width:28px;height:28px;padding:0;border:2px solid var(--theme-accent);cursor:nwse-resize;touch-action:none}.background-lock{position:absolute;right:12px;top:12px;z-index:7}.background-frame[hidden],.background-lock[hidden]{display:none}.background-layer{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.background-layer>img{position:absolute;display:block;max-width:none;-webkit-user-select:none;user-select:none}.background-editors{position:absolute;inset:0;z-index:6;pointer-events:none}.background-editors .background-frame{pointer-events:auto}.background-dialog{width:min(580px,calc(100vw - 2rem))}.background-list{margin:1rem 0;padding:0;list-style:none;max-height:220px;overflow-y:auto;border:1px solid var(--theme-border);border-radius:.5rem}.background-list li{display:flex;gap:.35rem;align-items:center;padding:.45rem;border-bottom:1px solid var(--theme-border)}.background-list li:last-child{border-bottom:0}.background-list li.selected{background:color-mix(in srgb,var(--theme-accent) 15%,var(--theme-surface))}.background-list .background-choose{flex:1;min-width:0;text-align:left;overflow-wrap:anywhere;border:0;background:transparent}.background-list button:disabled{opacity:.35;cursor:default}.background-order-menu{min-width:180px;z-index:35}[data-theme=cipher] header{background:linear-gradient(110deg,#101321,#19162f)}[data-theme=cipher] .tool.active,[data-theme=cipher] .worksheet-tab.active{box-shadow:inset 0 0 14px #8c7bff18}@media(max-width:760px){body{min-width:0;overscroll-behavior:none}#app{min-height:100dvh;height:100dvh;grid-template-rows:auto auto minmax(0,1fr) auto}header{grid-template-columns:1fr 1fr;gap:.4rem;padding:.5rem .65rem}header h1{grid-column:2;grid-row:1;max-width:100%;overflow-wrap:anywhere}.search-wrap{grid-column:1 / -1;grid-row:2}header #search{width:100%;min-height:42px}.action-menu-bar{grid-column:1;grid-row:1}.action-menu>button{padding:.35rem;font-size:.8rem}.export-submenu>#export-menu{left:0;top:100%;min-width:210px}.action-menu>button,button{min-height:42px}main{display:grid;grid-template-columns:1fr;grid-template-rows:auto minmax(42dvh,1fr) auto;overflow:hidden}aside,aside:last-child{border:0;border-bottom:1px solid #334155;padding:.55rem .7rem}.tool-panel{display:block;max-height:156px;overflow-x:auto;overflow-y:hidden;white-space:nowrap}.tool-panel h2,.tool-panel p{display:inline-block;margin:0 .55rem 0 0;vertical-align:middle}.tool-panel p{white-space:normal;max-width:165px}.tool-grid{display:inline-grid;vertical-align:middle;grid-template-columns:repeat(6,42px)}.layout-section{display:inline-block;vertical-align:middle;margin:0 0 0 .75rem;padding:0 0 0 .75rem;border:0;border-left:1px solid #334155}.toolbox-view-controls{display:inline-flex;vertical-align:middle;margin:0 0 0 .75rem;padding:0 0 0 .75rem;border:0;border-left:1px solid #334155}.toolbox-list .tool-grid{grid-template-columns:1fr;width:190px}#cy{min-height:42dvh;touch-action:none}main>aside:last-child{max-height:34dvh;overflow-y:auto;border-top:1px solid #334155;border-bottom:0}.layout-options{grid-template-columns:1fr;max-height:55dvh}.help-dialog{width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0}.help-body{grid-template-columns:130px 1fr}dialog{width:min(94vw,420px)}#status{font-size:.75rem;padding:.45rem .65rem}}
