.level-tree-actions[data-v-cd88f71e]{flex-wrap:wrap;gap:.25rem;display:flex}.level-tree-actions button[data-v-cd88f71e],.level-tree-row[data-v-cd88f71e]{color:#94a3b8;background:#f8fafc;border:1px solid #cbd5e1;border-radius:.25rem;padding:.25rem .375rem;font-size:.75rem}.level-tree-content[data-v-cd88f71e]{padding:.75rem}.level-tree-chapter+.level-tree-chapter[data-v-cd88f71e]{margin-top:.75rem}.level-tree-chapter h3[data-v-cd88f71e]{color:#475569;margin:0 0 .25rem;font-size:.8125rem}.level-tree-row[data-v-cd88f71e]{color:#475569;text-align:left;cursor:pointer;width:100%;margin-top:.125rem;display:block}.level-tree-row[data-v-cd88f71e]:hover{background:#e0f2fe}.level-tree-row--active[data-v-cd88f71e]{color:#075985;background:#bae6fd;border-color:#38bdf8}.export-dialog-backdrop[data-v-c646e0ef]{background:#0f172a8c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.export-dialog[data-v-c646e0ef]{background:var(--color-panel-background);border:1px solid var(--color-panel-border);border-radius:.5rem;width:min(100%,28rem);overflow:hidden;box-shadow:0 20px 40px #0f172a59}.export-dialog-header[data-v-c646e0ef],.export-dialog-content[data-v-c646e0ef],.export-dialog-actions[data-v-c646e0ef]{padding:1rem}.export-dialog-header[data-v-c646e0ef]{border-bottom:1px solid var(--color-panel-border)}.export-dialog-header h2[data-v-c646e0ef],.export-dialog-content p[data-v-c646e0ef]{margin:0}.export-dialog-content[data-v-c646e0ef]{gap:.5rem;display:grid}.export-dialog-content p[data-v-c646e0ef]{color:var(--color-panel-muted);margin-bottom:.75rem;font-size:.875rem}.export-dialog-actions[data-v-c646e0ef]{border-top:1px solid var(--color-panel-border);justify-content:flex-end;display:flex}.import-dialog-backdrop[data-v-008a1bc6]{background:#0f172a8c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.import-dialog[data-v-008a1bc6]{background:var(--color-panel-background);border:1px solid var(--color-panel-border);border-radius:.5rem;width:min(100%,30rem);overflow:hidden;box-shadow:0 20px 40px #0f172a59}.import-dialog-header[data-v-008a1bc6],.import-dialog-content[data-v-008a1bc6],.import-dialog-actions[data-v-008a1bc6]{padding:1rem}.import-dialog-header[data-v-008a1bc6]{border-bottom:1px solid var(--color-panel-border)}.import-dialog-header h2[data-v-008a1bc6],.import-dialog-content h3[data-v-008a1bc6],.import-dialog-content p[data-v-008a1bc6]{margin:0}.import-dialog-content[data-v-008a1bc6]{gap:.5rem;display:grid}.import-dialog-warning[data-v-008a1bc6]{color:#b45309}.import-dialog-actions[data-v-008a1bc6]{border-top:1px solid var(--color-panel-border);flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.map-canvas-host[data-v-819a5e2a]{background:#e2e8f0;border:1px solid #cbd5e1;width:100%;height:100%;position:relative;overflow:hidden}canvas[data-v-819a5e2a]{background:#e2e8f0;border:0;width:100%;height:100%;display:block}.map-placeholder[data-v-819a5e2a]{color:#64748b;text-align:center;pointer-events:none;place-content:center;gap:.375rem;padding:1rem;display:grid;position:absolute;inset:0}.map-placeholder p[data-v-819a5e2a],.map-placeholder span[data-v-819a5e2a]{margin:0}.map-placeholder p[data-v-819a5e2a]{color:#475569;font-weight:600}.map-placeholder span[data-v-819a5e2a]{font-size:.875rem}.new-level-backdrop[data-v-1893e6ce]{z-index:10;background:#0f172a59;place-items:center;display:grid;position:fixed;inset:0}.new-level-dialog[data-v-1893e6ce]{color:#0f172a;background:#fff;border-radius:.375rem;gap:.625rem;width:min(24rem,100vw - 2rem);padding:1rem;display:grid;box-shadow:0 8px 24px #0f172a3d}.new-level-dialog h2[data-v-1893e6ce],.new-level-dialog p[data-v-1893e6ce]{margin:0}.new-level-dialog label[data-v-1893e6ce]{color:#475569;gap:.25rem;font-size:.8125rem;display:grid}.new-level-dialog input[data-v-1893e6ce]{border:1px solid #cbd5e1;border-radius:.25rem;padding:.375rem}.new-level-error[data-v-1893e6ce]{color:#b91c1c;font-size:.75rem}.new-level-actions[data-v-1893e6ce]{justify-content:flex-end;gap:.5rem;display:flex}.junction-panel[data-v-ddac2499]{color:#475569;gap:.75rem;padding:1rem;display:grid}.junction-header h3[data-v-ddac2499],.entry-list h4[data-v-ddac2499]{color:#334155;margin:0}.junction-summary[data-v-ddac2499],.entry-list[data-v-ddac2499],.entry-exits[data-v-ddac2499]{gap:.375rem;display:grid}.junction-summary p[data-v-ddac2499],.notice[data-v-ddac2499],.warning[data-v-ddac2499],.disabled-reason[data-v-ddac2499]{margin:0;font-size:.8125rem}.warning[data-v-ddac2499]{color:#b45309}.notice[data-v-ddac2499],.disabled-reason[data-v-ddac2499]{color:#64748b}.entry-block[data-v-ddac2499]{border:1px solid #cbd5e1;border-radius:.375rem;gap:.5rem;padding:.75rem;display:grid}.entry-block--enabled[data-v-ddac2499]{background:#f8fafc;border-color:#94a3b8}.entry-toggle[data-v-ddac2499]{color:#334155;font-weight:600}.entry-exits[data-v-ddac2499]{border-top:1px solid #e2e8f0;padding-top:.5rem}.entry-exits-header[data-v-ddac2499],.exit-row[data-v-ddac2499]{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem;display:grid}.exit-row[data-v-ddac2499]{min-height:2rem}.weight-input[data-v-ddac2499]{width:72px}.remove-button[data-v-ddac2499]{color:#b91c1c;justify-self:start}.property-list[data-v-b8b97d08]{color:#475569;grid-template-columns:auto 1fr;gap:.625rem .75rem;margin:0;padding:1rem;display:grid}.property-list dt[data-v-b8b97d08]{font-weight:600}.property-list dd[data-v-b8b97d08]{margin:0}.route-preview-overlay[data-v-32a0e73a]{z-index:1;color:#0f172a;background:#fffffff5;border:1px solid #67e8f9;border-radius:.375rem;width:min(16rem,100% - 1.5rem);padding:.75rem;position:absolute;top:.75rem;right:.75rem;box-shadow:0 4px 12px #0f172a29}.route-preview-overlay h2[data-v-32a0e73a],.route-preview-overlay p[data-v-32a0e73a]{margin:0}.route-preview-overlay h2[data-v-32a0e73a]{margin-bottom:.5rem;font-size:.875rem}.route-preview-overlay p[data-v-32a0e73a]{color:#475569;margin-top:.25rem;font-size:.75rem}.route-preview-overlay .route-preview-status[data-v-32a0e73a]{color:#0e7490;font-weight:650}.route-preview-actions[data-v-32a0e73a]{gap:.375rem;margin-top:.75rem;display:flex}.route-preview-actions button[data-v-32a0e73a]{color:#155e75;background:#ecfeff;border:1px solid #67e8f9;border-radius:.25rem;padding:.25rem .5rem}.resize-dialog-backdrop[data-v-5f31bf0f]{background:#0f172a8c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.resize-dialog[data-v-5f31bf0f]{background:var(--color-panel-background);border:1px solid var(--color-panel-border);border-radius:.5rem;width:min(100%,30rem);overflow:hidden;box-shadow:0 20px 40px #0f172a59}.resize-dialog-header[data-v-5f31bf0f],.resize-dialog-content[data-v-5f31bf0f],.resize-dialog-actions[data-v-5f31bf0f]{padding:1rem}.resize-dialog-header[data-v-5f31bf0f]{border-bottom:1px solid var(--color-panel-border)}.resize-dialog-header h2[data-v-5f31bf0f],.resize-dialog-content p[data-v-5f31bf0f]{margin:0}.resize-dialog-content[data-v-5f31bf0f]{gap:.75rem;display:grid}.resize-dialog-content label[data-v-5f31bf0f]{color:#475569;gap:.25rem;font-size:.875rem;display:grid}.resize-dialog-content input[data-v-5f31bf0f]{border:1px solid #cbd5e1;border-radius:.25rem;padding:.375rem .5rem}.resize-dialog-warning[data-v-5f31bf0f]{color:#b45309;font-weight:600}.resize-dialog-impact[data-v-5f31bf0f]{color:#475569;gap:.25rem;margin:0;padding-left:1.25rem;font-size:.875rem;display:grid}.resize-dialog-actions[data-v-5f31bf0f]{border-top:1px solid var(--color-panel-border);justify-content:flex-end;gap:.5rem;display:flex}.tool-palette[data-v-7981620b]{background:var(--color-panel-background);border-top:1px solid var(--color-panel-border);border-bottom:1px solid var(--color-panel-border);align-items:center;gap:.75rem;min-width:0;padding:0 1rem;display:flex;overflow:hidden}.tool-palette-label[data-v-7981620b]{color:#475569;font-size:.875rem;font-weight:650}.tool-palette-actions[data-v-7981620b]{align-items:center;gap:.375rem;min-width:0;display:flex;overflow:auto hidden}.tool-palette-actions button[data-v-7981620b]{color:#64748b;background:#f8fafc;border:1px solid #cbd5e1;border-radius:.25rem;flex:none;padding:.375rem .625rem}.tool-palette-actions button.is-active[data-v-7981620b]{color:#fff;background:#2563eb;border-color:#1d4ed8}.top-toolbar[data-v-6373f4a9]{min-width:0;color:var(--color-toolbar-text);background:var(--color-toolbar-background);justify-content:space-between;align-items:center;gap:1rem;padding:0 1rem;display:flex}.top-toolbar-title[data-v-6373f4a9]{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1rem;font-weight:650;overflow:hidden}.top-toolbar-actions[data-v-6373f4a9]{justify-content:flex-end;align-items:center;gap:.375rem;min-width:0;display:flex;overflow:hidden}.top-toolbar-actions button[data-v-6373f4a9]{color:var(--color-toolbar-muted);white-space:nowrap;background:0 0;border:1px solid #334155;border-radius:.25rem;padding:.375rem .5rem}.top-toolbar-actions button[data-v-6373f4a9]:disabled{opacity:.8}.top-toolbar-persistence[data-v-6373f4a9]{color:var(--color-toolbar-muted);white-space:nowrap;font-size:.75rem}.top-toolbar-persistence--error[data-v-6373f4a9]{color:#fca5a5}.validation-panel[data-v-634fc98a]{background:var(--color-panel-background)}.validation-count[data-v-634fc98a]{color:#b91c1c;font-size:.75rem;font-weight:600}.validation-count.warning[data-v-634fc98a]{color:#b45309}.validation-content[data-v-634fc98a]{min-height:0}.issue-list[data-v-634fc98a]{gap:.375rem;padding:.5rem .75rem;display:grid}.issue-row[data-v-634fc98a]{color:#334155;text-align:left;background:#fff;border:1px solid #fecaca;border-left:3px solid #dc2626;border-radius:.25rem;grid-template-columns:auto minmax(0,1fr);gap:.125rem .5rem;width:100%;padding:.5rem;display:grid}button.issue-row[data-v-634fc98a]{cursor:pointer}.issue-row--warning[data-v-634fc98a]{border-color:#fde68a #fde68a #fde68a #d97706}.issue-row--focused[data-v-634fc98a]{outline-offset:1px;background:#fef2f2;outline:2px solid #fca5a5}.issue-severity[data-v-634fc98a]{color:#b91c1c;grid-row:span 2;align-self:start;font-size:.75rem;font-weight:700}.issue-row--warning .issue-severity[data-v-634fc98a]{color:#b45309}.issue-title[data-v-634fc98a]{font-size:.8125rem;font-weight:650}.issue-description[data-v-634fc98a],.issue-meta[data-v-634fc98a],.issue-code[data-v-634fc98a]{color:#64748b;grid-column:2;font-size:.75rem}.issue-code[data-v-634fc98a]{color:#94a3b8;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.editor-view{background:var(--color-app-background);grid-template-rows:52px minmax(0,1fr) 48px 160px;width:100vw;height:100vh;display:grid;overflow:hidden}.editor-workspace{grid-template-columns:minmax(200px,240px) minmax(0,1fr) minmax(340px,380px);min-width:0;min-height:0;display:grid;overflow:hidden}.editor-level-area,.editor-property-area{background:var(--color-panel-background);min-width:0;min-height:0;overflow:hidden}.editor-level-area{border-right:1px solid var(--color-panel-border)}.editor-map-area{min-width:0;min-height:0;position:relative;overflow:hidden}.editor-property-area{border-left:1px solid var(--color-panel-border)}.panel{grid-template-rows:auto minmax(0,1fr);width:100%;height:100%;min-height:0;display:grid}.panel-header{border-bottom:1px solid var(--color-panel-border);justify-content:space-between;align-items:center;min-height:42px;padding:.625rem .75rem;display:flex}.panel-title{color:#334155;margin:0;font-size:.875rem;font-weight:650}.panel-content{min-height:0;overflow:auto}.empty-state{min-height:100%;color:var(--color-panel-muted);text-align:center;place-content:center;gap:.375rem;padding:1rem;display:grid}.empty-state p{margin:0}.empty-state p:first-child{color:#475569;font-weight:600}.editor-import-input{display:none}@media (width<=1000px){.editor-workspace{grid-template-columns:minmax(160px,200px) minmax(0,1fr) minmax(280px,320px)}}:root{color:#1f2937;font-synthesis:none;text-rendering:optimizelegibility;--color-app-background:#f1f5f9;--color-panel-background:#fff;--color-panel-border:#cbd5e1;--color-panel-muted:#64748b;--color-toolbar-background:#0f172a;--color-toolbar-text:#f8fafc;--color-toolbar-muted:#94a3b8;background:#f1f5f9;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{min-width:320px}button,canvas{font:inherit}button:disabled{cursor:not-allowed}
