:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#171717;--muted:#6f6f6f;--soft:#fff;--line:#e7e7e7;--paper:#fff;--accent:#171717;--accent-soft:#f1f1f1;--amber:#8a5f10;--amber-soft:#fff7df;--danger-soft:#ffe8de;--danger:#914026;--shadow:0 16px 38px #17171717}*{box-sizing:border-box}body{color:var(--ink);background:#fff;min-height:100vh;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Inter,system-ui,sans-serif}button,input{font:inherit;-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0}button:focus-visible,input:focus-visible{outline-offset:2px;outline:2px solid #1717172e}.app-shell{background:#fff;width:min(100%,480px);height:100vh;min-height:100vh;margin:0 auto;position:relative;overflow:hidden}.wordmark-layer{top:calc(env(safe-area-inset-top) + 24px);z-index:30;flex-direction:column;justify-content:center;align-items:center;transition:top .9s cubic-bezier(.32,.72,0,1);display:flex;position:absolute;left:0;right:0}.screen-splash .wordmark-layer{top:40vh}.splash-tagline{color:#5f5f5f;text-align:center;letter-spacing:0;opacity:0;margin:0;font-size:18px;font-weight:650;line-height:1.28;transition:opacity .42s,transform .42s;position:absolute;top:calc(100% + 12px);left:24px;right:24px;transform:translateY(6px)}.screen-splash .splash-tagline{opacity:1;transition-delay:.14s;transform:translateY(0)}.input-layer{top:calc(env(safe-area-inset-top) + 72px);z-index:20;opacity:1;padding:0 16px;transition:top .9s cubic-bezier(.32,.72,0,1),opacity .5s;position:absolute;left:0;right:0}.screen-splash .input-layer{opacity:0;pointer-events:none;top:100vh}.screen-inputs .input-layer{top:28vh}.input-prompt{max-width:340px;color:var(--muted);text-align:center;margin:0 auto 16px;font-size:14px;line-height:1.42;animation:.5s both fade-in}.show-options{width:min(100%,340px);min-height:48px;color:var(--paper);background:var(--ink);border-radius:999px;margin:14px auto 0;font-size:16px;font-weight:720;transition:opacity .18s,transform .18s,box-shadow .18s;display:block;box-shadow:0 12px 28px #17171729}.show-options:active{transform:scale(.98);box-shadow:0 8px 18px #17171724}.show-options:disabled{cursor:default;opacity:.42;box-shadow:none;transform:none}.results-layer{z-index:10;padding:0 14px calc(env(safe-area-inset-bottom) + 28px);opacity:0;-webkit-overflow-scrolling:touch;background:#fff;transition:top .9s cubic-bezier(.32,.72,0,1),opacity .5s .25s;position:absolute;inset:100vh 0 0;overflow-y:auto}.screen-results .results-layer{top:calc(env(safe-area-inset-top) + 252px);opacity:1}.topbar{z-index:20;padding:calc(env(safe-area-inset-top) + 13px) 16px 14px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffffa;border-bottom:1px solid #1717170f;position:sticky;top:0}.brand-row,.time-row,.actions{align-items:center;display:flex}.brand-row{justify-content:center;gap:16px;margin-bottom:18px;position:relative}.wordmark{letter-spacing:0;align-items:center;gap:7px;font-size:21px;font-weight:650;transition:gap .9s cubic-bezier(.32,.72,0,1),font-size .9s cubic-bezier(.32,.72,0,1);display:inline-flex}.wordmark svg,.wordmark img{width:26px;height:26px;transition:width .9s cubic-bezier(.32,.72,0,1),height .9s cubic-bezier(.32,.72,0,1)}.wordmark.huge{gap:12px;font-size:50px}.wordmark.huge svg,.wordmark.huge img{width:60px;height:60px}.beta{color:#8c8a84;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;font-size:10px;font-weight:700}.input-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:inset 0 0 0 1px #e9e9e9,0 5px 16px #17171714}.field{background:var(--paper);border-top:1px solid #ededed;grid-template-columns:108px minmax(0,1fr);align-items:center;gap:12px;min-height:54px;padding:0 14px;display:grid}.field:first-child{background:#fafafa;border-top:0}.field svg{color:#706f6b;width:16px;height:16px}.field label{color:#706f6b;letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:650}.field input{appearance:none;width:100%;min-width:0;color:var(--ink);background:0 0;border:0;border-radius:0;outline:0;padding:0;font-size:16px;font-weight:500}.arrive-field{grid-template-columns:108px minmax(0,1fr)}.arrive-controls{align-items:center;gap:8px;min-width:0;display:flex}.time-mode{color:#706f6b;letter-spacing:.12em;text-transform:uppercase;background:0 0;border-radius:8px;align-items:center;gap:3px;width:64px;min-width:0;margin-left:-4px;padding:5px 4px;font-size:11px;font-weight:650;transition:background .16s,transform .16s;display:inline-flex}.time-mode:active{background:#f3f3f3;transform:scale(.98)}.time-mode svg{color:#8a877f;width:10px;height:10px}.field-dot{color:#c1bdb4}.date-button{min-width:0;color:var(--ink);background:0 0;border-radius:8px;align-items:center;gap:4px;margin-left:-8px;padding:5px 8px;font-size:16px;font-weight:500;transition:background .16s,transform .16s;display:inline-flex}.date-button:active{background:#f3f3f3;transform:scale(.98)}.date-button svg{color:#8a877f;width:14px;height:14px}.time-button{min-width:62px;color:var(--ink);text-align:left;font-variant-numeric:tabular-nums;background:0 0;border-radius:8px;padding:5px 8px;font-size:16px;font-weight:500;transition:background .16s,transform .16s}.time-button.empty{color:#9a9790}.time-button:active{background:#f3f3f3;transform:scale(.98)}.address-combobox{min-width:0;position:relative}.suggestions{z-index:50;border:1px solid var(--line);background:var(--paper);border-radius:12px;position:absolute;top:calc(100% + 9px);left:-120px;right:0;overflow:hidden;box-shadow:0 18px 34px #1818172e}.suggestion{text-align:left;width:100%;color:var(--ink);background:var(--paper);border-bottom:1px solid #dfddd6b3;gap:3px;padding:11px 12px;display:grid}.suggestion.active,.suggestion:hover{background:#edf5f2}.suggestion span{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:680;overflow:hidden}.suggestion small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.google-attribution{color:#77746d;text-align:right;background:#f7faf8;padding:7px 12px;font-size:10px;font-weight:700}.suggestion-hint{z-index:45;color:var(--muted);padding-top:3px;font-size:10px;position:absolute;top:100%;right:0}.icon-button,.settings-close{width:34px;height:34px;color:var(--ink);background:#f0f0f0;border-radius:10px;place-items:center;display:inline-grid}.icon-button svg{width:16px;height:16px}.settings-float{opacity:1;transition:opacity .26s,transform .26s;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.screen-splash .settings-float{opacity:0;pointer-events:none;transform:translateY(-50%)scale(.92)}.brand-row>.icon-button{position:absolute;right:0}.content{padding:46px 14px calc(env(safe-area-inset-bottom) + 28px);background:#fff}.notice{color:var(--amber);background:var(--amber-soft);border:1px solid #efd999;border-radius:8px;gap:9px;margin-bottom:12px;padding:12px;font-size:13px;line-height:1.35;display:flex}.notice.danger{color:var(--danger);background:var(--danger-soft);border-color:#f0b9a5}.notice svg{flex:none;width:16px;height:16px;margin-top:1px}.section-label{color:#737373;letter-spacing:.2em;text-transform:uppercase;padding:2px 2px 10px;font-size:11px;font-weight:650}.option-list{gap:12px;display:grid}.option{text-align:left;background:var(--paper);opacity:0;border:1px solid #d5d5d5;border-radius:16px;transition:border-color .18s,box-shadow .18s,transform .18s;animation:.36s cubic-bezier(.2,.7,.2,1) forwards card-in;overflow:hidden;transform:translateY(8px);box-shadow:0 5px 16px #17171714}.option.best{border-color:#cfcfcf;box-shadow:0 8px 24px #1717171f}.option.drive-best{border-color:#cfcfcf}.option-summary{text-align:left;width:100%;min-height:72px;color:inherit;background:0 0;padding:15px 16px 14px;transition:background .16s;display:block}.option-summary:active{background:#fafafa}.summary-top{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.leave-line{flex-wrap:wrap;align-items:baseline;gap:7px;min-width:0;display:flex}.leave-time{letter-spacing:0;font-variant-numeric:tabular-nums;font-size:30px;font-weight:300;line-height:1}.period{color:#a3a3a3;font-size:14px;font-weight:300}.date-badge{color:#737373;font-size:11px;font-weight:500}.pill{min-height:18px;color:var(--paper);background:var(--ink);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;align-items:center;gap:2px;padding:2px 7px;font-size:9px;font-weight:650;display:inline-flex}.pill svg{width:10px;height:10px}.pill.late{color:var(--danger);background:#ffe6dc}.expand-icon{color:#a3a3a3;background:0 0;place-items:center;width:24px;height:24px;display:grid}.expand-icon svg{width:16px;height:16px;transition:transform .22s cubic-bezier(.2,.7,.2,1)}.option.open .expand-icon svg{transform:rotate(180deg)}.route-line{color:var(--muted);align-items:center;gap:6px;min-width:0;margin-top:8px;font-size:13px;display:flex}.route-line svg{flex:none;width:14px;height:14px}.route-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.route-name-composed{align-items:center;gap:6px;min-width:0;display:inline-flex}.route-name-composed span:last-child{text-overflow:ellipsis;min-width:0;overflow:hidden}.tradeoff-line{color:#737373;margin-top:5px;font-size:12px;line-height:1.25}.dot{color:#bbb8af}.details-wrap{grid-template-rows:0fr;transition:grid-template-rows .26s cubic-bezier(.2,.7,.2,1);display:grid}.option.open .details-wrap{grid-template-rows:1fr}.details{opacity:0;background:#fafafab3;border-top:1px solid #0000;min-height:0;transition:opacity .21s,transform .21s,border-color .21s;overflow:hidden;transform:translateY(-4px)}.option.open .details{opacity:1;border-top-color:#efefef;transform:translateY(0)}.itinerary{padding:0 0 7px}.stop,.leg{grid-template-columns:18px minmax(0,1fr);gap:14px;padding:8px 16px;display:grid}.rail{justify-content:center;display:flex}.node{background:var(--paper);border:2px solid #a3a3a3;border-radius:50%;width:8px;height:8px;margin-top:5px}.node.term{border-color:var(--ink);background:var(--ink);width:10px;height:10px}.line{background:#d4d4d4;width:1px;min-height:22px}.stop-main{justify-content:space-between;gap:12px;display:flex}.stop-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.stop-time{color:#737373;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px;font-weight:500}.sub{color:#737373;margin-top:2px;font-size:11px}.leg .sub{grid-column:2;min-width:0}.leg-body{min-height:22px;color:var(--muted);flex-wrap:wrap;align-items:center;gap:7px;font-size:12px;font-weight:500;display:flex}.mode{color:#525252;background:#f3f3f3;border-radius:999px;place-items:center;width:22px;height:22px;display:inline-grid}.mode.accent{color:var(--paper);background:var(--accent)}.mode svg{width:13px;height:13px}.traffic{border-radius:999px;align-items:center;min-height:18px;padding:2px 7px;font-size:10px;font-weight:680;display:inline-flex}.traffic-light{color:#4f6d5c;background:#e8f5ed}.traffic-medium{color:#7a570f;background:#fff2ca}.traffic-heavy{color:#914026;background:#ffe1d6}.warning{color:var(--amber);background:var(--amber-soft);border:1px solid #efd999;border-radius:8px;margin:2px 14px 12px;padding:10px;font-size:12px;line-height:1.35}.empty{color:var(--muted);text-align:center;background:#fffdfaa6;border:1px dashed #cac6bb;border-radius:8px;padding:26px 18px}.date-backdrop{z-index:70;background:#1818174d;justify-content:center;align-items:flex-end;animation:.16s both fade-in;display:flex;position:fixed;inset:0}.date-sheet{background:var(--paper);width:min(100%,390px);padding-bottom:env(safe-area-inset-bottom);border-radius:18px 18px 0 0;animation:.22s cubic-bezier(.2,.7,.2,1) both sheet-in;overflow:hidden;box-shadow:0 -24px 48px #18181738}.date-sheet-head{border-bottom:1px solid #dfddd6b3;padding:15px 20px;font-size:14px;font-weight:760}.date-picks{padding:4px 0}.date-pick{width:100%;min-height:46px;color:var(--ink);background:var(--paper);justify-content:space-between;align-items:center;padding:0 20px;font-size:16px;font-weight:560;display:flex}.date-pick.selected{background:#f3f7f5}.date-pick small{min-width:0;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:500;overflow:hidden}.selected-dot{background:var(--ink);border-radius:999px;width:8px;height:8px}.other-date{color:var(--muted);border-top:1px solid #dfddd6b3;align-items:center;gap:12px;padding:13px 20px;font-size:14px;display:flex}.other-date input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:16px}.time-sheet{padding:0 20px calc(env(safe-area-inset-bottom) + 18px)}.time-sheet .date-sheet-head{margin:0 -20px}.time-readout{color:var(--ink);text-align:center;font-variant-numeric:tabular-nums;padding:18px 0 14px;font-size:46px;font-weight:300;line-height:1}.time-wheel-frame{background:linear-gradient(#fffffff5,#fff0 34% 66%,#fffffff5),#fbfbfb;border:1px solid #eee;border-radius:16px;grid-template-columns:1fr auto 1fr;align-items:center;gap:4px;height:214px;display:grid;position:relative;overflow:hidden}.time-wheel-frame:before{content:"";pointer-events:none;background:#f0f0f0;border-radius:12px;height:44px;position:absolute;top:50%;left:14px;right:14px;transform:translateY(-50%)}.time-wheel{z-index:1;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;height:100%;padding:84px 0;position:relative;overflow-y:auto}.time-wheel::-webkit-scrollbar{display:none}.time-wheel-option{scroll-snap-align:center;color:#8b8b8b;font-variant-numeric:tabular-nums;background:0 0;width:100%;height:44px;font-size:25px;font-weight:420;transition:color .12s,font-weight .12s,transform .12s;display:block}.time-wheel-option.selected{color:var(--ink);font-weight:650;transform:scale(1.04)}.time-wheel-separator{z-index:1;width:18px;color:var(--ink);text-align:center;font-size:30px;font-weight:520;position:relative;transform:translateY(-1px)}.time-done{width:100%;min-height:44px;color:var(--paper);background:var(--ink);border-radius:999px;margin-top:14px;font-size:15px;font-weight:720}.settings-panel{z-index:40;max-width:480px;padding:18px 16px calc(env(safe-area-inset-bottom) + 18px);border:1px solid var(--line);background:var(--paper);border-radius:12px 12px 0 0;margin:0 auto;position:fixed;inset:auto 0 0;box-shadow:0 -24px 48px #18181733}.settings-backdrop{z-index:35;background:#18181740;position:fixed;inset:0}.settings-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px;display:flex}.settings-head h2{margin:0;font-size:20px;font-weight:760}.settings-head p{color:var(--muted);margin:3px 0 0;font-size:12px;line-height:1.35}.settings-field{gap:7px;margin-bottom:14px;display:grid}.settings-grid{grid-template-columns:1fr;gap:2px;display:grid}.settings-field label{color:var(--muted);font-size:12px;font-weight:720}.settings-help{color:var(--muted);margin:-2px 0 2px;font-size:12px;line-height:1.35}.settings-field input{border:1px solid var(--line);background:#f8fbfa;border-radius:8px;outline:0;width:100%;padding:12px;font-size:16px}.settings-field .address-combobox input{border:1px solid var(--line);background:#f8fbfa;border-radius:8px;padding:12px}.settings-field .suggestions{left:0}.number-input{border:1px solid var(--line);background:#f8fbfa;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding-right:10px;display:grid}.number-input input{background:0 0;border:0}.number-input span{color:var(--muted);font-size:12px;font-weight:720}.primary{width:100%;min-height:46px;color:var(--paper);background:var(--accent);border-radius:8px;font-weight:780}.toast{left:50%;bottom:calc(env(safe-area-inset-bottom) + 18px);z-index:60;max-width:min(320px,100vw - 32px);color:var(--paper);text-align:center;background:#181817eb;border-radius:8px;padding:10px 14px;font-size:13px;font-weight:720;position:fixed;transform:translate(-50%);box-shadow:0 14px 30px #18181738}@media (max-width:360px){.topbar{padding-left:12px;padding-right:12px}.content,.input-layer,.results-layer{padding-left:10px;padding-right:10px}.field{grid-template-columns:96px minmax(0,1fr);gap:6px;padding:0 10px}.leave-time{font-size:32px}.settings-grid{grid-template-columns:1fr;gap:0}}@media (min-width:860px){body{padding:0}.app-shell{min-height:100vh;box-shadow:none}.settings-panel{width:480px;left:50%;right:auto;transform:translate(-50%)}}@keyframes card-in{to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-in{0%{opacity:.92;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important}}
