@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/73cb51aac9c97f90-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d26bbd13d6b70f89-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/20535187d867b7b9-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/5356a6a4f2c8c8d8-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/db96af6b531dc71f-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_aa62b7{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_aa62b7{--font-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}:root{--bg:#131417;--surface:#1c1e22;--line:#2c2f35;--fg:#ececea;--haze:#94969d;--ease:var(--fg);--rush:#e8a04a;--urgent:#f0655a;--verdict:var(--haze);--accent:#7aa2f7;--ok:var(--fg);--warn:#e8a04a;--danger:#f0655a;--gap:1.5rem;--radius:0;--radius-sm:0;--rail:2px;--s1:0.25rem;--s2:0.5rem;--s3:0.75rem;--s4:1rem;--s5:1.5rem;--s6:2rem;--s7:2.75rem;--t-micro:0.72rem;--t-small:0.8rem;--t-body:0.95rem;--t-value:1.15rem;--tap:44px;--focus:var(--accent)}@media (prefers-color-scheme:light){:root{--bg:#f2f2f0;--surface:#e9eae6;--line:#dedfdb;--fg:#141416;--haze:#68696d;--rush:#b83c08;--urgent:#b3120b;--accent:#1f4fd8;--warn:#b83c08;--danger:#b3120b}}*,:after,:before{box-sizing:border-box}body,html{overflow:hidden;height:100%;margin:0}#app-scroll{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}body{background:var(--bg);color:var(--fg);font-family:var(--font-body),system-ui,sans-serif;font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}:root{--col:30rem}main{max-width:var(--col);margin:0 auto;padding:var(--s5) 1.625rem 5rem}@media (min-width:48rem){:root{--col:34rem}main{padding-top:var(--s7)}}.top{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-bottom:1.75rem}.wordmark{font-family:var(--font-display),serif;font-size:.95rem;letter-spacing:.02em;color:var(--fg)}.stamp{font-family:var(--font-mono),monospace;font-size:.75rem;letter-spacing:.06em;color:var(--haze)}.top-right{display:flex;align-items:baseline;gap:1.15rem}.top-link{font-family:var(--font-body),system-ui,sans-serif;font-size:.75rem;color:var(--haze);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb,var(--haze) 45%,transparent);text-decoration-color:color-mix(in srgb,var(--haze) 45%,transparent);text-underline-offset:4px;padding:.75rem .4rem;margin:-.75rem -.4rem}.top-link:focus-visible,.top-link:hover{color:var(--fg);-webkit-text-decoration-color:var(--fg);text-decoration-color:var(--fg)}.verdict{font-family:var(--font-display),serif;font-weight:700;font-size:clamp(2.25rem,11vw,2.85rem);line-height:1.15;letter-spacing:-.01em;margin:0;color:var(--verdict)}.verdict-sub{margin:.6rem 0 0;color:var(--haze);font-size:.95rem}.decide{margin:var(--s7) 0 0;padding:0}.decide__k{font-size:var(--t-micro);letter-spacing:.1em;color:var(--haze);white-space:nowrap}.decide__time{font-family:var(--font-mono),monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:clamp(2.9rem,16vw,3.6rem);font-weight:400;letter-spacing:-.035em;line-height:1;margin:0;color:var(--fg)}.decide__line{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--s3);margin:0}.times{display:flex;gap:1.75rem;margin:1.75rem 0 0;padding:1rem 0 0;border-top:1px solid var(--line)}.times div{display:flex;flex-direction:column;gap:.15rem}.times .k,.times dt{font-size:.72rem;letter-spacing:.08em;color:var(--haze)}.times .v{font-family:var(--font-mono),monospace;font-size:1.15rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.section{margin-top:2.5rem}.section>h2{font-size:.72rem;font-weight:500;letter-spacing:.1em;color:var(--haze);margin:0 0 .75rem}.section>h2.h2--row{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.h2-action{font-family:var(--font-body),system-ui,sans-serif;font-size:.7rem;letter-spacing:normal;color:var(--haze);background:none;border:0;padding:.25rem .1rem;cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb,var(--haze) 45%,transparent);text-decoration-color:color-mix(in srgb,var(--haze) 45%,transparent);text-underline-offset:4px}.h2-action:focus-visible,.h2-action:hover{color:var(--fg);-webkit-text-decoration-color:var(--fg);text-decoration-color:var(--fg)}.notes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.notes li{border-left:2px solid var(--line);padding:0 0 0 var(--s3);font-size:.88rem}.notes li.none{color:var(--haze);border-left-color:transparent;font-size:.85rem}.links{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));grid-gap:var(--s2);gap:var(--s2)}.links a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:var(--s3) var(--s2);color:var(--fg);text-decoration:none;font-size:var(--t-small);background:var(--surface)}.links a:first-child{background:var(--fg);color:var(--bg);font-weight:500}.links a:focus-visible,.links a:hover{background:color-mix(in srgb,var(--surface) 70%,var(--fg))}.links a:first-child:focus-visible,.links a:first-child:hover{background:var(--accent)}.tabs{position:fixed;left:50%;transform:translateX(-50%);width:100%;max-width:var(--col);bottom:0;display:flex;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.tabs a{flex:1 1;text-align:center;padding:.85rem .5rem;color:var(--haze);text-decoration:none;font-size:.82rem}.tabs a[aria-current=page]{color:var(--fg);box-shadow:inset 0 2px 0 var(--verdict)}.field{margin-bottom:1.5rem}fieldset.field{border:0;padding:0;margin-inline:0;min-width:0}fieldset.field>legend{padding:0}fieldset.field>label.toggle{display:flex;font-size:.95rem;color:var(--fg);margin-bottom:.6rem}.backfill{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2);margin-top:var(--s5)}.backfill>label{flex:1 0 100%}.backfill input[type=date]{flex:1 1 11rem;min-width:11rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--fg);font-family:var(--font-mono),monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--t-value);padding:var(--s2) var(--s3);min-height:var(--tap)}@media (max-width:22.5rem){.backfill input[type=date]{flex-basis:100%}}.backfill button[type=submit]{width:auto;margin-top:0;font-size:var(--t-small);padding:var(--s2) var(--s4);min-height:var(--tap)}.dayoff{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3)}.dayoff button[type=submit]{width:auto;margin-top:0;font-size:var(--t-small);padding:var(--s2) var(--s4);min-height:var(--tap)}.log__slot{font-family:var(--font-body),sans-serif;font-size:.8rem;font-weight:600;letter-spacing:.08em;color:var(--haze);border-top:1px solid var(--line);margin:0 0 .9rem;padding-top:1.1rem}.field>.k,.field>label{display:block;font-size:.8rem;color:var(--haze);margin-bottom:.45rem}input[type=text],input[type=time]{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--fg);font-family:var(--font-mono),monospace;font-size:1.15rem;padding:.85rem .9rem}input[type=text]{font-family:var(--font-body),sans-serif;font-size:.95rem}.toggle{display:flex;align-items:center;gap:.8rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem .95rem;margin-bottom:.6rem;cursor:pointer;font-size:.95rem}.toggle input{width:22px;height:22px;accent-color:var(--ok);flex:none;margin:0 .35rem 0 0}button[type=submit]{width:100%;background:var(--fg);color:var(--bg);border:0;border-radius:var(--radius);padding:.95rem;font-family:var(--font-body),sans-serif;font-size:1rem;font-weight:600;cursor:pointer;margin-top:.5rem}.ratio{display:grid;grid-template-columns:1.4fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.ratio div{padding:var(--s4) var(--s4) var(--s4) 0}.ratio div+div{border-left:1px solid var(--line);padding-left:var(--s4)}.ratio .k{font-size:.72rem;color:var(--haze);letter-spacing:.06em}.ratio div+div .v{font-size:1.5rem;color:var(--haze)}.ratio .v{margin-bottom:0;font-family:var(--font-mono),monospace;font-size:2.2rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-top:.2rem}.ratio .v small{font-size:.85rem;color:var(--haze)}.strip{display:flex;gap:1px;margin-top:var(--s2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1px 0}.strip span{flex:1 1;height:34px;background:var(--line);position:relative}.strip span[data-followed="1"]:after{content:"";position:absolute;left:50%;bottom:6px;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:var(--bg);box-shadow:0 0 0 1.5px color-mix(in srgb,var(--fg) 55%,transparent)}.table-wrap{overflow-x:auto;margin-top:.4rem}table{width:100%;border-collapse:collapse;font-family:var(--font-mono),monospace;font-size:.82rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}th{font-weight:400;color:var(--haze);font-size:.7rem;letter-spacing:.06em;padding:0 0 .5rem}td,th{text-align:right}td{padding:var(--s2) 0;white-space:nowrap}thead th{border-bottom:1px solid var(--line);padding-bottom:var(--s2)}td:first-child,th:first-child{text-align:left;color:var(--haze)}td+td,th+th{padding-left:.9rem}.mark-yes{color:var(--ok);font-weight:600}.mark-no,.muted{color:var(--haze)}.muted{font-size:.85rem}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important}}.setup-title{font-size:clamp(1.6rem,7vw,1.9rem);color:var(--fg)}.picker{display:flex;gap:.5rem}.picker input{flex:1 1;min-width:0}button.ghost{background:transparent;border:1px solid var(--line);border-radius:var(--radius);color:var(--fg);font-family:var(--font-body),sans-serif;font-size:.9rem;padding:.7rem 1rem;cursor:pointer;flex:none}button.ghost.wide{width:100%;margin-top:.5rem}button.ghost:disabled{opacity:.5;cursor:default}.hint a{color:var(--fg);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb,var(--fg) 45%,transparent);text-decoration-color:color-mix(in srgb,var(--fg) 45%,transparent);text-underline-offset:4px;padding:var(--s3) var(--s1);margin:calc(var(--s3) * -1) calc(var(--s1) * -1)}.hint a:focus-visible,.hint a:hover{-webkit-text-decoration-color:var(--fg);text-decoration-color:var(--fg)}.hint{color:var(--haze);font-size:var(--t-small);margin:.5rem 0 0}.hint.error{color:var(--warn)}.picked{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.85rem .95rem}.picked__name{margin:0;font-size:.98rem}.picked__coord{margin:.15rem 0 0;font-family:var(--font-mono),monospace;font-size:.72rem;color:var(--haze);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.results{list-style:none;margin:.6rem 0 0;padding:0;gap:.4rem}.results,.results button{display:flex;flex-direction:column}.results button{width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.75rem .9rem;color:var(--fg);font-family:var(--font-body),sans-serif;cursor:pointer;gap:.1rem}.results__name{font-size:.95rem}.results__where{font-size:.78rem;color:var(--haze)}.nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));grid-gap:.5rem;gap:.5rem}.nums label{display:flex;flex-direction:column;gap:.35rem}.nums .k{font-size:.75rem;color:var(--haze)}.nums input{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--fg);font-family:var(--font-mono),monospace;font-size:1.1rem;padding:.75rem .6rem;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;-moz-appearance:textfield}.nums input::-webkit-inner-spin-button,.nums input::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(5.5rem,1fr));grid-gap:.5rem;gap:.5rem}button.mode{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--haze);font-family:var(--font-body),sans-serif;font-size:.95rem;padding:.8rem .4rem;cursor:pointer}button.mode[aria-pressed=true]{color:var(--bg);background:var(--verdict);border-color:var(--verdict);font-weight:600}.times.preview{border-top:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin:0;padding:1rem 1.1rem}.save{width:100%;min-height:var(--tap);background:var(--fg);color:var(--bg);border:0;border-radius:var(--radius);padding:var(--s3) var(--s4);font-family:var(--font-body),sans-serif;font-size:var(--t-body);font-weight:600;letter-spacing:.02em;cursor:pointer;margin-top:var(--s6)}.save:disabled{opacity:.6;cursor:default}.days{display:flex;gap:.3rem;overflow-x:auto;padding-bottom:.25rem;scrollbar-width:none}.days::-webkit-scrollbar{display:none}.day{flex:1 0 2.5rem;min-width:0;background:none;border:0;padding:.5rem .2rem .55rem;border-radius:var(--radius);cursor:pointer;text-align:center;color:var(--haze);font-family:var(--font-body),system-ui,sans-serif}.day:focus-visible,.day:hover{background:var(--surface)}.day__dow,.day__num{display:block;font-family:var(--font-mono),monospace;line-height:1.3}.day__dow{font-size:.65rem;letter-spacing:.06em}.day__num{font-size:.95rem}.day__rail{display:block;height:3px;border-radius:var(--radius-sm);background:var(--line);margin:.4rem 0 .35rem}.day__label{display:block;font-size:.68rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day.is-set{color:var(--fg)}.day.is-set .day__rail{background:var(--fg)}.day.is-today .day__num{text-decoration:underline;text-underline-offset:3px}.day.is-off .day__num{text-decoration:line-through;text-decoration-thickness:1px}.day.is-off.is-today .day__num{text-decoration:line-through underline;text-underline-offset:3px}.day.is-off .day__rail{background:none;box-shadow:inset 0 0 0 1px var(--line)}.daypick__list button.daypick__off{margin-top:.5rem;border-style:dashed}.routes{display:flex;flex-direction:column;gap:var(--s5)}.routecard{border-left:1px solid var(--line);border:1px solid var(--line);border-left-width:3px;background:var(--bg)}.routecard.is-primary{border-left-color:var(--fg)}.route{display:grid;grid-template-columns:1fr auto;grid-gap:.6rem;gap:.6rem;align-items:center;width:100%;text-align:left;background:var(--bg);border:0;padding:var(--s4) var(--s3) var(--s4) var(--s4);font-family:var(--font-body),system-ui,sans-serif}.route__body{display:flex;flex-direction:column;gap:.2rem;min-width:0}.route__role{font-family:var(--font-mono),monospace;font-size:.6rem;letter-spacing:.08em;color:var(--haze)}.route__name{font-size:var(--t-value);color:var(--haze);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route__time{display:flex;flex-wrap:wrap;column-gap:var(--s3);font-family:var(--font-mono),monospace;font-size:var(--t-micro);color:var(--haze);letter-spacing:.02em}.route__time>span{white-space:nowrap}.routecard.is-primary .route{background:var(--surface)}.routecard.is-primary .route__name,.routecard.is-primary .route__role{color:var(--fg)}.route.is-compare{border-left-color:color-mix(in srgb,var(--fg) 55%,var(--line))}.route.is-compare .route__name,.route.is-compare .route__role{color:color-mix(in srgb,var(--fg) 70%,var(--haze))}.routecard__acts{display:flex;flex-wrap:wrap;gap:var(--s2);border-top:1px solid var(--line);padding:var(--s3) var(--s3) var(--s3) var(--s4)}.routecard__delete{margin-left:auto}.routecard__note{flex-basis:100%;margin:0;font-size:var(--t-small);color:var(--fg)}.routecard__note.is-quiet{color:var(--haze)}.station+.station{margin-top:.9rem}.station__name{margin:0 0 .4rem;font-family:var(--font-mono),monospace;font-size:.62rem;letter-spacing:.08em;color:var(--haze)}.waypoints__at{font-size:.68rem}.links__no-via,.waypoints__at{display:block;margin-top:.15rem;font-style:normal;color:var(--haze)}.links__no-via{font-size:.6rem;letter-spacing:.02em}.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.step{display:grid;grid-template-columns:1.5rem 1fr auto;grid-template-areas:"no title go" ".  detail detail";grid-gap:.3rem .7rem;gap:.3rem .7rem;align-items:baseline;background:var(--surface);border-left:3px solid var(--line);padding:.85rem .9rem}.step__no{grid-area:no}.step__title{grid-area:title}.step__go{grid-area:go}.step__detail{grid-area:detail}.step.is-now{border-left-color:var(--fg)}.step__no{font-family:var(--font-mono),monospace;font-size:.72rem;color:var(--haze);text-align:center}.step.is-now .step__no{color:var(--fg)}.step.is-done .step__no,.step.is-done .step__title{color:color-mix(in srgb,var(--haze) 70%,transparent)}.step__title{font-size:.88rem;color:var(--haze)}.step.is-now .step__title{color:var(--fg)}.step__detail{font-size:.74rem;line-height:1.55;color:var(--haze)}.step__go{font-family:var(--font-body),system-ui,sans-serif;font-size:.74rem;color:var(--fg);white-space:nowrap;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb,var(--fg) 45%,transparent);text-decoration-color:color-mix(in srgb,var(--fg) 45%,transparent);text-underline-offset:4px}.step__go:focus-visible,.step__go:hover{-webkit-text-decoration-color:var(--fg);text-decoration-color:var(--fg)}.sheet{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:color-mix(in srgb,var(--bg) 78%,transparent)}.sheet__box{width:100%;max-width:22rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.15rem 1.15rem .9rem}.sheet__box h2{margin:0 0 .5rem;font-size:.95rem;font-weight:500;color:var(--fg);letter-spacing:normal;line-height:1.45}.sheet__box p{margin:0 0 1.05rem;font-size:.8rem;line-height:1.6;color:var(--haze)}.sheet__box .sheet__error{margin:0 0 1.05rem;font-size:.78rem;line-height:1.55;color:var(--danger)}.sheet__acts{display:flex;justify-content:flex-end;gap:.35rem}.sheet__acts button{font-family:var(--font-body),system-ui,sans-serif;font-size:.82rem;color:var(--haze);background:none;border:0;border-radius:var(--radius);padding:.7rem .95rem;cursor:pointer}.sheet__acts button:focus-visible,.sheet__acts button:hover:not(:disabled){color:var(--fg);background:color-mix(in srgb,var(--fg) 8%,transparent)}.sheet__acts button.danger{color:var(--danger)}.sheet__acts button.danger:focus-visible,.sheet__acts button.danger:hover:not(:disabled){color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,transparent)}.sheet__acts button:disabled{opacity:.5;cursor:default}.daypick{margin-top:.75rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem}.daypick__head{font-size:.8rem;color:var(--fg);margin:0 0 .7rem}.daypick__list{display:flex;flex-direction:column;gap:.4rem}.daypick__list button{font-family:var(--font-body),system-ui,sans-serif;text-align:left;font-size:.85rem;color:var(--haze);background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:.6rem .7rem;cursor:pointer}.daypick__list button.is-on{color:var(--fg);border-color:var(--fg)}.daypick__list button:focus-visible,.daypick__list button:hover{color:var(--fg)}.days~label input[type=date],.hint:not(.backfill) input[type=date]{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--fg);font-family:var(--font-mono),monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--t-small);padding:var(--s2) var(--s3);min-width:11rem}.hint input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.7)}.waypoints{list-style:none;margin:0 0 .75rem;padding:0;display:flex;flex-direction:column;gap:.45rem}.waypoints li{display:flex;align-items:center;gap:.7rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.65rem .8rem}.waypoints__no{font-family:var(--font-mono),monospace;font-size:.75rem;color:var(--haze);flex:0 0 auto}.waypoints__name{flex:1 1 auto;min-width:0;font-size:.88rem;color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.waypoints li button{flex:0 0 auto;font-family:var(--font-body),system-ui,sans-serif;font-size:.75rem;color:var(--haze);background:none;border:0;padding:.35rem 0;cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb,var(--haze) 45%,transparent);text-decoration-color:color-mix(in srgb,var(--haze) 45%,transparent);text-underline-offset:4px}.waypoints li button:focus-visible,.waypoints li button:hover{color:var(--danger);-webkit-text-decoration-color:var(--danger);text-decoration-color:var(--danger)}.modes--four{grid-template-columns:repeat(2,1fr)}button.mode:disabled{opacity:.4;cursor:not-allowed;border-style:dashed}.dows{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:.3rem;gap:.3rem}.dows button{font-family:var(--font-body),system-ui,sans-serif;font-size:.8rem;padding:.55rem 0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--haze);cursor:pointer}.dows button[aria-pressed=true]{background:var(--ok);border-color:var(--ok);color:var(--bg)}.paths{display:flex;flex-direction:column;border-top:1px solid var(--line);padding:0 var(--s3) var(--s3) var(--s5)}.path{display:flex;flex-wrap:wrap;align-items:center;column-gap:var(--s3);row-gap:var(--s2);border-bottom:1px solid var(--line);padding:var(--s2) 0;font-size:.8rem}.path__role{flex:none;width:2.7rem;font-family:var(--font-mono),monospace;font-size:.56rem;letter-spacing:.08em;color:var(--haze)}.path__name{flex:1 1 6rem;min-width:6rem;color:var(--haze);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.path__acts{display:flex;align-items:center;gap:var(--s2);margin-left:auto}.path.is-primary .path__name,.path.is-primary .path__role,.path__add{color:var(--fg)}.path__add{display:flex;align-items:center;justify-content:center;min-height:var(--tap);margin-top:var(--s3);border:1px dashed color-mix(in srgb,var(--haze) 60%,var(--line));background:var(--bg);font-family:var(--font-body),system-ui,sans-serif;font-size:var(--t-small);text-decoration:none}.path__add:hover{border-style:solid;border-color:var(--fg)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tap);padding:0 var(--s4);background:transparent;border:1px solid color-mix(in srgb,var(--haze) 55%,var(--line));border-radius:var(--radius);font-family:var(--font-body),system-ui,sans-serif;font-size:var(--t-small);color:var(--fg);text-decoration:none;white-space:nowrap;cursor:pointer}.btn:hover{border-color:var(--fg)}.btn:disabled{opacity:.6;cursor:default}.btn--edit{border-color:var(--accent);color:var(--accent);font-weight:600}.btn--edit:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);border-color:var(--accent)}.btn--danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 55%,var(--line))}.btn--danger:hover{border-color:var(--danger)}.notices{display:flex;flex-direction:column;border-top:1px solid var(--line)}.notice{border-bottom:1px solid var(--line);border-left:var(--rail) solid var(--line);padding:var(--s4) var(--s2) var(--s4) var(--s4)}.notice__head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.notice__when{font-family:var(--font-mono),monospace;font-size:.68rem;letter-spacing:.05em;color:var(--haze)}.notice__none{font-size:.68rem;color:var(--warn)}.notice__title{margin:.45rem 0 .3rem;font-size:.92rem;color:var(--fg)}.notice__body{margin:0;font-size:.85rem;line-height:1.6;color:var(--haze);white-space:pre-line}.badges{display:flex;flex-wrap:wrap;gap:var(--s2);margin:var(--s4) 0 0}.badge{display:inline-flex;align-items:center;gap:var(--s2);border:1px solid var(--line);border-radius:var(--radius);padding:var(--s2) var(--s3);font-size:var(--t-micro);letter-spacing:.04em;color:var(--haze);background:var(--surface)}.badge--now{color:var(--verdict);border-color:color-mix(in srgb,var(--verdict) 45%,var(--line))}.badge__num{font-family:var(--font-mono),monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.acts{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));grid-gap:var(--s2);gap:var(--s2);margin-top:var(--s5)}.acts button{min-height:48px;padding:var(--s3) var(--s2);border:0;border-radius:var(--radius);background:var(--surface);color:var(--fg);font-family:var(--font-body),sans-serif;font-size:var(--t-body);cursor:pointer}.acts button.is-main{background:var(--fg);color:var(--bg);font-weight:500}.acts button:focus-visible,.acts button:hover:not(:disabled){background:color-mix(in srgb,var(--surface) 70%,var(--fg))}.acts button.is-main:focus-visible,.acts button.is-main:hover:not(:disabled){background:var(--accent)}.acts button:disabled{cursor:default;color:var(--haze)}.stamped{margin:var(--s2) 0 0;font-size:var(--t-small);color:var(--haze)}.act-line .v,.stamped .v{font-family:var(--font-mono),monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--fg)}.act-line{min-height:1.5em;margin:var(--s3) 0 0;font-size:var(--t-small);color:var(--haze);line-height:1.6}.act-line a,.act-line button.inline{color:var(--fg);background:none;border:0;padding:var(--s2) 0;font:inherit;cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb,var(--fg) 45%,transparent);text-decoration-color:color-mix(in srgb,var(--fg) 45%,transparent);text-underline-offset:4px}.act-line a:focus-visible,.act-line a:hover,.act-line button.inline:focus-visible,.act-line button.inline:hover{-webkit-text-decoration-color:var(--fg);text-decoration-color:var(--fg)}.act-line__at{font-size:var(--t-micro)}.act-line .warn{color:var(--warn)}.week__line{margin:0;font-size:var(--t-body);color:var(--fg);line-height:1.6}.week__now{margin:var(--s2) 0 0;font-size:var(--t-small);color:var(--haze)}.week__now .v{font-family:var(--font-mono),monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--fg)}.formbar{position:fixed;left:50%;transform:translateX(-50%);width:100%;max-width:var(--col);bottom:0;display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s5) calc(var(--s3) + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--bg) 92%,transparent);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.formbar__state{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1}.formbar__k{font-family:var(--font-mono),monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--t-micro);color:var(--haze)}.formbar__v{font-size:var(--t-small);color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.formbar__save{width:auto;flex:none;margin-top:0;padding:var(--s3) var(--s5);min-height:var(--tap)}.formbar__save:disabled{background:var(--surface);color:var(--haze);cursor:default}.setup-pad{padding-bottom:7rem}.mark-cell{font-family:var(--font-body),system-ui,sans-serif;font-size:var(--t-micro);padding-left:var(--s2)}.basis{display:flex;flex-direction:column;gap:var(--s4)}.basis__opt{display:grid;grid-template-columns:auto 1fr;align-items:start;grid-gap:var(--s3);gap:var(--s3);color:var(--haze);cursor:pointer}.basis__say{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s3);min-height:var(--tap)}.basis__opt:has(input:checked){color:var(--ok)}.basis__opt>input[type=radio]{accent-color:var(--accent);margin-top:.85rem}.basis input[type=time],.basis select{flex:none;width:auto;font-family:var(--font-mono),monospace;font-size:var(--t-body);color:inherit;background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:var(--s2) 0;min-height:var(--tap);cursor:pointer}.basis__opt:has(input:checked) input[type=time],.basis__opt:has(input:checked) select{border-bottom-color:var(--fg)}.basis__opt:has(input:checked) input[type=time],.basis__opt:has(input:checked) select{color:var(--fg)}.basis input[type=time]:focus-visible,.basis select:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.basis__echo{color:var(--haze);font-size:var(--t-small);margin:var(--s3) 0 0}.basis__echo b{font-family:var(--font-mono),monospace;font-weight:400;color:var(--fg)}.routetabs{display:flex;gap:var(--s3);margin-bottom:var(--s5);overflow-x:auto;scrollbar-width:none}.routetabs::-webkit-scrollbar{display:none}.routetab{flex:0 0 auto;padding:var(--s2) var(--s3) 0;color:var(--haze);text-decoration:none;font-size:var(--t-small);white-space:nowrap}.routetab:focus-visible,.routetab:hover{color:var(--fg)}.routetab:after{content:"";display:block;height:var(--rail);margin-top:var(--s2);background:transparent}.routetab[aria-current=page]{color:var(--fg)}.routetab[aria-current=page]:after{background:var(--fg)}.section>h2.basis__h{font-size:.72rem;font-weight:500;letter-spacing:.1em;color:var(--haze);margin:1.75rem 0 .75rem}.section>h2.basis__h--first{margin-top:1.25rem}.basis__opt--plain{grid-template-columns:1fr;color:var(--ok);cursor:default}.basis__opt--plain input[type=time]{border-bottom-color:var(--fg);color:var(--fg)}.intro{position:fixed;inset:0;z-index:50;visibility:visible;background:var(--bg);color:var(--fg);font-family:var(--font-body),system-ui,sans-serif;display:flex;flex-direction:column;justify-content:center;gap:var(--s6);padding:0 var(--s6)}.intro__stage{position:relative;height:96px}.intro__road{position:absolute;left:0;right:0;top:60px;height:var(--rail);background:var(--line)}.intro__draw{inset:0;transform-origin:left center;animation:intro-draw .7s cubic-bezier(.22,.8,.3,1) both}.intro__draw,.intro__tick{position:absolute;background:var(--fg)}.intro__tick{top:52px;width:var(--rail);height:18px;animation:intro-in .35s ease-out both}.intro__tick--start{left:0}.intro__tick--end{right:0;animation-delay:.65s}.intro__place{position:absolute;top:76px;font-family:var(--font-mono),monospace;font-size:var(--t-micro);color:var(--haze);animation:intro-in .35s ease-out both}.intro__place--start{left:0}.intro__place--end{right:0;animation-delay:.65s}.intro__ride{position:absolute;left:0;top:24px;width:34px;height:34px;color:var(--fg);animation:intro-ride 1.05s cubic-bezier(.4,0,.5,1) both}.intro__ride svg{width:100%;height:100%;display:block}.intro__ride--car{animation-delay:.3s}.intro__ride--subway{animation-delay:1.25s}.intro__ride--bus{animation-delay:2.2s}.intro__word{margin:0;font-family:var(--font-display),serif;font-weight:700;font-size:clamp(2.25rem,11vw,2.85rem);line-height:1.15;letter-spacing:-.01em;animation:intro-rise .6s cubic-bezier(.22,.8,.3,1) both;animation-delay:3.05s}.intro__sub{margin:calc(var(--s5) * -1) 0 0;font-size:var(--t-body);line-height:1.6;color:var(--haze);animation:intro-rise .6s cubic-bezier(.22,.8,.3,1) both;animation-delay:3.3s}.intro__skip{position:absolute;inset:0;width:100%;min-height:var(--tap);background:none;border:0;color:var(--haze);font-family:inherit;font-size:var(--t-small);text-align:right;padding:0 var(--s6) var(--s6) 0;display:grid;align-content:end;cursor:pointer}.intro__skip:focus-visible{outline:2px solid var(--focus);outline-offset:-4px}@keyframes intro-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes intro-in{0%{opacity:0}to{opacity:1}}@keyframes intro-ride{0%{opacity:0;transform:translateX(0)}18%{opacity:1}78%{opacity:1}to{opacity:0;transform:translateX(calc(100vw - 34px - var(--s6) * 2))}}@keyframes intro-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.intro__draw,.intro__place,.intro__ride,.intro__sub,.intro__tick,.intro__word{animation:none;opacity:1;transform:none}.intro__ride--car{left:0}.intro__ride--subway{left:calc(50% - 17px)}.intro__ride--bus{left:calc(100% - 34px)}}.intro-pending #app-scroll{visibility:hidden}