.plan-wrap{display:flex;flex-direction:column;height:100dvh;width:100%;overflow:hidden}.plan-body{position:relative;flex:1 1 auto;min-height:0;isolation:isolate;overflow:clip}.plan-wrap>.wb-navbar{position:relative;z-index:1}.plan-map{position:absolute;inset:0}@media (max-width:560px){.plan-wrap>.wb-navbar{flex-wrap:wrap;gap:var(--spacing-2)}.plan-wrap>.wb-navbar .wb-navbar-actions{width:100%;margin-left:0;flex-wrap:wrap;justify-content:space-between}}.plan-map.is-drawing canvas{cursor:crosshair}.plan-marker{width:14px;height:14px;border-radius:var(--radius-pill);background:var(--color-surface);border:2px solid var(--color-ink);box-shadow:var(--shadow-1);cursor:-webkit-grab;cursor:grab}.plan-marker.is-last{background:var(--color-accent)}.plan-undo-redo{position:absolute;z-index:2;top:var(--spacing-3);left:var(--spacing-3);display:flex;background:color-mix(in srgb,var(--color-bg) 92%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--color-hairline);border-radius:var(--radius-md);box-shadow:var(--shadow-2);overflow:hidden}.plan-undo-redo .wb-btn{border:0;border-radius:0;background:none}.plan-undo-redo .wb-btn+.wb-btn{border-left:1px solid var(--color-hairline)}@media (min-width:720px){.plan-undo-redo{left:calc(var(--spacing-3) * 2 + var(--wb-panel-w))}.plan-wrap:has(.plan-undo-redo){--wb-float-top:calc(var(--spacing-3) * 2 + var(--spacing-8))}}@media (min-width:720px){.plan-search{left:calc(50% + (var(--spacing-3) * 2 + var(--wb-panel-w)) / 2);width:min(620px,calc(100vw - 2 * var(--wb-chrome-right) - (var(--spacing-3) * 2 + var(--wb-panel-w))))}}.plan-scope{margin:0}.plan-flag,.plan-scope{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-muted)}.plan-flag{white-space:nowrap}.plan-stats{display:flex;gap:var(--spacing-3);font-family:var(--font-mono);font-size:var(--text-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.plan-hint,.plan-stats{margin:0;color:var(--color-muted)}.plan-err,.plan-hint{font-family:var(--font-ui);font-size:var(--text-sm)}.plan-err{margin:0;color:var(--color-bad)}.plan-notice{color:var(--color-ink)}.plan-head-row{display:flex;gap:var(--spacing-2);align-items:center}.plan-name{flex:1 1 auto;min-width:0;font-size:var(--text-lg);font-weight:600;line-height:var(--leading-tight);background:transparent;border-color:transparent}.plan-name:hover{border-color:var(--color-hairline)}.plan-name:focus{border-color:var(--color-ink);background:var(--color-bg)}.plan-head-row:focus-within .plan-name-edit{opacity:0;pointer-events:none}.plan-head-actions{display:flex;gap:var(--spacing-2);align-items:center;margin-top:var(--spacing-2)}.plan-head-save{flex:1 1 auto}.plan-menu{position:relative}.plan-menu-pop{position:absolute;top:calc(100% + var(--spacing-1));z-index:5;display:grid;min-width:var(--spacing-16);padding:var(--spacing-1);background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--radius-md);box-shadow:var(--shadow-2)}.plan-menu-pop--right{right:0}.plan-menu-pop--left{left:0}.plan-menu-item{display:flex;align-items:center;gap:var(--spacing-2);font:inherit;font-family:var(--font-ui);font-size:var(--text-sm);text-align:left;white-space:nowrap;color:var(--color-ink);background:none;border:0;border-radius:var(--radius-sm);padding:var(--spacing-2) var(--spacing-3);cursor:pointer}.plan-menu-item:focus-visible,.plan-menu-item:hover{background:var(--color-state-hover)}.plan-menu-item:disabled{color:var(--color-muted);cursor:default}.plan-menu-item:disabled:hover{background:none}.plan-list{list-style:none;margin:0;padding:0}.plan-stack{display:grid;grid-gap:var(--spacing-2);gap:var(--spacing-2);margin-top:var(--spacing-3);justify-items:start}.plan-stack--tight{gap:var(--spacing-1);margin-top:var(--spacing-2)}.plan-row{display:flex;flex-wrap:wrap;gap:var(--spacing-2);align-items:center}.plan-export-row{margin-top:var(--spacing-3)}.plan-action{width:100%;justify-content:flex-start}.plan-danger{color:var(--color-bad)}.plan-tick{opacity:0}.plan-tick.is-on{opacity:1}.plan-collect-field{flex:1 1 auto;width:auto;min-width:0}.plan-toggle{display:flex;gap:var(--spacing-2);align-items:center;font-family:var(--font-ui);font-size:var(--text-sm);padding:var(--spacing-1) 0;cursor:pointer}.plan-toggle input{flex:none}.plan-toggle--nested{margin-left:var(--spacing-4)}.plan-toggle input:disabled+span{color:var(--color-muted)}.plan-toggle:has(input:disabled){cursor:default}.plan-ask-title{margin:var(--spacing-3) 0 var(--spacing-1);font-family:var(--font-ui);font-size:var(--text-md);font-weight:600;line-height:var(--leading-snug);color:var(--color-ink)}.plan-import input[type=file]{display:none}.plan-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.plan-route-cell{--plan-cell-pad:var(--wb-pad,var(--spacing-5));display:flex;align-items:center;gap:var(--spacing-3);width:calc(100% + 2 * var(--plan-cell-pad));margin-inline:calc(-1 * var(--plan-cell-pad));padding:var(--spacing-2) var(--plan-cell-pad);font:inherit;text-align:left;color:var(--color-ink);background:none;border:0;border-bottom:1px solid var(--color-hairline);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard)}.plan-route-cell:last-child,li:last-child>.plan-route-cell{border-bottom:0}.plan-route-cell.is-open,.plan-route-cell:hover:not(:disabled){background:var(--color-state-hover)}.plan-route-cell:disabled{cursor:default;opacity:.6}.plan-route-cell:focus-visible{outline:2px solid var(--color-ink);outline-offset:-2px}.plan-route-cell-thumb{flex:none;display:block;background:var(--color-surface);border-radius:var(--radius-sm)}.plan-route-cell-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:var(--spacing-1)}.plan-route-cell-name{display:flex;align-items:center;gap:var(--spacing-1);font-size:var(--text-sm);font-weight:600;line-height:var(--leading-snug)}.plan-route-cell-label,.plan-route-cell-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-route-cell-label{min-width:0}.plan-route-cell-vis{flex:none;display:inline-flex;color:var(--color-muted)}.plan-route-cell-ascent{font-family:var(--font-mono);font-size:var(--text-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-muted)}.plan-route-cell-distance{flex:none;font-size:var(--text-lg)}.plan-marker--stop{width:32px;height:32px;display:grid;place-items:center;border:0;background:var(--color-route-line);border-radius:var(--radius-pill);box-shadow:var(--shadow-1)}.plan-marker-coin{display:block;width:24px;height:24px}.plan-marker.is-hover{outline:3px solid color-mix(in srgb,var(--color-route-line) 60%,transparent);outline-offset:2px;border-radius:var(--radius-pill)}.plan-hover{position:absolute;z-index:6;transform:translateY(calc(-100% - var(--spacing-4)));display:grid;grid-gap:var(--spacing-2);gap:var(--spacing-2);justify-items:start;min-width:10rem;max-width:16rem;padding:var(--spacing-2) var(--spacing-3) var(--spacing-3);background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--radius-md);box-shadow:var(--shadow-2);font-family:var(--font-ui)}.plan-hover:after{content:"";position:absolute;left:0;right:0;top:100%;height:var(--spacing-4)}.plan-hover-head{display:flex;align-items:center;gap:var(--spacing-2)}.plan-hover-name{font-size:var(--text-sm);font-weight:600;line-height:var(--leading-snug);color:var(--color-ink)}.plan-hover-meta{margin:0;font-size:var(--text-xs);line-height:var(--leading-snug);color:var(--color-muted)}.plan-tl{--plan-tl-rail:var(--spacing-12);--plan-tl-spine:var(--spacing-8);--plan-tl-node:var(--spacing-3);list-style:none;margin:0;padding:0;display:grid;grid-template-columns:var(--plan-tl-rail) 1fr}.plan-tl-line{--plan-tl-title-y:calc(var(--spacing-3) + var(--text-base) * var(--leading-snug) / 2);grid-column:2;position:relative;min-width:0}.plan-tl-line--small{--plan-tl-title-y:calc(var(--spacing-3) + var(--text-sm) * var(--leading-snug) / 2)}.plan-tl-line .wb-row{--wb-row-pad:calc(var(--wb-pad, var(--spacing-5)) + var(--plan-tl-rail));--plan-tl-edge:var(--wb-pad,var(--spacing-5));width:calc(100% + var(--wb-row-pad) + var(--plan-tl-edge));margin-inline:calc(-1 * var(--wb-row-pad)) calc(-1 * var(--plan-tl-edge));padding-right:var(--plan-tl-edge)}.plan-tl-line--small .wb-row{padding-left:calc(var(--wb-row-pad) + var(--spacing-4))}.plan-tl-line--small .wb-row-name{font-size:var(--text-sm);font-weight:400}.plan-tl-line[data-kind=passage] .wb-row{padding-right:calc(var(--plan-tl-edge) + var(--spacing-6) + var(--spacing-1))}.plan-tl-line:before{content:"";top:0;bottom:0;border-left:1px solid var(--color-hairline)}.plan-tl-line:before,.plan-tl-node{position:absolute;left:calc(var(--plan-tl-spine) - var(--plan-tl-rail))}.plan-tl-node{top:var(--plan-tl-title-y);z-index:1;transform:translate(-50%,-50%);border-radius:var(--radius-pill);background:var(--color-surface)}.plan-tl-node--stop{width:var(--spacing-4);height:var(--spacing-4);border:2px solid var(--color-route-line)}.plan-tl-node--dot{width:var(--plan-tl-node);height:var(--plan-tl-node);border:1px solid var(--color-muted)}.plan-tl-node--none,.plan-tl-node--off{width:var(--spacing-3);height:0;border-top:1px solid var(--color-hairline);border-radius:0;transform:none;top:var(--plan-tl-title-y)}.plan-tl-grip{position:absolute;top:var(--plan-tl-title-y);z-index:2;left:calc(0px - var(--plan-tl-rail));display:flex;align-items:center;justify-content:center;width:var(--spacing-6);height:var(--spacing-6);color:var(--color-muted);cursor:-webkit-grab;cursor:grab;opacity:0;touch-action:none;transform:translateY(-50%);transition:opacity var(--duration-fast) var(--ease-standard)}.plan-tl-grip:focus-visible,.plan-tl-line:hover .plan-tl-grip{opacity:1}.plan-tl-grip:active{cursor:-webkit-grabbing;cursor:grabbing}@media (pointer:coarse){.plan-tl-grip{display:none}}.plan-tl-tool{position:absolute;top:var(--spacing-2);z-index:2;color:var(--color-muted);opacity:0;transition:opacity var(--duration-fast) var(--ease-standard)}.plan-tl-menu{position:static}.plan-tl-menu>.plan-tl-tool{right:0}.plan-tl-pencil{right:var(--spacing-8)}.plan-tl-line:hover .plan-tl-tool,.plan-tl-tool:focus-visible,.plan-tl-tool[aria-expanded=true]{opacity:1}@media (pointer:coarse){.plan-tl-tool{opacity:1}}.plan-tl-pop{position:absolute;right:0;top:var(--spacing-8);z-index:5;display:grid;min-width:var(--spacing-16);padding:var(--spacing-1);background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--radius-md);box-shadow:var(--shadow-2)}.plan-tl-item{font:inherit;font-family:var(--font-ui);font-size:var(--text-sm);text-align:left;white-space:nowrap;color:var(--color-ink);background:none;border:0;border-radius:var(--radius-sm);padding:var(--spacing-2) var(--spacing-3);cursor:pointer}.plan-tl-item:focus-visible,.plan-tl-item:hover{background:var(--color-state-hover)}.plan-tl-plus{position:absolute;z-index:3;left:calc(var(--plan-tl-spine) - var(--plan-tl-rail));transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:var(--spacing-4);height:var(--spacing-4);color:var(--color-muted);background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--radius-pill);cursor:pointer;opacity:0;transition:opacity var(--duration-fast) var(--ease-standard)}.plan-tl-plus--above{top:0}.plan-tl-plus--below{top:100%}.plan-tl-line:hover>.plan-tl-plus,.plan-tl-plus:focus-visible{opacity:1}.plan-tl-plus:focus-visible,.plan-tl-plus:hover{color:var(--color-brand-yellow-ink);background:var(--color-brand-yellow);border-color:var(--color-brand-yellow-ink)}.plan-tl-plus--row{top:var(--plan-tl-title-y)}@media (pointer:coarse){.plan-tl-plus--row{opacity:1}}.plan-tl-hide{right:0}.plan-tl-pin{display:block;width:var(--spacing-3);height:var(--spacing-3);border:2px solid var(--color-muted);border-radius:var(--radius-pill)}.plan-tl-stack-coins{display:flex;align-items:center}.plan-tl-stack-coin{display:flex;border-radius:var(--radius-pill);box-shadow:0 0 0 2px var(--color-surface)}.plan-tl-stack-coin+.plan-tl-stack-coin,.plan-tl-stack-more{margin-left:calc(-1 * var(--spacing-2))}.plan-tl-stack-more{display:flex;align-items:center;justify-content:center;min-width:var(--spacing-6);height:var(--spacing-6);padding:0 var(--spacing-1);border-radius:var(--radius-pill);background:var(--color-surface);border:1px solid var(--color-hairline);box-shadow:0 0 0 2px var(--color-surface);font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--color-muted)}.plan-tl-marks{display:inline-flex;gap:var(--spacing-1);margin-left:var(--spacing-2);vertical-align:-.15em}.plan-tl-marks svg{color:var(--color-muted)}.plan-tl-delta{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-ok);animation:plan-tl-fade var(--duration-base) var(--ease-out)}@keyframes plan-tl-fade{0%{opacity:0}to{opacity:1}}.plan-tl-name{width:100%;font-size:var(--text-base);animation:plan-tl-grow var(--duration-base) var(--ease-out)}@keyframes plan-tl-grow{0%{transform:scaleY(.8);opacity:0}to{transform:none;opacity:1}}.plan-tl-bracket,.plan-tl-line{transition:transform var(--duration-base) var(--ease-out)}.plan-tl-line.is-lifted .plan-tl-node,.plan-tl-line.is-lifted .wb-row,.plan-tl.is-dragging .plan-tl-grip,.plan-tl.is-dragging .plan-tl-plus,.plan-tl.is-dragging .plan-tl-tool{opacity:0}.plan-tl-ghost{position:fixed;z-index:30;pointer-events:none;will-change:transform}.plan-tl-ghost-inner,.plan-tl-ghost.is-returning{transition:transform var(--duration-base) var(--ease-out)}.plan-tl-ghost-inner{background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--radius-md);box-shadow:var(--shadow-2);transform:scale(1.02)}.plan-tl-ghost--place .plan-tl-ghost-inner{transform:scale(1.02) translateX(var(--spacing-4))}.plan-tl-ghost .wb-row{--wb-row-pad:var(--spacing-3);width:100%;margin-inline:0;border-bottom:0}.plan-tl-line--small .wb-row{animation:plan-tl-arrive var(--duration-base) var(--ease-out)}@keyframes plan-tl-arrive{0%{opacity:0;transform:translateY(calc(-1 * var(--spacing-2)))}to{opacity:1;transform:none}}.plan-tl-line.is-pending{opacity:.45;pointer-events:none}.plan-tl-drop{grid-column:2;align-self:start;height:0;margin-top:calc(-1px);border-top:2px solid var(--color-route-line);pointer-events:none;z-index:4}.plan-tl-drop--place{margin-left:var(--spacing-4)}.plan-tl-bracket{grid-column:1/-1;position:relative;pointer-events:none;z-index:2}.plan-tl-bracket-rule{position:absolute;top:var(--spacing-4);bottom:var(--spacing-4);left:calc(var(--plan-tl-spine) + var(--spacing-2));width:var(--spacing-2);border:1px solid var(--color-accent);border-left:0;border-top-right-radius:var(--radius-xs);border-bottom-right-radius:var(--radius-xs)}.plan-tl-bracket-text{position:absolute;top:0;left:calc(var(--plan-tl-spine) + var(--spacing-5));right:var(--spacing-8);display:grid;grid-gap:var(--spacing-1);gap:var(--spacing-1);padding:0 var(--spacing-2);background:var(--color-surface);pointer-events:auto}.plan-tl-bracket-name{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:500;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-tl-bracket-meta{font-family:var(--font-ui);font-size:var(--text-2xs);color:var(--color-muted)}.plan-tl-bracket .plan-tl-menu{pointer-events:auto}.plan-tl-bracket .plan-tl-tool{top:0;right:0;opacity:0}.plan-tl-bracket .plan-tl-tool[aria-expanded=true],.plan-tl-bracket:hover .plan-tl-tool{opacity:1}@media (prefers-reduced-motion:reduce){.plan-tl-bracket,.plan-tl-ghost,.plan-tl-ghost-inner,.plan-tl-grip,.plan-tl-line,.plan-tl-plus,.plan-tl-tool{transition:none}.plan-tl-delta,.plan-tl-line--small .wb-row,.plan-tl-name{animation:none}}.plan-collection-shelf{display:grid;grid-template-columns:repeat(auto-fill,140px);grid-gap:var(--spacing-3);gap:var(--spacing-3);list-style:none;padding:0;margin:var(--spacing-3) 0 0}.plan-collection-cover{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-2);min-height:200px;padding:var(--spacing-3);border:1px solid var(--color-hairline);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-ink);text-decoration:none;overflow-wrap:anywhere}a.plan-collection-cover:hover{background:var(--color-state-hover)}a.plan-collection-cover:focus-visible{outline:2px solid var(--color-ink);outline-offset:3px}.plan-collection-title{font-size:var(--text-base);font-weight:600;line-height:var(--leading-snug)}.plan-collection-count{color:var(--color-muted);font-size:var(--text-sm)}.plan-profile-point{width:16px;height:16px;border-radius:var(--radius-pill);background:var(--color-ink);border:3px solid var(--color-brand-yellow);box-shadow:var(--shadow-1);pointer-events:none}.plan-status{position:absolute;z-index:7;left:50%;bottom:var(--spacing-5);display:inline-flex;align-items:center;gap:var(--spacing-2);max-width:min(calc(100% - 2 * var(--spacing-4)),34rem);padding:var(--spacing-2) var(--spacing-3);transform:translateX(-50%);border:1px solid var(--color-brand-yellow-ink);background:var(--color-brand-yellow);color:var(--color-brand-yellow-ink);box-shadow:var(--shadow-2);font-family:var(--font-ui);font-size:var(--text-sm);line-height:var(--leading-snug)}.plan-status,.plan-status-mark{border-radius:var(--radius-pill)}.plan-status-mark{flex:0 0 auto;width:var(--spacing-2);height:var(--spacing-2);background:currentColor}.plan-status[data-status=busy] .plan-status-mark{animation:plan-status-pulse 1.4s var(--ease-standard) infinite alternate}.plan-status-message{min-width:0;overflow-wrap:anywhere}.plan-status-action.wb-btn{flex:0 0 auto;color:inherit;text-decoration:underline;text-underline-offset:.15em}.plan-status-action.wb-btn:focus-visible,.plan-status-action.wb-btn:hover{background:color-mix(in srgb,currentColor 12%,transparent)}@keyframes plan-status-pulse{0%{opacity:.35}to{opacity:1}}@media (prefers-reduced-motion:reduce){.plan-status[data-status=busy] .plan-status-mark{animation:none}}.plan-waypoint-hint{position:absolute;z-index:6;display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-2);border:1px solid var(--color-brand-yellow-ink);border-radius:var(--radius-pill);background:var(--color-brand-yellow);color:var(--color-brand-yellow-ink);box-shadow:var(--shadow-1);font-family:var(--font-ui);font-size:var(--text-xs);line-height:var(--leading-tight);pointer-events:none;white-space:nowrap}.plan-draft-row{display:flex;align-items:center}.plan-draft-row>.plan-route-cell{flex:1 1;min-width:0}.plan-draft-discard{flex:none;margin-right:var(--spacing-4);padding:var(--spacing-2);color:var(--color-ink-muted);font-size:var(--text-xs);border-radius:var(--radius-sm)}.plan-draft-discard:hover{color:var(--color-ink);background:var(--color-surface)}.plan-draft-discard:focus-visible{outline:2px solid var(--color-route-line);outline-offset:2px}.plan-library-skeleton{height:76px;display:flex;align-items:center;gap:var(--spacing-4);padding:var(--spacing-4) var(--spacing-5)}.plan-library-skeleton span{display:block;width:56px;height:40px;border-radius:var(--radius-sm);background:var(--color-hairline)}.plan-library-skeleton span+span{width:45%;height:16px}@media (min-width:720px){.plan-body:has(>.wb-panel)>.plan-status{left:calc(50% + (var(--wb-panel-w) + var(--spacing-3)) / 2);max-width:calc(100% - var(--wb-panel-w) - var(--spacing-3) * 4)}}.plan-body:has(>.plan-status)>.toast-host{bottom:calc(var(--spacing-5) + 64px)}