:root{--bg:#fff;--surface:#ffffffdb;--surface-solid:#fff;--surface-2:#f4f4f4;--border:#00000014;--border-strong:#00000029;--text:#0a0a0a;--text-2:#525252;--text-3:#737373;--accent:#000;--accent-text:#fff;--shadow:0 8px 32px #0000001f;--sel-border:#0009;--low:#3fb37f;--moderate:#e8c547;--high:#f08a24;--severe:#e5484d;--no-travel:#b455f5;--ease:cubic-bezier(.22, 1, .36, 1);--sans:"Geist", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"Geist Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font:400 13px/1.45 var(--sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}button,input{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}h1,h2,h3,p{margin:0}:focus-visible{outline:2px solid var(--text);outline-offset:2px}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.muted{color:var(--text-2)}.small{font-size:11.5px}.hint{color:var(--text-3);align-items:center;gap:6px;font-size:11.5px;display:flex}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);font-size:11px;font-weight:500}.grow{flex:1}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.row-between{justify-content:space-between;align-items:center;gap:12px;display:flex}.row-gap{align-items:center;gap:8px;display:flex}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.flip{transform:rotate(180deg)}.spin{animation:.9s linear infinite spin}hr{background:var(--border);border:0;height:1px;margin:0 -20px}.app{height:100%;position:relative;overflow:hidden}.map{background:#f2f2f0;position:absolute;inset:0}.topbar{pointer-events:none;justify-content:space-between;align-items:center;height:40px;display:flex;position:absolute;top:16px;left:16px;right:16px}.topbar>*{pointer-events:auto}.brand{letter-spacing:-.01em;color:var(--text);align-items:center;gap:10px;font-size:15px;font-weight:600;text-decoration:none;display:flex}.topbar-actions{align-items:center;gap:8px;display:flex}.map-toggle{border:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:12px;height:40px;padding:0 14px;font-size:12.5px}.map-toggle.on{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.brand-mark{background:var(--accent);width:28px;height:28px;color:var(--accent-text);border-radius:8px;place-items:center;display:grid}.side{scrollbar-width:thin;border-radius:20px;width:min(400px,100% - 32px);max-height:calc(100% - 88px);position:absolute;top:72px;left:16px;overflow-y:auto}.panel{background:var(--surface);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);box-shadow:var(--shadow);animation:panel-in .3s var(--ease) both;border-radius:20px;flex-direction:column;gap:18px;padding:20px;display:flex;position:relative;overflow:hidden}.panel-head{flex-direction:column;gap:6px;display:flex}.panel h1{letter-spacing:-.01em;font-size:20px;font-weight:600}.panel h2{letter-spacing:-.01em;font-size:20px;font-weight:600;line-height:1.25}.field{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;align-items:center;gap:10px;height:44px;padding:0 6px 0 14px;transition:border-color .15s;display:flex;position:relative}.field:focus-within{border-color:var(--border-strong)}.field.invalid{border-color:var(--text);animation:shake .3s var(--ease)}.field.picking{border-color:var(--text)}.field input{background:0 0;border:0;outline:0;flex:1;min-width:0;height:100%}.field input::placeholder{color:var(--text-3)}.load-input{font-size:15px;font-weight:500}.now-chip{background:var(--accent);height:24px;color:var(--accent-text);border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:500;display:inline-flex}.field-error{color:var(--text);padding-left:14px;font-size:12px}.field-error:before{content:"!";vertical-align:-2px;border:1.5px solid;border-radius:999px;place-items:center;width:14px;height:14px;margin-right:6px;font-size:9px;font-weight:700;display:inline-grid}.icon-btn{width:32px;height:32px;color:var(--text-2);background:0 0;border:0;border-radius:9px;flex:none;place-items:center;display:grid}.icon-btn:hover,.icon-btn.on{color:var(--text);background:#0000000f}.square-btn{border:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);width:40px;height:40px;color:var(--text);border-radius:12px;flex:none;place-items:center;display:grid}.square-btn.on{border-color:var(--border-strong)}.pill-btn{border:1px solid var(--border-strong);background:0 0;border-radius:999px;align-items:center;gap:6px;height:30px;padding:0 12px;font-size:12px;font-weight:500;display:inline-flex}.pill-btn:hover{background:#0000000a}.btn-primary{background:var(--accent);width:100%;height:48px;color:var(--accent-text);transition:transform .15s var(--ease), opacity .15s;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex;box-shadow:0 6px 20px #0000002e}.btn-primary:hover{transform:translateY(-1px)}.btn-primary:active{transform:scale(.98)}.btn-primary[aria-disabled=true]{opacity:.35;box-shadow:none;transform:none}.btn-primary.compact{width:auto;height:38px;box-shadow:none;padding:0 16px;font-size:13px;font-weight:500}.btn-small{background:var(--accent);height:30px;color:var(--accent-text);border:0;border-radius:10px;align-self:flex-start;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:500;display:inline-flex}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border-strong);height:30px;color:var(--text-2);background:0 0;border-radius:999px;padding:0 12px;font-size:12px;font-weight:500;transition:background .15s,color .15s}.chip:hover{color:var(--text)}.chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.segmented{background:var(--surface-2);border-radius:10px;gap:2px;padding:3px;display:flex}.segmented button{min-width:52px;height:28px;color:var(--text-2);font:500 12px var(--mono);background:0 0;border:0;border-radius:7px;transition:background .15s}.segmented button.on{color:var(--text);background:#fff;box-shadow:0 1px 2px #0000001f}.group{border:0;flex-direction:column;gap:8px;min-width:0;margin:0;padding:0;display:flex}.group legend{align-items:center;gap:6px;margin-bottom:8px;padding:0;display:flex}.tip{color:var(--text-3);display:inline-flex}.places{align-items:center;gap:10px;display:flex}.places-fields{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.place{flex-direction:column;gap:6px;display:flex;position:relative}.place-icon{flex:none}.place-icon-origin{border:2.5px solid var(--text);border-radius:999px;width:12px;height:12px}.place-icon-destination{background:var(--text);border-radius:2px;width:11px;height:11px}.swap{border:1px solid var(--border-strong);background:var(--surface-2);width:36px;height:36px;transition:transform .3s var(--ease);border-radius:999px;flex:none;place-items:center;display:grid}.swap:active{transform:rotate(180deg)}.suggestions{z-index:5;background:var(--surface-solid);border:1px solid var(--border);box-shadow:var(--shadow);animation:pop .12s var(--ease) both;border-radius:12px;margin:0;padding:4px;list-style:none;position:absolute;top:48px;left:0;right:0}.suggestions li{cursor:pointer;border-radius:8px;flex-direction:column;padding:8px 10px;display:flex}.suggestions li.active{background:var(--surface-2)}.suggestion-label{font-weight:500}.suggestion-secondary{color:var(--text-2);font-size:11.5px}.suggestion-empty{color:var(--text-3);cursor:default!important}.load-hints{border:1px solid var(--border);color:var(--text-2);animation:fade-in .2s var(--ease);border-radius:12px;flex-direction:column;gap:6px;padding:10px 12px;font-size:12px;display:flex}.load-hints b{color:var(--text);font-weight:500}.submit{flex-direction:column;gap:10px;display:flex}.progress-sweep{height:2px;position:absolute;top:0;left:0;right:0;overflow:hidden}.progress-sweep span{background:var(--text);width:30%;height:2px;animation:1.2s cubic-bezier(.65,0,.35,1) infinite sweep;position:absolute}.search-title{flex-direction:column;gap:6px;display:flex}.shimmer{background:linear-gradient(90deg, var(--text-3) 0%, var(--text) 45%, var(--text-3) 90%);color:#0000;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:1.6s linear infinite shimmer}.steps{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.step{gap:12px;padding-bottom:16px;display:flex;position:relative}.step:not(:last-child):before{content:"";background:var(--border);width:1px;position:absolute;top:24px;bottom:4px;left:9.5px}.step-done:not(:last-child):before{background:var(--border-strong)}.step-mark{border:1.5px solid var(--border-strong);border-radius:999px;flex:none;place-items:center;width:20px;height:20px;display:grid}.step-done .step-mark{background:var(--accent);border-color:var(--accent);color:var(--accent-text);animation:pop .24s var(--ease)}.step-active .step-mark{border:2px solid var(--border-strong);border-top-color:var(--text);animation:.9s linear infinite spin}.step-failed .step-mark{border-color:var(--text)}.step-body{flex-direction:column;flex:1;gap:8px;min-width:0;padding-top:1px;display:flex}.step-pending .step-label{color:var(--text-3)}.step-active .step-label,.step-failed .step-label{font-weight:500}.route-rows{background:var(--surface-2);border-radius:12px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.route-row{color:var(--text-3);align-items:center;gap:10px;font-size:12px;transition:color .2s;display:flex}.route-row.tested,.route-row.testing{color:var(--text)}.route-row.testing .letter{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.reassure{animation:fade-in .3s var(--ease);align-items:center;gap:8px;margin-top:-8px;font-size:12px;display:flex}.letter{border:1px solid var(--border-strong);background:var(--surface-2);border-radius:999px;flex:none;place-items:center;width:22px;height:22px;font-size:11px;font-weight:600;transition:background .15s,color .15s;display:grid}.trip-header{align-items:center;gap:12px;display:flex}.trip-header-text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.trip-route{align-items:center;gap:6px;min-width:0;font-weight:500;display:flex}.trip-route .ellipsis{max-width:45%}.trip-header .square-btn{background:var(--surface-2);-webkit-backdrop-filter:none;backdrop-filter:none;width:36px;height:36px}.recommendation{flex-direction:column;gap:8px;display:flex}.why-btn{align-self:flex-start;margin-top:-8px}.blocked-box{border:1px solid var(--no-travel);background:#b455f512;border-radius:16px;gap:10px;padding:14px;display:flex}.blocked-box h2{margin-bottom:4px;font-size:15px;line-height:1.35}.blocked-box p{margin-bottom:12px}.blocked-box .nt{color:var(--no-travel);flex:none;margin-top:1px}.notice{background:var(--surface-2);color:var(--text-2);border-radius:12px;gap:10px;padding:10px 12px;font-size:12px;display:flex}.notice svg{flex:none;margin-top:1px}.cards{flex-direction:column;gap:10px;display:flex}.card{text-align:left;border:1px solid var(--border);width:100%;transition:transform .15s var(--ease), border-color .15s, background .15s;animation:card-in .35s var(--ease) both;background:0 0;border-radius:16px;flex-direction:column;gap:10px;padding:14px;display:flex}.card:nth-child(2){animation-delay:60ms}.card:nth-child(3){animation-delay:.12s}.card.hovered,.card:hover{border-color:var(--border-strong);transform:translateY(-2px)}.card.selected{border-color:var(--sel-border);background:#00000006;transform:none;box-shadow:0 0 0 3px #0000000a}.card.selected .letter{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.card-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.card-name{letter-spacing:-.01em;font-size:15px;font-weight:500}.badge{border:1px solid var(--border-strong);height:22px;color:var(--text-2);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:0 8px;font-size:10.5px;font-weight:600;display:inline-flex}.badge-safe{background:var(--accent);border-color:var(--accent);color:var(--accent-text);letter-spacing:.06em;animation:pop .3s var(--ease) .2s both}.badge-blocked{border-color:var(--no-travel);color:var(--text);letter-spacing:.06em}.badge-blocked svg{color:var(--no-travel)}.strip{border-radius:3px;gap:1px;height:6px;display:flex;overflow:hidden}.strip span{animation:strip-in .6s var(--ease) both;transform-origin:0;flex-basis:0}.stats{color:var(--text-2);flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.stat.strong{color:var(--text);font-weight:600}.why{animation:fade-in .2s var(--ease);flex-direction:column;gap:10px;margin-top:-6px;display:flex}.why table{border-collapse:collapse;width:100%;font-size:12px}.why th,.why td{text-align:right;padding:7px 8px}.why th[scope=row],.why thead th:first-child{text-align:left;color:var(--text-2);white-space:nowrap;font-weight:400}.why thead th{color:var(--text-2);font-weight:500}.why .win{color:var(--text);background:#0000000a;font-weight:600}.why tr.decided{outline:1px solid var(--sel-border);outline-offset:-1px;border-radius:10px}.decided-tag{background:var(--accent);color:var(--accent-text);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:9.5px;font-weight:600}.forecast{background:var(--surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border);max-width:720px;box-shadow:var(--shadow);animation:slide-up .4s var(--ease) both;border-radius:20px;align-items:center;gap:14px;margin:0 auto;padding:12px 14px 12px 12px;display:flex;position:absolute;bottom:32px;left:448px;right:196px}.play{background:var(--accent);width:40px;height:40px;color:var(--accent-text);border:0;border-radius:999px;flex:none;place-items:center;display:grid}.clock{white-space:nowrap;flex-direction:column;gap:4px;min-width:118px;display:flex}.corridor-pill{background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text);border-radius:999px;align-self:flex-start;align-items:center;gap:7px;padding:4px 10px 4px 8px;font-size:12.5px;font-weight:600;display:inline-flex}.corridor-pill i{border-radius:999px;flex:none;width:10px;height:10px;box-shadow:0 0 0 2px #fff}.clock>div{align-items:baseline;gap:8px;display:flex}.clock-time{letter-spacing:-.01em;font-size:17px;font-weight:600}.track-wrap{flex:1;min-width:120px;height:40px;position:relative}.track{background:#0000001f;border-radius:2px;height:4px;position:absolute;top:12px;left:0;right:0}.trip-window{background:#00000014;border-radius:5px;height:10px;position:absolute;top:9px}.track-fill{background:var(--text);border-radius:2px;height:4px;position:absolute;top:12px;left:0}.thumb{border:1.5px solid var(--text);pointer-events:none;width:16px;height:16px;transition:transform .12s var(--ease);background:#fff;border-radius:999px;margin-left:-8px;position:absolute;top:6px;box-shadow:0 2px 6px #00000040}.track-wrap:active .thumb{transform:scale(1.2)}.day{border-left:1px solid var(--border-strong);letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);padding-left:4px;font-size:10px;font-weight:500;line-height:14px;position:absolute;top:24px}.track-wrap input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.track-wrap:focus-within .thumb{outline:2px solid var(--text);outline-offset:2px}.legend{background:var(--surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border);width:168px;box-shadow:var(--shadow);animation:slide-up .4s var(--ease) 80ms both;border-radius:16px;flex-direction:column;gap:8px;padding:12px 14px;display:flex;position:absolute;bottom:32px;right:16px}.legend-head{color:var(--text-2);background:0 0;border:0;justify-content:space-between;align-items:center;padding:0;display:flex}.legend ul{flex-direction:column;gap:6px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.legend li{align-items:center;gap:8px;display:flex}.legend-tip{color:var(--text);font-weight:500}.swatch{vertical-align:-1px;border-radius:3px;flex:none;width:12px;height:12px;display:inline-block}.swatch.hatch{border:1px solid #9a9a9a;background:repeating-linear-gradient(45deg,#9a9a9a 0 2px,#0000 2px 4px)!important}.map-hint{background:var(--accent);height:32px;color:var(--accent-text);white-space:nowrap;animation:fade-in .2s var(--ease);border-radius:999px;align-items:center;margin-left:216px;padding:0 14px;font-size:12px;font-weight:500;display:flex;position:absolute;top:24px;left:50%;transform:translate(-50%)}.how{border:1px solid var(--border);width:min(680px,100% - 32px);max-height:calc(100% - 64px);box-shadow:var(--shadow);color:var(--text);border-radius:20px;padding:24px}.how::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000040}.how[open]{animation:pop .2s var(--ease)}.how h3{margin:18px 0 8px;font-size:13px}.how-steps{color:var(--text-2);flex-direction:column;gap:8px;margin:16px 0;padding-left:18px;display:flex}.how-steps b{color:var(--text);font-weight:500}.rules{border-collapse:collapse;width:100%;font-size:12px}.rules th,.rules td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:8px 6px}.rules thead th{color:var(--text-2);font-weight:500}.how-list{flex-direction:column;gap:6px;margin:0 0 16px;padding-left:18px;display:flex}.pin{border:4px solid var(--text);cursor:grab;width:20px;height:20px;animation:pin-drop .4s var(--ease) both;background:#fff;border-radius:999px;box-shadow:0 2px 8px #0000004d}.pin-destination{background:var(--text);outline:1.5px solid var(--text);border:3px solid #fff;border-radius:5px}.pin:active{cursor:grabbing}.me-dot{background:var(--text);border:3px solid #fff;border-radius:999px;width:14px;height:14px;animation:2.4s ease-in-out infinite breathe;box-shadow:0 0 0 8px #00000014}.place-label{pointer-events:none;flex-direction:column;align-items:center;gap:4px;display:flex}.place-label span{background:var(--accent);color:var(--accent-text);white-space:nowrap;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:600;box-shadow:0 2px 8px #0003}.place-label i{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 1px var(--accent);border:2px solid #fff;border-radius:999px}.radar{pointer-events:none;width:0;height:0}.radar span{width:240px;height:240px;animation:radar 1.8s var(--ease) infinite;opacity:0;background:#00000012;border:2px solid #000000b3;border-radius:999px;position:absolute;top:0;left:0}.truck{pointer-events:none;place-items:center;width:28px;height:28px;display:grid}.truck-body{will-change:transform;place-items:center;display:grid}.truck-trailer{fill:#fff;stroke:var(--text);stroke-width:1.6px}.truck-cab{fill:var(--text)}.truck-glass{fill:#fff;opacity:.85}.truck-active svg{filter:drop-shadow(0 2px 4px #00000059)}.truck-parked{opacity:.55}.truck-parked svg{transform:scale(.85)}.truck.arrived{opacity:.45}.truck.arrived.tagged{opacity:1}.truck-tag{background:var(--accent);color:var(--accent-text);font:600 11px var(--sans);white-space:nowrap;animation:pop .24s var(--ease) both;border-radius:999px;padding:3px 8px;display:none;position:absolute;top:30px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #00000040}.truck.tagged .truck-tag{display:block}.truck-bubble{background:var(--text);border-radius:999px;gap:3px;padding:5px 7px;display:none;position:absolute;bottom:30px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #00000040}.truck.typing .truck-bubble{display:flex}.truck-bubble i{background:#fff;border-radius:999px;width:4px;height:4px;animation:1s infinite dot}.truck-bubble i:nth-child(2){animation-delay:.15s}.truck-bubble i:nth-child(3){animation-delay:.3s}.maplibregl-popup-content{box-shadow:var(--shadow);font:inherit;border-radius:14px;padding:0}.popup-menu .maplibregl-popup-tip{display:none}.map-menu{min-width:190px;animation:pop .12s var(--ease);flex-direction:column;padding:4px;display:flex}.map-menu button{text-align:left;background:0 0;border:0;border-radius:8px;padding:9px 12px;font-size:13px}.map-menu button:hover,.map-menu button:focus-visible{background:var(--surface-2)}.popup-checkpoint .maplibregl-popup-close-button{width:28px;height:28px;color:var(--text-2);font-size:18px}.cp{scrollbar-width:thin;width:288px;max-height:min(420px,55vh);animation:pop .12s var(--ease);flex-direction:column;gap:12px;padding:14px 16px 12px;font-size:12.5px;display:flex;overflow-y:auto}.cp-head{justify-content:space-between;align-items:center;gap:8px;padding-right:20px;font-size:13px;display:flex}.risk-badge{letter-spacing:.06em;color:#000;border-radius:999px;align-items:center;height:22px;padding:0 9px;font-size:10.5px;font-weight:700;display:inline-flex}.risk-low{background:var(--low)}.risk-moderate{background:var(--moderate)}.risk-high{background:var(--high)}.risk-severe{background:var(--severe);color:#fff}.risk-no_travel{background:var(--no-travel);color:#fff}.risk-unknown{color:#fff;background:#9a9a9a}.cp-conditions{color:var(--text-2);margin-top:-6px;font-weight:500}.cp-rows{font-family:var(--mono);font-variant-numeric:tabular-nums;grid-template-columns:52px 1fr;gap:6px 10px;margin:0;display:grid}.cp-rows dt{font:500 10.5px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);align-self:center}.cp-rows dd{margin:0}.cp-why{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding-top:10px;display:flex}.cp-why .label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);font-size:10.5px;font-weight:500}.cp-why ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.cp-why li{color:var(--text-2);gap:8px;display:flex}.cp-why li.decisive{color:var(--text);font-weight:500}.cp-why .dot{border-radius:2px;flex:none;width:8px;height:8px;margin-top:5px}.cp-foot{color:var(--text-3);font-size:11px}.maplibregl-ctrl-attrib{font-size:10px}.map.satellite~.topbar .brand{background:var(--surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:12px;padding:4px 10px 4px 4px}.conditions,.route-note{color:var(--text-2);align-items:flex-start;gap:6px;font-size:12px;line-height:1.45;display:flex}.conditions svg,.route-note svg{flex:none;margin-top:2px}.conditions b{color:var(--text);font-weight:500}.route-note{background:var(--surface-2);color:var(--text);border-radius:10px;padding:7px 9px}.route-note.best{background:var(--accent);color:var(--accent-text)}.route-weather{animation:fade-in .25s var(--ease);flex-direction:column;gap:10px;padding-top:4px;display:flex}.route-weather .segmented{flex-wrap:wrap}.route-weather .segmented button{min-width:0;font-family:var(--sans);padding:0 8px;font-size:11.5px}.wx-grid{grid-template-columns:repeat(3,1fr);gap:6px;margin:0;display:grid}.wx-tile{background:var(--surface-2);border-radius:10px;padding:8px 9px}.wx-tile dt{letter-spacing:.04em;text-transform:uppercase;color:var(--text-2);margin-bottom:2px;font-size:10px;font-weight:500}.wx-tile dd{margin:0;font-size:13px;font-weight:600}.wx-tile .muted{font-size:10.5px;font-weight:400}.conditions-mix{flex-direction:column;gap:5px;display:flex}.mix-bar{border-radius:3px;gap:2px;height:6px;display:flex;overflow:hidden}.mix-bar span{background:var(--text);flex-basis:0}.wx-chart{cursor:crosshair;touch-action:pan-y;width:100%;height:auto;display:block}.wx-chart .threshold{stroke:var(--border-strong);stroke-dasharray:3 3}.wx-chart .threshold-label,.wx-chart .axis{font:500 8.5px var(--mono);fill:var(--text-3)}.wx-chart .axis-line{stroke:var(--border-strong)}.wx-chart .series-line{fill:none;stroke:var(--text);stroke-width:1.7px;stroke-linejoin:round}.wx-chart .series-dash{fill:none;stroke:var(--text-3);stroke-width:1.2px;stroke-dasharray:4 3}.wx-chart .bar{fill:var(--text);opacity:.8}.wx-chart .bar-light{fill:#fff;stroke:var(--text);stroke-width:1px}.wx-chart .wx-dot{stroke:#fff;stroke-width:1.2px;transition:r .12s}.wx-chart .crosshair{stroke:var(--text);stroke-width:1px;opacity:.35}.chart-legend{flex-wrap:wrap;gap:4px 10px;display:flex}.legend-item{align-items:center;gap:4px;display:inline-flex}.key{border-top:1.7px solid var(--text);width:14px;height:0;display:inline-block}.key-dash{border-top:1.2px dashed var(--text-3)}.key-bar{background:var(--text);border:0;width:8px;height:8px}.key-bar-light{border:1px solid var(--text);background:#fff;width:8px;height:8px}.readout{border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:6px;padding:10px 12px;font-size:12px;display:flex}.readout-conditions{font-weight:500}.readout-grid{grid-template-columns:70px 1fr;row-gap:3px;margin:0;display:grid}.readout-grid dt{color:var(--text-2)}.readout-grid dd{margin:0}.cp-table-wrap{border:1px solid var(--border);scrollbar-width:thin;border-radius:12px;max-height:240px;overflow-y:auto}.cp-table{border-collapse:collapse;width:100%;font-size:11.5px}.cp-table th{background:var(--surface-solid);text-align:left;color:var(--text-2);border-bottom:1px solid var(--border);padding:7px 8px;font-weight:500;position:sticky;top:0}.cp-table td{border-bottom:1px solid var(--border);white-space:nowrap;padding:6px 8px}.cp-table tbody tr{cursor:pointer;transition:background .12s}.cp-table tbody tr:hover,.cp-table tbody tr:focus-visible,.cp-table tbody tr.active{background:var(--surface-2);outline:none}.risk-pill{color:#000;border-radius:999px;padding:1px 7px;font-size:10px;font-weight:600;display:inline-block}.toasts{z-index:50;pointer-events:none;flex-direction:column;gap:8px;width:min(440px,100% - 32px);display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;background:var(--surface-solid);border:1px solid var(--border);border-left:4px solid var(--text);animation:toast-in .28s var(--ease) both;border-radius:14px;align-items:flex-start;gap:10px;padding:12px 12px 12px 14px;display:flex;box-shadow:0 12px 32px #0000002e}.toast-error{border-left-color:var(--severe)}.toast-warning{border-left-color:var(--high)}.toast-info{border-left-color:var(--text)}.toast-error .toast-icon{color:var(--severe)}.toast-warning .toast-icon{color:var(--high)}.toast-icon{flex:none;margin-top:1px}.toast-text{color:var(--text-2);flex-direction:column;flex:1;gap:2px;font-size:12.5px;line-height:1.45;display:flex}.toast-text strong{color:var(--text);font-size:13px;font-weight:600}.toast-close{width:26px;height:26px;color:var(--text-2);background:0 0;border:0;border-radius:8px;flex:none;place-items:center;display:grid}.toast-close:hover{background:var(--surface-2);color:var(--text)}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px)scale(.98)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes sweep{0%{transform:translate(-100%)}to{transform:translate(340%)}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes panel-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes card-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes strip-in{0%{transform:scaleX(0)}to{transform:none}}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes pin-drop{0%{opacity:0;translate:0 -12px;scale:.6}to{opacity:1;translate:0;scale:1}}@keyframes radar{0%{opacity:.9;transform:translate(-50%,-50%)scale(0)}to{opacity:0;transform:translate(-50%,-50%)scale(1)}}@keyframes breathe{50%{box-shadow:0 0 0 14px #0000000a}}@keyframes dot{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.radar{display:none}}@media (width<=719px){.sheet{z-index:5;background:var(--surface-solid);width:100%;max-height:none;transition:height .32s var(--ease);border-radius:20px 20px 0 0;flex-direction:column;display:flex;position:absolute;top:auto;bottom:0;left:0;overflow:hidden;box-shadow:0 -8px 32px #00000024}.sheet.dragging{transition:none}.sheet-handle{touch-action:none;cursor:grab;background:0 0;border:0;flex-direction:column;flex:none;align-items:center;gap:8px;width:100%;padding:8px 16px 6px;display:flex}.sheet-handle:active{cursor:grabbing}.sheet-grip{background:var(--border-strong);border-radius:3px;width:40px;height:5px}.sheet-summary{width:100%;color:var(--text);justify-content:space-between;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.sheet-summary svg{transition:transform .2s var(--ease);flex:none}.sheet-body{overscroll-behavior:contain;scrollbar-width:thin;flex:1;min-height:0;overflow-y:auto}.sheet-peek .sheet-body{visibility:hidden}.sheet .panel{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;padding:4px 16px 24px;animation:none}.sheet .panel>.panel-head h1{font-size:18px}.forecast{left:12px;right:12px;bottom:calc(var(--sheet-h,50%) + 12px);transition:bottom .32s var(--ease);gap:10px;padding:8px 10px}.sheet-full .forecast{display:none}.forecast .clock{min-width:92px}.forecast .clock .hint{display:none}.corridor-pill{white-space:normal;padding:3px 8px 3px 6px;font-size:11px}.legend{display:none}.map-hint{margin-left:0;top:64px}.maplibregl-ctrl-bottom-right{bottom:calc(var(--sheet-h,50%) + 76px);transition:bottom .32s var(--ease)}.clock-time{font-size:15px}}
