@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg-base:#111;--bg-surface:#171717;--bg-elevated:#1e1e1e;--bg-card:#242424;--bg-hover:#2a2a2a;--bg-active:#303030;--border-subtle:#ffdc820a;--border-muted:#ffdc8214;--border-soft:#ffdc8229;--border-focus:#c9a24a8c;--text-primary:#ede8df;--text-secondary:#9e9488;--text-muted:#5a5248;--text-disabled:#302c28;--accent:#c9a24a;--accent-hover:#d4b060;--accent-muted:#c9a24a1f;--accent-glow:#c9a24a47;--color-character:#a07af5;--color-place:#4ab07c;--color-faction:#d4883a;--color-item:#4a9ed9;--color-creature:#d44a4a;--color-event:#b04ad9;--color-resource:#4ad9c9;--color-lore:#d9c94a;--danger:#e05252;--danger-muted:#e0525226;--success:#4ec99c;--success-muted:#4ec99c26;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--shadow-sm:0 2px 8px #00000080;--shadow-md:0 4px 20px #0009;--shadow-lg:0 8px 40px #000000b3;--shadow-glow:0 0 20px var(--accent-glow);--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--sidebar-width:252px;--header-height:50px;--ease-out:cubic-bezier(.16, 1, .3, 1);--duration:.18s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-muted);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-soft)}::selection{background:var(--accent-muted);color:var(--text-primary)}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}button{font-family:inherit;font-size:inherit;cursor:pointer;color:inherit;background:0 0;border:none}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit;background:var(--bg-elevated);border:1px solid var(--border-muted);border-radius:var(--radius-sm);padding:var(--sp-2) var(--sp-3);transition:border-color var(--duration) var(--ease-out);outline:none;width:100%}input:focus,textarea:focus,select:focus{border-color:var(--border-focus)}input::placeholder,textarea::placeholder{color:var(--text-muted)}textarea{resize:vertical;min-height:80px}.dot-bg{background-image:radial-gradient(circle,#ffffff0f 1px,#0000 1px);background-size:28px 28px}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fade-enter-active,.fade-leave-active{transition:opacity var(--duration) var(--ease-out)}.fade-enter-from,.fade-leave-to{opacity:0}.slide-right-enter-active,.slide-right-leave-active{transition:transform var(--duration) var(--ease-out), opacity var(--duration) var(--ease-out)}.slide-right-enter-from,.slide-right-leave-to{opacity:0;transform:translate(20px)}.slide-up-enter-active,.slide-up-leave-active{transition:transform var(--duration) var(--ease-out), opacity var(--duration) var(--ease-out)}.slide-up-enter-from,.slide-up-leave-to{opacity:0;transform:translateY(12px)}.nsb[data-v-aa1166f8]{gap:var(--sp-5);background:var(--bg-surface);border-right:1px solid var(--border-subtle);width:220px;padding:var(--sp-5) var(--sp-3);z-index:2;flex-direction:column;flex-shrink:0;height:100%;display:flex;position:relative;overflow:hidden auto}.nsb-logo[data-v-aa1166f8]{align-items:center;gap:var(--sp-3);padding:0 var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border-subtle);flex-shrink:0;display:flex}.nsb-logo-mark[data-v-aa1166f8]{color:var(--accent);filter:drop-shadow(0 0 6px var(--accent-glow));flex-shrink:0;font-size:22px}.nsb-logo-text[data-v-aa1166f8]{color:var(--text-primary);letter-spacing:-.01em;font-size:13px;font-weight:700;line-height:1.3}.nsb-logo-text em[data-v-aa1166f8]{color:var(--accent);font-style:italic;font-weight:400}.nsb-nav[data-v-aa1166f8]{flex-direction:column;flex:1;gap:2px;display:flex}.nsb-section[data-v-aa1166f8]{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:var(--sp-4) var(--sp-2) var(--sp-1);font-size:10px;font-weight:700}.nsb-section-bottom[data-v-aa1166f8]{margin-top:auto}.nsb-item[data-v-aa1166f8]{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-md);color:var(--text-secondary);text-align:left;transition:all var(--duration);cursor:pointer;background:0 0;border:none;width:100%;font-family:inherit;font-size:13px;font-weight:500;text-decoration:none;display:flex;position:relative}.nsb-item[data-v-aa1166f8]:not(.nsb-disabled):hover{background:var(--bg-hover);color:var(--text-primary)}.nsb-item.active[data-v-aa1166f8]{background:var(--accent-muted);color:var(--accent);font-weight:600}.nsb-item.active .nsb-icon[data-v-aa1166f8]{filter:none}.nsb-disabled[data-v-aa1166f8]{opacity:.4;cursor:not-allowed}.nsb-icon[data-v-aa1166f8]{flex-shrink:0;font-size:15px}.nsb-label[data-v-aa1166f8]{flex:1}.nsb-soon[data-v-aa1166f8]{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);background:var(--bg-active);border-radius:var(--radius-full);padding:1px 5px;font-size:9px;font-weight:700}.nsb-patreon[data-v-aa1166f8]:hover{color:#f96854!important}.nsb-heart[data-v-aa1166f8]{color:#f96854}.nsb-ext[data-v-aa1166f8]{color:var(--text-muted);margin-left:auto;font-size:11px}.cg-layout[data-v-f76f39fa]{background:var(--bg-base);width:100%;height:100%;color:var(--text-primary);font-family:var(--font-sans);display:flex;overflow:hidden}.cg-main[data-v-f76f39fa]{flex-direction:column;flex:1;min-width:0;display:flex;position:relative;overflow:hidden auto}.cg-bg[data-v-f76f39fa]{pointer-events:none;z-index:0;position:fixed;inset:0}.cg-header[data-v-f76f39fa]{z-index:10;background:var(--bg-surface);border-bottom:1px solid var(--border-muted);padding:var(--sp-4) var(--sp-6);gap:var(--sp-3);flex-direction:column;display:flex;position:sticky;top:0}.cg-header-inner[data-v-f76f39fa]{justify-content:space-between;align-items:center;gap:var(--sp-4);display:flex}.cg-header-actions[data-v-f76f39fa]{align-items:center;gap:var(--sp-2);flex-shrink:0;display:flex}.btn-ghost-outline[data-v-f76f39fa]{padding:var(--sp-2) var(--sp-3);color:var(--text-secondary);border:1px solid var(--border-soft);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration) var(--ease-out);background:0 0;font-family:inherit;font-size:.82rem;font-weight:500}.btn-ghost-outline[data-v-f76f39fa]:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-soft)}.btn-ghost-outline[data-v-f76f39fa]:disabled{opacity:.4;cursor:not-allowed}.cg-title[data-v-f76f39fa]{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:600}.cg-subtitle[data-v-f76f39fa]{color:var(--text-secondary);margin:2px 0 0;font-size:.8rem}.btn-primary[data-v-f76f39fa]{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);background:var(--accent);color:#111;border-radius:var(--radius-md);cursor:pointer;transition:background var(--duration) var(--ease-out);white-space:nowrap;border:none;flex-shrink:0;font-size:.85rem;font-weight:600;display:flex}.btn-primary[data-v-f76f39fa]:hover{background:var(--accent-hover)}.btn-icon[data-v-f76f39fa]{font-size:1rem}.size-selector[data-v-f76f39fa]{gap:var(--sp-2);flex-wrap:wrap;display:flex}.size-chip[data-v-f76f39fa]{padding:var(--sp-2) var(--sp-3);background:var(--bg-card);border:1px solid var(--border-muted);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration) var(--ease-out);color:var(--text-secondary);flex-direction:column;align-items:center;min-width:90px;display:flex}.size-chip[data-v-f76f39fa]:hover{background:var(--bg-hover);border-color:var(--border-soft);color:var(--text-primary)}.size-chip.active[data-v-f76f39fa]{background:var(--accent-muted);border-color:var(--accent);color:var(--accent)}.size-chip-label[data-v-f76f39fa]{font-size:.85rem;font-weight:600}.size-chip-range[data-v-f76f39fa]{opacity:.75;margin-top:1px;font-size:.68rem}.cg-content[data-v-f76f39fa]{z-index:1;max-width:900px;padding:var(--sp-6) var(--sp-6) var(--sp-12);gap:var(--sp-8);flex-direction:column;margin:0 auto;display:flex;position:relative}.cg-section[data-v-f76f39fa]{background:var(--bg-card);border:1px solid var(--border-muted);border-radius:var(--radius-lg);padding:var(--sp-5);gap:var(--sp-4);flex-direction:column;display:flex}.section-title[data-v-f76f39fa]{align-items:center;gap:var(--sp-2);color:var(--text-primary);padding-bottom:var(--sp-3);border-bottom:1px solid var(--border-subtle);margin:0;font-size:1rem;font-weight:600;display:flex}.section-icon[data-v-f76f39fa]{font-size:1.1rem}.section-count[data-v-f76f39fa]{color:var(--text-secondary);background:var(--bg-elevated);padding:2px var(--sp-2);border-radius:var(--radius-full);border:1px solid var(--border-muted);margin-left:auto;font-size:.8rem;font-weight:400}.stat-grid[data-v-f76f39fa]{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.stat-card[data-v-f76f39fa]{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--sp-3) var(--sp-4);flex-direction:column;gap:2px;display:flex}.stat-card.accent[data-v-f76f39fa]{border-color:var(--accent);background:var(--accent-muted)}.stat-value[data-v-f76f39fa]{color:var(--text-primary);font-size:1.4rem;font-weight:700;line-height:1}.stat-card.accent .stat-value[data-v-f76f39fa]{color:var(--accent)}.stat-label[data-v-f76f39fa]{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem}.non-actifs-grid[data-v-f76f39fa]{gap:var(--sp-2);flex-wrap:wrap;display:flex}.na-item[data-v-f76f39fa]{align-items:center;gap:var(--sp-2);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--sp-2) var(--sp-3);flex:1;min-width:130px;display:flex}.na-icon[data-v-f76f39fa]{font-size:1.1rem}.na-body[data-v-f76f39fa]{flex-direction:column;gap:1px;display:flex}.na-value[data-v-f76f39fa]{color:var(--text-primary);font-size:1rem;font-weight:600}.na-label[data-v-f76f39fa]{color:var(--text-secondary);font-size:.7rem}.prof-category[data-v-f76f39fa]{gap:var(--sp-1);flex-direction:column;display:flex}.cat-title[data-v-f76f39fa]{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin:var(--sp-2) 0 var(--sp-1);align-items:center;gap:var(--sp-2);font-size:.75rem;font-weight:600;display:flex}.prof-list[data-v-f76f39fa]{flex-direction:column;gap:2px;display:flex}.prof-row[data-v-f76f39fa]{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);background:var(--bg-elevated);border-radius:var(--radius-sm);transition:background var(--duration) var(--ease-out);border-left:3px solid #0000;display:flex}.prof-row[data-v-f76f39fa]:hover{background:var(--bg-hover)}.prof-row.tier-1[data-v-f76f39fa]{border-left-color:var(--text-muted)}.prof-row.tier-2[data-v-f76f39fa]{border-left-color:var(--color-place)}.prof-row.tier-3[data-v-f76f39fa]{border-left-color:var(--accent)}.prof-row.tier-4[data-v-f76f39fa]{border-left-color:var(--color-event)}.prof-name[data-v-f76f39fa]{color:var(--text-primary);flex:1;font-size:.85rem}.prof-tier[data-v-f76f39fa]{color:var(--text-muted);background:var(--bg-card);padding:1px var(--sp-2);border-radius:var(--radius-full);border:1px solid var(--border-subtle);font-size:.7rem}.prof-row.tier-3 .prof-tier[data-v-f76f39fa]{color:var(--accent);border-color:var(--accent)}.prof-row.tier-4 .prof-tier[data-v-f76f39fa]{color:var(--color-event);border-color:var(--color-event)}.prof-count[data-v-f76f39fa]{color:var(--text-primary);text-align:right;min-width:30px;font-size:.95rem;font-weight:700}.bat-category[data-v-f76f39fa]{gap:var(--sp-1);flex-direction:column;display:flex}.bat-dot[data-v-f76f39fa]{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.bat-dot-agricole[data-v-f76f39fa]{background:var(--color-place)}.bat-dot-économique[data-v-f76f39fa]{background:var(--accent)}.bat-dot-religieux[data-v-f76f39fa]{background:var(--color-lore)}.bat-dot-civique[data-v-f76f39fa]{background:var(--color-item)}.bat-dot-défensif[data-v-f76f39fa]{background:var(--color-creature)}.bat-dot-résidentiel[data-v-f76f39fa]{background:var(--text-muted)}.bat-list[data-v-f76f39fa]{flex-direction:column;gap:2px;display:flex}.bat-row[data-v-f76f39fa]{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--bg-elevated);border-radius:var(--radius-sm);display:flex}.bat-count[data-v-f76f39fa]{color:var(--accent);min-width:28px;font-size:.8rem;font-weight:700}.bat-name[data-v-f76f39fa]{color:var(--text-primary);flex:1;font-size:.85rem}.bat-notes[data-v-f76f39fa]{color:var(--text-muted);font-size:.7rem;font-style:italic}.quartiers-grid[data-v-f76f39fa]{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.quartier-card[data-v-f76f39fa]{background:var(--bg-elevated);border:1px solid var(--border-muted);border-radius:var(--radius-md);padding:var(--sp-4);gap:var(--sp-2);flex-direction:column;display:flex}.quartier-header[data-v-f76f39fa]{justify-content:space-between;align-items:flex-start;gap:var(--sp-2);display:flex}.quartier-nom[data-v-f76f39fa]{color:var(--text-primary);font-size:.95rem;font-weight:600;line-height:1.3}.quartier-type-badge[data-v-f76f39fa]{color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-full);padding:2px var(--sp-2);white-space:nowrap;flex-shrink:0;font-size:.65rem}.quartier-desc[data-v-f76f39fa]{color:var(--text-secondary);margin:0;font-size:.8rem;line-height:1.5}.quartier-bats[data-v-f76f39fa]{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.quartier-bats li[data-v-f76f39fa]{color:var(--text-muted);border-top:1px solid var(--border-subtle);padding:2px 0;font-size:.75rem}.qb-count[data-v-f76f39fa]{color:var(--accent);margin-right:var(--sp-1);font-weight:600}.empty-note[data-v-f76f39fa]{color:var(--text-muted);text-align:center;padding:var(--sp-4);font-size:.85rem;font-style:italic}.dot-bg[data-v-f76f39fa]{background-image:radial-gradient(circle,#ffdc820f 1px,#0000 1px);background-size:24px 24px}.dashboard[data-v-f463c6ae]{background:var(--bg-base);width:100%;height:100%;display:flex;position:relative;overflow:hidden}.dashboard-bg[data-v-f463c6ae]{pointer-events:none;z-index:0;position:fixed;inset:0}.sidebar[data-v-f463c6ae]{z-index:2;background:var(--bg-surface);border-right:1px solid var(--border-subtle);width:220px;padding:var(--sp-5) var(--sp-3);gap:var(--sp-5);flex-direction:column;flex-shrink:0;display:flex;position:relative}.sidebar-logo[data-v-f463c6ae]{align-items:center;gap:var(--sp-3);padding:0 var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border-subtle);display:flex}.logo-mark[data-v-f463c6ae]{color:var(--accent);filter:drop-shadow(0 0 6px var(--accent-glow));flex-shrink:0;font-size:22px}.logo-text[data-v-f463c6ae]{color:var(--text-primary);letter-spacing:-.01em;font-size:13px;font-weight:700;line-height:1.3}.logo-text em[data-v-f463c6ae]{color:var(--accent);font-style:italic;font-weight:400}.sidebar-nav[data-v-f463c6ae]{flex-direction:column;flex:1;gap:2px;display:flex}.nav-section-label[data-v-f463c6ae]{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:var(--sp-4) var(--sp-2) var(--sp-1);font-size:10px;font-weight:700}.nav-item[data-v-f463c6ae]{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-md);color:var(--text-secondary);text-align:left;transition:all var(--duration);font-size:13px;font-weight:500;display:flex;position:relative}.nav-item[data-v-f463c6ae]:not(.disabled):hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.active[data-v-f463c6ae]{background:var(--accent-muted);color:var(--accent);font-weight:600}.nav-item.active .nav-icon[data-v-f463c6ae]{filter:none}.nav-item.disabled[data-v-f463c6ae]{opacity:.4;cursor:not-allowed}.nav-icon[data-v-f463c6ae]{flex-shrink:0;font-size:15px}.nav-label[data-v-f463c6ae]{flex:1}.nav-patreon[data-v-f463c6ae]{color:var(--text-secondary);margin-top:var(--sp-2);text-decoration:none}.nav-patreon[data-v-f463c6ae]:hover{color:#f96854;background:#f968541f}.patreon-heart[data-v-f463c6ae]{color:#f96854;font-size:14px}.nav-external[data-v-f463c6ae]{color:var(--text-muted);margin-left:auto;font-size:10px}.nav-soon[data-v-f463c6ae]{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border-muted);border-radius:var(--radius-full);padding:1px 5px;font-size:9px;font-weight:700}.main-content[data-v-f463c6ae]{z-index:1;padding:var(--sp-8) var(--sp-8);flex:1;position:relative;overflow-y:auto}.pane[data-v-f463c6ae]{max-width:1000px;margin:0 auto}.pane-header[data-v-f463c6ae]{margin-bottom:var(--sp-8);justify-content:space-between;align-items:flex-end;display:flex}.pane-title[data-v-f463c6ae]{color:var(--text-primary);letter-spacing:-.02em;font-size:26px;font-weight:700}.pane-sub[data-v-f463c6ae]{color:var(--text-muted);margin-top:4px;font-size:13px}.pane-actions[data-v-f463c6ae]{align-items:center;gap:var(--sp-2);display:flex}.btn-primary[data-v-f463c6ae]{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);background:var(--accent);color:#111;border-radius:var(--radius-md);transition:background var(--duration), box-shadow var(--duration);font-size:13px;font-weight:700;display:inline-flex}.btn-primary[data-v-f463c6ae]:hover{background:var(--accent-hover);box-shadow:var(--shadow-glow)}.btn-primary[data-v-f463c6ae]:disabled{opacity:.4;cursor:not-allowed}.btn-ghost[data-v-f463c6ae]{padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-md);color:var(--text-secondary);transition:background var(--duration);font-size:13px}.btn-ghost[data-v-f463c6ae]:hover{background:var(--bg-hover)}.btn-ghost-outline[data-v-f463c6ae]{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-md);color:var(--text-secondary);border:1px solid var(--border-muted);transition:all var(--duration);font-size:13px;font-weight:600;display:inline-flex}.btn-ghost-outline[data-v-f463c6ae]:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-soft)}.empty-state[data-v-f463c6ae]{align-items:center;gap:var(--sp-3);padding:var(--sp-12) 0;text-align:center;flex-direction:column;display:flex}.empty-icon[data-v-f463c6ae]{color:var(--accent);opacity:.3;filter:drop-shadow(0 0 12px var(--accent-glow));font-size:48px}.empty-title[data-v-f463c6ae]{color:var(--text-primary);font-size:18px;font-weight:600}.empty-sub[data-v-f463c6ae]{color:var(--text-muted);font-size:13px}.project-grid[data-v-f463c6ae]{gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.project-card[data-v-f463c6ae]{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);cursor:pointer;transition:border-color var(--duration), transform var(--duration), box-shadow var(--duration);position:relative;overflow:hidden}.project-card[data-v-f463c6ae]:hover{border-color:var(--border-soft);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-bg[data-v-f463c6ae]{height:90px}.card-bg.bg-dots[data-v-f463c6ae]{background-image:radial-gradient(circle,#6b7ff51f 1px,#0000 1px);background-size:22px 22px;background-color:var(--bg-elevated)}.card-bg.bg-grid[data-v-f463c6ae]{background-image:linear-gradient(var(--border-subtle) 1px, transparent 1px), linear-gradient(90deg, var(--border-subtle) 1px, transparent 1px);background-size:24px 24px;background-color:var(--bg-elevated)}.card-bg.bg-image[data-v-f463c6ae]{background-color:var(--bg-elevated)}.card-body[data-v-f463c6ae]{padding:var(--sp-4)}.card-title[data-v-f463c6ae]{color:var(--text-primary);margin-bottom:4px;font-size:15px;font-weight:600}.card-desc[data-v-f463c6ae]{color:var(--text-secondary);margin-bottom:var(--sp-3);font-size:12px}.card-meta[data-v-f463c6ae]{color:var(--text-muted);justify-content:space-between;font-size:11px;display:flex}.card-actions[data-v-f463c6ae]{top:var(--sp-2);right:var(--sp-2);opacity:0;transition:opacity var(--duration);gap:3px;display:flex;position:absolute}.project-card:hover .card-actions[data-v-f463c6ae]{opacity:1}.card-action-btn[data-v-f463c6ae]{border-radius:var(--radius-sm);width:26px;height:26px;color:var(--text-muted);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background var(--duration), color var(--duration);background:#080d1899;border:1px solid #ffffff14;justify-content:center;align-items:center;font-size:11px;display:flex}.card-action-btn[data-v-f463c6ae]:hover{color:var(--text-primary);background:#080d18d9}.card-action-btn.danger[data-v-f463c6ae]:hover{background:var(--danger-muted);color:var(--danger)}.map-card-bg[data-v-f463c6ae]{background:linear-gradient(135deg,#0d1f18 0%,#0a1a2e 100%);justify-content:center;align-items:center;display:flex}.map-card-icon[data-v-f463c6ae]{opacity:.35;filter:drop-shadow(0 0 8px #4ab07c66);font-size:32px}.timeline-card-bg[data-v-f463c6ae]{background:linear-gradient(135deg,#1a1020 0%,#0d1a2e 100%);justify-content:center;align-items:center;display:flex}.timeline-card-icon[data-v-f463c6ae]{opacity:.35;filter:drop-shadow(0 0 8px #c9a24a66);font-size:32px}.table-card-bg[data-v-f463c6ae]{background:linear-gradient(135deg,#1a1208 0%,#0d1a0d 100%);justify-content:center;align-items:center;display:flex}.table-card-dice[data-v-f463c6ae]{color:#c9a24a59;letter-spacing:-.04em;filter:drop-shadow(0 0 8px #c9a24a4d);font-size:24px;font-style:italic;font-weight:900}.dice-picker[data-v-f463c6ae]{gap:var(--sp-2);display:flex}.dice-opt[data-v-f463c6ae]{padding:var(--sp-3) var(--sp-2);border-radius:var(--radius-md);border:1px solid var(--border-muted);color:var(--text-secondary);transition:all var(--duration);text-align:center;flex:1;font-size:13px;font-weight:600}.dice-opt[data-v-f463c6ae]:hover{background:var(--bg-hover);color:var(--text-primary)}.dice-opt.selected[data-v-f463c6ae]{background:var(--accent-muted);color:var(--accent);border-color:#c9a24a66}.modal-overlay[data-v-f463c6ae]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-f463c6ae]{background:var(--bg-elevated);border:1px solid var(--border-soft);border-radius:var(--radius-xl);width:420px;box-shadow:var(--shadow-lg)}.modal-title[data-v-f463c6ae]{padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--border-subtle);font-size:16px;font-weight:700}.modal-body[data-v-f463c6ae]{padding:var(--sp-5) var(--sp-6);gap:var(--sp-2);flex-direction:column;display:flex}.field-label[data-v-f463c6ae]{color:var(--text-secondary);font-size:12px;font-weight:500}.required[data-v-f463c6ae]{color:var(--accent)}.modal-footer[data-v-f463c6ae]{justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-4) var(--sp-6);border-top:1px solid var(--border-subtle);display:flex}.sidebar[data-v-a3956d7a]{width:var(--sidebar-width);background:var(--bg-surface);border-right:1px solid var(--border-subtle);flex-direction:column;flex-shrink:0;height:100%;display:flex;overflow:hidden}.sidebar-header[data-v-a3956d7a]{align-items:center;gap:var(--sp-3);padding:0 var(--sp-3);border-bottom:1px solid var(--border-subtle);min-height:var(--header-height);flex-shrink:0;display:flex}.back-btn[data-v-a3956d7a]{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-muted);transition:background var(--duration), color var(--duration);flex-shrink:0;justify-content:center;align-items:center;font-size:15px;display:flex}.back-btn[data-v-a3956d7a]:hover{background:var(--bg-hover);color:var(--text-primary)}.project-info[data-v-a3956d7a]{flex-direction:column;gap:2px;min-width:0;display:flex}.project-name[data-v-a3956d7a]{font-size:13px;font-weight:600}.node-count[data-v-a3956d7a]{color:var(--text-muted);font-size:10px}.sidebar-section[data-v-a3956d7a]{padding:var(--sp-3);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.node-list-section[data-v-a3956d7a]{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.section-label[data-v-a3956d7a]{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:var(--sp-2);font-size:9px;font-weight:700}.search-input[data-v-a3956d7a]{font-size:12px}.type-filters[data-v-a3956d7a]{flex-direction:column;gap:1px;display:flex}.type-chip[data-v-a3956d7a]{align-items:center;gap:var(--sp-2);padding:5px var(--sp-2);border-radius:var(--radius-sm);color:var(--text-secondary);transition:background var(--duration), color var(--duration);text-align:left;font-size:12px;display:flex}.type-chip[data-v-a3956d7a]:hover{background:var(--bg-hover)}.type-chip.active[data-v-a3956d7a]{background:var(--accent-muted);color:var(--accent-hover)}.chip-count[data-v-a3956d7a]{background:var(--bg-elevated);border-radius:var(--radius-full);color:var(--text-muted);margin-left:auto;padding:1px 5px;font-size:10px}.node-list[data-v-a3956d7a]{flex:1;list-style:none;overflow-y:auto}.node-item[data-v-a3956d7a]{align-items:center;gap:var(--sp-2);padding:5px var(--sp-2);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration);display:flex}.node-item[data-v-a3956d7a]:hover{background:var(--bg-hover)}.node-item.selected[data-v-a3956d7a]{background:var(--accent-muted)}.node-item:hover .node-open-btn[data-v-a3956d7a]{opacity:1}.node-dot[data-v-a3956d7a]{border-radius:50%;flex-shrink:0;width:6px;height:6px}.node-item-name[data-v-a3956d7a]{flex:1;min-width:0;font-size:12px}.node-open-btn[data-v-a3956d7a]{color:var(--text-muted);opacity:0;transition:opacity var(--duration), color var(--duration);border-radius:3px;flex-shrink:0;padding:1px 3px;font-size:12px}.node-open-btn[data-v-a3956d7a]:hover{color:var(--accent)}.node-empty[data-v-a3956d7a]{padding:var(--sp-3) var(--sp-2);color:var(--text-muted);font-size:12px}.tag-list[data-v-a3956d7a]{flex-wrap:wrap;gap:4px;display:flex}.tag-chip[data-v-a3956d7a]{border-radius:var(--radius-full);background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border-muted);transition:all var(--duration);padding:2px 8px;font-size:11px}.tag-chip[data-v-a3956d7a]:hover{background:var(--bg-hover);color:var(--text-primary)}.tag-chip.active[data-v-a3956d7a]{background:var(--accent-muted);color:var(--accent-hover);border-color:var(--accent)}.group-list[data-v-a3956d7a]{flex-direction:column;gap:2px;display:flex}.group-item[data-v-a3956d7a]{align-items:center;gap:var(--sp-2);padding:5px var(--sp-2);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration);font-size:12px;display:flex}.group-item[data-v-a3956d7a]:hover{background:var(--bg-hover)}.group-item:hover .group-del[data-v-a3956d7a]{opacity:1}.group-dot[data-v-a3956d7a]{border-radius:2px;flex-shrink:0;width:8px;height:8px}.group-name[data-v-a3956d7a]{flex:1;min-width:0}.group-count[data-v-a3956d7a]{color:var(--text-muted);background:var(--bg-elevated);border-radius:var(--radius-full);padding:1px 5px;font-size:10px}.group-del[data-v-a3956d7a]{color:var(--text-muted);opacity:0;transition:all var(--duration);border-radius:3px;padding:2px 4px;font-size:10px}.group-del[data-v-a3956d7a]:hover{color:var(--danger);background:var(--danger-muted)}.graph-canvas[data-v-90cde81f]{cursor:default;width:100%;height:100%;display:block}.cropper-overlay[data-v-2732ce02]{z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000c7;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cropper-modal[data-v-2732ce02]{background:var(--bg-elevated);border:1px solid var(--border-soft);border-radius:var(--radius-xl);width:360px;box-shadow:var(--shadow-lg);flex-direction:column;align-items:center;display:flex;overflow:hidden}.cropper-modal.wide[data-v-2732ce02]{width:420px}.cropper-header[data-v-2732ce02]{width:100%;padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.cropper-title[data-v-2732ce02]{font-size:14px;font-weight:700}.cropper-close[data-v-2732ce02]{border-radius:var(--radius-sm);width:26px;height:26px;color:var(--text-muted);transition:all var(--duration);justify-content:center;align-items:center;font-size:12px;display:flex}.cropper-close[data-v-2732ce02]:hover{background:var(--danger-muted);color:var(--danger)}.crop-outer[data-v-2732ce02]{margin:var(--sp-6) auto;position:relative}.crop-area[data-v-2732ce02]{-webkit-user-select:none;user-select:none;background:#000;position:relative;overflow:hidden;transform:translateZ(0)}.crop-circle[data-v-2732ce02]{border-radius:50%}.crop-rect[data-v-2732ce02]{border-radius:var(--radius-md)}.crop-img[data-v-2732ce02]{pointer-events:none;-webkit-user-select:none;user-select:none;max-width:none;position:absolute;top:50%;left:50%}.crop-img-hidden[data-v-2732ce02]{opacity:0}.crop-ring[data-v-2732ce02]{pointer-events:none;border:2px solid var(--accent);box-shadow:0 0 16px var(--accent-glow), inset 0 0 8px #0000004d;position:absolute;top:0;left:0}.crop-ring-circle[data-v-2732ce02]{border-radius:50%}.crop-ring-rect[data-v-2732ce02]{border-radius:var(--radius-md)}.crop-hint[data-v-2732ce02]{color:var(--text-muted);margin-bottom:var(--sp-3);text-align:center;font-size:11px}.zoom-row[data-v-2732ce02]{align-items:center;gap:var(--sp-2);width:78%;margin-bottom:var(--sp-4);display:flex}.zoom-btn[data-v-2732ce02]{border-radius:var(--radius-sm);border:1px solid var(--border-muted);background:var(--bg-card);width:28px;height:28px;color:var(--text-secondary);transition:all var(--duration);flex-shrink:0;justify-content:center;align-items:center;font-size:16px;display:flex}.zoom-btn[data-v-2732ce02]:hover{background:var(--bg-hover);color:var(--text-primary)}.zoom-slider[data-v-2732ce02]{accent-color:var(--accent);flex:1}.zoom-reset[data-v-2732ce02]{border-radius:var(--radius-sm);border:1px solid var(--border-muted);background:var(--bg-card);width:28px;height:28px;color:var(--text-muted);transition:all var(--duration);flex-shrink:0;justify-content:center;align-items:center;font-size:14px;display:flex}.zoom-reset[data-v-2732ce02]:hover{color:var(--accent);border-color:var(--accent)}.cropper-footer[data-v-2732ce02]{justify-content:flex-end;gap:var(--sp-2);width:100%;padding:var(--sp-3) var(--sp-5) var(--sp-4);border-top:1px solid var(--border-subtle);display:flex}.btn-primary[data-v-2732ce02]{padding:var(--sp-2) var(--sp-4);background:var(--accent);color:#111;border-radius:var(--radius-md);transition:background var(--duration);font-size:13px;font-weight:700}.btn-primary[data-v-2732ce02]:hover{background:var(--accent-hover)}.btn-primary[data-v-2732ce02]:disabled{opacity:.4;cursor:not-allowed}.btn-ghost[data-v-2732ce02]{padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-md);color:var(--text-secondary);transition:background var(--duration);font-size:13px}.btn-ghost[data-v-2732ce02]:hover{background:var(--bg-hover)}.inspector-content[data-v-f1649690]{gap:var(--sp-4);padding-bottom:var(--sp-4);flex-direction:column;flex:1;display:flex;overflow-y:auto}.media-section[data-v-f1649690]{flex-direction:column;display:flex}.illustration-wrap[data-v-f1649690]{width:100%}.illustration-present[data-v-f1649690]{width:100%;position:relative}.illustration-img[data-v-f1649690]{width:100%;height:auto;display:block}.illustration-btns[data-v-f1649690]{top:var(--sp-2);right:var(--sp-2);opacity:0;transition:opacity var(--duration);gap:4px;display:flex;position:absolute}.illustration-present:hover .illustration-btns[data-v-f1649690]{opacity:1}.illustration-add[data-v-f1649690]{background:var(--bg-elevated);border-bottom:1px solid var(--border-subtle);width:100%;height:80px;color:var(--text-muted);transition:background var(--duration), color var(--duration);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:12px;display:flex}.illustration-add[data-v-f1649690]:hover{background:var(--bg-hover);color:var(--accent)}.illus-add-icon[data-v-f1649690]{font-size:20px}.img-btn[data-v-f1649690]{border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;width:28px;height:28px;transition:all var(--duration);background:#0009;border:1px solid #ffffff26;justify-content:center;align-items:center;font-size:13px;display:flex}.img-btn[data-v-f1649690]:hover{background:#000c}.img-btn.danger[data-v-f1649690]:hover{background:var(--danger)}.avatar-row[data-v-f1649690]{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border-subtle);display:flex}.avatar-row.has-illus[data-v-f1649690]{align-items:flex-end;margin-top:-28px;padding-top:0}.avatar-wrap[data-v-f1649690]{flex-direction:column;flex-shrink:0;align-items:center;gap:4px;display:flex}.avatar[data-v-f1649690]{border:3px solid var(--bg-surface);cursor:pointer;background:var(--bg-elevated);width:80px;height:80px;transition:border-color var(--duration);box-shadow:var(--shadow-md);border-radius:50%;flex-shrink:0;position:relative;overflow:hidden}.avatar[data-v-f1649690]:hover{border-color:var(--accent)}.avatar:hover .avatar-overlay[data-v-f1649690]{opacity:1}.avatar.dead[data-v-f1649690]{filter:grayscale(60%)brightness(.7)}.avatar-img[data-v-f1649690]{object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.avatar-placeholder[data-v-f1649690]{justify-content:center;align-items:center;font-size:30px;display:flex;position:absolute;inset:0}.avatar-overlay[data-v-f1649690]{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;transition:opacity var(--duration);background:#0000008c;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:absolute;inset:0}.av-ov-icon[data-v-f1649690]{color:var(--accent);font-size:18px}.av-ov-label[data-v-f1649690]{color:var(--text-secondary);text-transform:uppercase;font-size:9px;font-weight:700}.dead-badge[data-v-f1649690]{background:var(--danger);border:2px solid var(--bg-surface);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;display:flex;position:absolute;bottom:0;right:0}.avatar-sub-btns[data-v-f1649690]{gap:3px;display:flex}.sub-btn[data-v-f1649690]{border-radius:var(--radius-full);border:1px solid var(--border-muted);color:var(--text-muted);background:var(--bg-elevated);transition:all var(--duration);padding:2px 8px;font-size:11px;font-weight:600}.sub-btn[data-v-f1649690]:hover{background:var(--bg-hover);color:var(--text-primary)}.sub-btn.danger[data-v-f1649690]:hover{background:var(--danger-muted);color:var(--danger);border-color:var(--danger)}.avatar-meta[data-v-f1649690]{min-width:0;padding-bottom:var(--sp-1);flex-direction:column;gap:4px;display:flex}.type-badge[data-v-f1649690]{flex-shrink:0;font-size:12px;font-weight:700}.avatar-meta-name[data-v-f1649690]{color:var(--text-secondary);max-width:200px;font-size:14px;font-weight:600}.field-group[data-v-f1649690]{gap:var(--sp-2);padding:0 var(--sp-4);flex-direction:column;display:flex}.field-label[data-v-f1649690]{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);font-size:10px;font-weight:700}.field-hint[data-v-f1649690]{text-transform:none;letter-spacing:0;font-size:10px;font-weight:400}.name-input[data-v-f1649690]{font-size:15px;font-weight:600}.type-picker[data-v-f1649690]{flex-wrap:wrap;gap:4px;display:flex}.type-btn[data-v-f1649690]{border-radius:var(--radius-sm);border:1px solid var(--border-muted);width:32px;height:32px;transition:all var(--duration);justify-content:center;align-items:center;font-size:15px;display:flex}.type-btn[data-v-f1649690]:hover{background:var(--bg-hover)}.type-btn.active[data-v-f1649690]{border-color:var(--c,var(--accent));background:color-mix(in srgb, var(--c,var(--accent)) 15%, transparent);box-shadow:0 0 8px color-mix(in srgb, var(--c,var(--accent)) 25%, transparent)}.type-fields[data-v-f1649690]{gap:var(--sp-3);flex-direction:column;display:flex}.type-field[data-v-f1649690]{flex-direction:column;gap:4px;display:flex}.type-field-label[data-v-f1649690]{color:var(--text-secondary);font-size:11px}.check-field[data-v-f1649690]{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--sp-2) var(--sp-3);transition:all var(--duration)}.check-field[data-v-f1649690]:has(.check-input:checked){border-color:var(--accent);background:var(--accent-muted)}.check-field.check-danger[data-v-f1649690]:has(.check-input:checked){border-color:var(--danger);background:var(--danger-muted)}.check-row[data-v-f1649690]{align-items:center;gap:var(--sp-3);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex}.check-input[data-v-f1649690]{cursor:pointer;width:16px;height:16px;accent-color:var(--accent);flex-shrink:0}.check-field.check-danger .check-input[data-v-f1649690]{accent-color:var(--danger)}.check-label[data-v-f1649690]{color:var(--text-primary);font-size:13px;font-weight:500}.custom-header[data-v-f1649690]{justify-content:space-between;align-items:center;display:flex}.add-field-toggle[data-v-f1649690]{color:var(--accent);border-radius:var(--radius-full);transition:all var(--duration);border:1px solid #c9a24a40;padding:2px 8px;font-size:11px;font-weight:600}.add-field-toggle[data-v-f1649690]:hover{background:var(--accent-muted)}.custom-fields-list[data-v-f1649690]{flex-direction:column;gap:6px;display:flex}.custom-field-row[data-v-f1649690]{align-items:center;gap:var(--sp-2);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:4px 10px;display:flex}.custom-field-key[data-v-f1649690]{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;min-width:80px;max-width:120px;font-size:11px;font-weight:600;overflow:hidden}.custom-field-input[data-v-f1649690]{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:2px 4px;font-size:12px}.custom-field-input[data-v-f1649690]::placeholder{color:var(--text-muted)}.custom-field-del[data-v-f1649690]{color:var(--text-muted);transition:all var(--duration);border-radius:3px;flex-shrink:0;padding:2px 4px;font-size:10px}.custom-field-del[data-v-f1649690]:hover{color:var(--danger);background:var(--danger-muted)}.add-field-zone[data-v-f1649690]{gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--bg-elevated);border:1px solid var(--border-muted);border-radius:var(--radius-md);flex-direction:column;display:flex}.tag-list[data-v-f1649690]{flex-wrap:wrap;gap:4px;display:flex}.tag-pill[data-v-f1649690]{background:var(--accent-muted);color:var(--accent-hover);border-radius:var(--radius-full);border:1px solid #c9a24a40;align-items:center;gap:3px;padding:2px 8px;font-size:11px;display:flex}.tag-remove[data-v-f1649690]{opacity:.5;transition:opacity var(--duration);font-size:9px}.tag-remove[data-v-f1649690]:hover{opacity:1}.row-with-btn[data-v-f1649690]{gap:var(--sp-2);display:flex}.btn-add[data-v-f1649690]{padding:0 var(--sp-3);background:var(--accent-muted);color:var(--accent-hover);border-radius:var(--radius-sm);transition:background var(--duration);border:1px solid #c9a24a33;flex-shrink:0;font-size:16px}.btn-add[data-v-f1649690]:hover{background:var(--accent);color:#111}.btn-add[data-v-f1649690]:disabled{opacity:.3;cursor:not-allowed}.suggestions[data-v-f1649690]{flex-wrap:wrap;align-items:center;gap:3px;display:flex}.sug-label[data-v-f1649690]{color:var(--text-muted);margin-right:2px;font-size:10px}.sug-chip[data-v-f1649690]{border-radius:var(--radius-full);border:1px solid var(--border-muted);color:var(--text-muted);transition:all var(--duration);padding:2px 7px;font-size:10px}.sug-chip[data-v-f1649690]:hover:not(.used){border-color:var(--accent);color:var(--accent)}.sug-chip.used[data-v-f1649690]{opacity:.28;cursor:default}.link-list[data-v-f1649690]{margin-bottom:var(--sp-2);flex-direction:column;gap:4px;display:flex}.link-item[data-v-f1649690]{align-items:center;gap:var(--sp-2);padding:5px var(--sp-2);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:12px;display:flex}.link-name[data-v-f1649690]{flex:1;font-weight:500}.link-rel[data-v-f1649690]{color:var(--text-muted);background:var(--bg-card);border-radius:var(--radius-full);padding:1px 6px;font-size:10px}.link-remove[data-v-f1649690]{color:var(--text-muted);transition:all var(--duration);border-radius:3px;padding:2px 4px;font-size:10px}.link-remove[data-v-f1649690]:hover{background:var(--danger-muted);color:var(--danger)}.link-add[data-v-f1649690]{gap:var(--sp-2);flex-direction:column;display:flex}.inspector-actions-row[data-v-f1649690]{gap:var(--sp-2);padding:var(--sp-2) var(--sp-4) 0;border-top:1px solid var(--border-subtle);margin-top:var(--sp-2);display:flex}.act-btn[data-v-f1649690]{padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);border:1px solid var(--border-muted);color:var(--text-secondary);transition:all var(--duration);flex:1;font-size:12px;font-weight:500}.act-btn[data-v-f1649690]:hover{background:var(--bg-hover);color:var(--text-primary)}.act-btn.danger[data-v-f1649690]:hover{background:var(--danger-muted);color:var(--danger);border-color:var(--danger)}.act-btn.map-btn[data-v-f1649690]{color:#4ab07c;border-color:#4ab07c4d}.act-btn.map-btn[data-v-f1649690]:hover{background:#4ab07c1a;border-color:#4ab07c}.act-btn.timeline-btn[data-v-f1649690]{color:#b04ad9;border-color:#b04ad94d}.act-btn.timeline-btn[data-v-f1649690]:hover{background:#b04ad91a;border-color:#b04ad9}.floating-inspector[data-v-c36513c5]{background:var(--bg-surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);width:360px;max-height:calc(100vh - 80px);box-shadow:var(--shadow-lg), 0 0 0 1px var(--border-subtle);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);flex-direction:column;display:flex;position:fixed;overflow:hidden}.fi-titlebar[data-v-c36513c5]{align-items:center;gap:var(--sp-2);padding:0 var(--sp-3);background:var(--bg-elevated);border-bottom:1px solid var(--border-subtle);cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0;height:42px;display:flex}.fi-titlebar.dragging[data-v-c36513c5]{cursor:grabbing}.fi-icon[data-v-c36513c5]{flex-shrink:0;font-size:15px}.fi-type[data-v-c36513c5]{text-transform:uppercase;letter-spacing:.08em;flex-shrink:0;font-size:10px;font-weight:700}.fi-name[data-v-c36513c5]{color:var(--text-secondary);flex:1;min-width:0;font-size:12px;font-weight:500}.fi-close[data-v-c36513c5]{border-radius:var(--radius-sm);width:22px;height:22px;color:var(--text-muted);transition:background var(--duration), color var(--duration);flex-shrink:0;justify-content:center;align-items:center;font-size:11px;display:flex}.fi-close[data-v-c36513c5]:hover{background:var(--danger-muted);color:var(--danger)}.fi-body[data-v-c36513c5]{flex-direction:column;flex:1;display:flex;overflow:hidden}.graph-view[data-v-cf847301]{background:var(--bg-base);width:100%;height:100%;display:flex;position:relative;overflow:hidden}.canvas-area[data-v-cf847301]{flex:1;position:relative;overflow:hidden}.hud[data-v-cf847301]{bottom:var(--sp-4);left:var(--sp-4);right:var(--sp-4);pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute}.hud-left[data-v-cf847301],.hud-right[data-v-cf847301]{align-items:center;gap:var(--sp-2);pointer-events:all;display:flex}.hud-node-name[data-v-cf847301]{align-items:center;gap:var(--sp-2);color:var(--text-secondary);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-full);border:1px solid var(--border-subtle);cursor:pointer;transition:border-color var(--duration), color var(--duration);background:#111c;padding:5px 12px;font-size:12px;font-weight:500;display:flex}.hud-node-name[data-v-cf847301]:hover{border-color:var(--accent);color:var(--text-primary)}.hud-open[data-v-cf847301]{opacity:.5;font-size:11px}.hud-selection[data-v-cf847301]{align-items:center;gap:var(--sp-2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-full);border:1px solid var(--border-soft);color:var(--text-secondary);background:#111c;padding:4px 10px;font-size:12px;display:flex}.hud-group-btn[data-v-cf847301]{border-radius:var(--radius-full);background:var(--accent-muted);color:var(--accent-hover);transition:background var(--duration);border:1px solid #c9a24a40;padding:2px 8px;font-size:11px;font-weight:600}.hud-group-btn[data-v-cf847301]:hover{background:var(--accent);color:#111}.hud-clear-btn[data-v-cf847301]{color:var(--text-muted);transition:all var(--duration);border-radius:3px;padding:2px 4px;font-size:11px}.hud-clear-btn[data-v-cf847301]:hover{color:var(--danger)}.hud-btn[data-v-cf847301]{border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-subtle);width:30px;height:30px;color:var(--text-secondary);transition:all var(--duration);background:#111c;justify-content:center;align-items:center;font-size:15px;display:flex}.hud-btn[data-v-cf847301]:hover{background:var(--bg-hover);color:var(--text-primary)}.hud-zoom[data-v-cf847301]{font-variant-numeric:tabular-nums;color:var(--text-muted);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:#111c;padding:4px 10px;font-size:11px}.canvas-hint[data-v-cf847301]{pointer-events:none;text-align:center;color:var(--text-disabled);font-size:13px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hint-sub[data-v-cf847301]{margin-top:var(--sp-1);font-size:11px}.ctx-menu[data-v-cf847301]{z-index:300;background:var(--bg-elevated);border:1px solid var(--border-soft);border-radius:var(--radius-lg);min-width:175px;box-shadow:var(--shadow-lg);padding:var(--sp-2);position:fixed}.ctx-title[data-v-cf847301]{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:var(--sp-1) var(--sp-3) var(--sp-2);font-size:10px;font-weight:700}.ctx-item[data-v-cf847301]{align-items:center;gap:var(--sp-2);width:100%;padding:6px var(--sp-3);border-radius:var(--radius-sm);color:var(--text-secondary);transition:background var(--duration), color var(--duration);font-size:13px;display:flex}.ctx-item[data-v-cf847301]:hover{background:var(--bg-hover);color:var(--item-color,var(--text-primary))}.ctx-icon[data-v-cf847301]{font-size:14px}.modal-overlay[data-v-cf847301]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:400;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-cf847301]{background:var(--bg-elevated);border:1px solid var(--border-soft);border-radius:var(--radius-xl);width:380px;box-shadow:var(--shadow-lg)}.modal-title[data-v-cf847301]{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border-subtle);font-size:15px;font-weight:700}.modal-body[data-v-cf847301]{padding:var(--sp-4) var(--sp-5);gap:var(--sp-2);flex-direction:column;display:flex}.modal-sub[data-v-cf847301]{color:var(--text-muted);margin-bottom:var(--sp-2);font-size:12px}.modal-footer[data-v-cf847301]{justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--border-subtle);display:flex}.field-label[data-v-cf847301]{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);font-size:10px;font-weight:600}.color-picker[data-v-cf847301]{gap:var(--sp-2);flex-wrap:wrap;display:flex}.color-dot[data-v-cf847301]{width:24px;height:24px;transition:transform var(--duration), border-color var(--duration);border:2px solid #0000;border-radius:50%}.color-dot.active[data-v-cf847301]{border-color:#fff;transform:scale(1.15)}.color-dot[data-v-cf847301]:hover{transform:scale(1.1)}.btn-primary[data-v-cf847301]{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);background:var(--accent);color:#111;border-radius:var(--radius-md);transition:background var(--duration), box-shadow var(--duration);font-size:13px;font-weight:700;display:inline-flex}.btn-primary[data-v-cf847301]:hover{background:var(--accent-hover);box-shadow:var(--shadow-glow)}.btn-ghost[data-v-cf847301]{padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-md);color:var(--text-secondary);transition:background var(--duration);font-size:13px}.btn-ghost[data-v-cf847301]:hover{background:var(--bg-hover)}.standalone-inspector[data-v-cd5812c2]{background:var(--bg-surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);width:360px;max-height:calc(100vh - 100px);box-shadow:var(--shadow-lg), 0 0 0 1px var(--border-subtle);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;flex-direction:column;display:flex;position:fixed;overflow:hidden}.si-titlebar[data-v-cd5812c2]{align-items:center;gap:var(--sp-2);padding:0 var(--sp-3);background:var(--bg-elevated);border-bottom:1px solid var(--border-subtle);cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0;height:42px;display:flex}.si-titlebar.dragging[data-v-cd5812c2]{cursor:grabbing}.si-icon[data-v-cd5812c2]{flex-shrink:0;font-size:15px}.si-type[data-v-cd5812c2]{text-transform:uppercase;letter-spacing:.08em;flex-shrink:0;font-size:10px;font-weight:700}.si-name[data-v-cd5812c2]{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;font-weight:500;overflow:hidden}.si-close[data-v-cd5812c2]{border-radius:var(--radius-sm);width:22px;height:22px;color:var(--text-muted);transition:background var(--duration), color var(--duration);flex-shrink:0;justify-content:center;align-items:center;font-size:11px;display:flex}.si-close[data-v-cd5812c2]:hover{background:var(--danger-muted);color:var(--danger)}.si-body[data-v-cd5812c2]{flex-direction:column;flex:1;display:flex;overflow:hidden}.si-loading[data-v-cd5812c2]{padding:var(--sp-6);text-align:center;color:var(--text-muted);font-size:13px;font-style:italic}.truncate[data-v-cd5812c2]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.map-editor-view[data-v-0af45112]{background:var(--bg-base);outline:none;width:100%;height:100%;display:flex;overflow:hidden}.toolbar[data-v-0af45112]{gap:var(--sp-2);background:var(--bg-surface);border-right:1px solid var(--border-subtle);width:240px;padding:var(--sp-3) var(--sp-3) var(--sp-4);flex-direction:column;flex-shrink:0;display:flex;overflow-y:auto}.back-btn[data-v-0af45112]{color:var(--text-muted);padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-sm);text-align:left;transition:color var(--duration), background var(--duration);flex-shrink:0;font-size:12px;font-weight:600}.back-btn[data-v-0af45112]:hover{color:var(--text-primary);background:var(--bg-hover)}.map-name-row[data-v-0af45112]{flex-shrink:0}.map-name-btn[data-v-0af45112]{align-items:center;gap:var(--sp-2);color:var(--text-primary);padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-sm);text-align:left;width:100%;transition:background var(--duration);font-size:14px;font-weight:700;display:flex}.map-name-btn[data-v-0af45112]:hover{background:var(--bg-hover)}.edit-pen[data-v-0af45112]{color:var(--text-muted);margin-left:auto;font-size:12px}.map-name-input[data-v-0af45112]{width:100%;padding:4px var(--sp-2);border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--accent);color:var(--text-primary);font-size:14px;font-weight:700}.toolbar-divider[data-v-0af45112]{background:var(--border-subtle);height:1px;margin:var(--sp-1) 0;flex-shrink:0}.section-label[data-v-0af45112]{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);align-items:center;gap:var(--sp-2);flex-shrink:0;font-size:10px;font-weight:700;display:flex}.zone-count[data-v-0af45112]{background:var(--bg-elevated);border:1px solid var(--border-muted);border-radius:var(--radius-full);color:var(--text-muted);padding:0 5px;font-size:10px}.mode-btns[data-v-0af45112]{flex-direction:column;flex-shrink:0;gap:2px;display:flex}.mode-btn[data-v-0af45112]{align-items:center;gap:var(--sp-2);padding:6px var(--sp-3);border-radius:var(--radius-sm);color:var(--text-secondary);text-align:left;transition:all var(--duration);font-size:12px;font-weight:500;display:flex}.mode-btn[data-v-0af45112]:hover{background:var(--bg-hover);color:var(--text-primary)}.mode-btn.active[data-v-0af45112]{background:var(--accent-muted);color:var(--accent);font-weight:600}.toggle-row[data-v-0af45112]{align-items:center;gap:var(--sp-2);color:var(--text-secondary);cursor:pointer;flex-shrink:0;font-size:12px;display:flex}.toggle-row input[type=checkbox][data-v-0af45112]{accent-color:var(--accent)}.tool-btn[data-v-0af45112]{padding:6px var(--sp-3);border-radius:var(--radius-sm);color:var(--text-secondary);border:1px solid var(--border-muted);background:var(--bg-elevated);text-align:left;transition:all var(--duration);flex-shrink:0;font-size:12px;font-weight:600}.tool-btn[data-v-0af45112]:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-soft)}.tool-btn.secondary[data-v-0af45112]{background:0 0;border-color:#0000}.tool-btn.secondary[data-v-0af45112]:hover{background:var(--bg-hover);border-color:var(--border-muted)}.import-btn[data-v-0af45112]{color:var(--accent);border-color:#c9a24a4d}.import-btn[data-v-0af45112]:hover{background:var(--accent-muted)}.import-feedback[data-v-0af45112]{color:#4ab07c;padding:4px var(--sp-2);flex-shrink:0;font-size:11px}.zone-list[data-v-0af45112]{flex-direction:column;gap:1px;max-height:220px;display:flex;overflow-y:auto}.zone-item[data-v-0af45112]{align-items:center;gap:var(--sp-2);padding:5px var(--sp-2);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration);display:flex;position:relative}.zone-item[data-v-0af45112]:hover{background:var(--bg-hover)}.zone-item.selected[data-v-0af45112]{background:var(--accent-muted)}.zone-item:hover .zone-del-btn[data-v-0af45112]{opacity:1}.zone-dot[data-v-0af45112]{border-radius:50%;flex-shrink:0;width:8px;height:8px}.zone-name[data-v-0af45112]{color:var(--text-secondary);flex:1;min-width:0;font-size:12px}.zone-item.selected .zone-name[data-v-0af45112]{color:var(--accent);font-weight:600}.zone-rename-input[data-v-0af45112]{border:1px solid var(--accent);background:var(--bg-elevated);color:var(--text-primary);border-radius:3px;flex:1;min-width:0;padding:1px 4px;font-size:12px}.zone-del-btn[data-v-0af45112]{color:var(--text-muted);opacity:0;transition:all var(--duration);border-radius:3px;flex-shrink:0;padding:2px 4px;font-size:9px}.zone-del-btn[data-v-0af45112]:hover{color:var(--danger);background:var(--danger-muted)}.zone-empty[data-v-0af45112]{color:var(--text-disabled);padding:var(--sp-2) var(--sp-2);font-size:11px;font-style:italic}.project-select[data-v-0af45112]{width:100%;padding:5px var(--sp-2);border-radius:var(--radius-sm);border:1px solid var(--border-muted);background:var(--bg-elevated);color:var(--text-primary);flex-shrink:0;font-size:12px}.url-row[data-v-0af45112]{flex-shrink:0;gap:4px;display:flex}.url-input[data-v-0af45112]{padding:5px var(--sp-2);border-radius:var(--radius-sm);border:1px solid var(--border-muted);background:var(--bg-elevated);color:var(--text-primary);flex:1;min-width:0;font-size:11px}.url-input[data-v-0af45112]:focus{border-color:var(--accent);outline:none}.url-apply-btn[data-v-0af45112]{border-radius:var(--radius-sm);border:1px solid var(--border-muted);background:var(--bg-elevated);color:var(--accent);transition:all var(--duration);flex-shrink:0;padding:0 8px;font-size:14px}.url-apply-btn[data-v-0af45112]:hover{background:var(--accent-muted);border-color:var(--accent)}.url-error[data-v-0af45112]{color:var(--danger);padding:0 var(--sp-1);flex-shrink:0;font-size:10px}.hint-text[data-v-0af45112]{color:var(--text-disabled);padding:0 var(--sp-1);flex-shrink:0;font-size:11px;line-height:1.5}.canvas-wrap[data-v-0af45112]{background:#0a0e14;flex:1;position:relative;overflow:hidden}.map-canvas[data-v-0af45112]{display:block;position:absolute;inset:0}.zone-hud[data-v-0af45112]{bottom:var(--sp-4);align-items:center;gap:var(--sp-2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-soft);border-radius:var(--radius-full);pointer-events:none;background:#0a0e14d1;padding:5px 14px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.zone-hud-dot[data-v-0af45112]{border-radius:50%;flex-shrink:0;width:8px;height:8px}.zone-hud-name[data-v-0af45112]{color:var(--text-primary);font-size:12px;font-weight:600}.zone-hud-linked[data-v-0af45112]{color:var(--accent);opacity:.8;font-size:13px}.no-image-hint[data-v-0af45112]{align-items:center;gap:var(--sp-3);pointer-events:all;flex-direction:column;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.no-image-hint p[data-v-0af45112]{color:var(--text-disabled);font-size:13px}.modal-overlay[data-v-0af45112]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-0af45112]{background:var(--bg-elevated);border:1px solid var(--border-soft);border-radius:var(--radius-xl);width:380px;box-shadow:var(--shadow-lg)}.modal-title[data-v-0af45112]{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border-subtle);font-size:15px;font-weight:700}.modal-body[data-v-0af45112]{padding:var(--sp-4) var(--sp-5);gap:var(--sp-2);flex-direction:column;display:flex}.modal-sub[data-v-0af45112]{color:var(--text-muted);font-size:12px}.hole-sub[data-v-0af45112]{border-left:2px solid var(--accent);padding-left:var(--sp-2);line-height:1.6}.field-label[data-v-0af45112]{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);font-size:10px;font-weight:700}.modal-footer[data-v-0af45112]{justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--border-subtle);display:flex}.btn-primary[data-v-0af45112]{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);background:var(--accent);color:#111;border-radius:var(--radius-md);transition:background var(--duration), box-shadow var(--duration);font-size:13px;font-weight:700;display:inline-flex}.btn-primary[data-v-0af45112]:hover{background:var(--accent-hover);box-shadow:var(--shadow-glow)}.btn-ghost[data-v-0af45112]{padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-md);color:var(--text-secondary);transition:background var(--duration);font-size:13px}.btn-ghost[data-v-0af45112]:hover{background:var(--bg-hover)}.fade-enter-active[data-v-0af45112],.fade-leave-active[data-v-0af45112]{transition:opacity .15s}.fade-enter-from[data-v-0af45112],.fade-leave-to[data-v-0af45112]{opacity:0}.truncate[data-v-0af45112]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.table-editor[data-v-f0683eff]{background:var(--bg-base);width:100%;height:100%;display:flex;overflow:hidden}.toolbar[data-v-f0683eff]{background:var(--bg-surface);border-right:1px solid var(--border-subtle);gap:var(--sp-4);width:260px;padding:var(--sp-4) var(--sp-3);flex-direction:column;flex-shrink:0;display:flex;overflow-y:auto}.btn-back[data-v-f0683eff]{color:var(--text-muted);padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-sm);text-align:left;transition:color var(--duration), background var(--duration);font-size:12px}.btn-back[data-v-f0683eff]:hover{color:var(--text-primary);background:var(--bg-hover)}.toolbar-section[data-v-f0683eff]{gap:var(--sp-2);padding:var(--sp-3) 0;border-bottom:1px solid var(--border-subtle);flex-direction:column;display:flex}.section-label[data-v-f0683eff]{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:2px;font-size:10px;font-weight:700}.table-name[data-v-f0683eff]{color:var(--text-primary);cursor:pointer;border-radius:var(--radius-sm);align-items:center;gap:var(--sp-2);transition:background var(--duration);padding:2px 4px;font-size:14px;font-weight:600;display:flex}.table-name[data-v-f0683eff]:hover{background:var(--bg-hover)}.edit-hint[data-v-f0683eff]{color:var(--text-muted);margin-left:auto;font-size:11px}.name-input[data-v-f0683eff]{background:var(--bg-elevated);border:1px solid var(--accent);border-radius:var(--radius-sm);color:var(--text-primary);outline:none;padding:4px 8px;font-size:14px;font-weight:600}.dice-badge[data-v-f0683eff]{border-radius:var(--radius-full);align-items:center;gap:4px;width:fit-content;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.dice-d10[data-v-f0683eff]{color:#4a9ed9;background:#4a9ed926;border:1px solid #4a9ed94d}.dice-d12[data-v-f0683eff]{color:#a07af5;background:#a07af526;border:1px solid #a07af54d}.dice-d20[data-v-f0683eff]{color:var(--accent);background:#c9a24a26;border:1px solid #c9a24a4d}.btn-mode[data-v-f0683eff]{padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-md);border:1px solid var(--border-muted);color:var(--text-secondary);transition:all var(--duration);font-size:12px;font-weight:600}.btn-mode[data-v-f0683eff]:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-mode.active[data-v-f0683eff]{background:var(--accent-muted);color:var(--accent);border-color:#0000}.linked-project-row[data-v-f0683eff]{align-items:center;gap:var(--sp-2);background:var(--bg-elevated);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);padding:3px 6px;display:flex}.linked-project-name[data-v-f0683eff]{color:var(--text-primary);flex:1;font-size:12px}.btn-unlink[data-v-f0683eff]{color:var(--text-muted);width:16px;height:16px;transition:all var(--duration);border-radius:3px;flex-shrink:0;font-size:10px}.btn-unlink[data-v-f0683eff]:hover{background:var(--danger-muted);color:var(--danger)}.project-select[data-v-f0683eff]{background:var(--bg-elevated);border:1px solid var(--border-muted);border-radius:var(--radius-sm);color:var(--text-secondary);padding:4px 6px;font-size:12px}.empty-hint[data-v-f0683eff]{color:var(--text-muted);font-size:11px;font-style:italic}.table-main[data-v-f0683eff]{padding:var(--sp-8);gap:var(--sp-6);flex-direction:column;flex:1;display:flex;overflow-y:auto}.loading[data-v-f0683eff]{color:var(--text-muted);text-align:center;padding:60px;font-size:14px}.table-container[data-v-f0683eff]{flex:1}.wb-table[data-v-f0683eff]{border-collapse:collapse;width:100%;max-width:760px;margin:0 auto;font-size:13px}.wb-table th[data-v-f0683eff]{text-align:left;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border-bottom:1px solid var(--border-subtle);padding:6px 12px;font-size:10px;font-weight:700}.wb-table td[data-v-f0683eff]{border-bottom:1px solid var(--border-subtle);vertical-align:middle;padding:6px 12px}.wb-table tr:hover td[data-v-f0683eff]{background:var(--bg-hover)}.wb-table tr.highlighted td[data-v-f0683eff]{background:#c9a24a1f}.wb-table tr.highlighted .col-num[data-v-f0683eff]{color:var(--accent);font-weight:700}.wb-table tr.empty td[data-v-f0683eff]{opacity:.4}.col-num[data-v-f0683eff]{width:64px;color:var(--text-secondary);font-variant-numeric:tabular-nums;font-weight:600}.col-num.range[data-v-f0683eff]{color:var(--text-primary)}.col-qty[data-v-f0683eff]{width:140px}.row-input[data-v-f0683eff]{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);transition:border-color var(--duration);outline:none;padding:3px 8px;font-size:12px}.row-input[data-v-f0683eff]:focus{border-color:var(--accent)}.row-input-extra[data-v-f0683eff]{margin-top:4px}.row-select[data-v-f0683eff]{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);outline:none;padding:3px 8px;font-size:12px}.qty-badge[data-v-f0683eff]{color:#4a9ed9;border-radius:var(--radius-sm);background:#4a9ed91f;border:1px solid #4a9ed940;padding:1px 7px;font-family:monospace;font-size:12px;font-weight:600;display:inline-block}.empty-cell[data-v-f0683eff]{color:var(--text-muted);font-style:italic}.entity-link[data-v-f0683eff]{cursor:pointer;color:var(--accent);border-radius:var(--radius-sm);transition:all var(--duration);text-align:left;background:0 0;border:none;padding:2px 6px;font-size:13px;-webkit-text-decoration:underline #c9a24a66;text-decoration:underline #c9a24a66}.entity-link[data-v-f0683eff]:hover{background:var(--accent-muted);text-decoration:none}.entity-link.large[data-v-f0683eff]{padding:4px 10px;font-size:18px;font-weight:600}.entity-name[data-v-f0683eff]{color:var(--text-primary)}.entity-name.large[data-v-f0683eff]{font-size:18px;font-weight:600}.roll-section[data-v-f0683eff]{padding:var(--sp-4) 0;justify-content:center;display:flex}.btn-roll[data-v-f0683eff]{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-8);background:var(--accent);color:#111;border-radius:var(--radius-md);transition:all var(--duration);font-size:14px;font-weight:700;display:inline-flex;box-shadow:0 0 #c9a24a00}.btn-roll[data-v-f0683eff]:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--shadow-glow)}.btn-roll[data-v-f0683eff]:disabled{opacity:.6;cursor:not-allowed}.btn-roll.rolling .roll-icon[data-v-f0683eff]{animation:.4s ease-in-out spin-f0683eff}@keyframes spin-f0683eff{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.roll-icon[data-v-f0683eff]{font-size:16px}.result-panel[data-v-f0683eff]{background:var(--bg-elevated);border:1px solid var(--accent);border-radius:var(--radius-lg);max-width:760px;margin:0 auto;overflow:hidden;box-shadow:0 0 20px #c9a24a26}.result-header[data-v-f0683eff]{padding:var(--sp-3) var(--sp-5);background:#c9a24a14;border-bottom:1px solid #c9a24a33;justify-content:space-between;align-items:center;display:flex}.result-roll[data-v-f0683eff]{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-size:12px;font-weight:700}.result-close[data-v-f0683eff]{color:var(--text-muted);border-radius:var(--radius-sm);transition:all var(--duration);padding:2px 6px;font-size:11px}.result-close[data-v-f0683eff]:hover{background:var(--danger-muted);color:var(--danger)}.result-body[data-v-f0683eff]{padding:var(--sp-4) var(--sp-5);gap:var(--sp-3);flex-direction:column;display:flex}.result-qty[data-v-f0683eff]{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.result-qty-expr[data-v-f0683eff]{color:var(--text-secondary);background:var(--bg-surface);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);padding:2px 6px;font-family:monospace;font-size:13px}.result-qty-arrow[data-v-f0683eff]{color:var(--text-muted);font-size:13px}.result-qty-detail[data-v-f0683eff]{color:var(--text-secondary);font-family:monospace;font-size:13px}.result-qty-total[data-v-f0683eff]{color:var(--text-primary);font-size:20px;font-weight:700}.result-entity[data-v-f0683eff]{align-items:center;display:flex}.empty-result[data-v-f0683eff]{color:var(--text-muted);font-size:13px;font-style:italic}.result-appear-enter-active[data-v-f0683eff]{transition:all .3s}.result-appear-leave-active[data-v-f0683eff]{transition:all .2s}.result-appear-enter-from[data-v-f0683eff]{opacity:0;transform:translateY(12px)}.result-appear-leave-to[data-v-f0683eff]{opacity:0;transform:translateY(-6px)}.truncate[data-v-f0683eff]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.timeline-view[data-v-5a7e2431]{background:var(--bg-base);width:100%;height:100%;display:flex;position:relative;overflow:hidden}.toolbar[data-v-5a7e2431]{gap:var(--sp-3);background:var(--bg-surface);border-right:1px solid var(--border-subtle);width:240px;padding:var(--sp-4) var(--sp-3);flex-direction:column;flex-shrink:0;display:flex;overflow-y:auto}.back-btn[data-v-5a7e2431]{color:var(--text-muted);padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-sm);text-align:left;transition:color var(--duration), background var(--duration);font-size:12px}.back-btn[data-v-5a7e2431]:hover{color:var(--text-primary);background:var(--bg-elevated)}.tl-name-wrap[data-v-5a7e2431]{min-height:28px}.tl-name[data-v-5a7e2431]{color:var(--text-primary);cursor:pointer;padding:var(--sp-1) var(--sp-1);border-radius:var(--radius-sm);transition:background var(--duration);font-size:15px;font-weight:700;line-height:1.3}.tl-name[data-v-5a7e2431]:hover{background:var(--bg-elevated)}.tl-name-input[data-v-5a7e2431]{color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--accent);border-radius:var(--radius-sm);padding:var(--sp-1) var(--sp-2);width:100%;font-size:15px;font-weight:700}.toolbar-divider[data-v-5a7e2431]{border:none;border-top:1px solid var(--border-subtle);margin:var(--sp-1) 0}.btn-primary-sm[data-v-5a7e2431]{justify-content:center;align-items:center;gap:var(--sp-1);padding:var(--sp-2) var(--sp-3);background:var(--accent);color:#111;border-radius:var(--radius-md);transition:background var(--duration), box-shadow var(--duration);font-size:12px;font-weight:700;display:flex}.btn-primary-sm[data-v-5a7e2431]:hover{background:var(--accent-hover);box-shadow:var(--shadow-glow)}.zoom-row[data-v-5a7e2431]{align-items:center;gap:var(--sp-2);justify-content:center;display:flex}.zoom-btn[data-v-5a7e2431]{border-radius:var(--radius-sm);border:1px solid var(--border-muted);width:28px;height:28px;color:var(--text-secondary);transition:all var(--duration);justify-content:center;align-items:center;font-size:16px;display:flex}.zoom-btn[data-v-5a7e2431]:hover{background:var(--bg-elevated);color:var(--text-primary)}.zoom-label[data-v-5a7e2431]{color:var(--text-muted);text-align:center;min-width:36px;font-size:11px}.section-title[data-v-5a7e2431]{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);font-size:10px;font-weight:700}.branches-list[data-v-5a7e2431]{flex-direction:column;gap:4px;display:flex}.branch-row-item[data-v-5a7e2431]{align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-sm);display:flex}.branch-dot[data-v-5a7e2431]{border-radius:50%;flex-shrink:0;width:10px;height:10px}.branch-label[data-v-5a7e2431]{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.branch-del[data-v-5a7e2431]{color:var(--text-muted);opacity:0;transition:all var(--duration);border-radius:3px;padding:2px 4px;font-size:10px}.branch-row-item:hover .branch-del[data-v-5a7e2431]{opacity:1}.branch-del[data-v-5a7e2431]:hover{color:var(--danger);background:var(--danger-muted)}.branches-empty[data-v-5a7e2431]{color:var(--text-muted);padding:var(--sp-1) var(--sp-1);font-size:11px;line-height:1.4}.project-select[data-v-5a7e2431]{background:var(--bg-elevated);border:1px solid var(--border-muted);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);padding:var(--sp-1) var(--sp-2);font-size:12px}.btn-import[data-v-5a7e2431]{color:var(--accent);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);text-align:center;transition:all var(--duration);border:1px solid #c9a24a40;font-size:11px;font-weight:600}.btn-import[data-v-5a7e2431]:hover:not(:disabled){background:var(--accent-muted)}.btn-import[data-v-5a7e2431]:disabled{opacity:.4;cursor:not-allowed}.import-feedback[data-v-5a7e2431]{color:var(--text-secondary);text-align:center;font-size:11px}.toolbar-hint[data-v-5a7e2431]{color:var(--text-muted);padding:var(--sp-2) var(--sp-1);font-size:11px;line-height:1.5}.event-edit-panel[data-v-5a7e2431]{gap:var(--sp-2);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--sp-3);flex-direction:column;display:flex}.edit-label[data-v-5a7e2431]{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:10px;font-weight:700}.edit-input[data-v-5a7e2431]{background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);padding:var(--sp-1) var(--sp-2);font-size:12px}.edit-name[data-v-5a7e2431]{font-size:13px;font-weight:600}.edit-textarea[data-v-5a7e2431]{background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);padding:var(--sp-1) var(--sp-2);resize:vertical;font-family:inherit;font-size:12px;line-height:1.5}.move-row[data-v-5a7e2431]{gap:var(--sp-2);display:flex}.move-btn[data-v-5a7e2431]{color:var(--text-secondary);padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-sm);border:1px solid var(--border-muted);transition:all var(--duration);text-align:center;flex:1;font-size:11px;font-weight:500}.move-btn[data-v-5a7e2431]:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-branch[data-v-5a7e2431]{color:#a07af5;padding:var(--sp-2) var(--sp-2);border-radius:var(--radius-sm);text-align:center;transition:all var(--duration);border:1px solid #a07af54d;font-size:11px;font-weight:600}.btn-branch[data-v-5a7e2431]:hover{background:#a07af51f;border-color:#a07af5}.btn-node-link[data-v-5a7e2431]{color:#4a9ed9;padding:var(--sp-2) var(--sp-2);border-radius:var(--radius-sm);text-align:center;transition:all var(--duration);border:1px solid #4a9ed94d;font-size:11px;font-weight:600}.btn-node-link[data-v-5a7e2431]:hover{background:#4a9ed91f;border-color:#4a9ed9}.btn-danger-sm[data-v-5a7e2431]{color:var(--danger);padding:var(--sp-2) var(--sp-2);border-radius:var(--radius-sm);text-align:center;transition:all var(--duration);border:1px solid #e055554d;font-size:11px;font-weight:600}.btn-danger-sm[data-v-5a7e2431]:hover{background:var(--danger-muted);border-color:var(--danger)}.timeline-area[data-v-5a7e2431]{background:var(--bg-base);cursor:crosshair;flex:1;position:relative;overflow:auto}.timeline-inner[data-v-5a7e2431]{min-width:100%;min-height:100%;position:relative}.timeline-svg[data-v-5a7e2431]{pointer-events:none;position:absolute;inset:0;overflow:visible}.branch-row-label[data-v-5a7e2431]{text-transform:uppercase;letter-spacing:.05em;opacity:.6;pointer-events:none;white-space:nowrap;font-size:10px;font-weight:700;position:absolute}.event-card[data-v-5a7e2431]{border-radius:var(--radius-md);border:1px solid var(--border-subtle);border-left:3px solid var(--branch-color,var(--accent));background:var(--bg-elevated);align-items:center;gap:var(--sp-2);padding:0 var(--sp-3);cursor:pointer;transition:border-color var(--duration), box-shadow var(--duration), background var(--duration);-webkit-user-select:none;user-select:none;display:flex;position:absolute;overflow:hidden}.event-card[data-v-5a7e2431]:hover{background:var(--bg-card);border-color:var(--branch-color,var(--accent));box-shadow:0 2px 12px #0000004d}.event-card.selected[data-v-5a7e2431]{background:color-mix(in srgb, var(--branch-color,var(--accent)) 12%, var(--bg-elevated));border-color:var(--branch-color,var(--accent));box-shadow:0 0 0 2px color-mix(in srgb, var(--branch-color,var(--accent)) 35%, transparent), 0 4px 16px #00000059}.event-index[data-v-5a7e2431]{color:var(--branch-color,var(--accent));opacity:.7;text-align:center;flex-shrink:0;min-width:14px;font-size:10px;font-weight:700}.event-content[data-v-5a7e2431]{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.event-name[data-v-5a7e2431]{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.event-date[data-v-5a7e2431]{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.event-linked-dot[data-v-5a7e2431]{opacity:.6;flex-shrink:0;font-size:10px}.modal-overlay[data-v-5a7e2431]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-5a7e2431]{background:var(--bg-elevated);border:1px solid var(--border-soft);border-radius:var(--radius-xl);width:380px;box-shadow:var(--shadow-lg)}.modal-title[data-v-5a7e2431]{padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--border-subtle);font-size:16px;font-weight:700}.modal-body[data-v-5a7e2431]{padding:var(--sp-5) var(--sp-6);gap:var(--sp-2);flex-direction:column;display:flex}.field-label[data-v-5a7e2431]{color:var(--text-secondary);font-size:12px;font-weight:500}.required[data-v-5a7e2431]{color:var(--accent)}.modal-footer[data-v-5a7e2431]{justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-4) var(--sp-6);border-top:1px solid var(--border-subtle);display:flex}.color-picker[data-v-5a7e2431]{gap:var(--sp-2);margin-top:var(--sp-1);flex-wrap:wrap;display:flex}.color-swatch[data-v-5a7e2431]{width:28px;height:28px;transition:border-color var(--duration), transform var(--duration);cursor:pointer;border:2px solid #0000;border-radius:50%}.color-swatch[data-v-5a7e2431]:hover{transform:scale(1.15)}.color-swatch.active[data-v-5a7e2431]{border-color:var(--text-primary);transform:scale(1.1);box-shadow:0 0 0 2px #ffffff26}.btn-primary[data-v-5a7e2431]{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);background:var(--accent);color:#111;border-radius:var(--radius-md);transition:background var(--duration), box-shadow var(--duration);font-size:13px;font-weight:700;display:inline-flex}.btn-primary[data-v-5a7e2431]:hover{background:var(--accent-hover);box-shadow:var(--shadow-glow)}.btn-primary[data-v-5a7e2431]:disabled{opacity:.4;cursor:not-allowed}.btn-ghost[data-v-5a7e2431]{padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-md);color:var(--text-secondary);transition:background var(--duration);font-size:13px}.btn-ghost[data-v-5a7e2431]:hover{background:var(--bg-hover)}.fade-enter-active[data-v-5a7e2431],.fade-leave-active[data-v-5a7e2431]{transition:opacity .18s}.fade-enter-from[data-v-5a7e2431],.fade-leave-to[data-v-5a7e2431]{opacity:0}.slide-up-enter-active[data-v-5a7e2431]{transition:transform .22s cubic-bezier(.16,1,.3,1),opacity .18s}.slide-up-leave-active[data-v-5a7e2431]{transition:transform .15s,opacity .12s}.slide-up-enter-from[data-v-5a7e2431]{opacity:0;transform:translateY(16px)}.slide-up-leave-to[data-v-5a7e2431]{opacity:0;transform:translateY(8px)}
