.map-page.svelte-4zon6t{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--ts-light);color:var(--ts-text)}.map-layout.svelte-4zon6t{display:flex;flex:1;min-height:0;overflow:hidden}.sidebar.svelte-4zon6t{width:260px;min-width:260px;border-right:1px solid var(--ts-border);background:#fff;display:flex;flex-direction:column;padding:.75rem;gap:.6rem;overflow-y:auto}.sidebar-hero.svelte-4zon6t{border-left:4px solid #00BCD4;padding:.5rem .6rem}.sidebar-hero-title.svelte-4zon6t{font-family:var(--font-heading);font-size:1.3rem;font-weight:700;color:#00bcd4;margin:0;line-height:1.2}.sidebar-hero-tagline.svelte-4zon6t{font-family:var(--font-body);font-size:.75rem;color:var(--ts-text-secondary);margin:.2rem 0 0}.sidebar-how-to-use.svelte-4zon6t{font-family:var(--font-ui);font-size:.7rem;color:var(--ts-text-secondary);margin-top:.3rem}.sidebar-how-to-use.svelte-4zon6t summary:where(.svelte-4zon6t){cursor:pointer;-webkit-user-select:none;user-select:none;padding:.15rem 0}.sidebar-how-content.svelte-4zon6t{margin-top:.25rem;padding:.4rem;background:var(--ts-bg-alt);border-radius:var(--radius-sm);font-size:.7rem;line-height:1.4}.sidebar-section.svelte-4zon6t{display:flex;flex-direction:column;gap:.4rem}.sidebar-label.svelte-4zon6t{font-family:var(--font-heading);font-size:.9rem;font-weight:700;color:var(--ts-text-secondary);margin:0}.config-header.svelte-4zon6t{display:flex;align-items:center;justify-content:space-between}.sidebar-footer.svelte-4zon6t{display:flex;justify-content:center;border-top:1px solid var(--ts-border);padding-top:.5rem;margin-top:auto}.panel-show.svelte-4zon6t{position:absolute;top:12px;left:0;z-index:10;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--ts-border);border-left:none;border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:#fff;cursor:pointer}.panel-show.svelte-4zon6t:hover{background:var(--ts-bg-alt)}.icon-sm.svelte-4zon6t{width:14px;height:14px}.btn.svelte-4zon6t{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem 1rem;border:1px solid var(--ts-border);border-radius:var(--radius-xl);font-family:var(--font-ui);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s;background:#fff;color:var(--ts-text)}.btn.svelte-4zon6t:hover{box-shadow:var(--shadow-sm)}.btn-primary.svelte-4zon6t{background:#00bcd4;color:#fff;border-color:#00bcd4}.btn-primary.svelte-4zon6t:hover{background:#0097a7}.btn.active-link.svelte-4zon6t{background:#ffc107;color:#333;border-color:#ffc107}.link-hint.svelte-4zon6t{font-family:var(--font-ui);font-size:.75rem;color:#ff9800;font-weight:600;text-align:center;padding:.3rem;background:#fff3e0;border-radius:var(--radius-sm)}.color-picker.svelte-4zon6t{display:flex;gap:4px;flex-wrap:wrap}.color-btn.svelte-4zon6t{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .1s}.color-btn.active.svelte-4zon6t{border-color:var(--ts-text);transform:scale(1.15)}.color-btn.sm.svelte-4zon6t{width:20px;height:20px}.node-list.svelte-4zon6t,.link-list.svelte-4zon6t{max-height:120px;overflow-y:auto}.node-item.svelte-4zon6t,.link-item.svelte-4zon6t{display:flex;align-items:center;gap:.3rem;padding:.15rem 0}.node-item.selected.svelte-4zon6t{background:var(--ts-bg-alt);border-radius:var(--radius-sm)}.node-dot.svelte-4zon6t{width:10px;height:10px;border-radius:50%;flex-shrink:0}.node-btn.svelte-4zon6t{flex:1;text-align:left;border:none;background:transparent;padding:.15rem .3rem;font-family:var(--font-body);font-size:.75rem;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-btn.svelte-4zon6t:hover{color:#00bcd4}.link-text.svelte-4zon6t{flex:1;font-family:var(--font-body);font-size:.7rem;color:var(--ts-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-remove.svelte-4zon6t{width:18px;height:18px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:#b2bec3;cursor:pointer;font-size:.8rem;opacity:0;transition:opacity .15s}.node-item.svelte-4zon6t:hover .node-remove:where(.svelte-4zon6t),.link-item.svelte-4zon6t:hover .node-remove:where(.svelte-4zon6t){opacity:1}.node-remove.svelte-4zon6t:hover{color:#d63031}.save-inline.svelte-4zon6t{display:flex;gap:.25rem}.saved-item.svelte-4zon6t{display:flex;align-items:center;gap:.25rem}.saved-load.svelte-4zon6t{flex:1;text-align:left;padding:.25rem .4rem;border:none;background:transparent;font-family:var(--font-body);font-size:.75rem;cursor:pointer;border-radius:var(--radius-sm)}.saved-load.svelte-4zon6t:hover{background:var(--ts-bg-alt);color:#00bcd4}.saved-delete.svelte-4zon6t{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:#b2bec3;cursor:pointer;font-size:.9rem}.saved-delete.svelte-4zon6t:hover{color:#d63031}.input-sm.svelte-4zon6t{padding:.25rem .4rem;border:1px solid var(--ts-border);border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:.75rem;outline:none;width:100%}.input-sm.svelte-4zon6t:focus{border-color:#00bcd4}.btn-sm.svelte-4zon6t{padding:.25rem .6rem;border:1px solid var(--ts-border);border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:.7rem;cursor:pointer;background:#fff;color:var(--ts-text);transition:all .15s}.btn-sm.svelte-4zon6t:hover:not(:disabled){background:var(--ts-bg-alt)}.btn-sm.svelte-4zon6t:disabled{opacity:.4;cursor:not-allowed}.btn-accent.svelte-4zon6t{background:#00bcd4;color:#fff;border-color:#00bcd4}.btn-danger.svelte-4zon6t{color:#d63031;border-color:#d63031}.btn-danger.svelte-4zon6t:hover{background:#ffeaea}.map-canvas.svelte-4zon6t{flex:1;position:relative;overflow:hidden;background:#fafafa;background-image:radial-gradient(circle,#e0e0e0 1px,transparent 1px);background-size:20px 20px;cursor:default}.map-canvas.link-mode.svelte-4zon6t{cursor:crosshair}.canvas-toolbar.svelte-4zon6t{position:absolute;top:.5rem;right:.5rem;z-index:5;display:flex;gap:.5rem;align-items:center}.node-count.svelte-4zon6t{font-family:var(--font-ui);font-size:.7rem;color:var(--ts-text-secondary)}.empty-state.svelte-4zon6t{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--ts-text-secondary);font-family:var(--font-body);font-size:1rem}.link-layer.svelte-4zon6t{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.link-layer.svelte-4zon6t line:where(.svelte-4zon6t){pointer-events:stroke;cursor:pointer}.link-layer.svelte-4zon6t rect:where(.svelte-4zon6t){pointer-events:all}.map-node.svelte-4zon6t{position:absolute;padding:.5rem .75rem;border-radius:var(--radius-md);color:#fff;box-shadow:var(--shadow-sm);cursor:grab;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;transition:box-shadow .15s;z-index:2}.map-node.svelte-4zon6t:active{cursor:grabbing}.map-node.selected.svelte-4zon6t{box-shadow:0 0 0 3px #fff,0 0 0 5px currentColor}.map-node.linking.svelte-4zon6t{box-shadow:0 0 0 3px #ffc107;animation:svelte-4zon6t-pulse 1s infinite}@keyframes svelte-4zon6t-pulse{0%,to{box-shadow:0 0 0 3px #ffc107}50%{box-shadow:0 0 0 6px #ffc1074d}}.node-text.svelte-4zon6t{font-family:var(--font-heading);font-size:.85rem;font-weight:600;text-align:center;word-break:break-word}.node-edit-input.svelte-4zon6t{width:100px;padding:.2rem .3rem;border:none;border-radius:var(--radius-sm);font-family:var(--font-heading);font-size:.85rem;font-weight:600;text-align:center;outline:none;background:#ffffffe6;color:var(--ts-text)}.link-editor.svelte-4zon6t{position:absolute;z-index:10}.link-input.svelte-4zon6t{width:100px;padding:.2rem .4rem;border:1px solid #00BCD4;border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:.7rem;text-align:center;outline:none;background:#fff}@media print{.map-page.svelte-4zon6t{background:#fff;height:auto;overflow:visible}.map-canvas.svelte-4zon6t{background:#fff;background-image:none;overflow:visible}.map-node.svelte-4zon6t{box-shadow:none;border:1px solid #999}}@media(max-width:768px){.map-page.svelte-4zon6t{height:auto;min-height:100vh;overflow:auto}.map-layout.svelte-4zon6t{flex-direction:column;overflow:visible}.sidebar.svelte-4zon6t{width:100%;min-width:100%;border-right:none;border-bottom:1px solid var(--ts-border);padding:.5rem}.sidebar-hero.svelte-4zon6t{border-left:3px solid #00BCD4;padding:.35rem .5rem}.map-canvas.svelte-4zon6t{min-height:500px}}
