:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#090d10;--panel:#121a1d;--line:#ddefe521;--text:#edf7f1;--muted:#9aaba1;--faint:#6d7a73;--green:#59d49f;--cyan:#70d7e7;--blue:#6aa8ff;--amber:#ffbf5b;--red:#ff6b6b;--shadow:0 24px 70px #0000005c}*{box-sizing:border-box}html{background:var(--bg);min-height:100%}body{background:linear-gradient(150deg, #0d2124eb, #090d10fa 42%), linear-gradient(90deg, #25b57d17, transparent 42%, #6aa8ff14), repeating-linear-gradient(90deg, #ffffff06 0, #ffffff06 1px, transparent 1px, transparent 72px), var(--bg);min-height:100%;color:var(--text);letter-spacing:0;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea,select{font:inherit}button{border:0}.dashboard-shell{flex-direction:column;width:min(1240px,100% - 32px);min-height:100dvh;margin:0 auto;padding:22px 0 16px;display:flex}.onboarding-shell{justify-content:center;width:min(980px,100% - 32px);padding-block:24px}.onboarding-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(135deg,#59d49f1f,#0000 42%),linear-gradient(#ffffff12,#ffffff05),#121a1df0;border-radius:8px;gap:18px;padding:clamp(16px,2.8vw,24px);display:grid}.onboarding-copy{align-items:center;gap:14px;display:flex}.onboarding-copy h1{margin:0;font-size:clamp(2.2rem,5vw,4.2rem);line-height:.95}.onboarding-copy p:last-child{color:var(--muted);margin:8px 0 0;font-size:1rem;font-weight:740;line-height:1.45}.onboarding-icon{width:58px;height:58px;color:var(--cyan);background:#70d7e717;border:1px solid #70d7e747;border-radius:999px;flex:none;place-items:center;display:grid}.hero-panel,.message{border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#151b18e0;border-radius:8px}.hero-panel{background:linear-gradient(135deg,#1e8a6a2e,#0000 34%),linear-gradient(#ffffff14,#ffffff05),#121a1deb;grid-template-rows:minmax(0,1fr);align-items:center;min-height:clamp(220px,29vh,315px);padding:clamp(18px,2.8vw,30px) 20px;display:grid;position:relative;overflow:hidden}.hero-panel:before{content:"";pointer-events:none;opacity:.45;background:repeating-linear-gradient(112deg,#0000 0 19px,#70d7e717 20px,#0000 21px);position:absolute;inset:0}.hero-panel:after{content:"";background:var(--green);height:3px;position:absolute;inset:auto 0 0}.hero-panel.state-departure:after{background:var(--amber)}.hero-panel.state-warning:after{background:var(--red)}.hero-panel.state-departure{background:linear-gradient(135deg,#ffbf5b3d,#0000 36%),linear-gradient(#ffffff14,#ffffff05),#201910f0}.hero-panel.state-warning{background:linear-gradient(135deg,#ff6b6b3d,#0000 36%),linear-gradient(#ffffff14,#ffffff05),#201012f0}.hero-panel.state-departure:before{background:repeating-linear-gradient(112deg,#0000 0 19px,#ffbf5b24 20px,#0000 21px)}.hero-panel.state-warning:before{background:repeating-linear-gradient(112deg,#0000 0 19px,#ff6b6b24 20px,#0000 21px)}.hero-panel.state-rain:after{background:var(--cyan)}.hero-panel.state-idle:after,.hero-panel.state-loading:after{background:var(--faint)}.hero-panel>*{z-index:1;position:relative}.dashboard-actions{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.notification-action-group{align-items:center;gap:8px;min-width:0;display:inline-flex}.refresh-status-group{align-items:center;gap:10px;display:inline-flex}.hero-action-button{min-height:36px;color:var(--text);cursor:pointer;background:#ffffff0f;border:0;border-radius:999px;justify-content:center;align-items:center;font-weight:760;transition:transform .16s,background .16s,color .16s;display:inline-flex}.hero-action-button:hover{background:#ffffff1a;transform:translateY(-1px)}.hero-action-button:disabled{cursor:not-allowed;opacity:.58;transform:none}.hero-notifications-button{gap:8px;padding:0 12px;font-weight:600}.lead-time-control{position:relative}.lead-time-button{color:#dceee7;white-space:nowrap;gap:7px;padding:0 11px;font-size:.82rem;font-weight:780}.lead-time-popover{z-index:20;border:1px solid var(--line);min-width:190px;box-shadow:var(--shadow);background:#090d10f5;border-radius:8px;gap:9px;padding:12px;display:grid;position:absolute;top:calc(100% + 8px);left:0}.lead-time-popover>span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:900}.lead-time-popover small{color:var(--muted);font-size:.76rem;font-weight:740;line-height:1.3}.lead-time-stepper{grid-template-columns:34px minmax(70px,1fr) 34px;align-items:center;gap:8px;display:grid}.lead-time-stepper strong{text-align:center;font-size:1rem;line-height:1}.lead-time-stepper button{border:1px solid var(--line);width:34px;height:34px;color:var(--text);cursor:pointer;background:#ffffff0d;border-radius:999px;place-items:center;display:grid}.lead-time-stepper button:disabled{cursor:not-allowed;opacity:.45}.hero-notifications-button.is-on{color:#dfffee;background:#59d49f1f}.hero-notifications-button.is-off{color:#ffd7d7;background:#ff6b6b1f}.hero-notifications-button.is-checking{color:var(--muted)}.hero-refresh-button{color:#dceee7;width:36px;padding:0}.action-update-time{color:#cddcd39e;letter-spacing:0;align-items:center;min-height:36px;padding:0;font-size:.72rem;font-weight:760;line-height:1;display:inline-flex}.hero-grid,.message{align-items:center;display:flex}.hero-grid{justify-content:center;place-self:center;align-items:center;width:fit-content;max-width:100%;display:flex}.hero-copy{text-align:center;justify-items:center;width:auto;min-width:0;max-width:780px;display:grid}.hero-title-row{--hero-title-icon-size:42px;grid-template-columns:var(--hero-title-icon-size) minmax(0, auto);justify-content:center;justify-self:center;align-items:center;column-gap:10px;max-width:100%;display:inline-grid}h1,h2,p{margin-top:0}h1{letter-spacing:0;margin-bottom:12px;font-size:clamp(3rem,6vw,5.4rem);line-height:.9}.hero-title{text-align:center;min-width:0;margin-bottom:0}.hero-title-icon{width:var(--hero-title-icon-size);height:var(--hero-title-icon-size);color:var(--green);justify-content:center;align-items:center;line-height:0;display:inline-flex}.hero-title-icon svg{width:100%;height:100%}.state-rain .hero-title-icon{color:var(--cyan)}.state-departure .hero-title-icon{color:var(--amber)}.state-warning .hero-title-icon{color:var(--red)}h2{letter-spacing:0;margin-bottom:4px;font-size:1.05rem}.hero-summary{color:#c7d8ce;max-width:780px;margin:10px 0 0;font-size:clamp(1.05rem,2vw,1.26rem);line-height:1.65}.toast-stack{z-index:50;pointer-events:none;gap:10px;width:min(560px,100% - 28px);display:grid;position:fixed;top:18px;left:50%;transform:translate(-50%)}.message{min-height:46px;color:var(--text);pointer-events:auto;gap:10px;padding:12px 14px;animation:.18s ease-out toast-in}.message-error{color:#ffd0d0;border-color:#ff6b6b6b}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.departure-deadline-widget{min-height:92px;color:var(--text);box-shadow:var(--shadow);background:linear-gradient(135deg,#ff6b6b42,#0000 48%),linear-gradient(#ffffff14,#ffffff06),#2a1012f0;border:1px solid #ff6b6b57;border-radius:8px;justify-content:space-between;align-items:center;gap:18px;margin-top:16px;padding:18px 20px;display:flex}.departure-deadline-widget div{gap:4px;display:grid}.departure-deadline-widget span{color:#ffd8d8bd;text-transform:uppercase;font-size:.82rem;font-weight:850}.departure-deadline-widget strong{font-size:clamp(2rem,4.2vw,3.2rem);line-height:.95}.departure-deadline-widget svg{color:var(--red);flex:none}.rain-graph-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(#6aa8ff1a,#121a1df0 44%),#121a1deb;border-radius:8px;margin-top:16px;padding:18px}.rain-graph-header{justify-content:space-between;align-items:center;gap:18px;margin-bottom:10px;display:flex}.rain-graph-header-side{align-items:center;gap:12px;margin-left:auto;display:flex}.current-weather{text-align:right;justify-items:end;min-width:54px;display:grid}.current-weather strong{color:var(--text);justify-content:flex-end;align-items:baseline;font-size:1.45rem;line-height:1;display:flex}.current-weather small{color:var(--muted);font-size:.82rem;font-weight:800;line-height:1}.rain-graph-weather-icon{width:42px;min-width:42px;height:42px;color:var(--amber);place-items:center;display:grid}.rain-graph-weather-icon.has-rain{color:var(--cyan)}.rain-graph-weather-icon svg{width:30px;height:30px}.section-kicker{color:var(--cyan);text-transform:uppercase;margin:0 0 5px;font-size:.78rem;font-weight:900}.rain-graph-header h2{margin:0;font-size:clamp(1.45rem,3vw,2rem)}.rain-chart{min-height:260px;padding:4px 0 0;position:relative}.rain-plot{touch-action:pan-y;-webkit-user-select:none;user-select:none;height:240px;position:relative}.rain-chart svg{width:100%;height:100%;display:block;overflow:visible}.rain-grid-line{stroke:#ddefe51a;stroke-width:1px}.rain-grid-line.base{stroke:#ddefe533}.rain-hover-line{stroke:#edf7f18f;stroke-dasharray:5 5;stroke-width:2px;pointer-events:none}.rain-current-time-line{stroke:var(--red);stroke-dasharray:5 5;stroke-width:2px;opacity:.95;pointer-events:none}.rain-current-time-label{z-index:3;color:#fff;pointer-events:none;font-size:.7rem;font-weight:900;line-height:1;position:absolute;top:-1px;transform:translate(-50%)}.rain-area{fill:#70d7e729;pointer-events:none}.has-rain .rain-area{fill:#6aa8ff33}.rain-line{fill:none;stroke:var(--cyan);stroke-linecap:round;stroke-linejoin:round;stroke-width:5px;pointer-events:none}.has-rain .rain-line{stroke:var(--blue)}.rain-point-layer{z-index:2;pointer-events:none;position:absolute;inset:0}.rain-point{background:var(--panel);border:2px solid #ddefe566;border-radius:999px;width:6px;height:6px;display:block;position:absolute;transform:translate(-50%,-50%)}.rain-point.light{background:var(--amber);border-color:#ffbf5b5c}.rain-point.warning{background:var(--red);border-color:#ff6b6b66}.rain-hover-zone{cursor:crosshair;fill:#0000;pointer-events:all;outline:none}.rain-hover-zone:focus-visible{stroke:#edf7f166;stroke-width:2px}.rain-tooltip{z-index:3;pointer-events:none;background:#090d10d6;border:1px solid #ddefe524;border-radius:6px;gap:2px;min-width:124px;padding:7px 9px;display:grid;position:absolute;top:34px;transform:translate(-50%);box-shadow:0 10px 24px #00000042}.rain-tooltip span,.rain-tooltip small{color:var(--muted)}.rain-tooltip strong{color:var(--text);font-size:.96rem;line-height:1.1}.rain-grid-labels{z-index:2;pointer-events:none;position:absolute;inset:0}.rain-grid-labels span{color:#edf7f1c7;background:#090d10b8;border:1px solid #ddefe51f;border-radius:999px;padding:2px 6px;font-size:.72rem;font-weight:800;position:absolute;right:8px;transform:translateY(-50%)}.rain-axis{height:16px;color:var(--muted);margin-top:2px;padding:0;font-size:.82rem;font-weight:800;line-height:1;position:relative;overflow:hidden}.rain-axis span{text-align:center;white-space:nowrap;min-width:max-content;position:absolute;top:0;transform:translate(-50%)}.rain-axis .edge-start{text-align:left;transform:translate(0)}.rain-axis .edge-end{text-align:right;transform:translate(-100%)}.rain-axis .desktop-axis-hidden{display:none}.route-control{grid-template-columns:minmax(0,1fr) 54px;gap:12px;margin-top:16px;display:grid;position:relative}.route-main-button,.route-reverse-button,.sheet-icon-button,.favorite-route-button,.new-route-button,.preview-route-button,.use-route-button,.location-manual-toggle,.location-suggestions button{color:var(--text);cursor:pointer}.route-main-button,.route-reverse-button{border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(135deg,#70d7e714,#0000 52%),#121a1de6;border-radius:8px}.route-main-button{text-align:left;place-items:stretch stretch;min-height:72px;padding:10px 12px;display:grid}.route-empty-state{gap:3px;min-width:0;display:grid}.route-summary-row strong,.route-empty-state strong{text-overflow:ellipsis;white-space:nowrap;font-size:1rem;line-height:1.1;overflow:hidden}.route-main-button small,.favorite-route-button small,.route-summary-stack small,.location-field small{color:var(--muted);font-size:.78rem;font-weight:760;line-height:1.2}.route-reverse-button{height:100%;min-height:72px;color:var(--green);place-items:center;display:grid}.route-main-button:hover,.route-reverse-button:hover,.favorite-route-button:hover,.new-route-button:hover,.preview-route-button:hover,.use-route-button:hover,.location-suggestions button:hover{background-color:#ffffff0f;border-color:#70d7e752}.route-main-button:disabled,.route-reverse-button:disabled,.favorite-route-button:disabled,.preview-route-button:disabled,.use-route-button:disabled{cursor:not-allowed;opacity:.58}.route-overlay{z-index:60;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#03060894;justify-content:center;align-items:flex-end;padding:18px;display:flex;position:fixed;inset:0}.route-overlay.is-modal{z-index:70;background:#0306086b;align-items:center}.route-sheet{border:1px solid var(--line);width:min(720px,100%);max-height:min(82dvh,760px);box-shadow:var(--shadow);background:linear-gradient(#6aa8ff1a,#121a1df5 42%),#121a1dfa;border-radius:8px;gap:14px;padding:18px;display:grid;overflow:auto}.route-composer-sheet{width:min(860px,100%);overflow:visible}.route-composer-sheet.is-modal{max-height:min(88dvh,720px)}.route-composer-sheet.is-onboarding{width:100%;max-height:none;box-shadow:none;background:#090d104d;overflow:visible}.route-sheet-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.route-sheet-header h2{margin:0;font-size:1.35rem}.sheet-icon-button{border:1px solid var(--line);background:#ffffff0a;border-radius:999px;place-items:center;width:36px;height:36px;display:grid}.favorite-route-list,.route-form-grid{gap:10px;display:grid}.favorite-route-item{gap:6px;display:grid}.favorite-route-button,.new-route-button,.preview-route-button,.use-route-button,.location-suggestions button{border:1px solid var(--line);background:#ffffff0a;border-radius:8px}.favorite-route-button{text-align:left;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:72px;padding:10px 12px;display:grid}.favorite-route-button.is-active{background:#59d49f1a;border-color:#59d49f61}.favorite-route-button.is-expanded{border-color:#59d49f75}.route-point-address-list{color:#edf7f1d1;gap:6px;margin:0;padding:2px 12px 4px 39px;font-size:.82rem;font-weight:720;line-height:1.35;display:grid}.route-point-address-list li::marker{color:var(--green);font-weight:900}.new-route-button,.preview-route-button,.use-route-button{justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 14px;font-weight:850;display:inline-flex}.new-route-button,.use-route-button{width:100%}.use-route-button{background:#59d49f21;border-color:#59d49f57}.route-preview-card{border:1px solid var(--line);background:#090d1052;border-radius:8px;gap:12px;padding:14px;display:grid}.route-summary-stack{text-align:left;gap:5px;width:100%;min-width:0;display:grid}.route-summary-row{grid-template-columns:20px minmax(0,1fr);align-items:center;gap:8px;min-width:0;display:grid}.route-summary-row strong{text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:.94rem;font-weight:900;line-height:1.15;overflow:hidden}.route-summary-icon{width:20px;height:20px;color:var(--cyan);place-items:center;display:grid}.route-summary-row.is-start .route-summary-icon{color:var(--cyan)}.route-summary-row.is-end .route-summary-icon{color:var(--green)}.route-summary-stack small{padding-left:28px}.route-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.location-field{gap:8px;display:grid}.location-field-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.location-field-heading label{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:900}.location-manual-toggle{color:var(--cyan);background:0 0;border:0;font-size:.78rem;font-weight:850}.location-search-wrap{position:relative}.location-input-wrap{border:1px solid var(--line);background:#ffffff0a;border-radius:8px;align-items:center;gap:8px;min-height:46px;padding:0 12px;display:flex}.location-input-wrap svg{color:var(--muted);flex:none}.location-input-wrap input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0}.location-input-wrap input::placeholder{color:#cddcd385}.location-suggestions{z-index:90;border:1px solid var(--line);max-height:min(360px,100dvh - 120px);box-shadow:var(--shadow);background:#090d10fa;border-radius:8px;gap:6px;padding:8px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.location-suggestions button{text-align:left;gap:3px;padding:10px;display:grid}.location-suggestions span{color:var(--muted);font-size:.78rem;font-weight:740}.manual-coordinate-panel{background:#ffffff09;border:1px solid #70d7e72e;border-radius:8px;gap:8px;padding:10px;display:grid}.manual-coordinate-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.manual-coordinate-panel input{border:1px solid var(--line);width:100%;min-width:0;height:40px;color:var(--text);background:#090d106b;border-radius:8px;outline:0;padding:0 10px}.manual-coordinate-panel input::placeholder{color:#cddcd385}.manual-coordinate-panel p{color:#ffd0d0;margin:0;font-size:.78rem;font-weight:760}.manual-coordinate-panel button{min-height:40px;color:var(--text);background:#59d49f21;border:1px solid #59d49f57;border-radius:8px;font-weight:850}.route-error{color:#ffd0d0;background:#ff6b6b14;border:1px solid #ff6b6b47;border-radius:8px;margin:0;padding:10px 12px;font-size:.84rem;font-weight:760}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (min-width:621px){.hero-grid{padding-top:0}}@media (min-width:921px){.rain-graph-panel,.rain-chart{flex-direction:column;flex:auto;display:flex}.rain-plot{flex:240px;height:auto}}@media (max-width:920px){.rain-graph-header{flex-direction:row;align-items:center}}@media (max-width:620px){.dashboard-shell{width:min(100% - 20px,1180px);padding-top:10px}.onboarding-shell{justify-content:flex-start;width:min(100% - 20px,980px)}.onboarding-copy{align-items:flex-start}.onboarding-icon{width:48px;height:48px}.dashboard-actions{margin-bottom:8px}.notification-action-group{gap:6px}.hero-notifications-button span{text-overflow:ellipsis;white-space:nowrap;max-width:138px;overflow:hidden}.lead-time-popover{left:auto;right:0}.hero-panel{padding:14px}.hero-grid{flex-direction:column;align-items:center;padding-top:0}h1{font-size:2.7rem}.rain-graph-panel{padding:14px}.rain-graph-header{gap:10px}.rain-graph-header h2{font-size:1.28rem}.rain-chart{min-height:210px}.rain-plot{height:200px}.rain-tooltip{min-width:108px;padding:6px 8px;font-size:.72rem;top:30px}.rain-tooltip strong{font-size:.86rem}.rain-tooltip small{display:none}.rain-axis{font-size:.76rem}.rain-axis .desktop-axis-hidden{display:block}.rain-axis .mobile-axis-hidden{display:none}.route-control{grid-template-columns:minmax(0,1fr) 50px;gap:10px}.route-main-button{min-height:72px}.route-reverse-button{height:100%;min-height:72px}.route-overlay{padding:10px}.route-sheet{max-height:88dvh;padding:14px}.route-form-grid{grid-template-columns:1fr}}
