@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-vietnamese-400-normal-Dpl4UHAZ.woff2) format("woff2"),url(/assets/barlow-vietnamese-400-normal-BFeobeCK.woff) format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-ext-400-normal-HxX4XjxC.woff2) format("woff2"),url(/assets/barlow-latin-ext-400-normal-CvBsJvxq.woff) format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-400-normal-qiz4-Cze.woff2) format("woff2"),url(/assets/barlow-latin-400-normal-fsAxiSwU.woff) format("woff");unicode-range:U+0000-00FF,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:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-vietnamese-500-normal-zTViEIzf.woff2) format("woff2"),url(/assets/barlow-vietnamese-500-normal-GNfB7rCE.woff) format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-ext-500-normal-DOaysfXq.woff2) format("woff2"),url(/assets/barlow-latin-ext-500-normal-CJPcKP2Q.woff) format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-500-normal-BPAOfeC8.woff2) format("woff2"),url(/assets/barlow-latin-500-normal-C1h8hMer.woff) format("woff");unicode-range:U+0000-00FF,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:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-vietnamese-600-normal-DcjprdFV.woff2) format("woff2"),url(/assets/barlow-vietnamese-600-normal-CA_GiK2e.woff) format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-ext-600-normal-B8NK_A3D.woff2) format("woff2"),url(/assets/barlow-latin-ext-600-normal-DMVRjfRT.woff) format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-600-normal-DILqtrty.woff2) format("woff2"),url(/assets/barlow-latin-600-normal-CNwfPWQD.woff) format("woff");unicode-range:U+0000-00FF,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:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-vietnamese-700-normal-D6euyNzi.woff2) format("woff2"),url(/assets/barlow-vietnamese-700-normal-4Jt4k04K.woff) format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-latin-ext-700-normal-BLuWmldJ.woff2) format("woff2"),url(/assets/barlow-latin-ext-700-normal-CctuGmmz.woff) format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-latin-700-normal-A9pxMQ4z.woff2) format("woff2"),url(/assets/barlow-latin-700-normal-__SGTsZ1.woff) format("woff");unicode-range:U+0000-00FF,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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-vietnamese-500-normal-DjeaNLFD.woff2) format("woff2"),url(/assets/barlow-condensed-vietnamese-500-normal-CsrJDWc5.woff) format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-latin-ext-500-normal-yA5ONLQ9.woff2) format("woff2"),url(/assets/barlow-condensed-latin-ext-500-normal-B1RE8WP7.woff) format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-latin-500-normal-BgYH2mbd.woff2) format("woff2"),url(/assets/barlow-condensed-latin-500-normal-HIEiP5Ov.woff) format("woff");unicode-range:U+0000-00FF,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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-vietnamese-600-normal-A5AYRdjN.woff2) format("woff2"),url(/assets/barlow-condensed-vietnamese-600-normal-CNlPk46_.woff) format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-ext-600-normal-18ESti3H.woff2) format("woff2"),url(/assets/barlow-condensed-latin-ext-600-normal-Clv9cIcR.woff) format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2) format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff) format("woff");unicode-range:U+0000-00FF,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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-vietnamese-700-normal-DYeBwlKR.woff2) format("woff2"),url(/assets/barlow-condensed-vietnamese-700-normal-DhIzd8Tb.woff) format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-ext-700-normal-CwuXbfVR.woff2) format("woff2"),url(/assets/barlow-condensed-latin-ext-700-normal-BIHFfxf0.woff) format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-700-normal-v1xN8_Wq.woff2) format("woff2"),url(/assets/barlow-condensed-latin-700-normal-Dmwat-ge.woff) format("woff");unicode-range:U+0000-00FF,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}:root{color-scheme:light;--bg: #f2f4f3;--surface: #ffffff;--surface-2: #e6ebe8;--nav: #ffffff;--line: #dae1dd;--line-2: #e6ebe8;--ink: #0d1310;--ink-2: #26332c;--ink-3: #4e5f56;--ink-4: #5a6b62;--dim: #6e7c75;--accent: #08643d;--accent-text: #08643d;--on-accent: #ffffff;--apd: #1d5fb0;--danger: #b42318;--star: #d97706;--input-border: #9aa8a0;--track-off: #c5cec9;--knob-off: #ffffff;--card-shadow: 0 1px 2px rgba(13, 19, 16, .08), 0 0 0 1px #e1e7e3;--lc-1: #b45309;--lc-2: #1d6fd1;--lc-3: #7c3aed;--lc-4: #be185d;--lc-5: #0e7490;--lc-6: #4d7c0f;--scrim: rgba(13, 19, 16, .45);--font-ui: "Barlow", system-ui, sans-serif;--font-num: "Barlow Condensed", "Barlow", system-ui, sans-serif;--gutter: 20px;--nav-h: 72px;--radius-tile: 18px;--radius-sheet: 20px;--radius-card: 14px;--radius-input: 12px}@media(max-width:359px){:root{--gutter: 16px}}@media(min-width:900px){:root{--gutter: 32px}}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #0d110f;--surface: #151c19;--surface-2: #161d1a;--nav: #0a0e0c;--line: #1f2925;--line-2: #18201d;--ink: #eef3f0;--ink-2: #c9d6cf;--ink-3: #a9bbb1;--ink-4: #93a79c;--dim: #6f8479;--accent: #3ddc97;--accent-text: #3ddc97;--on-accent: #0d110f;--apd: #7cc2ff;--danger: #ff8a80;--star: #f5b83d;--input-border: #3a4a42;--track-off: #2b3832;--knob-off: #93a79c;--card-shadow: none;--lc-1: #f5b83d;--lc-2: #6cb6ff;--lc-3: #c69eff;--lc-4: #ff8eb2;--lc-5: #63d2e6;--lc-6: #b5e36c;--scrim: rgba(0, 0, 0, .6)}}:root[data-theme=dark]{color-scheme:dark;--bg: #0d110f;--surface: #151c19;--surface-2: #161d1a;--nav: #0a0e0c;--line: #1f2925;--line-2: #18201d;--ink: #eef3f0;--ink-2: #c9d6cf;--ink-3: #a9bbb1;--ink-4: #93a79c;--dim: #6f8479;--accent: #3ddc97;--accent-text: #3ddc97;--on-accent: #0d110f;--apd: #7cc2ff;--danger: #ff8a80;--star: #f5b83d;--input-border: #3a4a42;--track-off: #2b3832;--knob-off: #93a79c;--card-shadow: none;--lc-1: #f5b83d;--lc-2: #6cb6ff;--lc-3: #c69eff;--lc-4: #ff8eb2;--lc-5: #63d2e6;--lc-6: #b5e36c;--scrim: rgba(0, 0, 0, .6)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-width:320px;background:var(--bg);color:var(--ink);font-family:var(--font-ui);font-size:16px;line-height:1.35;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}h1,h2,h3,p,ul,ol{margin:0}ul,ol{padding:0;list-style:none}button,input{font:inherit;color:inherit}button{margin:0;padding:0;border:0;background:none;text-align:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}svg{flex:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}@media print{:root,:root[data-theme=dark]{color-scheme:light;--bg: #fff;--surface: #fff;--surface-2: #fff;--ink: #000;--ink-2: #000;--ink-3: #000;--ink-4: #000;--dim: #444;--accent: #000;--accent-text: #000;--on-accent: #fff;--apd: #000;--card-shadow: 0 0 0 1px #000;--line: #999;--line-2: #ccc}body{background:#fff;color:#000}.bottomnav,.topbar,.toasts,.screen,.pane__placeholder,.line-page__bar,.line-page__add,.page-tabs,.timetable-controls,.time-chip__in,dialog{display:none!important}.app-main,.page,.split,.pane{display:block!important;padding:0!important;position:static!important;height:auto!important;overflow:visible!important;max-width:none!important}.time-chip{background:#fff!important;color:#000!important}}.app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.app-main{flex:1;min-width:0;padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom,0px) + 24px)}.screen{min-width:0}.bottomnav{position:fixed;inset:auto 0 0 0;z-index:20;height:calc(var(--nav-h) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--nav);border-top:1px solid var(--line)}.bottomnav__tabs{height:var(--nav-h);display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.bottomnav .nav-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:44px;min-width:0;font-size:12px;font-weight:500;line-height:1.1;text-align:center;color:var(--ink-4)}.bottomnav .nav-tab[aria-current=page]{color:var(--accent-text);font-weight:700}.topbar{position:sticky;top:0;z-index:20;height:64px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--gutter);background:var(--nav);border-bottom:1px solid var(--line)}.topbar__brand{font-size:18px;font-weight:700;letter-spacing:-.01em}.topbar__tabs{display:flex;gap:8px;height:100%}.topbar .nav-tab{display:flex;align-items:center;padding:0 16px;height:100%;font-size:16px;font-weight:500;color:var(--ink-3);border-bottom:3px solid transparent;margin-bottom:-1px}.topbar .nav-tab:hover{color:var(--ink);text-decoration:underline}.topbar .nav-tab[aria-current=page]{color:var(--ink);font-weight:700;border-bottom-color:var(--accent)}.topbar__settings{justify-self:end}.app--desktop .app-main{width:100%;max-width:calc(1120px + 2 * var(--gutter));margin:0 auto;padding:0 var(--gutter) 48px}.page--narrow,.app--desktop .page--pushed{max-width:720px;margin:0 auto}.split{display:grid;gap:32px;align-items:start}.split--proximos,.split--comochegar{grid-template-columns:minmax(360px,1fr) minmax(0,1.25fr)}.split--linhas{grid-template-columns:380px minmax(0,1fr)}.pane{position:sticky;top:64px;height:calc(100vh - 64px);height:calc(100dvh - 64px);overflow-y:auto;padding-top:8px;border-left:1px solid var(--line);padding-left:24px;scrollbar-width:thin}.pane__placeholder{padding:48px 0;text-align:center;color:var(--ink-3)}.sheet{padding:0;border:0;margin:0;max-width:none;background:var(--surface);color:var(--ink);overscroll-behavior:contain}.sheet::backdrop{background:var(--scrim)}body:has(dialog[open]){overflow:hidden}.sheet[open]{display:block}.sheet--sheet{position:fixed;inset:auto 0 0 0;width:100%;max-height:85vh;max-height:85dvh;overflow-y:auto;border-radius:var(--radius-sheet) var(--radius-sheet) 0 0}.sheet--full{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-height:none;overflow-y:auto;background:var(--bg)}.sheet--alert{position:fixed;top:0;right:0;bottom:0;left:0;margin:auto;width:min(360px,calc(100% - 32px));height:fit-content;border-radius:16px}@media(min-width:900px){.sheet--sheet{top:0;right:0;bottom:0;left:0;margin:auto;width:480px;max-width:calc(100% - 32px);height:fit-content;max-height:min(85vh,720px);border-radius:var(--radius-sheet)}.sheet--full{width:560px;max-width:calc(100% - 32px);height:fit-content;max-height:90vh;margin:auto;border-radius:var(--radius-sheet);background:var(--surface)}.sheet__handle{display:none}}@media(prefers-reduced-motion:no-preference){.sheet--sheet[open]{animation:sheet-up .22s ease-out}@keyframes sheet-up{0%{transform:translateY(24px);opacity:.6}}}.sheet__inner{padding:8px var(--gutter) calc(24px + env(safe-area-inset-bottom,0px))}.sheet--full .sheet__inner{padding:0 0 calc(32px + env(safe-area-inset-bottom,0px))}.sheet--alert .sheet__inner{padding:24px 20px 20px}.sheet__handle{display:block;width:40px;height:4px;margin:4px auto 12px;border-radius:2px;background:var(--input-border)}.sheet__title{font-size:20px;font-weight:700;margin-bottom:12px}.sheet--alert .sheet__title{font-size:18px}.sheet__text{margin-top:8px;color:var(--ink-3)}.sheet__footer{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid var(--line-2)}.confirm__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.toasts{position:fixed;inset:auto 0 calc(var(--nav-h) + env(safe-area-inset-bottom,0px) + 12px) 0;width:100%;height:auto;margin:0;padding:0 var(--gutter);border:0;background:transparent;color:inherit;overflow:visible;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;z-index:50}.app--desktop .toasts{bottom:24px}.toast{pointer-events:auto;display:flex;align-items:center;gap:12px;max-width:480px;width:100%;min-height:48px;padding:6px 8px 6px 16px;border-radius:12px;background:var(--ink);color:var(--bg);box-shadow:0 6px 24px #00000047;font-size:15px;font-weight:500}.toast__msg{flex:1;min-width:0}.toast__action{min-height:44px;padding:0 12px;border-radius:8px;font-weight:700;text-decoration:underline;color:inherit}.toast__action:focus-visible{outline-color:var(--bg)}.icon-btn{width:44px;height:44px;display:grid;place-items:center;flex:none;border-radius:12px;background:var(--surface-2);color:var(--ink-2)}.icon-btn:hover{background:var(--line)}.icon-btn--ghost{background:none}.icon-btn--ghost:hover{background:var(--surface-2)}.star-btn[aria-pressed=true]{color:var(--star)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 18px;border-radius:12px;font-size:16px;font-weight:700;text-align:center}.btn--compact{min-height:44px;padding:0 16px;border-radius:10px}.btn--block{width:100%}.btn--primary{background:var(--accent);color:var(--on-accent)}.btn--primary:hover{filter:brightness(1.08)}.btn--quiet{background:var(--surface-2);color:var(--ink);font-weight:600}.btn--quiet:hover:not(:disabled){background:var(--line)}.btn--quiet:disabled{opacity:.6}.btn--danger{background:transparent;color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger)}.text-btn{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;font-size:15px;font-weight:600;color:var(--accent-text)}.text-btn:hover{text-decoration:underline}.text-btn--block{display:flex;width:100%;justify-content:center;margin-top:4px}.text-btn--danger{color:var(--danger)}.chip-btn,.toggle-chip{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border-radius:9px;font-size:14px;font-weight:600;background:var(--surface-2);color:var(--ink-2);position:relative}.chip-btn:after,.toggle-chip:after{content:"";position:absolute;top:-4px;right:-2px;bottom:-4px;left:-2px}.toggle-chip[aria-pressed=true]{background:var(--ink);color:var(--bg)}.segmented{display:flex;flex-wrap:wrap;gap:8px}.segmented--grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}.segmented__btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px;border-radius:10px;font-size:15px;font-weight:500;text-align:center;background:var(--surface-2);color:var(--ink-2)}.segmented__btn:hover{background:var(--line)}.segmented__btn[aria-pressed=true]{background:var(--ink);color:var(--bg);font-weight:700}.segmented--grid .segmented__btn{border-radius:12px;font-size:15px;padding:6px;line-height:1.15}.switch{width:52px;height:44px;display:grid;place-items:center;flex:none}.switch__track{position:relative;display:block;width:46px;height:28px;border-radius:999px;background:var(--track-off);transition:background .15s}.switch__knob{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--knob-off);transition:left .15s}.switch[aria-checked=true] .switch__track{background:var(--accent)}.switch[aria-checked=true] .switch__knob{left:21px;background:var(--on-accent)}.line-bar{display:block;flex:none;border-radius:3px}.line-bar--tile,.line-bar--row{width:5px;height:20px}.line-bar--title{width:6px;height:26px}.apd-icon{color:var(--apd);flex:none}.section-label{font-size:14px;font-weight:600;color:var(--ink-3)}.badge{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:9px;font-size:12px;font-weight:700;background:var(--accent);color:var(--on-accent);vertical-align:2px}.empty-note{padding:32px var(--gutter);text-align:center;color:var(--ink-3)}.screen-title{padding:18px var(--gutter) 8px;font-size:24px;font-weight:700;letter-spacing:-.01em}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skel{display:block;border-radius:8px;background:var(--surface-2);animation:pulse 1.4s ease-in-out infinite}.skel--line{height:16px;width:60%}.skel--short{width:40%}.skel--big{height:64px;width:70%}.skel--time{height:26px;width:54px}.skel--hour{height:20px;width:32px;margin-top:8px}.skel--chips{height:36px;width:80%}@keyframes pulse{50%{opacity:.5}}.state-block{display:flex;flex-direction:column;align-items:center;gap:12px;padding:56px var(--gutter);text-align:center}.state-block--inline{padding:32px 0}.state-block__title{font-size:22px;font-weight:700}.state-block__text{color:var(--ink-3);max-width:34ch}.banner{display:flex;align-items:center;gap:10px;margin:4px 0;padding:10px var(--gutter);background:var(--surface);box-shadow:var(--card-shadow);font-size:14px}.banner__icon{color:var(--star)}.banner__msg{flex:1;min-width:0}.banner__btn{min-height:44px;padding:0 4px;font-weight:700;color:var(--accent-text);white-space:nowrap}.input{width:100%;min-height:48px;padding:0 14px;border:1px solid var(--input-border);border-radius:var(--radius-input);background:var(--surface);color:var(--ink);font-size:16px;outline-offset:2px}.input::placeholder{color:var(--ink-4)}.input--big{min-height:50px;font-size:18px;font-weight:600}.input--compact{min-height:44px}.input[aria-invalid=true]{border-color:var(--danger)}.field{display:flex;flex-direction:column;gap:8px}.field__label{font-size:14px;font-weight:600;color:var(--ink-3)}.field__row{display:flex;align-items:baseline;justify-content:space-between}.field__count{font-size:13px;color:var(--ink-4)}.field__error{font-size:14px;color:var(--danger)}.p-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:18px 12px 12px var(--gutter)}.p-header__titles{min-width:0;display:flex;flex-direction:column;gap:2px}.p-header__trip{display:flex;align-items:center;gap:6px;min-height:44px;max-width:100%;font-size:24px;font-weight:700;letter-spacing:-.01em;text-align:left}.p-header__trip svg{color:var(--ink-4)}.p-header__trip-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p-header__sub{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}.p-header__date{min-height:44px;display:inline-flex;align-items:center;font-size:14px;color:var(--ink-3);text-align:left}.p-header__date:hover{text-decoration:underline}.p-header__actions{display:flex;gap:4px;flex:none}.save-temp{padding:0 var(--gutter) 8px}.tiles{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:6px var(--gutter) 20px}.tiles[data-count="2"],.tiles[data-count="3"],.tiles[data-count="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}.tile{container-type:inline-size;display:flex;flex-direction:column;gap:8px;width:100%;min-width:0;padding:14px 16px 16px;border-radius:var(--radius-tile);background:var(--surface);box-shadow:var(--card-shadow);color:var(--ink);text-align:left}button.tile:hover{background:var(--surface-2)}.tile[aria-current=true]{box-shadow:inset 0 0 0 2px var(--accent)}.tile__head{display:flex;align-items:center;gap:8px;min-width:0}.tile__name{flex:1;min-width:0;font-size:17px;font-weight:700;line-height:1.15;overflow:hidden;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.tile__value{display:flex;align-items:baseline;gap:4px;font-family:var(--font-num);line-height:.9;color:var(--accent)}.tile__big{font-size:84px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.tile__unit{font-size:26px;font-weight:600}.tile__meta{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--ink-3)}.tile__dir{margin-top:-4px;font-size:13px;color:var(--ink-4)}.tile--empty .tile__big,.tile--empty .tile__value{color:var(--ink-4)}.tile--error .tile__fail{font-size:22px;font-weight:700;padding:12px 0 4px}.tile--skeleton{min-height:168px}@supports (width: 1cqw){.tile__big{font-size:min(84px,56cqw)}.tile__big--clock{font-size:min(84px,38cqw)}.tile__unit{font-size:min(26px,17cqw)}.tiles[data-count="3"] .tile__big,.tiles[data-count="4"] .tile__big{font-size:min(64px,56cqw)}.tiles[data-count="3"] .tile__big--clock,.tiles[data-count="4"] .tile__big--clock{font-size:min(64px,38cqw)}.tiles[data-count="3"] .tile__unit,.tiles[data-count="4"] .tile__unit{font-size:min(20px,14cqw)}}@supports not (width: 1cqw){.tiles[data-count="2"] .tile__big,.tiles[data-count="3"] .tile__big,.tiles[data-count="4"] .tile__big{font-size:56px}.tiles[data-count="3"] .tile__big,.tiles[data-count="4"] .tile__big{font-size:48px}}.p-list{border-top:1px solid var(--line);padding:0 var(--gutter) 8px}.p-list .section-label{padding:14px 0 4px}.dep-row{display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:52px;border-bottom:1px solid var(--line-2)}.dep-row:hover{background:var(--surface-2)}.dep-row[aria-current=true] .dep-row__name{color:var(--accent-text)}.dep-row__time{font-family:var(--font-num);font-size:26px;font-weight:600;font-variant-numeric:tabular-nums}.dep-row__line{display:flex;align-items:center;gap:10px;min-width:0}.dep-row__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:500;color:var(--ink-2)}.dep-row__text{display:flex;flex-direction:column;min-width:0}.dep-row__dir{font-size:13px;color:var(--ink-4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dep-row__min{font-size:16px;color:var(--ink-3);font-variant-numeric:tabular-nums}.dep-skel{display:flex;align-items:center;gap:16px;min-height:52px;border-bottom:1px solid var(--line-2)}.line-page{min-width:0;padding-bottom:16px}.line-page__bar{display:flex;align-items:center;justify-content:space-between;padding:12px 8px 0}.app--desktop .line-page__bar{padding:0}.line-page__bar-spacer{width:1px}.line-page__head{padding:0 var(--gutter) 4px;display:flex;flex-direction:column;gap:4px}.app--desktop .line-page__head{padding-left:0;padding-right:0}.line-page__title-row{display:flex;align-items:center;gap:10px}.line-page__title{font-size:28px;font-weight:700;letter-spacing:-.01em;line-height:1.1;overflow-wrap:anywhere}.line-page__meta{padding-left:16px;font-size:14px;color:var(--ink-3)}.line-page__add{align-self:flex-start;margin-left:12px;font-size:15px}.page-tabs{display:flex;gap:24px;margin-top:6px;padding:0 var(--gutter);border-bottom:1px solid var(--line)}.app--desktop .page-tabs{padding-left:0;padding-right:0}.page-tabs__tab{min-height:44px;padding:10px 0;font-size:15px;font-weight:500;color:var(--ink-4);border-bottom:3px solid transparent;margin-bottom:-1px}.page-tabs__tab[aria-selected=true]{font-weight:700;color:var(--ink);border-bottom-color:var(--accent)}.line-page__panel{padding:0 var(--gutter);min-width:0}.app--desktop .line-page__panel{padding:0}.timetable-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:14px 0 8px}.hour-row{display:grid;grid-template-columns:40px minmax(0,1fr);gap:8px;align-items:start;padding:8px 0;border-bottom:1px solid var(--line-2);scroll-margin-top:8px}.hour-row__label{padding-top:7px;font-family:var(--font-num);font-size:18px;font-weight:600;color:var(--ink-4)}.hour-row__chips{display:flex;flex-wrap:wrap;gap:6px}.time-chip{position:relative;display:inline-flex;align-items:center;gap:5px;height:36px;padding:0 10px;border-radius:9px;font-family:var(--font-num);font-size:20px;font-weight:600;font-variant-numeric:tabular-nums;background:var(--surface);box-shadow:var(--card-shadow);color:var(--ink)}.time-chip:after{content:"";position:absolute;top:-4px;right:-2px;bottom:-4px;left:-2px}.time-chip:hover{background:var(--surface-2)}.time-chip--past{background:none;box-shadow:none;color:var(--dim);font-weight:500}.time-chip--past .apd-icon{color:var(--dim)}.time-chip--next{background:var(--accent);color:var(--on-accent);font-weight:700;box-shadow:none}.time-chip--next:hover{background:var(--accent);filter:brightness(1.08)}.time-chip--next .apd-icon{color:var(--on-accent)}.time-chip__in{font-family:var(--font-ui);font-size:13px;font-weight:700}.timetable__empty{padding:24px 0}.legend{display:flex;align-items:center;gap:8px;padding:14px 0 0;font-size:13px;color:var(--ink-4)}.itinerary{padding-top:14px;display:flex;flex-direction:column;gap:14px}.itinerary__skel{width:70%}.spine{position:relative;margin-left:4px;padding-left:22px;border-left:2px solid var(--line)}.spine__stop{position:relative;display:flex;flex-direction:column;padding:7px 0;font-size:16px;font-weight:500;color:var(--ink-2)}.spine__stop--edge{font-weight:700;color:var(--ink)}.spine__dot{position:absolute;left:-29px;top:12px;width:10px;height:10px;border-radius:50%;background:var(--bg);border:2px solid var(--ink-4)}.spine__stop--edge .spine__dot{background:var(--accent);border-color:var(--accent)}.spine__city{font-size:13px;font-weight:600;color:var(--ink-4)}.search-bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:4px;padding:14px var(--gutter) 10px;background:var(--bg)}.app--desktop .search-bar{top:64px;padding-left:0}.search-field{position:relative;display:block;flex:1;min-width:0}.search-field__icon{position:absolute;left:14px;top:14px;color:var(--ink-4);pointer-events:none}.input--search{padding-left:42px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.input--search::-webkit-search-cancel-button{display:none}.search-bar__clear{margin-right:-8px}.segmented--inline{padding:0 var(--gutter) 8px}.app--desktop .segmented--inline{padding-left:0}.line-list{padding:0 var(--gutter)}.app--desktop .line-list{padding-left:0}.line-row{display:flex;align-items:center;gap:4px;min-height:56px;border-bottom:1px solid var(--line-2)}.line-row--skel{padding:18px 0}.line-row__main{flex:1;min-width:0;min-height:56px;display:flex;flex-direction:column;justify-content:center;gap:1px}.line-row__main:hover .line-row__name{text-decoration:underline}.line-row__main[aria-current=true] .line-row__name{color:var(--accent-text)}.line-row__name{font-size:16px;font-weight:600;overflow-wrap:anywhere}.line-row__sub{font-size:14px;color:var(--ink-3);overflow-wrap:anywhere}.saved-section{padding:8px var(--gutter) 12px}.saved-section>.section-label{padding:12px 0 6px}.saved-section .line-list{padding:0}.card-list{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--card-shadow);overflow:hidden}.card-list>li+li{border-top:1px solid var(--line)}.trip-row{display:flex;align-items:center;gap:4px;padding-right:6px}.trip-row__main{flex:1;min-width:0;min-height:64px;padding:10px 0 10px 14px;display:flex;flex-direction:column;justify-content:center;gap:2px}.trip-row__main:hover .trip-row__name{text-decoration:underline}.trip-row__name{font-size:17px;font-weight:700}.trip-row__lines{font-size:14px;color:var(--ink-3)}.pin-row{display:flex;align-items:center;gap:4px;padding:8px 6px 8px 14px;min-height:60px}.pin-row__time{width:70px;flex:none;font-family:var(--font-num);font-size:26px;font-weight:600}.pin-row__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.pin-row__line{font-size:16px;font-weight:500;color:var(--ink-2)}.pin-row__dir,.pin-row__note{font-size:14px;color:var(--ink-3)}.pin-row__edit{display:flex;gap:8px;margin-top:4px}.pin-row__edit .input{min-width:0}.editor-header{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px 8px 8px;background:var(--bg)}@media(min-width:900px){.editor-header{background:var(--surface);padding:16px 20px 8px}}.editor-header__cancel{min-height:44px;padding:0 12px;font-size:16px;font-weight:500;color:var(--ink-2)}.editor-header__cancel:hover{text-decoration:underline}.editor-header__title{font-size:17px;font-weight:700}.editor{display:flex;flex-direction:column;gap:22px;padding:8px var(--gutter) 0}.editor__lines{margin-top:4px}.editor-line{display:grid;grid-template-columns:5px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:6px 4px 6px 14px}.editor-line .line-bar{height:30px}.editor-line__text{display:flex;flex-direction:column;min-width:0}.editor-line__text.is-hidden{opacity:.5}.editor-line__name{font-size:17px;font-weight:600;overflow-wrap:anywhere}.editor-line__code{font-size:13px;color:var(--ink-4)}.add-line{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;margin-top:8px;border:1px dashed var(--input-border);border-radius:12px;font-size:16px;font-weight:600;color:var(--accent-text)}.add-line:hover{background:var(--surface-2)}.card-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:6px 12px 6px 14px;border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--card-shadow)}.card-row__label{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:500}.editor__delete{align-self:center}.picker{display:flex;flex-direction:column;gap:8px}.picker__list{margin:4px 0 0}.picker__row{display:flex;align-items:center;gap:14px;width:100%;min-height:56px;padding:6px 4px;border-bottom:1px solid var(--line-2);cursor:pointer}.picker__row:hover:not(.picker__row--added){background:var(--surface-2)}.picker__row--added{cursor:default;opacity:.6}.picker__check{flex:none;width:22px;height:22px;margin:0;accent-color:var(--accent);cursor:inherit}.picker__footer{position:sticky;bottom:0;margin:4px calc(var(--gutter) * -1) 0;padding:12px var(--gutter) env(safe-area-inset-bottom,0px);background:var(--surface);border-top:1px solid var(--line)}.picker__submit{width:100%}.picker__submit:disabled{background:var(--surface-2);color:var(--ink-4);filter:none;cursor:default}.picker__text{display:flex;flex-direction:column;min-width:0}.picker__name{font-size:16px;font-weight:600;overflow-wrap:anywhere}.picker__code{font-size:13px;color:var(--ink-4)}.radio-list{display:flex;flex-direction:column}.radio-row{position:relative;display:flex;align-items:center;gap:12px;min-height:56px;border-bottom:1px solid var(--line-2);cursor:pointer}.radio-row:hover{background:var(--surface-2)}.radio-row:focus-within{outline:2px solid var(--accent);outline-offset:-2px}.radio-row__input{position:absolute;opacity:0;width:1px;height:1px}.radio-row__text{flex:1;min-width:0;display:flex;flex-direction:column}.radio-row__name{font-size:17px;font-weight:600}.radio-row__sub,.radio-row__aside{font-size:14px;color:var(--ink-3)}.radio-row__check{color:var(--accent-text);visibility:hidden}.radio-row__input:checked~.radio-row__check{visibility:visible}.settings{display:flex;flex-direction:column;gap:20px}.settings__group{display:flex;flex-direction:column;gap:8px}.settings__pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.settings__danger{align-self:flex-start}.settings__foot{font-size:13px;color:var(--ink-4)}.approx{font-family:var(--font-ui);font-weight:600;font-size:.55em;letter-spacing:0;margin-right:1px;vertical-align:.12em;opacity:.85}.dep-row__time .approx{color:var(--ink-3)}.cc-fields{display:flex;align-items:center;gap:8px;padding:4px 12px 8px var(--gutter)}.cc-fields__pair{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.cc-field{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:6px 14px;border:1px solid var(--input-border);border-radius:var(--radius-input);background:var(--surface);color:var(--ink);text-align:left}.cc-field:hover{background:var(--surface-2)}.cc-field__label{flex:none;width:36px;font-size:14px;font-weight:600;color:var(--ink-3)}.cc-field__value{flex:1;min-width:0;font-size:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-field__value--empty{font-weight:400;color:var(--ink-4)}.cc-datenote{padding:0 var(--gutter);font-size:14px;color:var(--ink-3)}.cc-results{padding:8px var(--gutter) 8px;display:flex;flex-direction:column;gap:12px}.cc-list{display:flex;flex-direction:column;gap:12px}.cc-card{display:flex;flex-direction:column;gap:8px;min-width:0;padding:14px 16px 16px;border-radius:var(--radius-tile);background:var(--surface);box-shadow:var(--card-shadow)}.cc-card[aria-current=true]{box-shadow:inset 0 0 0 2px var(--accent)}.cc-card--skeleton{min-height:168px}.cc-card__head{display:flex;align-items:center;gap:8px;min-width:0}.cc-card__name{min-width:0;font-size:17px;font-weight:700;line-height:1.15;overflow-wrap:anywhere}.cc-pass{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-family:var(--font-num);line-height:1;color:var(--accent)}.cc-pass__time{font-size:40px;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.cc-pass__in{font-family:var(--font-ui);font-size:15px;font-weight:700;color:var(--ink-2)}.cc-pass--none .cc-pass__time{font-size:22px;color:var(--ink-3)}.cc-card__meta{font-size:16px;font-weight:500;color:var(--ink-2)}.cc-stop{display:flex;align-items:flex-start;gap:8px;font-size:15px;color:var(--ink-2);overflow-wrap:anywhere}.cc-stop__icon{flex:none;margin-top:2px;color:var(--ink-4)}.cc-card__later{font-size:14px;color:var(--ink-3)}.cc-card__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.cc-walk{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--card-shadow)}.cc-walk__icon{flex:none;color:var(--accent-text)}.cc-walk__text{font-size:18px;font-weight:700}.cc-nearby{margin-top:8px}.cc-nearby .section-label{padding:8px 0 4px}.cc-nearby__row{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;border-bottom:1px solid var(--line-2);text-align:left}.cc-nearby__row:hover{background:var(--surface-2)}.cc-nearby__row[aria-current=true] .cc-nearby__name{color:var(--accent-text)}.cc-nearby__text{display:flex;flex-direction:column;min-width:0}.cc-nearby__name{font-size:16px;font-weight:500;color:var(--ink-2)}.cc-nearby__street{font-size:13px;color:var(--ink-4);overflow-wrap:anywhere}.cc-footnote{margin-top:4px;font-size:13px;color:var(--ink-4)}.place{display:flex;flex-direction:column;gap:8px}.place__here,.place__row{display:flex;align-items:center;gap:4px;border-bottom:1px solid var(--line-2)}.place__list{display:flex;flex-direction:column}.place__main{flex:1;min-width:0;display:flex;align-items:center;gap:12px;min-height:52px;text-align:left}.place__main:hover:not(:disabled){background:var(--surface-2)}.place__icon{flex:none;color:var(--ink-3)}.place__text{display:flex;flex-direction:column;min-width:0}.place__name{font-size:16px;font-weight:600;overflow-wrap:anywhere}.place__sub{font-size:14px;color:var(--ink-3)}.place__label{padding:8px 0 0}.place__error{padding:0 4px}.sheet--sheet:has(.place){height:85vh;height:85dvh}@media(min-width:900px){.sheet--sheet:has(.place){height:min(85vh,720px)}}.place__search{position:sticky;top:0;z-index:1;margin-top:0;padding:8px 0;background:var(--surface)}.place__chips{display:flex;flex-wrap:wrap;gap:8px}.place__save-title{font-size:20px;font-weight:700}.cc-loading{font-size:14px;color:var(--ink-3)}
