:root{--color-cream:#f3e6c9;--color-void:#1a1423;--color-plum:#372549;--color-mauve:#774c60;--color-rose:#b75d69;--color-background:var(--color-void);--color-background-soft:var(--color-cream);--color-background-mute:#b75d6926;--color-border:#37254959;--color-border-hover:var(--color-plum);--color-heading:var(--color-void);--color-text:var(--color-plum);--color-accent:var(--color-rose);--color-accent-hover:var(--color-mauve);--color-accent-soft:#b75d692e;--color-surface-button:var(--color-background-mute);--color-texture-dot:#1a142314;--color-banner-bg:#b75d6914}:root.theme-midnight{--color-background:#0d1117;--color-background-soft:#1b2333;--color-background-mute:#38bdf826;--color-border:#94a3b840;--color-border-hover:#475569;--color-heading:#f1f5f9;--color-text:#cbd5e1;--color-accent:#38bdf8;--color-accent-hover:#0ea5e9;--color-accent-soft:#38bdf82e;--color-surface-button:var(--color-background-mute);--color-texture-dot:#f1f5f90f;--color-banner-bg:#38bdf814}:root.theme-forest{--color-background:#10190f;--color-background-soft:#ece3c4;--color-background-mute:#6a8f4d26;--color-border:#3b2f1f59;--color-border-hover:#3b2f1f;--color-heading:#10190f;--color-text:#3b2f1f;--color-accent:#6a8f4d;--color-accent-hover:#4f6b39;--color-accent-soft:#6a8f4d2e;--color-surface-button:var(--color-background-mute);--color-texture-dot:#10190f14;--color-banner-bg:#6a8f4d14}:root.theme-cotton-candy{--color-background:#fbe4f5;--color-background-soft:#fff8fc;--color-background-mute:#ec489926;--color-border:#db277740;--color-border-hover:#f472b6;--color-heading:#831843;--color-text:#9d174d;--color-accent:#ec4899;--color-accent-hover:#db2777;--color-accent-soft:#ec48992e;--color-surface-button:var(--color-background-mute);--color-texture-dot:#83184314;--color-banner-bg:#ec489914}:root.theme-sunset{--color-background:#2b120a;--color-background-soft:#fbe8d3;--color-background-mute:#f9731626;--color-border:#7c2d1259;--color-border-hover:#7c2d12;--color-heading:#2b120a;--color-text:#7c2d12;--color-accent:#f97316;--color-accent-hover:#c2410c;--color-accent-soft:#f973162e;--color-surface-button:var(--color-background-mute);--color-texture-dot:#2b120a14;--color-banner-bg:#f9731614}:root.theme-ocean{--color-background:#06181a;--color-background-soft:#0f2b2e;--color-background-mute:#2dd4bf26;--color-border:#5eead433;--color-border-hover:#115e59;--color-heading:#ecfeff;--color-text:#a5f3fc;--color-accent:#2dd4bf;--color-accent-hover:#14b8a6;--color-accent-soft:#2dd4bf2e;--color-surface-button:var(--color-background-mute);--color-texture-dot:#ecfeff0f;--color-banner-bg:#2dd4bf14}*,:before,:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-background);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;line-height:1.6}#app{width:100%;height:100%}@font-face{font-family:Material Symbols Outlined;font-style:normal;font-weight:100 700;font-display:block;src:url(/assets/material-symbols-outlined-CqIkmgaP.woff2)format("woff2")}.material-symbols-outlined{letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-feature-settings:"liga";direction:ltr;font-family:Material Symbols Outlined;font-size:24px;font-style:normal;font-weight:400;line-height:1;display:inline-block}.node[data-v-16fc9c7e]{background:var(--color-background-soft);border:1px solid var(--color-border-hover);box-sizing:border-box;border-radius:4px;position:absolute}.node.active[data-v-16fc9c7e]{border-color:var(--color-accent)}.node-body[data-v-16fc9c7e]{box-sizing:border-box;justify-content:center;align-items:center;width:100%;height:100%;padding:8px;display:flex;overflow:hidden}.node-textarea[data-v-16fc9c7e]{resize:none;box-sizing:border-box;width:100%;color:var(--color-text);font:inherit;background:0 0;border:none;flex-shrink:0;padding:6px;display:block;overflow:hidden}.node-textarea[data-v-16fc9c7e]:focus{outline:none}.node-text-view[data-v-16fc9c7e]{box-sizing:border-box;word-wrap:break-word;width:100%;height:100%;color:var(--color-text);text-align:left;flex-direction:column;padding:6px;display:flex;overflow:auto}.node:not(.active) .node-text-view[data-v-16fc9c7e],.node:not(.active) .node-text-view[data-v-16fc9c7e] pre{overflow:hidden}.node-textarea[data-v-16fc9c7e],.node-text-view[data-v-16fc9c7e],.node-text-view[data-v-16fc9c7e] pre{scrollbar-width:thin;scrollbar-color:var(--color-border-hover) transparent}.node-textarea[data-v-16fc9c7e]::-webkit-scrollbar{width:8px;height:8px}.node-text-view[data-v-16fc9c7e]::-webkit-scrollbar{width:8px;height:8px}.node-text-view[data-v-16fc9c7e] pre::-webkit-scrollbar{width:8px;height:8px}.node-textarea[data-v-16fc9c7e]::-webkit-scrollbar-track{background:0 0}.node-text-view[data-v-16fc9c7e]::-webkit-scrollbar-track{background:0 0}.node-text-view[data-v-16fc9c7e] pre::-webkit-scrollbar-track{background:0 0}.node-textarea[data-v-16fc9c7e]::-webkit-scrollbar-thumb{background-color:var(--color-border-hover);border-radius:4px}.node-text-view[data-v-16fc9c7e]::-webkit-scrollbar-thumb{background-color:var(--color-border-hover);border-radius:4px}.node-text-view[data-v-16fc9c7e] pre::-webkit-scrollbar-thumb{background-color:var(--color-border-hover);border-radius:4px}.node-textarea[data-v-16fc9c7e]::-webkit-scrollbar-thumb:hover{background-color:var(--color-accent)}.node-text-view[data-v-16fc9c7e]::-webkit-scrollbar-thumb:hover{background-color:var(--color-accent)}.node-text-view[data-v-16fc9c7e] pre::-webkit-scrollbar-thumb:hover{background-color:var(--color-accent)}.node-text-view[data-v-16fc9c7e] p{margin:0}.node-text-view[data-v-16fc9c7e] h1,.node-text-view[data-v-16fc9c7e] h2,.node-text-view[data-v-16fc9c7e] h3,.node-text-view[data-v-16fc9c7e] h4,.node-text-view[data-v-16fc9c7e] h5,.node-text-view[data-v-16fc9c7e] h6{color:var(--color-heading);margin:.15em 0;line-height:1.25}.node-text-view[data-v-16fc9c7e] .node-block-view:last-child>:last-child{margin-bottom:0}.node-text-view[data-v-16fc9c7e] h1{font-size:1.8em;font-weight:700}.node-text-view[data-v-16fc9c7e] h2{font-size:1.4em;font-weight:700}.node-text-view[data-v-16fc9c7e] h3{font-size:1.15em;font-weight:700}.node-text-view[data-v-16fc9c7e] h4,.node-text-view[data-v-16fc9c7e] h5,.node-text-view[data-v-16fc9c7e] h6,.node-text-view[data-v-16fc9c7e] strong,.node-text-view[data-v-16fc9c7e] b{font-weight:700}.node-text-view[data-v-16fc9c7e] em,.node-text-view[data-v-16fc9c7e] i{font-style:italic}.node-text-view[data-v-16fc9c7e] del,.node-text-view[data-v-16fc9c7e] s{text-decoration:line-through}.node-text-view[data-v-16fc9c7e] ul,.node-text-view[data-v-16fc9c7e] ol{margin:0;padding-left:1.3em}.node-text-view[data-v-16fc9c7e] li{margin:0}.node-text-view[data-v-16fc9c7e] a{color:var(--color-accent-hover)}.node-text-view[data-v-16fc9c7e] code{background:var(--color-background-mute);border-radius:3px;padding:.1em .35em;font-size:.9em}.node-text-view[data-v-16fc9c7e] pre{background:var(--color-background-mute);border-radius:4px;margin:0;padding:.5em;overflow:auto}.node-text-view[data-v-16fc9c7e] pre code{background:0 0;padding:0}.node-text-view[data-v-16fc9c7e] blockquote{border-left:3px solid var(--color-border-hover);opacity:.85;margin:0;padding-left:.8em}.node-text-view[data-v-16fc9c7e] hr{background:var(--color-border-hover);opacity:.35;border:none;height:2px;margin:.2em 0}.node-text-view[data-v-16fc9c7e] img{max-width:100%}.node-text-view[data-v-16fc9c7e] table{border-collapse:collapse;width:100%;margin:0}.node-text-view[data-v-16fc9c7e] th,.node-text-view[data-v-16fc9c7e] td{border:calc(1px / var(--canvas-zoom,1)) solid var(--color-border-hover);text-align:left;padding:.3em .6em}.node-text-view[data-v-16fc9c7e] th{color:var(--color-heading);background:var(--color-background-mute);font-weight:700}.node-text-view[data-v-16fc9c7e] .node-input{box-sizing:border-box;border:1px solid var(--color-border-hover);background:var(--color-background-soft);width:3.5em;color:var(--color-text);font:inherit;text-align:center;border-radius:4px;padding:0 4px;font-size:.9em}.node-text-view[data-v-16fc9c7e] .node-input:focus{border-color:var(--color-accent);outline:none}.node-text-view[data-v-16fc9c7e] .node-control{vertical-align:middle;flex-direction:column;align-items:stretch;gap:3px;display:inline-flex}.node-text-view[data-v-16fc9c7e] .node-control-display{border:1px solid var(--color-border-hover);background:var(--color-background-soft);min-width:2.2em;color:var(--color-heading);text-align:center;border-radius:4px;padding:2px 8px;font-size:1.4em;font-weight:700;line-height:1.2}.node-text-view[data-v-16fc9c7e] .node-control-buttons{gap:3px;display:flex}.node-text-view[data-v-16fc9c7e] .node-control-button{border:1px solid var(--color-border-hover);background-color:var(--color-surface-button);height:20px;color:var(--color-text);cursor:pointer;border-radius:3px;flex:1 1 0;justify-content:center;align-items:center;padding:0;transition:background-color .15s,border-color .15s,color .15s;display:flex}.node-text-view[data-v-16fc9c7e] .node-control-button:hover{background-color:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent-hover)}.node-text-view[data-v-16fc9c7e] .node-control-button .material-symbols-outlined{font-size:14px}.node-text-view[data-v-16fc9c7e] .node-checkboxes{vertical-align:middle;gap:3px;display:inline-flex}.node-text-view[data-v-16fc9c7e] .node-checkbox{border:1px solid var(--color-border-hover);background-color:var(--color-background-soft);cursor:pointer;border-radius:3px;width:18px;height:18px;padding:0;transition:background-color .15s,border-color .15s}.node-text-view[data-v-16fc9c7e] .node-checkbox:hover{border-color:var(--color-accent)}.node-text-view[data-v-16fc9c7e] .node-checkbox.checked{background-color:var(--color-accent);border-color:var(--color-accent)}.node-text-view[data-v-16fc9c7e] .node-display{box-sizing:border-box;border:1px solid var(--color-border-hover);background:var(--color-background-soft);vertical-align:middle;text-align:center;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:0;width:3.6em;height:3.6em;padding:4px 10px;display:inline-flex}.node-text-view[data-v-16fc9c7e] .node-display-large{width:4.8em;height:4.8em}.node-text-view[data-v-16fc9c7e] .node-display-label{text-transform:uppercase;letter-spacing:.03em;color:var(--color-text);opacity:.75;font-size:.72em;font-weight:600;line-height:1}.node-text-view[data-v-16fc9c7e] .node-display-large .node-display-label{font-size:.7em}.node-text-view[data-v-16fc9c7e] .node-display-value{color:var(--color-heading);font-size:2.1em;font-weight:700;line-height:1}.node-text-view[data-v-16fc9c7e] .node-display-large .node-display-value{font-size:2.7em}.node-text-view[data-v-16fc9c7e] .node-button{border:1px solid var(--color-border-hover);background-color:var(--color-surface-button);color:var(--color-text);font:inherit;cursor:pointer;vertical-align:middle;border-radius:4px;padding:3px 10px;font-size:.9em;font-weight:600;transition:background-color .15s,border-color .15s,color .15s}.node-text-view[data-v-16fc9c7e] .node-button:hover{background-color:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent-hover)}.node-text-view[data-v-16fc9c7e] .node-image-placeholder{box-sizing:border-box;border:1px dashed var(--color-border-hover);background:var(--color-background-mute);width:3.6em;height:3.6em;color:var(--color-text);cursor:pointer;vertical-align:middle;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:border-color .15s;display:inline-flex}.node-text-view[data-v-16fc9c7e] .node-image-placeholder:hover{border-color:var(--color-accent)}.node-text-view[data-v-16fc9c7e] .node-image-placeholder .material-symbols-outlined{opacity:.5;font-size:1.8em}.node-text-view[data-v-16fc9c7e] .node-image{vertical-align:middle;max-width:100%;display:inline-block}.node-text-view[data-v-16fc9c7e] .node-image img{border-radius:4px;max-width:100%;height:auto;display:block}.node-image-file-input[data-v-16fc9c7e]{display:none}.node-menu[data-v-16fc9c7e]{background:var(--color-background-soft);border:1px solid var(--color-border-hover);border-radius:4px;flex-direction:column;gap:4px;padding:4px;display:flex;position:absolute;bottom:100%;left:0}.node-menu-row[data-v-16fc9c7e]{gap:4px;display:flex}.node-menu-button[data-v-16fc9c7e],.node-menu-handle[data-v-16fc9c7e]{border:1px solid var(--color-border);background-color:var(--color-surface-button);width:24px;height:24px;color:var(--color-text);cursor:pointer;border-radius:3px;justify-content:center;align-items:center;padding:0;transition:background-color .15s,border-color .15s,color .15s;display:flex}.node-menu-button[data-v-16fc9c7e]:hover,.node-menu-handle[data-v-16fc9c7e]:hover{background-color:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent-hover)}.node-menu-button.active[data-v-16fc9c7e]{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-background-soft)}.node-menu-button.active[data-v-16fc9c7e]:hover{background-color:var(--color-accent-hover);border-color:var(--color-accent-hover);color:var(--color-background-soft)}.node-menu-button .material-symbols-outlined[data-v-16fc9c7e],.node-menu-handle .material-symbols-outlined[data-v-16fc9c7e]{font-size:16px}.node-menu-handle[data-v-16fc9c7e]{cursor:grab;-webkit-user-select:none;user-select:none}.node-menu-handle[data-v-16fc9c7e]:active{cursor:grabbing}.resize-handle[data-v-16fc9c7e]{background:var(--color-accent);cursor:nwse-resize;border-radius:2px;width:10px;height:10px;transition:box-shadow .15s;position:absolute}.resize-handle[data-v-16fc9c7e]:hover{box-shadow:0 0 0 3px var(--color-accent-soft)}.app-layout[data-v-c32d451d]{width:100vw;height:100vh;display:flex;position:relative;overflow:hidden}.left-panel-wrapper[data-v-c32d451d]{flex:none;height:100%;transition:width .25s;overflow:hidden}.left-panel[data-v-c32d451d]{background:var(--color-background-soft);box-sizing:border-box;flex-direction:column;gap:16px;height:100%;padding:16px;display:flex}.left-panel-scroll[data-v-c32d451d]{scrollbar-width:thin;scrollbar-color:var(--color-border-hover) transparent;flex-direction:column;flex:auto;gap:16px;min-height:0;display:flex;overflow-y:auto}.left-panel-scroll[data-v-c32d451d]::-webkit-scrollbar{width:8px}.left-panel-scroll[data-v-c32d451d]::-webkit-scrollbar-track{background:0 0}.left-panel-scroll[data-v-c32d451d]::-webkit-scrollbar-thumb{background-color:var(--color-border-hover);background-clip:content-box;border:2px solid #0000;border-radius:999px}.left-panel-scroll[data-v-c32d451d]::-webkit-scrollbar-thumb:hover{background-color:var(--color-accent)}.left-panel-resize-handle[data-v-c32d451d]{background:var(--color-border);cursor:col-resize;flex:0 0 5px;height:100%;transition:background-color .15s;position:relative}.left-panel-resize-handle[data-v-c32d451d]:before{content:"";position:absolute;inset:0 -4px}.left-panel-resize-handle[data-v-c32d451d]:hover{background:var(--color-accent)}.character-menu[data-v-c32d451d]{color:var(--color-text)}.account-login[data-v-c32d451d]{flex-direction:column;gap:6px;display:flex}.account-input[data-v-c32d451d]{box-sizing:border-box;border:1px solid var(--color-border-hover);background:var(--color-background-soft);width:100%;height:30px;color:var(--color-text);font:inherit;border-radius:4px;padding:0 8px;font-size:.85rem}.account-input[data-v-c32d451d]:focus{border-color:var(--color-accent);outline:none}.account-password-field[data-v-c32d451d]{display:flex;position:relative}.account-password-field .account-input[data-v-c32d451d]{padding-right:30px}.account-password-toggle[data-v-c32d451d]{width:30px;height:30px;color:var(--color-text);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:0;right:0}.account-password-toggle[data-v-c32d451d]:hover{color:var(--color-accent)}.account-password-toggle .material-symbols-outlined[data-v-c32d451d]{font-size:18px}.account-actions[data-v-c32d451d]{gap:6px;display:flex}.account-status[data-v-c32d451d]{justify-content:space-between;align-items:center;gap:6px;display:flex}.account-username[data-v-c32d451d]{color:var(--color-heading);font-weight:600}.account-button[data-v-c32d451d]{border:1px solid var(--color-border-hover);background-color:var(--color-surface-button);height:30px;color:var(--color-text);font:inherit;cursor:pointer;border-radius:4px;flex:1 1 0;justify-content:center;align-items:center;gap:4px;padding:0 8px;font-size:.85rem;transition:background-color .15s,border-color .15s,color .15s;display:flex}.account-button[data-v-c32d451d]:hover:not(:disabled){background-color:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent-hover)}.account-button[data-v-c32d451d]:disabled{opacity:.5;cursor:not-allowed}.account-button .material-symbols-outlined[data-v-c32d451d]{font-size:16px}.account-logout-button[data-v-c32d451d]{border:1px solid var(--color-border-hover);background-color:var(--color-surface-button);width:26px;height:26px;color:var(--color-text);cursor:pointer;border-radius:4px;flex:0 0 26px;justify-content:center;align-items:center;padding:0;transition:background-color .15s,border-color .15s,color .15s;display:flex}.account-logout-button[data-v-c32d451d]:hover{background-color:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent-hover)}.account-logout-button .material-symbols-outlined[data-v-c32d451d]{font-size:16px}.back-to-characters-button[data-v-c32d451d]{color:var(--color-text);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:4px;align-self:flex-start;align-items:center;gap:4px;padding:4px 6px;font-size:.85rem;transition:background-color .15s,color .15s;display:flex}.back-to-characters-button[data-v-c32d451d]:hover{background-color:var(--color-accent-soft);color:var(--color-accent-hover)}.back-to-characters-button .material-symbols-outlined[data-v-c32d451d]{font-size:18px}.read-only-notice[data-v-c32d451d]{color:#f59e0b;background:#f59e0b1f;border:1px solid #f59e0b;border-radius:4px;align-items:center;gap:6px;padding:6px 8px;font-size:.8rem;line-height:1.3;display:flex}.read-only-notice .material-symbols-outlined[data-v-c32d451d]{flex-shrink:0;font-size:18px}.character-portrait[data-v-c32d451d]{aspect-ratio:1;background:var(--color-background-mute);border:2px dashed var(--color-border-hover);width:100%;max-width:260px;color:var(--color-text);font:inherit;cursor:pointer;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;margin:0 auto;padding:0;transition:border-color .15s;display:flex;overflow:hidden}.character-portrait.has-image[data-v-c32d451d]{border-style:solid}.character-portrait[data-v-c32d451d]:hover:not(:disabled){border-color:var(--color-accent)}.character-portrait[data-v-c32d451d]:disabled{opacity:.6;cursor:not-allowed}.character-portrait .material-symbols-outlined[data-v-c32d451d]{opacity:.5;font-size:96px}.character-portrait-image[data-v-c32d451d]{object-fit:cover;width:100%;height:100%}.panel-section[data-v-c32d451d]{background:var(--color-banner-bg);border-left:4px solid var(--color-accent);padding:10px 14px}.character-name-input[data-v-c32d451d],.character-subtitle-input[data-v-c32d451d]{width:100%;color:var(--color-heading);text-align:center;background:0 0;border:none;font-family:inherit;display:block}.character-name-input[data-v-c32d451d]{resize:none;word-wrap:break-word;padding:4px 0;font-size:2rem;font-weight:600;line-height:1.2;overflow:hidden}.character-subtitle-input[data-v-c32d451d]{color:var(--color-text);margin-top:2px;font-size:1.1rem;font-style:italic}.character-name-input[data-v-c32d451d]:focus,.character-subtitle-input[data-v-c32d451d]:focus{outline:none}.character-name-input[data-v-c32d451d]::placeholder,.character-subtitle-input[data-v-c32d451d]::placeholder{color:var(--color-text);opacity:.5;font-style:normal}.variables-section[data-v-c32d451d]{flex-direction:column;gap:8px;display:flex}.variables-title[data-v-c32d451d]{text-transform:uppercase;letter-spacing:.04em;color:var(--color-heading);margin:0;font-size:.85rem;font-weight:700}.variables-subtitle[data-v-c32d451d]{text-transform:uppercase;letter-spacing:.04em;color:var(--color-heading);opacity:.75;margin:4px 0 0;font-size:.75rem;font-weight:700}.empty-list-text[data-v-c32d451d]{color:var(--color-text);opacity:.5;margin:0;font-style:italic}.variables-error[data-v-c32d451d]{color:#ef4444;background:#ef44441f;border:1px solid #ef4444;border-radius:4px;align-items:center;gap:6px;margin:0;padding:6px 8px;font-size:.8rem;line-height:1.3;display:flex}.variables-error .material-symbols-outlined[data-v-c32d451d]{flex-shrink:0;font-size:16px}.folders-list[data-v-c32d451d]{flex-direction:column;gap:6px;display:flex}.folder-item[data-v-c32d451d]{background:var(--color-banner-bg);border-left:4px solid var(--color-heading);border-radius:0 4px 4px 0;transition:border-left-color .15s}.folder-item[data-v-c32d451d]:has(.character-list-button):hover{border-left-color:var(--color-accent)}.folder-item[data-v-c32d451d]:has(.character-delete-button){border-radius:0}.folder-item[data-v-c32d451d]:has(.character-list-button){align-items:stretch;display:flex}.folder-header[data-v-c32d451d]{cursor:pointer;align-items:center;gap:2px;padding:4px 8px;display:flex}.folder-chevron[data-v-c32d451d]{flex-shrink:0;font-size:18px;transition:transform .15s;transform:rotate(0)}.folder-chevron.expanded[data-v-c32d451d]{transform:rotate(90deg)}.folder-icon[data-v-c32d451d]{opacity:.6;flex-shrink:0;font-size:16px}.character-list-button[data-v-c32d451d]{width:100%;min-width:0;color:inherit;font:inherit;text-align:left;background:0 0;border:none;flex:1;font-size:1.15em;font-weight:700}.character-list-button[data-v-c32d451d]:disabled{opacity:.5;cursor:not-allowed}.character-row-info[data-v-c32d451d]{flex-direction:column;gap:0;min-width:0;display:flex}.character-row-name[data-v-c32d451d]{white-space:nowrap;text-overflow:ellipsis;line-height:1.1;overflow:hidden}.character-row-subtitle[data-v-c32d451d]{white-space:nowrap;text-overflow:ellipsis;color:var(--color-text);opacity:.7;font-size:.8em;font-style:italic;font-weight:400;line-height:1.1;overflow:hidden}.character-delete-button[data-v-c32d451d]{flex-shrink:0}.folder-item .character-delete-button[data-v-c32d451d]{border:none;border-left:1px solid var(--color-border-hover);background-color:#0000;border-radius:0 4px 4px 0;align-self:stretch;width:auto;height:auto;padding:0 8px}.folder-item .character-delete-button[data-v-c32d451d]:hover:not(:disabled){background-color:var(--color-accent-soft)}.folder-name-input[data-v-c32d451d]{min-width:0;color:var(--color-heading);font:inherit;background:0 0;border:none;flex:1;font-weight:700}.folder-name-input[data-v-c32d451d]:focus{outline:none}.folder-name-input[data-v-c32d451d]::placeholder{color:var(--color-text);opacity:.5;font-weight:400}.folder-body[data-v-c32d451d]{padding:0 10px 8px 20px}.folder-actions[data-v-c32d451d]{gap:6px;margin-bottom:6px;display:flex}.folder-add-button[data-v-c32d451d]{border:1px dashed var(--color-border-hover);color:var(--color-text);font:inherit;cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;gap:4px;padding:6px;transition:background-color .15s,border-color .15s,color .15s;display:flex}.folder-add-button[data-v-c32d451d]:hover:not(:disabled){background-color:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent-hover)}.folder-add-button[data-v-c32d451d]:disabled{opacity:.5;cursor:not-allowed}.folder-add-button .material-symbols-outlined[data-v-c32d451d]{font-size:18px}.theme-options[data-v-c32d451d]{flex-wrap:wrap;gap:6px;display:flex}.theme-option[data-v-c32d451d]{border:1px dashed var(--color-border-hover);color:var(--color-text);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:6px 10px;font-size:.85rem;transition:background-color .15s,border-color .15s,color .15s}.theme-option[data-v-c32d451d]:hover{background-color:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent-hover)}.theme-option.active[data-v-c32d451d]{border-style:solid;border-color:var(--color-accent);background-color:var(--color-accent-soft);color:var(--color-accent-hover)}.variables-list[data-v-c32d451d]{flex-direction:column;gap:6px;display:flex}.variable-item[data-v-c32d451d]{background:var(--color-banner-bg);border-left:4px solid var(--color-accent)}.variable-header[data-v-c32d451d]{cursor:pointer;align-items:center;gap:2px;padding:4px 8px;display:flex}.variable-chevron[data-v-c32d451d]{flex-shrink:0;font-size:18px;transition:transform .15s;transform:rotate(0)}.variable-chevron.expanded[data-v-c32d451d]{transform:rotate(90deg)}.variable-name-input[data-v-c32d451d]{min-width:0;color:var(--color-text);font:inherit;background:0 0;border:none;flex:1;font-weight:600}.variable-name-input[data-v-c32d451d]:focus{outline:none}.variable-name-input[data-v-c32d451d]::placeholder{color:var(--color-text);opacity:.5;font-weight:400}.variable-value-inline[data-v-c32d451d]{color:var(--color-heading);white-space:nowrap;flex:none;margin-left:4px;font-weight:700}.variable-body[data-v-c32d451d]{padding:0 10px 8px 30px}.variable-value-row[data-v-c32d451d]{margin-bottom:6px}.variable-value-input[data-v-c32d451d]{box-sizing:border-box;border:1px solid var(--color-border-hover);background:var(--color-background-soft);width:100%;height:26px;color:var(--color-text);font:inherit;appearance:textfield;border-radius:4px;padding:0 6px;font-size:.85rem}.variable-value-input[data-v-c32d451d]:focus{border-color:var(--color-accent);outline:none}.variable-value-input[data-v-c32d451d]::-webkit-outer-spin-button{appearance:none;margin:0}.variable-value-input[data-v-c32d451d]::-webkit-inner-spin-button{appearance:none;margin:0}.variable-modifiers[data-v-c32d451d]{flex-direction:column;gap:4px;margin-bottom:6px;display:flex}.modifier-row[data-v-c32d451d]{gap:6px;display:flex}.modifier-formula-input[data-v-c32d451d]{box-sizing:border-box;border:1px solid var(--color-border-hover);background:var(--color-background-soft);min-width:0;height:26px;color:var(--color-text);font:inherit;border-radius:4px;flex:1;padding:0 6px;font-size:.85rem}.modifier-formula-input[data-v-c32d451d]:focus{border-color:var(--color-accent);outline:none}.modifier-round-toggle[data-v-c32d451d]{box-sizing:border-box;border:1px solid var(--color-border-hover);background-color:var(--color-surface-button);cursor:pointer;border-radius:3px;flex:0 0 6px;width:6px;height:26px;padding:0;transition:border-color .15s;position:relative}.modifier-round-toggle[data-v-c32d451d]:hover{border-color:var(--color-accent)}.modifier-round-toggle-thumb[data-v-c32d451d]{background-color:var(--color-text);border-radius:2px;height:10px;transition:top .15s,bottom .15s,background-color .15s;position:absolute;bottom:0;left:0;right:0}.modifier-round-toggle.round-up .modifier-round-toggle-thumb[data-v-c32d451d]{background-color:var(--color-accent);top:0;bottom:auto}.modifier-delete-button[data-v-c32d451d]{border:1px solid var(--color-border-hover);background-color:var(--color-surface-button);height:26px;color:var(--color-text);cursor:pointer;border-radius:4px;flex:0 0 26px;justify-content:center;align-items:center;padding:0;transition:background-color .15s,border-color .15s,color .15s;display:flex}.modifier-delete-button[data-v-c32d451d]:hover{background-color:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent-hover)}.modifier-delete-button .material-symbols-outlined[data-v-c32d451d]{font-size:16px}.modifier-add-button[data-v-c32d451d]{border:1px dashed var(--color-border-hover);width:100%;height:16px;color:var(--color-text);cursor:pointer;background:0 0;border-radius:3px;justify-content:center;align-items:center;padding:0;transition:background-color .15s,border-color .15s,color .15s;display:flex}.modifier-add-button[data-v-c32d451d]:hover{background-color:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent-hover)}.modifier-add-button .material-symbols-outlined[data-v-c32d451d]{font-size:14px}.variable-actions[data-v-c32d451d]{gap:6px;margin-bottom:6px;display:flex}.variable-action-button[data-v-c32d451d]{border:1px solid var(--color-border-hover);background-color:var(--color-surface-button);width:26px;height:26px;color:var(--color-text);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:background-color .15s,border-color .15s,color .15s;display:flex;position:relative;overflow:hidden}.variable-action-button[data-v-c32d451d]:hover:not(:disabled){background-color:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent-hover)}.variable-action-button[data-v-c32d451d]:disabled{opacity:.4;cursor:not-allowed}.variable-action-button .material-symbols-outlined[data-v-c32d451d]{font-size:16px;position:relative}.variable-add-button[data-v-c32d451d]{box-sizing:border-box;border:1px dashed var(--color-border-hover);width:100%;color:var(--color-text);font:inherit;cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;gap:4px;margin-top:6px;padding:6px;transition:background-color .15s,border-color .15s,color .15s;display:flex}.variable-add-button[data-v-c32d451d]:hover{background-color:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent-hover)}.variable-add-button .material-symbols-outlined[data-v-c32d451d]{font-size:18px}.panel-io-actions[data-v-c32d451d]{flex:none;gap:8px;display:flex}.panel-io-button[data-v-c32d451d]{border:1px solid var(--color-border-hover);background-color:var(--color-surface-button);color:var(--color-text);font:inherit;cursor:pointer;border-radius:4px;flex:1 1 0;justify-content:center;align-items:center;gap:4px;padding:6px;transition:background-color .15s,border-color .15s,color .15s;display:flex}.panel-io-button[data-v-c32d451d]:hover:not(:disabled){background-color:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent-hover)}.panel-io-button[data-v-c32d451d]:disabled{opacity:.4;cursor:not-allowed}.panel-io-button .material-symbols-outlined[data-v-c32d451d]{font-size:18px}.panel-io-file-input[data-v-c32d451d]{display:none}.right-panel[data-v-c32d451d]{background-color:var(--color-background);background-image:radial-gradient(circle, var(--color-border-hover) 1px, transparent 1px);background-size:15px 15px;flex:auto;min-width:0;height:100%;position:relative;overflow:hidden}.nodes-layer[data-v-c32d451d]{position:absolute;inset:0}.floating-toolbar[data-v-c32d451d]{z-index:10;background:var(--color-background-soft);border:1px solid var(--color-border-hover);border-radius:4px;flex-direction:column;gap:8px;padding:8px;transition:left .25s;display:flex;position:absolute;top:12px}.floating-toolbar-button[data-v-c32d451d]{border:1px solid var(--color-border-hover);background-color:var(--color-surface-button);width:36px;height:36px;color:var(--color-text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:background-color .15s,border-color .15s,color .15s;display:flex;position:relative;overflow:hidden}.floating-toolbar-button[data-v-c32d451d]:hover:not(:disabled),.floating-toolbar-button.active[data-v-c32d451d]{background-color:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent-hover)}.floating-toolbar-button[data-v-c32d451d]:disabled{opacity:.4;cursor:not-allowed}.floating-toolbar-button .material-symbols-outlined[data-v-c32d451d]{position:relative}.hold-progress[data-v-c32d451d]{opacity:.45;transform-origin:bottom;pointer-events:none;background:#ef4444;transition-property:transform;transition-timing-function:linear;position:absolute;inset:0;transform:scaleY(0)}.hold-progress.holding[data-v-c32d451d]{transform:scaleY(1)}.canvas-bottom-controls[data-v-c32d451d]{z-index:10;align-items:center;gap:12px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.pan-dpad[data-v-c32d451d]{grid-template-rows:repeat(3,36px);grid-template-columns:repeat(3,36px);gap:4px;display:grid}.pan-dpad-up[data-v-c32d451d]{grid-area:1/2}.pan-dpad-left[data-v-c32d451d]{grid-area:2/1}.pan-dpad-right[data-v-c32d451d]{grid-area:2/3}.pan-dpad-down[data-v-c32d451d]{grid-area:3/2}.no-transition[data-v-c32d451d]{transition:none}.mobile-block-overlay[data-v-c32d451d]{display:none}@media (width<=768px){.mobile-block-overlay[data-v-c32d451d]{z-index:9999;background:#1a1423;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}}.mobile-block-message[data-v-c32d451d]{text-align:center;color:#f3e6c9;flex-direction:column;align-items:center;gap:12px;max-width:320px;display:flex}.mobile-block-icon[data-v-c32d451d]{opacity:.8;font-size:48px}.mobile-block-message p[data-v-c32d451d]{opacity:.8}
