.app{--blue:#1f4fd8;--blue-bright:#2563eb;--blue-deep:#173eb8;--blue-night:#0b1d5e;--yellow:#ffd640;--amber:#ffb000;--red:#e5484d;--green:#2fa36b;--paper:#f4f5f9;--card:#ffffff;--card-2:#f4f5f9;--ink:#0b1022;--ink-2:#4c5473;--ink-3:#5f6887;--rule:rgba(11,16,34,0.14);--rule-soft:rgba(11,16,34,0.07);--blue-ink:#1f3fe0;--red-ink:#c4262c;--live:#1b7f4d;--late:#b4540a;--grid-minor:rgba(31,79,216,0.045);--grid-major:rgba(31,79,216,0.08);--glass:rgba(255,255,255,0.92);--shadow:0 1px 0 var(--rule-soft),0 18px 40px -24px rgba(11,16,34,0.35);--float:0 10px 30px -12px rgba(11,16,34,0.35),0 1px 2px rgba(11,16,34,0.12);--field-rule:rgba(11,16,34,0.42);--focus-paper:var(--blue-ink);--focus:var(--focus-paper);--sans:var(--font-plex-sans),ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--mono:var(--font-plex-mono),ui-monospace,"SF Mono",Menlo,Consolas,monospace;--gutter:clamp(1rem,3vw,2rem);--header-h:56px;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html.dark .app{--paper:#0b1022;--card:#121833;--card-2:#1a2142;--ink:#eef0f9;--ink-2:#aab1cc;--ink-3:#8a93b4;--rule:rgba(255,255,255,0.16);--rule-soft:rgba(255,255,255,0.08);--blue-ink:#93a6ff;--red-ink:#ff8f92;--live:#4cc38a;--late:#f2a65a;--grid-minor:rgba(147,166,255,0.04);--grid-major:rgba(147,166,255,0.07);--glass:rgba(18,24,51,0.9);--shadow:0 1px 0 rgba(0,0,0,0.25),0 18px 40px -20px rgba(0,0,0,0.75);--float:0 12px 32px -12px rgba(0,0,0,0.7),0 1px 2px rgba(0,0,0,0.4);--field-rule:rgba(255,255,255,0.34);--focus-paper:var(--yellow)}html.dark .app .only-light,html.light .app .only-dark{display:none}.app ::selection{background:var(--yellow);color:#0b1022}.app :focus-visible{outline:2px solid var(--focus);outline-offset:2px}.app .skip{position:absolute;left:var(--gutter);top:-4rem;z-index:1500;padding:.6rem .9rem;border-radius:4px;background:var(--yellow);color:#0b1022;font-family:var(--mono);font-size:.8125rem;text-decoration:none}.app .skip:focus{top:.6rem}.app-main{flex:1;min-width:0;background-color:var(--paper);background-image:linear-gradient(to right,var(--grid-minor) 1px,transparent 1px),linear-gradient(to bottom,var(--grid-minor) 1px,transparent 1px),linear-gradient(to right,var(--grid-major) 1px,transparent 1px),linear-gradient(to bottom,var(--grid-major) 1px,transparent 1px);background-size:24px 24px,24px 24px,120px 120px,120px 120px;background-position:top}@media (max-width:639px){.app-main>.mx-auto{padding-right:max(1rem,env(safe-area-inset-right,0px));padding-left:max(1rem,env(safe-area-inset-left,0px))}}.app :is(.rounded-xl.bg-white.shadow,.rounded-xl.bg-gray-800){border:1px solid var(--rule);box-shadow:var(--shadow)}.app .blueprint{--bp:#1f4fd8;--bp-deep:#173eb8;--bp-ring:#1c48cc;--bp-minor:rgba(255,255,255,0.07);--bp-major:rgba(255,255,255,0.1);--focus:var(--yellow);--live:#5fe0a0;position:relative;isolation:isolate;overflow:hidden;background-color:var(--bp);background-image:linear-gradient(to right,var(--bp-minor) 1px,transparent 1px),linear-gradient(to bottom,var(--bp-minor) 1px,transparent 1px),linear-gradient(to right,var(--bp-major) 1px,transparent 1px),linear-gradient(to bottom,var(--bp-major) 1px,transparent 1px),linear-gradient(to bottom,var(--bp) 0,var(--bp-deep) 100%);background-size:24px 24px,24px 24px,120px 120px,120px 120px,100% 100%;background-position:top;color:#fff}html.dark .app .blueprint{--bp:#16359a;--bp-deep:#0c1f63;--bp-ring:#122c80;--bp-minor:rgba(255,255,255,0.05);--bp-major:rgba(255,255,255,0.075)}.app .route-art{position:absolute;inset:0;z-index:-1;pointer-events:none}.app .route-art svg{display:block;width:100%;height:100%}.app .route-art :is(.ra-route,.ra-faint){fill:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.app .ra-route{stroke:rgba(255,214,64,.78)}.app .ra-faint{stroke:rgba(255,255,255,.15)}.app .route-art :is(.ra-stop,.ra-stop-faint){fill:var(--bp-ring);stroke-width:3.5}.app .ra-stop{stroke:rgba(255,214,64,.9)}.app .ra-stop-faint{stroke:rgba(255,255,255,.55)}.app .route-art :is(.ra-label,.ra-label-faint){font-family:var(--mono);font-size:15px;font-weight:500;letter-spacing:1.5px}.app .ra-label{fill:rgba(255,214,64,.9)}.app .ra-label-faint{fill:rgba(255,255,255,.55)}.app .route-art-band svg,.app .route-art-hero svg{-webkit-mask-image:linear-gradient(90deg,transparent 36%,#000 74%);mask-image:linear-gradient(90deg,transparent 36%,#000 74%)}.app .route-art-panel svg{-webkit-mask-image:linear-gradient(180deg,#000 30%,rgba(0,0,0,.3) 58%,rgba(0,0,0,.16));mask-image:linear-gradient(180deg,#000 30%,rgba(0,0,0,.3) 58%,rgba(0,0,0,.16))}.app .map-key{position:absolute;top:clamp(1.1rem,2.6vw,1.9rem);right:var(--gutter);display:flex;align-items:flex-end;gap:1.1rem;color:rgba(255,255,255,.62);font-family:var(--mono);font-size:.6875rem;letter-spacing:.1em;pointer-events:none}.app .map-key-north{display:grid;justify-items:center;gap:3px;line-height:1}.app .map-key-north:before{content:"";width:0;height:0;border-right:6px solid transparent;border-bottom:16px solid;border-left:6px solid transparent}.app .map-key-scale{display:grid;justify-items:end;gap:4px;line-height:1}.app .map-key-scale i{width:5.5rem;height:6px;border:1px solid;border-top:0}.app .tag{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35em .75em;margin:0;color:var(--blue-ink);font-family:var(--mono);font-size:.75rem;font-weight:500;letter-spacing:.09em;line-height:1.5;text-transform:uppercase}.app .tag>span{display:inline-flex;align-items:center;gap:.45em;padding:.15em .55em;border:1px solid;border-radius:3px}.app .tag svg{width:1.15em;height:1.15em}.app .blueprint .tag{color:var(--yellow)}.app .display{margin:0;font-stretch:78%;font-weight:600;letter-spacing:-.012em;line-height:.96;text-wrap:balance}.app em.hl{color:var(--blue-ink);font-style:normal}.app .blueprint em.hl{color:var(--yellow)}.app .bp-steps{--step-line:rgba(255,214,64,0.6);--step-ring:var(--yellow);--step-fill:var(--bp-ring);--step-no:#fff;--step-text:rgba(255,255,255,0.82);position:relative;display:grid;gap:1.1rem;margin:0;padding:0;list-style:none}.app .bp-steps.on-paper{--step-line:color-mix(in srgb,var(--blue-ink) 30%,transparent);--step-ring:var(--blue-ink);--step-fill:var(--card);--step-no:var(--blue-ink);--step-text:var(--ink-2)}.app .bp-steps:before{content:"";position:absolute;top:1rem;bottom:1.5rem;left:calc(1rem - 2px);width:4px;border-radius:2px;background:var(--step-line)}.app .bp-steps li{position:relative;display:grid;align-content:start;gap:.2rem;min-height:2rem;padding-left:3rem}.app .step-no{position:absolute;top:0;left:0;display:grid;place-items:center;width:2rem;height:2rem;border:3px solid var(--step-ring);border-radius:50%;background:var(--step-fill);color:var(--step-no);font-family:var(--mono);font-size:.8125rem;font-weight:500;line-height:1}.app .bp-steps b{padding-top:.28rem;font-weight:600;line-height:1.3}.app .bp-steps li>span:last-child:not(.step-no){color:var(--step-text);font-size:.9375rem;line-height:1.45}.app .bp-steps.is-row{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:1.25rem 1.5rem}.app .bp-steps.is-row:before{top:calc(1rem - 2px);right:1rem;bottom:auto;left:1rem;width:auto;height:4px}.app .bp-steps.is-row li{padding:2.55rem 0 0}@media (max-width:700px){.app .bp-steps.is-row{grid-template-columns:minmax(0,1fr)}.app .bp-steps.is-row:before{top:1rem;right:auto;bottom:1.5rem;left:calc(1rem - 2px);width:4px;height:auto}.app .bp-steps.is-row li{padding:0 0 0 3rem}}.app .page-band{padding:clamp(1.75rem,4.2vw,3.1rem) 0 clamp(1.9rem,4.2vw,3rem)}.app .page-band-in{display:grid;justify-items:start;gap:.8rem;max-width:var(--page-max,60rem);margin-inline:auto;padding-inline:var(--gutter)}.app .page-band.is-wide{--page-max:80rem}.app .page-band h1{font-size:clamp(2.4rem,5.6vw,3.9rem)}.app .page-band .page-lede{max-width:42rem;color:rgba(255,255,255,.86)}.app .page-band-back{display:inline-flex;align-items:center;gap:.5em;margin-bottom:.15rem;color:rgba(255,255,255,.85);font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.app .page-band-back:hover{color:var(--yellow)}.app .page-band-back svg{width:1.1em;height:1.1em}.app .band-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.45rem}.app .band-tabs button{min-width:2.75rem;min-height:2.25rem;padding:0 .65rem;border:1px solid rgba(255,255,255,.45);border-radius:4px;background:transparent;color:#fff;font-family:var(--mono);font-size:.75rem;font-weight:500;letter-spacing:.06em;cursor:pointer}.app .band-tabs button:hover{border-color:var(--yellow);color:var(--yellow)}.app .band-tabs button[aria-pressed=true]{border-color:var(--yellow);background:var(--yellow);color:#0b1d5e}.app .band-select{position:relative;display:inline-flex;align-items:center;margin-top:.45rem}.app .band-select select{min-height:2.4rem;padding:0 2.2rem 0 .8rem;border:1px solid rgba(255,255,255,.55);border-radius:4px;background:transparent;color:#fff;font-family:var(--mono);font-size:.75rem;font-weight:500;letter-spacing:.06em;appearance:none;cursor:pointer}.app .band-select select:hover{border-color:var(--yellow)}.app .band-select option{background:var(--card);color:var(--ink)}.app .band-select svg{position:absolute;right:.65rem;width:1rem;height:1rem;color:#fff;pointer-events:none}@media (max-width:760px){.app .page-band .route-art{display:none}}.app .btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:2.5rem;padding:.65em 1em;border:1px solid;border-radius:4px;background:transparent;color:var(--ink);font-family:var(--mono);font-size:.75rem;font-weight:500;letter-spacing:.08em;line-height:1.2;text-transform:uppercase;text-decoration:none;white-space:nowrap;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.app .btn:hover{border-color:var(--blue-ink);color:var(--blue-ink)}.app .btn svg{width:1.1em;height:1.1em;flex:none}.app .btn-primary{border-color:color-mix(in srgb,var(--yellow) 68%,#0b1d5e);background:var(--yellow);color:#0b1d5e}.app .btn-primary:hover{border-color:#0b1d5e;background:#ffcd24;color:#0b1d5e}.app .btn .arrow{transition:transform .15s ease}.app .btn:hover .arrow{transform:translateX(3px)}.app .blueprint .btn:not(.btn-primary){border-color:rgba(255,255,255,.82);color:#fff}.app .blueprint .btn:not(.btn-primary):hover{border-color:var(--yellow);color:var(--yellow)}.app .btn-danger{border-color:#c4262c;background:#c4262c;color:#fff}.app .btn-danger:hover{border-color:#a51e24;background:#a51e24;color:#fff}.app .blueprint .btn-primary{border-color:var(--yellow)}.app .blueprint .btn-primary:hover{border-color:#ffe48a;background:#ffe48a}@media (prefers-reduced-motion:reduce){.app .btn,.app .btn .arrow{transition:none}.app .btn:hover .arrow{transform:none}}.panel-icon-btn{display:grid;flex:none;place-items:center;width:2.25rem;height:2.25rem;padding:0;border:1px solid var(--rule);border-radius:50%;background:var(--card);color:var(--ink);cursor:pointer}.panel-icon-btn:hover{border-color:var(--blue-ink);color:var(--blue-ink)}.panel-icon-btn svg{width:1.05rem;height:1.05rem}.app .linklike{padding:0;border:0;background:none;color:inherit;font:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;cursor:pointer}.app-header{position:sticky;top:0;z-index:1200;display:flex;align-items:center;gap:1.25rem;height:var(--header-h);padding:0 var(--gutter);background:color-mix(in srgb,var(--blue) 94%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);border-bottom:1px solid rgba(255,255,255,.16);color:#fff;--focus:var(--yellow)}html.dark .app-header{background:color-mix(in srgb,var(--blue-deep) 94%,transparent)}.app-brand{display:flex;flex:none;align-items:center;gap:.6rem;color:#fff;font-stretch:85%;font-size:1.1875rem;font-weight:600;letter-spacing:-.005em;text-decoration:none;white-space:nowrap}.app-brand img{width:30px;height:30px;border-radius:7px;box-shadow:0 0 0 1px rgba(255,255,255,.28)}.app-nav{display:flex;gap:clamp(.9rem,1.8vw,1.6rem);margin-left:clamp(.5rem,2vw,1.5rem);font-family:var(--mono);font-size:.75rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.app-nav a{padding:.45rem 0 .35rem;border-bottom:2px solid transparent;color:#fff;text-decoration:none;opacity:.84;white-space:nowrap}.app-nav a:hover{opacity:1;border-bottom-color:rgba(255,214,64,.55)}.app-nav a[aria-current=page]{opacity:1;border-bottom-color:var(--yellow)}.app-header-end{display:flex;align-items:center;gap:.4rem;margin-left:auto}.app-icon-btn{display:inline-grid;place-items:center;width:2.25rem;height:2.25rem;padding:0;border:0;border-radius:8px;background:transparent;color:#fff;cursor:pointer}.app-icon-btn:hover{background:rgba(255,255,255,.14)}.app-icon-btn svg{width:1.2rem;height:1.2rem}.app-signin{padding:.45em .8em;border:1px solid rgba(255,255,255,.7);border-radius:4px;color:#fff;font-family:var(--mono);font-size:.75rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;white-space:nowrap}.app-signin:hover{border-color:var(--yellow);color:var(--yellow)}.app-account{display:inline-flex;align-items:center;gap:.5rem;min-height:2.25rem;padding:0 .55rem;border-radius:8px;color:#fff;font-size:.875rem;text-decoration:none}.app-account:hover,.app-account[aria-current=page]{background:rgba(255,255,255,.14)}.app-account svg{width:1.2rem;height:1.2rem;flex:none}.app-account .wr-block{max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-menu-btn{display:none}.app-menu-scrim{position:fixed;inset:var(--header-h) 0 0;z-index:1150;background:rgba(11,16,34,.4)}.app-menu{position:absolute;top:100%;right:0;left:0;max-height:calc(100dvh - var(--header-h));overflow-y:auto;overscroll-behavior:contain;padding:.35rem var(--gutter) 1.25rem;border-bottom:1px solid var(--rule);background:var(--card);color:var(--ink);box-shadow:var(--float);--focus:var(--focus-paper)}.app-menu nav{display:grid;margin-bottom:1rem}.app-menu nav a{display:flex;align-items:center;gap:.85rem;padding:.85rem .15rem;border-bottom:1px solid var(--rule-soft);color:var(--ink);font-size:1.0625rem;text-decoration:none}.app-menu nav a svg{width:1.2rem;height:1.2rem;color:var(--ink-3)}.app-menu nav a[aria-current=page]{color:var(--blue-ink);font-weight:600}.app-menu nav a[aria-current=page] svg{color:var(--blue-ink)}@media (max-width:1080px){.app-account .wr-block{display:none}}@media (max-width:960px){.app-nav{display:none}.app-menu-btn{display:inline-grid}}@media (max-width:380px){.app-header{gap:.75rem}.app-brand span{font-size:1.0625rem}}.app-footer{display:grid;gap:.55rem;color:var(--ink-3);font-size:.8125rem;line-height:1.5}.app-footer .linklike,.app-footer a{color:inherit;text-decoration:underline;text-decoration-color:var(--rule);text-decoration-thickness:1px;text-underline-offset:.2em}.app-footer .linklike:hover,.app-footer a:hover{color:var(--ink);text-decoration-color:currentColor}.app-footer-links{display:flex;flex-wrap:wrap;gap:.2rem 1rem;font-family:var(--mono);letter-spacing:.04em}.app-footer-links,.app-footer-notes{margin:0;font-size:.75rem}.app .needs-account{padding:clamp(3rem,7.5vw,6rem) 0 clamp(3.25rem,7vw,5.5rem)}.app .needs-account-in{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:clamp(2.5rem,5vw,4.5rem);max-width:76rem;margin-inline:auto;padding-inline:var(--gutter)}@media (min-width:1000px){.app .needs-account-in.has-figure{grid-template-columns:minmax(0,1.12fr) minmax(20rem,.88fr)}}.app .needs-account-copy{display:grid;justify-items:start;gap:1.35rem;max-width:46rem}.app .needs-account-copy h1{font-size:clamp(2.7rem,6.2vw,5rem)}.app .needs-account-detail{max-width:38rem;margin:0;color:rgba(255,255,255,.88);font-size:clamp(1.0625rem,1.5vw,1.25rem);line-height:1.55;text-wrap:pretty}.app .needs-account-actions{display:flex;flex-wrap:wrap;gap:.75rem 1rem;margin-top:.35rem}.app .needs-account .needs-account-actions .btn{min-height:2.9rem;padding-inline:1.2em;font-size:.8125rem}.app .needs-account-note{max-width:38rem;margin:0;color:rgba(255,255,255,.8);font-family:var(--mono);font-size:.75rem;letter-spacing:.03em;line-height:1.65}.app .needs-account-note a{color:#fff;text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:1px;text-underline-offset:.3em}.app .needs-account-note a:hover{color:var(--yellow)}.app .needs-account-inline{display:grid;justify-items:start;gap:.6rem;padding:1.1rem 1.15rem 1.2rem;border-radius:14px;box-shadow:var(--shadow)}.app .needs-account-inline .needs-account-title{margin:0;font-size:1.55rem;font-stretch:80%;font-weight:600;line-height:1.02;letter-spacing:-.01em;text-wrap:balance}.app .needs-account-inline .needs-account-detail{font-size:.9375rem;line-height:1.5}.app .needs-account-inline .needs-account-actions{gap:.5rem;margin-top:.3rem}.app .bp-figure{display:grid;gap:1rem;margin:0}.app .dim{display:flex;align-items:center;gap:.8em;margin:0;padding-block:.3rem;border-inline:1px solid currentColor;color:var(--ink-3);font-family:var(--mono);font-size:.6875rem;letter-spacing:.08em;white-space:nowrap}.app .dim:after,.app .dim:before{content:"";flex:1;height:1px;background:currentColor}.app .blueprint .dim{color:rgba(255,255,255,.66)}.app .fig{display:flex;gap:.9em;margin:0;color:var(--ink-2);font-family:var(--mono);font-size:.75rem;line-height:1.5;letter-spacing:.02em}.app .fig b{flex:none;color:var(--blue-ink);font-weight:500;letter-spacing:.09em;text-transform:uppercase}.app .blueprint .fig{color:rgba(255,255,255,.84)}.app .blueprint .fig b{color:var(--yellow)}.app .fig-card{overflow:hidden;border:1px solid var(--rule);border-radius:14px;background:var(--card);color:var(--ink);box-shadow:0 1px 0 var(--rule-soft),0 24px 50px -24px rgba(4,10,46,.55);--focus:var(--focus-paper)}.app .fig-card>header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.35rem 1.5rem;padding:.95rem 1.2rem;border-bottom:1px solid var(--rule)}.app .fig-card :is(h2,h3){margin:0;font-size:1.0625rem;font-weight:600;line-height:1.3}.app .fig-card>header p{margin:0;color:var(--ink-3);font-family:var(--mono);font-size:.75rem}.app .fig-card>footer{padding:.85rem 1.2rem;border-top:1px solid var(--rule);color:var(--ink-2);font-size:.9375rem}.app .fig-bars{display:flex;align-items:flex-end;gap:4px;height:11.5rem;margin:0;padding:1.25rem 1.2rem 2.1rem}.app .fig-bar{position:relative;flex:1;min-width:0;border-radius:3px 3px 0 0;background:var(--blue-ink)}.app .fig-bar.is-low{background:var(--red)}.app .fig-bar i{position:absolute;top:calc(100% + .45rem);left:50%;color:var(--ink-3);font-family:var(--mono);font-size:.625rem;font-style:normal;transform:translateX(-50%)}.app .needs-account:has(.has-figure) .route-art{opacity:.6}.app .blueprint .dim{gap:0}.app .blueprint .dim>span{padding:0 .8em;background:var(--bp-ring)}@media (max-width:999px){.app .bp-figure{max-width:34rem}}@media (max-width:760px){.app .needs-account .map-key,.app .needs-account .route-art{display:none}}@media (max-width:560px){.app .fig-bars{gap:3px;padding-inline:.9rem}.app .fig-bar:nth-child(2n) i{display:none}}.panel-hint{margin:0;color:var(--ink-3);font-size:.9375rem;line-height:1.5}.panel-hint.is-error{color:var(--red)}.app .btn.is-done{border-color:currentColor;color:var(--live);cursor:default}.app .btn:disabled{opacity:.55;cursor:progress}.line-badge{display:inline-flex;flex:none;align-items:center;justify-content:center;min-width:2.5em;padding:.32em .45em;border-radius:.35em;background:var(--line);color:var(--line-ink);font-family:var(--sans);font-size:.875rem;font-weight:700;line-height:1;letter-spacing:0;font-variant-numeric:tabular-nums;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}.line-badge-sm{font-size:.75rem}.line-badge-lg{min-width:2.2em;padding:.38em .42em;font-size:1.3rem}.chip-grid,.chip-row{margin:0;padding:0;list-style:none}.chip-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.line-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .4rem .2rem .2rem;border:1px solid var(--rule);border-radius:8px;background:var(--card);color:var(--ink-2);cursor:pointer}.line-chip svg{width:.85rem;height:.85rem}.chip-grid{display:flex;flex-wrap:wrap;gap:.35rem}.line-pick{padding:2px;border:2px solid transparent;border-radius:9px;background:transparent;cursor:pointer;opacity:.75}.line-pick:hover{opacity:1}.line-pick.is-on{border-color:var(--yellow);opacity:1}.area-picker-search,.panel-search{display:flex;align-items:center;gap:.5rem;padding:0 .75rem;border:1px solid var(--rule);border-radius:10px;background:var(--card);color:var(--ink-3)}.area-picker-search:focus-within,.panel-search:focus-within{border-color:var(--blue-ink);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue-ink) 22%,transparent)}.area-picker-search svg,.panel-search svg{flex:none;width:1rem;height:1rem}.area-picker-search input,.panel-search input{flex:1;min-width:0;height:2.65rem;border:0;background:transparent;color:var(--ink);font:inherit;font-size:1rem;outline:none}.app .area-picker-search input:focus-visible,.app .panel-search input:focus-visible{outline:none}.page-wrap{display:grid;gap:1.25rem;width:100%;max-width:60rem;margin:0 auto;padding:clamp(1.25rem,3.2vw,2.25rem) var(--gutter) clamp(2.5rem,5vw,4rem)}.page-wrap.is-wide{max-width:80rem}.page-wrap-stacked{display:block}.page-lede{max-width:44rem;margin:0;color:var(--ink-2);font-size:clamp(1rem,1.4vw,1.125rem);line-height:1.55}.page-aside{display:flex;align-items:center;gap:.55rem;margin:.25rem 0 0;color:var(--ink-3);font-size:.9375rem}.page-aside svg{width:1rem;height:1rem;color:var(--blue-ink)}.page-aside a{color:var(--blue-ink);font-family:var(--mono);font-size:.75rem;font-weight:500;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.page-aside a:hover{text-decoration:underline;text-underline-offset:.3em}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.spin{animation-duration:3s}}.app .card{border:1px solid var(--rule);border-radius:14px;background:var(--card);color:var(--ink);box-shadow:var(--shadow)}.app .card-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.35rem 1.25rem;padding:.95rem 1.25rem;border-bottom:1px solid var(--rule)}.app .card-head :is(h2,h3){display:flex;align-items:baseline;gap:.75rem;margin:0;font-size:1.0625rem;font-weight:600;line-height:1.3}.app .card-no{color:var(--blue-ink);font-weight:500;letter-spacing:.04em}.app .card-head p,.app .card-no{font-family:var(--mono);font-size:.75rem}.app .card-head p{margin:0;color:var(--ink-3)}.app .card-body{padding:1.1rem 1.25rem 1.25rem}.app .card-foot{padding:.85rem 1.25rem;border-top:1px solid var(--rule);color:var(--ink-3);font-size:.9375rem}.app .facts{margin:0}.app .facts>div{display:grid;grid-template-columns:10rem minmax(0,1fr);align-items:baseline;gap:.25rem 1.25rem;padding:.7rem 0;border-top:1px solid var(--rule-soft)}.app .facts>div:first-child{padding-top:0;border-top:0}.app .facts dt{color:var(--ink-2);font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase}.app .facts dd{margin:0;overflow-wrap:anywhere}@media (max-width:560px){.app .facts>div{grid-template-columns:minmax(0,1fr)}}.app .page-foot{margin:.5rem 0 0;color:var(--ink-3);font-size:.75rem;line-height:1.6;text-align:center}.app .page-foot a{color:inherit;text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 45%,transparent);text-underline-offset:.2em}.app .caption,.picker-label{margin:0;color:var(--ink-2);font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase}.app .limits{margin:0;padding:0;list-style:none}.app .limits li{display:grid;grid-template-columns:12.5rem minmax(0,1fr);align-items:baseline;gap:1.25rem;padding:.95rem 0;border-top:1px solid var(--rule)}.app .limits li:last-child{border-bottom:1px solid var(--rule)}.app .limits b{color:var(--blue-ink);font-family:var(--mono);font-size:.75rem;font-weight:500;letter-spacing:.08em;line-height:1.45;text-transform:uppercase}.app .limits li>span{color:var(--ink-2)}@media (max-width:640px){.app .limits li{grid-template-columns:minmax(0,1fr);gap:.25rem}}.picker-chips{display:flex;flex-wrap:wrap;gap:.4rem;min-width:0;margin:0;padding:0;list-style:none}.add-chip,.stop-chip{display:inline-flex;align-items:center;gap:.4rem;max-width:100%;min-height:2.1rem;padding:.3rem .65rem;border:1px solid var(--rule);border-radius:8px;background:var(--card-2);color:var(--ink);font:inherit;font-size:.9375rem;cursor:pointer}.stop-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-chip svg,.stop-chip svg{flex:none;width:.9rem;height:.9rem;color:var(--ink-3)}.add-chip:hover,.line-chip:hover,.stop-chip:hover{border-color:var(--blue-ink)}.add-chip{border-style:dashed;border-color:color-mix(in srgb,var(--blue-ink) 45%,var(--rule));background:transparent;color:var(--blue-ink)}.add-chip svg{color:currentColor}.add-chip[aria-expanded=true]{border-style:solid;border-color:var(--blue-ink)}.app .empty{display:grid;justify-items:center;gap:.7rem;padding:clamp(1.75rem,5vw,2.75rem) 1.25rem;border:1px dashed color-mix(in srgb,var(--ink) 26%,transparent);border-radius:14px;background:color-mix(in srgb,var(--card) 55%,transparent);color:var(--ink-2);text-align:center}.app .empty-title{margin:0;color:var(--ink);font-size:1.3rem;font-stretch:85%;font-weight:600;line-height:1.2}.app .empty p{max-width:34rem;margin:0;line-height:1.5}.app .route-sketch{width:9.5rem;height:auto;margin-bottom:.25rem;overflow:visible;color:var(--blue-ink)}.app .route-sketch path{fill:none;stroke:currentColor;stroke-width:4;stroke-linecap:round}.app .route-sketch .rs-ahead{stroke-dasharray:.5 9;opacity:.7}.app .route-sketch circle{fill:var(--card);stroke:currentColor;stroke-width:3.5}.app .route-sketch .rs-here{fill:currentColor}.app .route-sketch .rs-to{stroke-dasharray:3.2 3.2}.app .field{display:grid;gap:.45rem}.app .field>span{color:var(--ink-2);font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase}.app .field small{color:var(--ink-3);font-family:var(--sans);font-size:.8125rem;font-weight:400;letter-spacing:0;text-transform:none}.app .field input{width:100%;min-height:3rem;padding:0 .9rem;border:1px solid var(--field-rule);border-radius:6px;background:var(--card);color:var(--ink);font:inherit;font-size:1rem;transition:border-color .15s ease,box-shadow .15s ease}.app .field input::placeholder{color:var(--ink-3);opacity:.85}.app .field input:hover{border-color:color-mix(in srgb,var(--blue-ink) 60%,var(--field-rule))}.app .field input:focus{border-color:var(--blue-ink);outline:none;box-shadow:0 0 0 1px var(--blue-ink),0 0 0 5px color-mix(in srgb,var(--blue-ink) 18%,transparent)}@media (forced-colors:active){.app .field input:focus{outline:2px solid CanvasText}}@media (prefers-reduced-motion:reduce){.app .field input{transition:none}}.app .auth{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:calc(100vh - var(--header-h));min-height:calc(100dvh - var(--header-h))}.app .auth-side{display:grid;grid-row:1;grid-column:2;place-items:center;padding:clamp(2.25rem,5vw,4.5rem) var(--gutter)}.app .auth-sheet{display:grid;gap:1rem;width:min(27rem,100%)}.app .auth-sheet h1{font-size:clamp(2.7rem,5vw,3.75rem)}.app .auth-lede{margin:0;color:var(--ink-2);font-size:1.0625rem;line-height:1.55;text-wrap:pretty}.app .auth-error,.app .auth-note{margin:0;padding:.75rem .95rem;border:1px solid;border-left:4px solid;border-radius:6px;color:var(--ink);font-size:.9375rem;line-height:1.45}.app .auth-note{border-color:color-mix(in srgb,var(--live) 45%,var(--rule));border-left-color:var(--live);background:color-mix(in srgb,var(--live) 9%,var(--card))}.app .auth-error{border-color:color-mix(in srgb,var(--red) 50%,var(--rule));border-left-color:var(--red);background:color-mix(in srgb,var(--red) 8%,var(--card))}.app .auth-form{display:grid;gap:1rem;margin-top:.35rem}.app .btn-wide{width:100%;min-height:3.1rem;margin-top:.35rem;font-size:.8125rem}.app .auth-switch{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem 1rem;margin:.5rem 0 0;padding-top:1.1rem;border-top:1px solid var(--rule);color:var(--ink-2);font-size:.9375rem}.app .auth-aside{margin:0;color:var(--ink-3);font-size:.875rem;line-height:1.55}.app .auth-aside a{color:var(--blue-ink);font-weight:500;text-decoration-thickness:1px;text-underline-offset:.2em}.app .auth-panel{display:flex;grid-row:1;grid-column:1;flex-direction:column;justify-content:flex-end;padding:clamp(6rem,12vw,9rem) clamp(1.5rem,4.5vw,4.25rem) clamp(2.5rem,5vw,4rem)}.app .auth-panel-in{display:grid;justify-items:start;gap:1.4rem;max-width:33rem}.app .auth-panel h2{font-size:clamp(2.5rem,4.4vw,4rem)}.app .auth-panel-caption{margin:.4rem 0 -.15rem;color:rgba(255,255,255,.72);font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase}@media (max-width:959px){.app .auth{grid-template-columns:minmax(0,1fr);min-height:0}.app .auth-panel{padding:1.6rem var(--gutter) 1.75rem}.app .auth-panel .map-key,.app .auth-panel .route-art{display:none}.app .auth-panel-in{gap:1rem;max-width:40rem}.app .auth-panel h2{font-size:clamp(2rem,7.2vw,2.75rem)}.app .auth-panel .bp-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1rem}.app .auth-panel .bp-steps li>span:last-child:not(.step-no),.app .auth-panel .bp-steps:before{display:none}.app .auth-panel .bp-steps li{min-height:1.6rem;padding-left:2.15rem}.app .auth-panel .step-no{width:1.6rem;height:1.6rem;border-width:2px;font-size:.72rem}.app .auth-panel .bp-steps b{padding-top:.15rem;font-size:.9375rem}.app .auth-side{grid-row:2;grid-column:1;place-items:start center;padding-top:1.9rem}}