@import "https://fonts.googleapis.com/css2?family=Inter+Tight:wght@300;400;500;600&family=Inter:wght@400;500&display=swap";.map-label[data-v-48daf40a]{color:var(--color-text);font-family:var(--font-display);white-space:nowrap;justify-content:center;align-items:center;display:inline-flex}.map-label--poi[data-v-48daf40a]{font-size:var(--map-label-poi-size);text-shadow:-2px -2px 0 var(--color-map-label-halo), 2px -2px 0 var(--color-map-label-halo), -2px 2px 0 var(--color-map-label-halo), 2px 2px 0 var(--color-map-label-halo);font-weight:600}.map-label--segment[data-v-48daf40a]{border:1px solid color-mix(in srgb, var(--color-border), transparent 30%);border-radius:var(--radius-subtle);color:var(--color-text-secondary);background:color-mix(in srgb, var(--color-surface), transparent 6%);box-shadow:var(--shadow-control);font-size:var(--map-label-segment-size);padding:3px 6px;font-weight:500}.map-label--cluster[data-v-48daf40a]{border:2px solid var(--color-surface);border-radius:var(--radius-pill);min-width:28px;height:28px;color:var(--color-surface);background:var(--color-text);font-size:var(--map-label-cluster-size);padding:0 7px;font-weight:600}.map-marker[data-v-b4d9867a]{--marker-color:var(--color-map-default);border-radius:var(--radius-pill);color:var(--color-surface);background:var(--marker-color);transition:transform var(--duration-emphasis) var(--ease-control), box-shadow var(--duration-emphasis) var(--ease-control);flex:none;place-items:center;display:inline-grid;position:relative}.map-marker--compact[data-v-b4d9867a]{width:var(--map-marker-compact-size);height:var(--map-marker-compact-size);border:2px solid var(--color-surface);box-shadow:0 1px 4px #0a0a0a40}.map-marker--detailed[data-v-b4d9867a]{width:var(--map-marker-detailed-size);height:var(--map-marker-detailed-size);border:3px solid var(--color-surface);box-shadow:0 4px 10px #0a0a0a33}.map-marker--hover[data-v-b4d9867a]{transform:translateY(-2px)scale(1.08)}.map-marker--selected[data-v-b4d9867a]{box-shadow:0 0 0 3px var(--color-accent-soft), 0 0 0 5px var(--color-accent), 0 5px 12px #0a0a0a33}.map-marker--candidate[data-v-b4d9867a]{border-style:dashed;border-color:var(--marker-color);color:var(--marker-color);background:var(--color-surface);box-shadow:none}.map-marker__icon[data-v-b4d9867a]{width:var(--map-marker-icon-size);height:var(--map-marker-icon-size);stroke-width:2px}.map-marker__role[data-v-b4d9867a]{border:2px solid var(--color-surface);border-radius:var(--radius-pill);width:16px;height:16px;color:var(--color-surface);background:var(--color-text);font:600 9px/1 var(--font-display);place-items:center;display:grid;position:absolute;top:-6px;right:-6px}.reference-menu[data-v-cada20af]{z-index:60;max-height:calc(100vh - 32px);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);box-shadow:var(--shadow-popover);flex-direction:column;display:flex;position:fixed}.reference-menu input[data-v-cada20af]{width:100%;height:var(--control-height-default);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--control-radius);color:var(--color-text);background:var(--color-surface);font:var(--font-body-size)/1 var(--font-body)}.reference-menu input[data-v-cada20af]:focus{border-color:var(--color-accent);box-shadow:var(--control-focus-ring);outline:0}.reference-menu__options[data-v-cada20af]{min-height:0;max-height:240px;margin-top:var(--space-2);overflow-y:auto}.reference-menu__options>button[data-v-cada20af]{width:100%;padding:var(--space-2);border-radius:var(--control-radius);color:var(--color-text);cursor:pointer;text-align:left;background:0 0;border:0;flex-direction:column;align-items:flex-start;display:flex}.reference-menu__options>button[data-v-cada20af]:hover,.reference-menu__options>button[data-v-cada20af]:focus-visible{background:var(--color-surface-hover);outline:0}.reference-menu__options span[data-v-cada20af],.reference-menu__options p[data-v-cada20af]{color:var(--color-text-muted);font-size:var(--font-caption)}.table-menu[data-v-04bb3ad7]{z-index:60;width:156px;padding:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);box-shadow:var(--shadow-panel);position:fixed}.table-menu button[data-v-04bb3ad7]{width:100%;min-height:32px;padding:0 var(--space-2);border-radius:var(--control-radius);color:var(--color-text);cursor:pointer;font:500 var(--font-caption)/1.2 var(--font-display);text-align:left;background:0 0;border:0}.table-menu button[data-v-04bb3ad7]:hover,.table-menu button[data-v-04bb3ad7]:focus-visible{background:var(--color-surface-hover);outline:0}.table-menu button.is-danger[data-v-04bb3ad7]{color:var(--color-danger)}.table-menu button[data-v-04bb3ad7]:disabled{opacity:var(--control-disabled-opacity);cursor:not-allowed}.route-ref[data-v-5176b389]{vertical-align:baseline;margin-inline:2px;display:inline-flex}.route-ref button[data-v-5176b389]{min-height:24px;padding:2px var(--space-2);border:1px solid color-mix(in srgb, var(--color-accent) 24%, var(--color-border));border-radius:var(--radius-pill);color:var(--color-accent);background:var(--color-accent-soft);cursor:pointer;font:600 var(--font-caption)/1.2 var(--font-body)}.route-ref button[data-v-5176b389]:hover{border-color:var(--color-accent)}.route-ref button[data-v-5176b389]:focus-visible{box-shadow:var(--control-focus-ring);outline:0}.route-ref--invalid button[data-v-5176b389]{border-color:var(--color-danger);color:var(--color-danger);background:color-mix(in srgb, var(--color-danger) 8%, var(--color-surface));text-decoration:line-through}.route-note-editor[data-v-3a704dda]{flex-direction:column;flex:1;min-height:0;display:flex}.route-note-editor__toolbar[data-v-3a704dda]{align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);flex:none;display:flex;position:relative;overflow:visible}.route-note-editor__toolbar>button[data-v-3a704dda],.route-note-editor__reference-control>button[data-v-3a704dda],.route-note-editor__table-control>button[data-v-3a704dda]{border-radius:var(--control-radius);width:30px;min-height:30px;color:var(--color-text-secondary);cursor:pointer;font:500 var(--font-caption)/1 var(--font-display);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.route-note-editor__toolbar>button[data-v-3a704dda]:hover,.route-note-editor__reference-control>button[data-v-3a704dda]:hover,.route-note-editor__table-control>button[data-v-3a704dda]:hover{background:var(--color-surface-hover)}.route-note-editor__toolbar>button[aria-pressed=true][data-v-3a704dda],.route-note-editor__table-control>button[aria-pressed=true][data-v-3a704dda]{color:var(--color-accent);background:var(--color-accent-soft)}.route-note-editor__toolbar button[data-v-3a704dda]:focus-visible{box-shadow:var(--control-focus-ring);outline:0}.route-note-editor__toolbar button[data-v-3a704dda]:disabled{opacity:var(--control-disabled-opacity);cursor:not-allowed}.route-note-editor__toolbar>span[data-v-3a704dda]{width:1px;height:18px;margin-inline:var(--space-1);background:var(--color-border)}.route-note-editor__reference-control[data-v-3a704dda],.route-note-editor__table-control[data-v-3a704dda]{display:flex;position:relative}.route-note-editor__reference-control>button[data-v-3a704dda]{color:var(--color-accent)}.route-note-editor__content[data-v-3a704dda]{flex:1;min-height:180px;overflow-y:auto}.route-note-editor__content[data-v-3a704dda] .route-note-prosemirror{min-height:100%;padding:var(--space-4);color:var(--color-text);font:var(--font-body-size)/1.7 var(--font-body);outline:none}.route-note-editor__content[data-v-3a704dda] .route-note-prosemirror>:first-child{margin-top:0}.route-note-editor__content[data-v-3a704dda] .route-note-prosemirror p{margin:0 0 var(--space-3)}.route-note-editor__content[data-v-3a704dda] .route-note-prosemirror h1,.route-note-editor__content[data-v-3a704dda] .route-note-prosemirror h2,.route-note-editor__content[data-v-3a704dda] .route-note-prosemirror h3{margin:var(--space-5) 0 var(--space-2);font-family:var(--font-display);line-height:1.25}.route-note-editor__content[data-v-3a704dda] .route-note-prosemirror ul,.route-note-editor__content[data-v-3a704dda] .route-note-prosemirror ol{margin:var(--space-2) 0;padding-left:var(--space-5)}.route-note-editor__content[data-v-3a704dda] ul[data-type=taskList]{padding-left:0;list-style:none}.route-note-editor__content[data-v-3a704dda] ul[data-type=taskList] li{gap:var(--space-2);display:flex}.route-note-editor__content[data-v-3a704dda] a{color:var(--color-accent)}.route-note-editor__content[data-v-3a704dda] table{width:max-content;min-width:100%;max-width:100%;margin:var(--space-3) 0;border-collapse:collapse;display:block;overflow-x:auto}.route-note-editor__content[data-v-3a704dda] th,.route-note-editor__content[data-v-3a704dda] td{min-width:120px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);vertical-align:top}.route-note-editor__content[data-v-3a704dda] th{background:var(--color-surface-muted);font-weight:600}.route-note-editor__content[data-v-3a704dda] th>:last-child,.route-note-editor__content[data-v-3a704dda] td>:last-child{margin-bottom:0}.route-note-editor__content[data-v-3a704dda] .ProseMirror-focused{box-shadow:inset 0 0 0 1px var(--color-accent)}.route-note-editor__content[data-v-3a704dda] .route-note-block-highlight{border-radius:var(--control-radius);animation:1.6s ease-in-out route-note-block-highlight-3a704dda}.route-note-editor.is-compact[data-v-3a704dda],.route-note-editor.is-compact .route-note-editor__content[data-v-3a704dda]{min-height:0;overflow:visible}.route-note-editor.is-compact .route-note-editor__content[data-v-3a704dda] .route-note-prosemirror{min-height:0;box-shadow:none;padding:0}.route-note-editor.is-compact .route-note-editor__content[data-v-3a704dda] .route-note-prosemirror>:last-child{margin-bottom:0}.route-note-editor__hint[data-v-3a704dda]{padding:var(--space-2) var(--space-4) var(--space-3);color:var(--color-text-muted);font-size:var(--font-caption);flex:none;margin:0}.route-note-editor.is-disabled[data-v-3a704dda]{opacity:var(--control-disabled-opacity)}.route-note-editor:has(.route-note-prosemirror[contenteditable=false]) .route-note-editor__content[data-v-3a704dda] .route-note-prosemirror{cursor:default}@keyframes route-note-block-highlight-3a704dda{0%,32%,64%,to{background-color:#0000;box-shadow:0 0 #0000}16%,48%{background-color:color-mix(in srgb, var(--color-accent) 14%, var(--color-surface));box-shadow:0 0 0 var(--space-1) color-mix(in srgb, var(--color-accent) 14%, var(--color-surface))}}@media (width<=840px){.route-note-editor__toolbar[data-v-3a704dda]{overflow-x:auto}@media (prefers-reduced-motion:reduce){.route-note-editor__content[data-v-3a704dda] .route-note-block-highlight{background:color-mix(in srgb, var(--color-accent) 14%, var(--color-surface));box-shadow:0 0 0 var(--space-1) color-mix(in srgb, var(--color-accent) 14%, var(--color-surface));animation:none}}}.route-mini-note[data-v-2cbb0721]{right:var(--space-4);bottom:var(--space-4);z-index:620;width:390px;max-width:calc(100% - var(--space-4) - var(--space-4));max-height:min(350px, calc(100% - var(--space-4) - var(--space-4)));border:1px solid var(--color-border);border-radius:var(--radius-panel);background:color-mix(in srgb, var(--color-surface) 97%, transparent);box-shadow:var(--shadow-panel);transform-origin:100% 100%;transition:width .22s var(--ease-control), max-height .22s var(--ease-control), border-radius .22s var(--ease-control), transform .22s var(--ease-control);flex-direction:column;display:flex;position:absolute;overflow:hidden}.route-mini-note.is-full[data-v-2cbb0721]{max-height:calc(100% - var(--space-4) - var(--space-4))}.route-mini-note.is-collapsed[data-v-2cbb0721]{width:var(--control-height-default);max-height:var(--control-height-default);border-radius:var(--control-radius);transform:scale(.96)}.route-mini-note__launcher[data-v-2cbb0721]{z-index:2;border-radius:inherit;width:100%;color:var(--color-accent);background:var(--color-surface);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .16s var(--ease-control), transform .22s var(--ease-control);border:0;place-items:center;display:grid;position:absolute;inset:0;transform:scale(.8)}.route-mini-note.is-collapsed .route-mini-note__launcher[data-v-2cbb0721]{opacity:1;pointer-events:auto;transform:scale(1)}.route-mini-note>header[data-v-2cbb0721]{min-height:56px;padding:var(--space-2) var(--space-3);align-items:center;gap:var(--space-2);border-bottom:1px solid var(--color-border);opacity:1;transition:opacity .12s var(--ease-control);display:flex}.route-mini-note__label[data-v-2cbb0721]{min-width:var(--control-height-compact);height:var(--control-height-compact);padding:0 var(--space-2);border-radius:var(--control-radius);color:var(--color-accent);background:var(--color-accent-soft);font:600 var(--font-caption)/1 var(--font-display);place-items:center;display:grid}.route-mini-note header div[data-v-2cbb0721]{flex:1;min-width:0}.route-mini-note header strong[data-v-2cbb0721],.route-mini-note header small[data-v-2cbb0721]{display:block}.route-mini-note header strong[data-v-2cbb0721]{font:600 var(--font-body-sm)/1.3 var(--font-display);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.route-mini-note header small[data-v-2cbb0721]{color:var(--color-text-muted);font-size:var(--font-caption);margin-top:2px}.route-mini-note header button[data-v-2cbb0721]{width:var(--control-height-compact);height:var(--control-height-compact);border-radius:var(--control-radius);color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;display:grid}.route-mini-note header button[data-v-2cbb0721] .app-icon{transition:transform var(--duration-control) var(--ease-control)}.route-mini-note header button[data-v-2cbb0721] .route-mini-note__expand-icon{transform:rotate(180deg)}.route-mini-note__body[data-v-2cbb0721]{min-height:0;padding:var(--space-1) var(--space-3);opacity:1;transition:opacity .12s var(--ease-control);overflow-y:auto}.route-mini-note.is-collapsed>header[data-v-2cbb0721],.route-mini-note.is-collapsed .route-mini-note__body[data-v-2cbb0721]{opacity:0;pointer-events:none}.route-mini-note article[data-v-2cbb0721]{padding:var(--space-3) 0;position:relative}.route-mini-note__block-label[data-v-2cbb0721]{min-height:22px;margin-bottom:var(--space-2);padding:0 var(--space-2);border-radius:var(--control-radius);color:var(--color-text-secondary);background:var(--color-surface-muted);font:600 var(--font-caption)/1 var(--font-display);align-items:center;display:inline-flex}.route-mini-note article+article[data-v-2cbb0721]{border-top:1px solid color-mix(in srgb, var(--color-border) 55%, transparent)}.route-mini-note__locate[data-v-2cbb0721]{top:var(--space-2);z-index:1;width:var(--control-height-compact);height:var(--control-height-compact);border-radius:var(--control-radius);color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;right:0}.route-mini-note__locate[data-v-2cbb0721]:hover{color:var(--color-accent);background:var(--color-accent-soft)}.route-mini-note article[data-v-2cbb0721] .route-note-editor{padding-right:calc(var(--control-height-compact) + var(--space-2))}.route-mini-note article[data-v-2cbb0721] [data-node-id^=preview_omit_]{color:var(--color-text-muted)}.route-mini-note article[data-v-2cbb0721] tr:has([data-node-id^=preview_omit_]) td{padding-block:var(--space-1);border-block-color:color-mix(in srgb, var(--color-border) 55%, transparent)}.route-mini-note button[data-v-2cbb0721]:focus-visible{box-shadow:var(--control-focus-ring);outline:0}@media (width<=840px){.route-mini-note[data-v-2cbb0721]{top:var(--space-3);right:var(--space-3);width:calc(100% - var(--space-6));transform-origin:100% 0;max-width:none;max-height:min(350px,40dvh);bottom:auto}.route-mini-note.is-full[data-v-2cbb0721]{bottom:var(--space-3);max-height:calc(100% - var(--space-6))}.route-mini-note.is-collapsed[data-v-2cbb0721]{width:var(--control-height-default);max-height:var(--control-height-default)}}@media (prefers-reduced-motion:reduce){.route-mini-note[data-v-2cbb0721],.route-mini-note>header[data-v-2cbb0721],.route-mini-note__body[data-v-2cbb0721],.route-mini-note__launcher[data-v-2cbb0721]{transition:none}}.route-workspace-tabs[data-v-8e7ae995]{width:var(--workspace-tab-width);isolation:isolate;flex-direction:column;display:flex}.route-workspace-tabs button[data-v-8e7ae995]{width:var(--workspace-tab-width);height:var(--workspace-tab-height);border:1px solid var(--color-border);color:var(--color-text-muted);background:var(--color-surface-muted);cursor:pointer;font:600 var(--font-caption)/1 var(--font-display);letter-spacing:.12em;text-orientation:upright;writing-mode:vertical-rl;justify-content:center;align-items:center;display:flex}.route-workspace-tabs button+button[data-v-8e7ae995]{margin-top:var(--workspace-tab-overlap)}.route-workspace-tabs button.active[data-v-8e7ae995]{z-index:1;color:var(--color-accent);background:var(--color-surface)}.route-workspace-tabs.is-left button[data-v-8e7ae995]{border-radius:var(--control-radius) 0 0 var(--control-radius);border-right:0}.route-workspace-tabs.is-right button[data-v-8e7ae995]{border-radius:0 var(--control-radius) var(--control-radius) 0;border-left:0}.route-workspace-tabs button[data-v-8e7ae995]:focus-visible{z-index:2;box-shadow:var(--control-focus-ring);outline:0}.ui-input-field[data-v-18fe9c1a]{width:100%;min-width:0}.ui-input-shell[data-v-18fe9c1a]{height:var(--control-height-default);align-items:center;gap:var(--space-2);padding-inline:var(--control-padding-default-x);border:1px solid var(--input-border);border-radius:var(--control-radius);background:var(--input-bg);transition:border-color var(--duration-control) var(--ease-control), box-shadow var(--duration-control) var(--ease-control), background var(--duration-control) var(--ease-control);display:flex}.ui-input[data-v-18fe9c1a]{width:100%;min-width:0;height:100%;color:var(--input-fg);font:400 var(--control-font-size)/1 var(--font-body);background:0 0;border:0;outline:0;padding:0}.ui-input[data-v-18fe9c1a]::placeholder{color:var(--color-text-muted);font-size:var(--control-placeholder-size)}.ui-input-shell[data-v-18fe9c1a]:hover:not(.ui-input-shell--disabled){border-color:var(--color-border-strong)}.ui-input-shell[data-v-18fe9c1a]:focus-within{border-color:var(--input-border-focus);box-shadow:var(--control-focus-ring)}.ui-input-shell--invalid[data-v-18fe9c1a]{border-color:var(--input-border-invalid)}.ui-input-shell--invalid[data-v-18fe9c1a]:focus-within{box-shadow:0 0 0 3px var(--color-danger-soft)}.ui-input-shell--invalid .ui-input__status[data-v-18fe9c1a]{color:var(--color-danger)}.ui-input-shell--success[data-v-18fe9c1a]{border-color:var(--input-border-success)}.ui-input-shell--success .ui-input__status[data-v-18fe9c1a]{color:var(--color-success)}.ui-input-shell--disabled[data-v-18fe9c1a],.ui-input-shell--readonly[data-v-18fe9c1a]{color:var(--color-text-muted);background:var(--color-surface-muted)}.ui-input-shell--disabled[data-v-18fe9c1a]{opacity:var(--control-disabled-opacity);cursor:not-allowed}.ui-input-shell--readonly[data-v-18fe9c1a]{border-style:dashed}.ui-input__icon[data-v-18fe9c1a]{width:var(--button-icon-size);height:var(--button-icon-size);color:var(--color-text-muted)}.ui-input__message[data-v-18fe9c1a]{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--input-message-size);line-height:1.35}.ui-input-shell--invalid+.ui-input__message[data-v-18fe9c1a]{color:var(--color-danger)}.ui-input-shell--success+.ui-input__message[data-v-18fe9c1a]{color:var(--color-success)}.mobile-bottom-sheet[data-v-3eec738f]{will-change:transform}.mobile-bottom-sheet__chrome[data-v-3eec738f]{touch-action:none;flex:none}.mobile-bottom-sheet__handle[data-v-3eec738f]{cursor:ns-resize;touch-action:none;background:0 0;border:0;place-items:center;width:100%;height:16px;padding:0;display:grid}.mobile-bottom-sheet__handle span[data-v-3eec738f]{border-radius:var(--radius-pill);background:var(--color-border-strong);width:36px;height:4px}.mobile-bottom-sheet__handle[data-v-3eec738f]:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}@media (prefers-reduced-motion:reduce){.mobile-bottom-sheet[data-v-3eec738f]{transition:none!important}}.selectable-card[data-v-a239aff1]{width:100%;min-height:104px;padding:var(--space-4);border-radius:var(--card-radius);color:var(--color-text);background:var(--card-bg);cursor:pointer;text-align:left;transition:border-color var(--duration-control) var(--ease-control), background var(--duration-control) var(--ease-control), box-shadow var(--duration-control) var(--ease-control), transform var(--duration-control) var(--ease-control);border:0;position:relative;overflow:hidden}.selectable-card[data-v-a239aff1]:hover:not(:disabled){background:var(--card-bg-hover)}.selectable-card[data-v-a239aff1]:active:not(:disabled){transform:translateY(1px)}.selectable-card[data-v-a239aff1]:focus-visible{box-shadow:var(--control-focus-ring)}.selectable-card--selected[data-v-a239aff1]{color:var(--card-selected-fg);background:var(--card-selected-bg)}.selectable-card[data-v-a239aff1]:disabled{opacity:var(--control-disabled-opacity);cursor:not-allowed}.selectable-card__content[data-v-a239aff1]{display:block}.ui-switch[data-v-916cda08]{height:var(--switch-height);padding:var(--switch-padding);border-radius:var(--radius-pill);background:var(--color-surface-muted);align-items:center;display:inline-flex}.ui-switch button[data-v-916cda08]{min-width:52px;height:var(--switch-option-height);padding:0 var(--space-3);border-radius:var(--radius-pill);color:var(--color-text-muted);cursor:pointer;font:500 var(--font-caption)/1 var(--font-display);background:0 0;border:0}.ui-switch button.is-active[data-v-916cda08]{color:var(--color-text);background:var(--color-surface);box-shadow:var(--shadow-control)}.design-page[data-v-b66f17d4]{min-height:100vh}.design-content[data-v-b66f17d4]{width:min(1240px,100% - 48px);margin:0 auto;padding:64px 0 80px}.intro[data-v-b66f17d4]{max-width:780px;margin-bottom:64px}.eyebrow[data-v-b66f17d4]{margin:0 0 var(--space-2);color:var(--color-accent);font:500 var(--font-caption)/1 var(--font-display)}.intro h1[data-v-b66f17d4]{max-width:760px;font:500 clamp(36px, 5vw, 58px)/1.02 var(--font-display);letter-spacing:-.038em;margin:0}.intro p[data-v-b66f17d4]:last-child{margin:var(--space-4) 0 0;color:var(--color-text-secondary);font-size:var(--font-body-size)}.foundation-section[data-v-b66f17d4]{margin-top:72px}.section-heading[data-v-b66f17d4]{margin-bottom:var(--space-5);gap:var(--space-6);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-4);grid-template-columns:minmax(260px,.8fr) minmax(320px,1fr);align-items:end;display:grid}.section-heading span[data-v-b66f17d4]{color:var(--color-accent);font:500 var(--font-caption)/1 var(--font-display);text-transform:uppercase;letter-spacing:.06em}.section-heading h2[data-v-b66f17d4]{margin:var(--space-2) 0 0;font:500 28px/1.05 var(--font-display);letter-spacing:-.025em}.section-heading p[data-v-b66f17d4]{max-width:560px;color:var(--color-text-secondary);font-size:var(--font-control);margin:0}.state-grid[data-v-b66f17d4]{gap:var(--space-4);grid-template-columns:.9fr 1.1fr;display:grid}.spec-card[data-v-b66f17d4]{min-width:0;padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface)}.spec-head[data-v-b66f17d4]{margin-bottom:var(--space-5);align-items:flex-start;gap:var(--space-4);display:flex}.spec-head>div[data-v-b66f17d4]{flex:1}.spec-head span[data-v-b66f17d4]{color:var(--color-text-muted);font-size:var(--font-caption)}.spec-head h3[data-v-b66f17d4]{font:500 var(--font-title)/1.2 var(--font-display);margin:3px 0 0}.spec-head code[data-v-b66f17d4],.icon-cell code[data-v-b66f17d4]{border-radius:var(--radius-subtle);color:var(--color-accent);background:var(--color-accent-soft);font-size:var(--font-caption);padding:4px 8px}.state-row[data-v-b66f17d4]{gap:var(--space-4);flex-wrap:wrap;display:flex}.state-row>div[data-v-b66f17d4]{justify-items:start;gap:var(--space-2);display:grid}.state-row small[data-v-b66f17d4],.day-kicker[data-v-b66f17d4],.selectable-card small[data-v-b66f17d4]{color:var(--color-text-muted);font-size:var(--font-caption)}.input-state-grid[data-v-b66f17d4]{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.control-demo[data-v-b66f17d4]{margin-top:var(--space-4);padding:var(--space-4);align-items:flex-start;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);display:flex}.card-state-grid[data-v-b66f17d4]{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}.selectable-card strong[data-v-b66f17d4],.selectable-card small[data-v-b66f17d4]{display:block}.selectable-card strong[data-v-b66f17d4]{margin:var(--space-3) 0 var(--space-1);font:500 var(--font-title)/1.25 var(--font-display)}[data-v-b66f17d4] .selectable-card--selected small,[data-v-b66f17d4] .selectable-card--selected .day-kicker{color:var(--card-selected-muted)}.icon-groups[data-v-b66f17d4]{gap:var(--space-3);display:grid}.icon-group[data-v-b66f17d4]{padding:var(--space-4);gap:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);grid-template-columns:100px 1fr;display:grid}.icon-group h3[data-v-b66f17d4]{font:500 var(--font-control)/1 var(--font-display);margin:6px 0 0}.icon-grid[data-v-b66f17d4]{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.icon-cell[data-v-b66f17d4]{min-width:0;min-height:68px;padding:var(--space-3);gap:3px var(--space-2);border-radius:var(--radius-control);background:var(--color-surface-muted);grid-template-rows:auto auto;grid-template-columns:24px 1fr;align-items:center;display:grid}.icon-cell span[data-v-b66f17d4]{font:500 var(--font-control)/1.2 var(--font-display)}.icon-cell code[data-v-b66f17d4]{text-overflow:ellipsis;white-space:nowrap;grid-column:2;justify-self:start;max-width:100%;padding:2px 5px;overflow:hidden}.map-scale-grid[data-v-b66f17d4]{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.map-scale-sample[data-v-b66f17d4]{min-width:0;padding:var(--space-3);border-radius:var(--radius-panel);background:var(--color-surface)}.map-scale-head[data-v-b66f17d4]{padding:var(--space-1) var(--space-1) var(--space-3);justify-content:space-between;align-items:end;gap:var(--space-3);display:flex}.map-scale-head span[data-v-b66f17d4],.map-scale-head strong[data-v-b66f17d4]{display:block}.map-scale-head span[data-v-b66f17d4]{color:var(--color-text-muted);font-size:var(--font-caption);margin-bottom:3px}.map-scale-head strong[data-v-b66f17d4]{font:500 var(--font-control)/1.2 var(--font-display)}.map-scale-head code[data-v-b66f17d4]{color:var(--color-accent);font-size:var(--font-caption)}.map-board[data-v-b66f17d4]{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:linear-gradient(145deg, #e6e5df8c, transparent 42%), var(--color-surface-muted);height:350px;position:relative;overflow:hidden}.map-board__topography[data-v-b66f17d4]{opacity:.42;background:repeating-radial-gradient(ellipse at 30% 40%, transparent 0 22px, var(--color-border) 23px 24px, transparent 25px 38px);position:absolute;inset:-20%;transform:rotate(-8deg)scale(1.2)}.route-lines[data-v-b66f17d4]{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.route-line[data-v-b66f17d4]{fill:none;stroke:var(--color-accent);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.route-line--confirmed[data-v-b66f17d4]{stroke-width:var(--map-route-width)}.route-line--missing[data-v-b66f17d4]{stroke-width:var(--map-route-missing-width);stroke-dasharray:7 7;opacity:.72}.route-line--selected[data-v-b66f17d4]{stroke:var(--color-text);stroke-width:var(--map-route-width-emphasis);opacity:.18}.map-poi[data-v-b66f17d4]{justify-items:center;gap:2px;display:grid;position:absolute;transform:translate(-50%,-100%)}.map-poi--start[data-v-b66f17d4]{top:78%;left:10%}.map-poi--scenic[data-v-b66f17d4]{top:42%;left:41%}.map-poi--hotel[data-v-b66f17d4]{top:52%;left:75%}.map-poi--candidate[data-v-b66f17d4]{top:79%;left:88%}.segment-label[data-v-b66f17d4],.cluster-label[data-v-b66f17d4]{position:absolute}.segment-label--first[data-v-b66f17d4]{top:54%;left:23%}.segment-label--second[data-v-b66f17d4]{top:68%;right:9%}.cluster-label[data-v-b66f17d4]{top:66%;left:58%}.map-legend[data-v-b66f17d4]{margin-top:var(--space-4);padding:var(--space-4);align-items:center;gap:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);flex-wrap:wrap;display:flex}.map-legend>div[data-v-b66f17d4]:not(.route-legend){align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-caption);display:flex}.sheet-demo-grid[data-v-b66f17d4]{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.sheet-demo[data-v-b66f17d4]{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface-muted);height:360px;position:relative;overflow:hidden}.sheet-demo__map[data-v-b66f17d4]{color:var(--color-text-muted);background:repeating-radial-gradient(ellipse at 35% 45%, transparent 0 20px, var(--color-border) 21px 22px, transparent 23px 34px), var(--color-surface-muted);font-size:var(--font-caption);place-items:center;display:grid;position:absolute;inset:0}.sheet-demo__toolbar[data-v-b66f17d4]{z-index:2;top:var(--space-3);right:var(--space-3);left:var(--space-3);min-height:40px;padding:0 var(--space-3);align-items:center;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text-muted);background:var(--color-surface);box-shadow:var(--shadow-panel);font-size:var(--font-caption);display:flex;position:absolute}.sheet-demo__toolbar svg[data-v-b66f17d4]:first-of-type{margin-left:auto}.sheet-demo[data-v-b66f17d4] .mobile-bottom-sheet{border-radius:var(--radius-panel) var(--radius-panel) 0 0;background:var(--color-surface);box-shadow:var(--shadow-panel);transition:transform .22s var(--ease-control);flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.sheet-demo[data-v-b66f17d4] .mobile-bottom-sheet__chrome{border-bottom:1px solid var(--color-border)}.sheet-demo__header[data-v-b66f17d4]{height:48px;padding:0 var(--space-3);justify-content:space-between;align-items:center;display:flex}.sheet-demo__header strong[data-v-b66f17d4]{font:500 var(--font-control)/1 var(--font-display)}.sheet-demo__header code[data-v-b66f17d4]{color:var(--color-accent);font-size:var(--font-caption)}.sheet-demo__body[data-v-b66f17d4]{padding:var(--space-3);gap:var(--space-2);display:grid}.sheet-demo__body span[data-v-b66f17d4]{padding:var(--space-3);border-radius:var(--radius-control);color:var(--color-text-secondary);background:var(--color-surface-muted);font-size:var(--font-caption)}.notes-demo-grid[data-v-b66f17d4]{gap:var(--space-4);grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);display:grid}.notes-editor-demo[data-v-b66f17d4]{flex-direction:column;height:520px;display:flex}.notes-editor-demo>small[data-v-b66f17d4]{color:var(--color-text-muted);font-size:var(--font-caption)}.notes-editor-demo[data-v-b66f17d4] .route-note-editor{margin:0 calc(var(--space-5) * -1) var(--space-2);border-block:1px solid var(--color-border)}.notes-state-stack[data-v-b66f17d4]{gap:var(--space-3);display:grid}.notes-tabs-demo[data-v-b66f17d4]{min-height:150px}.notes-reader-demo[data-v-b66f17d4]{max-height:320px;overflow:hidden}.notes-reader-demo[data-v-b66f17d4] .route-note-prosemirror{padding-inline:0}.notes-mini-demo[data-v-b66f17d4]{background:var(--color-surface-muted);height:280px;padding:0;position:relative;overflow:hidden}.notes-mini-demo[data-v-b66f17d4] .route-mini-note{right:var(--space-3);bottom:var(--space-3);width:calc(100% - var(--space-6))}.notes-state[data-v-b66f17d4]{align-items:flex-start;gap:var(--space-3);display:flex}.notes-state>span[data-v-b66f17d4],.notes-state div>span[data-v-b66f17d4]{margin-bottom:var(--space-1);color:var(--color-accent);font-size:var(--font-caption);display:block}.notes-state strong[data-v-b66f17d4]{font:500 var(--font-body-size)/1.25 var(--font-display);display:block}.notes-state p[data-v-b66f17d4]{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--font-caption)}.notes-state>svg[data-v-b66f17d4]{flex:none;margin-top:2px}.notes-state.is-loading>svg[data-v-b66f17d4]{animation:.8s linear infinite design-spin-b66f17d4}.notes-state.is-conflict[data-v-b66f17d4]{color:var(--color-danger)}.notes-state.is-dangling[data-v-b66f17d4]{border-color:color-mix(in srgb, var(--color-danger) 30%, var(--color-border));color:var(--color-danger)}@keyframes design-spin-b66f17d4{to{transform:rotate(360deg)}}.route-legend[data-v-b66f17d4]{align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-caption);grid-template-columns:42px auto 42px auto 42px auto;margin-left:auto;display:grid}.legend-line[data-v-b66f17d4]{border-top:var(--map-route-width) solid var(--color-accent);border-radius:var(--radius-pill);height:0}.legend-line--missing[data-v-b66f17d4]{border-top-width:var(--map-route-missing-width);border-top-style:dashed}.legend-line--selected[data-v-b66f17d4]{border-top-width:var(--map-route-width-emphasis);border-top-color:var(--color-text)}.token-strip[data-v-b66f17d4]{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);grid-template-columns:repeat(6,1fr);margin-top:72px;display:grid}.token-strip div[data-v-b66f17d4]{padding:var(--space-4);border-right:1px solid var(--color-border)}.token-strip div[data-v-b66f17d4]:last-child{border-right:0}.token-strip strong[data-v-b66f17d4]{font:500 var(--font-title)/1 var(--font-display);display:block}.token-strip span[data-v-b66f17d4]{margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--font-caption);display:block}@media (width<=900px){.state-grid[data-v-b66f17d4],.section-heading[data-v-b66f17d4],.card-state-grid[data-v-b66f17d4]{grid-template-columns:1fr}.icon-grid[data-v-b66f17d4]{grid-template-columns:repeat(2,minmax(0,1fr))}.map-scale-grid[data-v-b66f17d4],.sheet-demo-grid[data-v-b66f17d4],.notes-demo-grid[data-v-b66f17d4]{grid-template-columns:1fr}.map-board[data-v-b66f17d4]{height:380px}.route-legend[data-v-b66f17d4]{width:100%;margin-left:0}}@media (width<=600px){.design-content[data-v-b66f17d4]{width:min(100% - 24px,560px);padding:36px 0 56px}.intro[data-v-b66f17d4]{margin-bottom:48px}.intro h1[data-v-b66f17d4]{font-size:36px}.foundation-section[data-v-b66f17d4]{margin-top:56px}.input-state-grid[data-v-b66f17d4]{grid-template-columns:1fr}.control-demo[data-v-b66f17d4]{flex-wrap:wrap}.control-demo .ui-input-field[data-v-b66f17d4]{flex-basis:calc(100% - 96px)}.icon-group[data-v-b66f17d4]{grid-template-columns:1fr}.icon-grid[data-v-b66f17d4]{grid-template-columns:1fr 1fr}.map-board[data-v-b66f17d4]{height:320px}.map-poi--candidate[data-v-b66f17d4]{left:84%}.segment-label--first[data-v-b66f17d4]{left:15%}.route-legend[data-v-b66f17d4]{grid-template-columns:38px auto 38px auto}.token-strip[data-v-b66f17d4]{grid-template-columns:repeat(2,1fr)}.token-strip div[data-v-b66f17d4]{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}}@media (prefers-reduced-motion:reduce){.notes-state.is-loading>svg[data-v-b66f17d4]{animation:none}}.route-card[data-v-f3006d35]{min-width:0;color:var(--color-text);flex-direction:column;text-decoration:none;display:flex}.route-card__cover[data-v-f3006d35]{aspect-ratio:16/10;border-radius:var(--radius-panel);transition:transform var(--duration-control) var(--ease-control);position:relative;overflow:hidden}.route-card__cover-img[data-v-f3006d35]{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.route-card:hover .route-card__cover[data-v-f3006d35]{transform:translateY(-2px)}.route-card[data-v-f3006d35]:focus-visible{outline:0}.route-card:focus-visible .route-card__cover[data-v-f3006d35]{box-shadow:var(--control-focus-ring)}.route-card__badges[data-v-f3006d35]{flex-wrap:wrap;gap:6px;display:flex;position:absolute;bottom:8px;left:8px;right:44px}.route-card__badge[data-v-f3006d35]{border-radius:var(--radius-pill);color:#fff;font:500 var(--font-caption)/1 var(--font-body);letter-spacing:.02em;white-space:nowrap;background:#0000008c;padding:2px 8px}.route-card__fav[data-v-f3006d35]{border-radius:var(--radius-pill);width:30px;height:30px;color:var(--color-text-secondary);cursor:pointer;opacity:0;transition:opacity var(--duration-control) var(--ease-control), color var(--duration-control) var(--ease-control), background var(--duration-control) var(--ease-control);background:#ffffffd1;border:0;place-items:center;padding:0;display:grid;position:absolute;top:8px;right:8px}.route-card:hover .route-card__fav[data-v-f3006d35],.route-card__fav.is-on[data-v-f3006d35],.route-card__fav[data-v-f3006d35]:focus-visible{opacity:1}.route-card__fav[data-v-f3006d35]:hover{background:#fff}.route-card__fav.is-on[data-v-f3006d35]{color:var(--color-danger)}.route-card__fav[data-v-f3006d35] svg{width:17px;height:17px}.route-card__title[data-v-f3006d35]{margin:var(--space-3) 2px 0;-webkit-line-clamp:2;font:500 var(--font-body-size)/1.4 var(--font-display);-webkit-box-orient:vertical;min-height:2.8em;display:-webkit-box;overflow:hidden}.route-card__meta[data-v-f3006d35]{margin:var(--space-2) 2px 0;color:var(--color-text-muted);font-size:var(--font-caption);align-items:center;gap:6px;display:flex}.route-card__owner[data-v-f3006d35]{text-overflow:ellipsis;white-space:nowrap;max-width:60%;overflow:hidden}.route-card__dot[data-v-f3006d35]{flex-shrink:0}@media (prefers-reduced-motion:reduce){.route-card__cover[data-v-f3006d35],.route-card__fav[data-v-f3006d35]{transition:none}}.user-menu[data-v-b9671c9b]{position:relative}.user-menu__trigger[data-v-b9671c9b]{height:var(--control-height-header-icon);padding:0 var(--space-2);align-items:center;gap:var(--space-1);border-radius:var(--radius-control);color:var(--color-text-muted);cursor:pointer;font:500 var(--font-caption)/1 var(--font-body);background:0 0;border:0;display:inline-flex}.user-menu__trigger[data-v-b9671c9b]:hover,.user-menu__trigger[aria-expanded=true][data-v-b9671c9b]{color:var(--color-text);background:var(--color-surface-hover)}.user-menu__trigger[data-v-b9671c9b]:focus-visible{box-shadow:var(--control-focus-ring);outline:none}.user-menu__avatar[data-v-b9671c9b]{width:16px;height:16px}.user-menu__chevron[data-v-b9671c9b]{width:12px;height:12px}.user-menu__list[data-v-b9671c9b]{top:calc(100% + var(--space-2));z-index:40;min-width:136px;padding:var(--space-1);border-radius:var(--radius-control);background:var(--color-surface);box-shadow:var(--shadow-panel);position:absolute;right:0}.user-menu__item[data-v-b9671c9b]{width:100%;min-height:var(--control-height-compact);padding:0 var(--space-3);border-radius:var(--radius-subtle);color:var(--color-text-secondary);cursor:pointer;font:500 var(--font-caption)/1 var(--font-body);text-align:left;background:0 0;border:0}.user-menu__item[data-v-b9671c9b]:hover{color:var(--color-text);background:var(--color-surface-hover)}.user-menu__item[data-v-b9671c9b]:focus-visible{box-shadow:var(--control-focus-ring);outline:none}@media (width<=720px){.user-menu__trigger[data-v-b9671c9b]{width:var(--control-height-mobile);height:var(--control-height-mobile);justify-content:center;padding:0}.user-menu__name[data-v-b9671c9b],.user-menu__chevron[data-v-b9671c9b]{display:none}}.home[data-v-7ddaae84]{background:var(--color-canvas);flex-direction:column;min-height:100dvh;display:flex}.home__body[data-v-7ddaae84]{flex:1;width:100%;max-width:1200px;margin-inline:auto;padding:0 clamp(24px,4vw,56px) clamp(40px,5vw,72px)}.hero[data-v-7ddaae84]{min-height:520px;padding:32px 0 0;position:relative;overflow:hidden}.hero__art[data-v-7ddaae84]{z-index:0;opacity:.92;pointer-events:none;-webkit-user-select:none;user-select:none;width:820px;max-width:80%;position:absolute;top:8px;right:-24px}.hero__title[data-v-7ddaae84]{z-index:2;width:min(780px,94%);font:600 clamp(38px, 5.6vw, 58px) / 1.04 var(--font-display);letter-spacing:-.01em;color:var(--color-text);margin:0 auto;padding-top:clamp(90px,15vw,150px);position:relative}.hero__title-accent[data-v-7ddaae84]{color:var(--color-accent)}.hero__search[data-v-7ddaae84]{z-index:3;width:min(780px,94%);position:absolute;bottom:clamp(72px,12vw,112px);left:50%;transform:translate(-50%)}.searchrow[data-v-7ddaae84]{align-items:center;gap:var(--space-3);display:flex}.searchbar[data-v-7ddaae84]{align-items:center;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);min-width:0;box-shadow:var(--shadow-panel);transition:border-color var(--duration-control) var(--ease-control);flex:1;padding:8px 8px 8px 20px;display:flex}.searchbar[data-v-7ddaae84]:focus-within{border-color:var(--color-accent)}.searchbar__input[data-v-7ddaae84]{min-width:0;font-size:var(--font-body-size);color:var(--color-text);background:0 0;border:0;outline:none;flex:1}.searchbar__input[data-v-7ddaae84]::placeholder{color:var(--color-text-muted)}.searchbar__input[data-v-7ddaae84]::-webkit-search-decoration{appearance:none}.searchbar__input[data-v-7ddaae84]::-webkit-search-cancel-button{appearance:none}.searchbar__go[data-v-7ddaae84]{border-radius:var(--radius-control);width:38px;height:38px;color:var(--color-accent);cursor:pointer;transition:background var(--duration-control) var(--ease-control);background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.searchbar__go[data-v-7ddaae84]:hover:not(:disabled){background:var(--color-accent-soft)}.searchbar__go[data-v-7ddaae84]:disabled{color:var(--color-disabled-fg);cursor:default}.searchbar__go[data-v-7ddaae84] svg{width:20px;height:20px}.seg[data-v-7ddaae84]{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface-muted);flex:none;gap:2px;padding:3px;display:inline-flex}.seg__btn[data-v-7ddaae84]{border-radius:var(--radius-pill);color:var(--color-text-secondary);font:500 var(--font-control)/1 var(--font-display);cursor:pointer;transition:color var(--duration-control) var(--ease-control), background var(--duration-control) var(--ease-control);background:0 0;border:0;align-items:center;gap:5px;padding:8px 15px;display:inline-flex}.seg__btn.is-on[data-v-7ddaae84]{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-control)}.seg__btn[data-v-7ddaae84] svg{width:14px;height:14px}.row[data-v-7ddaae84]{margin-top:clamp(32px,4vw,44px)}.row__head[data-v-7ddaae84]{margin-bottom:var(--space-4);align-items:center;display:flex}.row__title[data-v-7ddaae84]{font:600 var(--primitive-font-20) / 1 var(--font-display);color:var(--color-text);margin:0}.row__more[data-v-7ddaae84]{color:var(--color-text-secondary);font-size:var(--font-control);cursor:pointer;transition:color var(--duration-control) var(--ease-control);background:0 0;border:0;align-items:center;gap:2px;margin-left:auto;padding:4px 6px;display:inline-flex}.row__more[data-v-7ddaae84]:hover{color:var(--color-accent)}.row__more[data-v-7ddaae84] svg{width:16px;height:16px}.row__grid[data-v-7ddaae84]{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,2.2vw,32px) clamp(16px,1.6vw,24px);display:grid}.row__state[data-v-7ddaae84]{padding:var(--space-6) 0;color:var(--color-text-muted);font-size:var(--font-caption);margin:0}.row__retry[data-v-7ddaae84]{color:var(--color-accent);font-size:var(--font-caption);cursor:pointer;background:0 0;border:0;padding:0}@media (width<=980px){.row__grid[data-v-7ddaae84]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.hero[data-v-7ddaae84]{min-height:480px}.hero__art[data-v-7ddaae84]{opacity:.9;width:132%;max-width:none;top:auto;bottom:84px;right:50%;transform:translate(50%)}.hero__title[data-v-7ddaae84]{width:min(780px,100%);padding-top:14px;font-size:clamp(30px,9vw,42px)}.hero__search[data-v-7ddaae84]{width:min(780px,100%);bottom:26px}.searchrow[data-v-7ddaae84]{align-items:stretch;gap:var(--space-2);flex-direction:column}.seg[data-v-7ddaae84]{align-self:center}.row__grid[data-v-7ddaae84]{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.searchbar[data-v-7ddaae84],.searchbar__go[data-v-7ddaae84],.seg__btn[data-v-7ddaae84],.row__more[data-v-7ddaae84]{transition:none}}.login-page[data-v-c33e32a9]{background:var(--color-canvas);flex-direction:column;min-height:100vh;display:flex;overflow:hidden}.login-main[data-v-c33e32a9]{padding:var(--space-6);flex:1;place-items:center;display:grid;position:relative;overflow:hidden}.login-main[data-v-c33e32a9]:before,.login-main[data-v-c33e32a9]:after{content:"";pointer-events:none;position:absolute}.login-main[data-v-c33e32a9]:before{background:radial-gradient(circle at 20% 30%, var(--color-accent-soft), transparent 45%), radial-gradient(circle at 80% 70%, #b4af9b1a, transparent 40%);inset:0}.login-main[data-v-c33e32a9]:after{border:1px solid color-mix(in srgb, var(--color-accent), transparent 87%);border-radius:50%;width:min(760px,92vw);height:280px;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-8deg)}.login-card[data-v-c33e32a9]{z-index:1;border-radius:var(--radius-panel);background:var(--color-surface);width:min(420px,94vw);box-shadow:var(--shadow-panel);padding:48px 40px 36px;position:relative}.login-brand[data-v-c33e32a9]{margin-bottom:var(--space-6);color:var(--color-text-muted);font:500 var(--font-body-size)/1 var(--font-display);letter-spacing:.02em;align-items:center;gap:10px;display:flex}.login-brand img[data-v-c33e32a9]{width:20px;height:20px}.login-card h1[data-v-c33e32a9]{margin:0 0 var(--space-3);color:var(--color-text);font:500 34px/1.1 var(--font-display);letter-spacing:-.025em}.login-subtitle[data-v-c33e32a9]{margin:0 0 var(--space-6);color:var(--color-text-muted);font-size:var(--font-body-size)}.login-form[data-v-c33e32a9]{gap:var(--space-3);display:grid}.login-label[data-v-c33e32a9]{color:var(--color-text-secondary);font-size:var(--font-caption);font-weight:500}[data-v-c33e32a9] .invite-code{text-transform:uppercase;letter-spacing:.18em}.login-submit[data-v-c33e32a9]{width:100%;margin-top:var(--space-2)}.login-success[data-v-c33e32a9]{color:var(--color-success);font-size:var(--font-caption);text-align:center;margin:0}.login-hint[data-v-c33e32a9]{margin:var(--space-6) 0 0;color:var(--color-text-muted);font-size:var(--font-caption);text-align:center}.login-hint[data-v-c33e32a9]:before{width:32px;height:1px;margin:0 auto var(--space-3);background:var(--color-border);content:"";display:block}.login-footer[data-v-c33e32a9]{padding:var(--space-4);text-align:center}.login-footer a[data-v-c33e32a9]{color:var(--color-text-muted);font-size:var(--font-caption);text-decoration:none}.login-footer a[data-v-c33e32a9]:hover{color:var(--color-text-secondary)}@media (width<=600px){.login-main[data-v-c33e32a9]{padding:var(--space-4)}.login-main[data-v-c33e32a9]:after{width:140vw;height:240px}.login-card[data-v-c33e32a9]{width:min(100%,420px);padding:40px 28px 32px}}.route-explore[data-v-bb8295ae]{background:var(--color-canvas);flex-direction:column;min-height:100dvh;display:flex}.route-explore__toolbar[data-v-bb8295ae]{width:100%;max-width:1440px;padding:var(--space-4) clamp(24px, 4vw, 56px) 0;justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;margin-inline:auto;display:flex}.route-explore__tabs[data-v-bb8295ae]{flex-wrap:wrap;gap:2px;min-width:0;display:flex}.route-explore__tab[data-v-bb8295ae]{border-radius:var(--radius-pill);color:var(--color-text-muted);font:500 var(--font-control)/1 var(--font-body);cursor:pointer;transition:color var(--duration-control) var(--ease-control), background var(--duration-control) var(--ease-control);background:0 0;border:0;padding:6px 14px}.route-explore__tab[data-v-bb8295ae]:hover{color:var(--color-text);background:var(--color-surface-hover)}.route-explore__tab.is-active[data-v-bb8295ae]{color:var(--color-accent);background:var(--color-accent-soft)}.route-explore__search[data-v-bb8295ae]{width:min(340px,100%);height:36px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);transition:border-color var(--duration-control) var(--ease-control);align-items:center;display:flex;position:relative}.route-explore__search[data-v-bb8295ae]:focus-within{border-color:var(--color-accent)}.route-explore__search-icon[data-v-bb8295ae]{color:var(--color-text-muted);flex-shrink:0}.route-explore__search-icon[data-v-bb8295ae] svg{width:16px;height:16px}.route-explore__search-input[data-v-bb8295ae]{min-width:0;height:100%;padding-inline:var(--space-2);color:var(--color-text);font-size:var(--font-control);background:0 0;border:0;outline:none;flex:1}.route-explore__search-input[data-v-bb8295ae]::-webkit-search-decoration{appearance:none}.route-explore__search-input[data-v-bb8295ae]::-webkit-search-cancel-button{appearance:none}.route-explore__search-clear[data-v-bb8295ae]{border-radius:var(--radius-pill);width:22px;height:22px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;flex-shrink:0;place-items:center;padding:0;display:grid}.route-explore__search-clear[data-v-bb8295ae] svg{width:14px;height:14px}.route-explore__body[data-v-bb8295ae]{width:100%;max-width:1440px;padding:var(--space-4) clamp(24px, 4vw, 56px) clamp(24px, 4vw, 56px);flex:1;margin-inline:auto}.route-explore__result-hint[data-v-bb8295ae]{margin:0 0 var(--space-4);color:var(--color-text-muted);font-size:var(--font-caption);align-items:baseline;gap:8px;display:flex}.route-explore__result-hint span[data-v-bb8295ae]{color:var(--color-text-secondary)}.route-explore__grid[data-v-bb8295ae]{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,2.2vw,32px) clamp(16px,1.6vw,24px);display:grid}.route-explore__state[data-v-bb8295ae]{place-content:center;justify-items:center;gap:var(--space-3);min-height:46vh;color:var(--color-text-muted);font-size:var(--font-caption);text-align:center;margin:0;display:grid}.route-explore__state p[data-v-bb8295ae]{margin:0}.route-explore__error[data-v-bb8295ae]{margin:var(--space-4) 0 0;color:var(--color-danger);font-size:var(--font-caption)}@media (width<=980px){.route-explore__grid[data-v-bb8295ae]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.route-explore__toolbar[data-v-bb8295ae]{padding:var(--space-4) var(--space-4) 0;flex-direction:column;align-items:stretch}.route-explore__search[data-v-bb8295ae]{width:100%}.route-explore__body[data-v-bb8295ae]{padding:var(--space-4)}.route-explore__grid[data-v-bb8295ae]{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.route-explore__tab[data-v-bb8295ae],.route-explore__search[data-v-bb8295ae]{transition:none}}:root{--primitive-white:#fff;--primitive-canvas:#fafaf7;--primitive-stone-50:#f4f3ee;--primitive-stone-100:#f0efea;--primitive-stone-200:#e6e5df;--primitive-stone-300:#d8d7d0;--primitive-stone-500:#8a8a85;--primitive-stone-600:#4a4a48;--primitive-black:#0a0a0a;--primitive-blue-50:#2464e814;--primitive-blue-600:#2464e8;--primitive-blue-700:#1a52c7;--primitive-blue-800:#1646a8;--primitive-green-600:#16a34a;--primitive-green-50:#ecf8f0;--primitive-olive-600:#84994f;--primitive-purple-600:#9b4dac;--primitive-taupe-600:#a4856c;--primitive-amber-600:#d97706;--primitive-amber-50:#fff7e8;--primitive-red-600:#dc2626;--primitive-red-50:#fff0f0;--primitive-cyan-600:#087f8c;--primitive-violet-600:#7654c4;--primitive-orange-600:#c45d23;--primitive-slate-700:#334155;--primitive-font-display:"Inter Tight", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--primitive-font-body:"Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--primitive-font-12:12px;--primitive-font-13:13px;--primitive-font-15:15px;--primitive-font-17:17px;--primitive-font-20:20px;--primitive-space-1:4px;--primitive-space-2:8px;--primitive-space-3:12px;--primitive-space-4:16px;--primitive-space-5:24px;--primitive-space-6:32px;--primitive-radius-6:6px;--primitive-radius-8:8px;--primitive-radius-12:12px;--primitive-radius-full:999px;--primitive-shadow-sm:0 1px 2px #0a0a0a0a;--primitive-shadow-md:0 4px 16px #0a0a0a0f;--primitive-shadow-lg:0 12px 40px #0a0a0a14;--primitive-shadow-focus:0 0 0 3px #2464e824;--primitive-shadow-selected:0 0 0 1px #2464e8, 0 8px 24px #2464e81f;--primitive-duration-fast:.15s;--primitive-duration-medium:.22s;--primitive-ease-standard:cubic-bezier(.2, .6, .2, 1);--color-canvas:var(--primitive-canvas);--color-surface:var(--primitive-white);--color-surface-muted:var(--primitive-stone-50);--color-surface-hover:var(--primitive-stone-100);--color-text:var(--primitive-black);--color-text-secondary:var(--primitive-stone-600);--color-text-muted:var(--primitive-stone-500);--color-border:var(--primitive-stone-200);--color-border-strong:var(--primitive-stone-300);--color-accent:var(--primitive-blue-600);--color-accent-hover:var(--primitive-blue-700);--color-accent-active:var(--primitive-blue-800);--color-accent-soft:var(--primitive-blue-50);--color-success:var(--primitive-green-600);--color-success-soft:var(--primitive-green-50);--color-warning:var(--primitive-amber-600);--color-warning-soft:var(--primitive-amber-50);--color-danger:var(--primitive-red-600);--color-danger-soft:var(--primitive-red-50);--color-disabled-fg:var(--primitive-stone-500);--color-disabled-bg:var(--primitive-stone-100);--color-map-scenic:var(--primitive-green-600);--color-map-restaurant:var(--primitive-orange-600);--color-map-hotel:var(--primitive-violet-600);--color-map-activity:var(--primitive-cyan-600);--color-map-photograph:var(--primitive-olive-600);--color-map-gas-station:var(--primitive-purple-600);--color-map-shopping:var(--primitive-taupe-600);--color-map-transport:var(--primitive-slate-700);--color-map-default:var(--primitive-blue-600);--color-map-label-halo:var(--primitive-white);--font-display:var(--primitive-font-display);--font-body:var(--primitive-font-body);--font-caption:var(--primitive-font-12);--font-control:var(--primitive-font-13);--font-body-size:var(--primitive-font-15);--font-title:var(--primitive-font-17);--space-1:var(--primitive-space-1);--space-2:var(--primitive-space-2);--space-3:var(--primitive-space-3);--space-4:var(--primitive-space-4);--space-5:var(--primitive-space-5);--space-6:var(--primitive-space-6);--radius-subtle:var(--primitive-radius-6);--radius-control:var(--primitive-radius-8);--radius-panel:var(--primitive-radius-12);--radius-pill:var(--primitive-radius-full);--shadow-control:var(--primitive-shadow-sm);--shadow-panel:var(--primitive-shadow-lg);--shadow-focus:var(--primitive-shadow-focus);--shadow-selected:var(--primitive-shadow-selected);--duration-control:var(--primitive-duration-fast);--duration-emphasis:var(--primitive-duration-medium);--ease-control:var(--primitive-ease-standard);--app-header-height:60px;--app-header-padding-y:12px;--app-header-padding-x:24px;--app-header-gap:16px;--control-height-compact:32px;--control-height-header-icon:34px;--control-height-default:40px;--control-height-mobile:40px;--control-padding-compact-x:12px;--control-padding-default-x:14px;--control-font-size:var(--font-control);--control-placeholder-size:var(--font-control);--control-radius:var(--radius-control);--control-focus-ring:var(--shadow-focus);--control-disabled-opacity:.55;--button-primary-bg:var(--color-text);--button-primary-fg:var(--color-canvas);--button-primary-bg-hover:var(--color-accent);--button-primary-bg-active:var(--color-accent-active);--button-secondary-bg:var(--color-surface);--button-secondary-fg:var(--color-text-secondary);--button-secondary-border:var(--color-border);--button-secondary-bg-hover:var(--color-surface-hover);--button-selected-border:var(--color-accent);--button-selected-bg:var(--color-accent-soft);--button-selected-fg:var(--color-accent);--button-icon-size:16px;--input-bg:var(--color-surface);--input-bg-muted:var(--color-surface-muted);--input-fg:var(--color-text);--input-border:var(--color-border);--input-border-focus:var(--color-accent);--input-border-invalid:var(--color-danger);--input-border-success:var(--color-success);--input-message-size:var(--font-caption);--card-bg:transparent;--card-bg-hover:var(--color-surface-muted);--card-selected-bg:var(--color-accent-soft);--card-selected-fg:var(--color-accent);--card-selected-muted:var(--color-text-secondary);--card-radius:var(--radius-panel);--map-marker-compact-size:14px;--map-marker-detailed-size:40px;--map-marker-icon-size:18px;--map-route-width:5px;--map-route-width-emphasis:8px;--map-route-missing-width:3px;--map-label-poi-size:12px;--map-label-segment-size:11px;--map-label-cluster-size:12px;--switch-height:34px;--switch-padding:2px;--switch-option-height:30px;--workspace-tab-width:30px;--workspace-tab-height:76px;--workspace-tab-overlap:-5px;--route-workspace-width:440px;--route-workspace-width-compact:320px;--poster-editor-dialog-width:1040px;--poster-editor-inspector-width:304px;--poster-editor-canvas-max-height:min(620px, calc(100dvh - 300px));--poster-editor-list-max-height:200px;--poster-editor-item-mobile-width:160px;--poster-editor-number-size:24px;--poster-editor-number-font:20px;--poster-editor-description-height:120px;--poster-editor-scrim:color-mix(in srgb, var(--color-text) 24%, transparent);--poster-editor-divider-border:1px;--poster-editor-box-border:2px;--poster-editor-box-bg:var(--color-accent-soft)}@media (width<=720px){:root{--app-header-height:56px;--app-header-padding-y:8px;--app-header-padding-x:12px;--app-header-gap:6px;--control-height-header-icon:var(--control-height-mobile);--poster-editor-canvas-max-height:min(286px, max(180px, calc(100dvh - 480px)));--poster-editor-description-height:80px}}*,:before,:after{box-sizing:border-box}html,body,#app{min-width:320px;min-height:100%;margin:0}body{color:var(--color-text);background:var(--color-canvas);font:400 var(--font-body-size)/1.55 var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:var(--color-accent-soft)}.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}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important}}
