@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/barlow-latin-400-normal.woff2) format("woff2");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-weight:500;font-display:swap;src:url(/fonts/barlow-latin-500-normal.woff2) format("woff2");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-weight:600;font-display:swap;src:url(/fonts/barlow-latin-600-normal.woff2) format("woff2");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-weight:500;font-display:swap;src:url(/fonts/barlow-condensed-latin-500-normal.woff2) format("woff2");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-weight:600;font-display:swap;src:url(/fonts/barlow-condensed-latin-600-normal.woff2) format("woff2");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-weight:700;font-display:swap;src:url(/fonts/barlow-condensed-latin-700-normal.woff2) format("woff2");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{--ink: #16211e;--muted: #4a5752;--surface: rgba(244, 247, 243, .94);--line: rgba(22, 58, 48, .2);--brand: #0c5849;--brand-deep: #073f34;--signal: #e3bb34;--error: #a6322f;--success: #2f7a4a;--page-bg: #9db2bd;--chrome: rgba(9, 28, 24, .88);--chrome-text: #f6f8f3;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);font-family:Barlow,sans-serif;color:var(--ink);background:var(--page-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:radial-gradient(1200px 600px at 10% -10%,rgba(12,88,73,.18),transparent 60%),radial-gradient(900px 500px at 100% 0%,rgba(227,187,52,.12),transparent 55%),var(--page-bg)}button{font:inherit;cursor:pointer}a{color:inherit}#app{min-height:100dvh;display:flex;flex-direction:column}.shell{width:min(640px,100%);margin:0 auto;flex:1;display:flex;flex-direction:column;padding:calc(12px + var(--safe-top)) calc(16px + var(--safe-right)) calc(16px + var(--safe-bottom)) calc(16px + var(--safe-left))}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;animation:enter-down .42s ease-out both;position:relative;z-index:5}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-mark{width:36px;height:36px;border-radius:6px;object-fit:cover;flex-shrink:0}.brand-text{min-width:0}.brand-text strong{display:block;font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:20px;letter-spacing:.04em;line-height:1;color:var(--brand-deep)}.brand-text span{display:block;font-family:Barlow Condensed,sans-serif;font-weight:600;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-deep);margin-top:3px}.top-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.guide-link{min-height:44px;display:inline-flex;align-items:center;font-family:Barlow Condensed,sans-serif;font-weight:600;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-deep);text-decoration:underline;text-underline-offset:3px}.lang-menu{position:relative;flex-shrink:0}.lang-trigger{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;border:0;background:transparent;cursor:pointer}.lang-trigger:focus-visible,.lang-list li:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.lang-menu .flag{display:block;flex-shrink:0;width:22px;height:16px;border-radius:1px;box-shadow:inset 0 0 0 1px #0000001f}.lang-list{position:absolute;top:100%;right:0;z-index:10;min-width:170px;margin:4px 0 0;padding:4px 0;list-style:none;border-radius:8px;background:#fff;box-shadow:0 8px 24px #091c1838}.lang-list li{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 14px;color:#10201b;font-size:15px;cursor:pointer}.lang-list li:hover{background:#edf1ef}.lang-list li[aria-selected=true]{font-weight:700;color:#1e7a3c}.meta{margin:0 0 10px;font-size:13px;font-weight:600;letter-spacing:.03em;color:var(--brand-deep);min-height:1.2em}.list{display:flex;flex-direction:column;gap:12px;flex:1}.card{--card-surface: #ffffff;--card-sunken: #edf1ef;--card-border: #e2e7e4;--card-track: #cfd8d4;--card-text: #10201b;--card-secondary: #41534c;--card-muted: #5e706a;--card-on: #1e7a3c;--card-closed: #b42318;position:relative;background:var(--card-surface);border:1px solid var(--card-border);border-radius:16px;box-shadow:0 4px 12px #10201b12;overflow:hidden;padding:12px 16px 12px 20px}.card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--card-track)}.card-on:before{background:var(--card-on)}.card-off{background:var(--card-sunken);box-shadow:none}.card-closed:before{background:var(--card-closed)}.list-enter .card{animation:enter-up .42s ease-out both}.list-enter .card:nth-child(2){animation-delay:40ms}.list-enter .card:nth-child(3){animation-delay:80ms}.list-enter .card:nth-child(4){animation-delay:.12s}.list-enter .card:nth-child(n+5){animation-delay:.16s}.card svg{flex-shrink:0}.card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.card-head h2{margin:0;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:18px;line-height:24px;font-weight:700;color:var(--card-secondary)}.card-on .card-head h2{color:var(--card-on)}.card-closed .card-head h2{color:var(--card-closed)}.distance{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;color:var(--card-muted)}.pill.pill-on,.pill.pill-closed,.pill.pill-free{min-width:0;padding:3px 10px;background:var(--card-on);color:#fff;font-size:12px;white-space:nowrap}.pill.pill-closed{background:var(--card-closed)}.pill.pill-free{background:var(--card-surface);color:var(--card-muted)}.distance svg{width:13px;height:13px}.dirs{display:flex;flex-direction:column}.waits{margin:10px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.wait{display:flex;align-items:center;gap:6px;font-size:14px;line-height:20px;color:var(--card-text)}.wait svg{flex-shrink:0;width:15px;height:15px;color:var(--card-muted)}.wait-bom{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wait-time{flex-shrink:0;font-weight:700;font-variant-numeric:tabular-nums}.run{margin-top:12px}.run-head{display:flex;align-items:center;gap:12px}.run-left{flex:1;min-width:0;display:inline-flex;align-items:center;gap:6px;font-size:15px;line-height:20px;font-weight:700;color:var(--card-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.run-left svg{width:15px;height:15px;color:var(--card-on)}.pill{flex-shrink:0;min-width:88px;padding:4px 12px;border-radius:999px;background:var(--card-sunken);color:var(--card-text);font-size:13px;font-weight:600;text-align:center}.road{position:relative;height:28px;margin-top:8px;display:flex;align-items:center}.road-track{flex:1;height:4px;margin:0 5px;border-radius:999px;background:var(--card-track);overflow:hidden}.road-fill{display:block;height:100%;border-radius:999px;background:var(--card-on)}.road-end{position:absolute;top:9px;width:10px;height:10px;border-radius:50%;box-sizing:border-box}.road-end-a{left:0;background:var(--card-on)}.road-end-b{right:0;border:2px solid var(--card-on);background:var(--card-surface)}.road-plow-lane{position:absolute;inset:0 5px}.road-plow{position:absolute;top:0;width:28px;height:28px;margin-left:-14px;display:flex;align-items:center;justify-content:center}.road-plow svg{width:22px;height:25px;transform:rotate(90deg)}.run-ends{display:flex;justify-content:space-between;gap:12px;margin-top:4px;font-size:13px;line-height:19px}.run-ends span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--card-secondary)}.run-ends span:last-child{text-align:right;font-weight:600;color:var(--card-text)}.state{border:1px solid var(--line);border-radius:2px;background:var(--surface);padding:18px 16px;color:var(--muted);font-size:15px;line-height:1.4}.state-error{color:var(--error);border-color:#a6322f59}.loading{display:flex;align-items:center;justify-content:center;gap:10px;min-height:28vh;color:var(--ink);font-family:Barlow Condensed,sans-serif;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.spinner{width:22px;height:22px;border:2px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite}.footer{margin-top:28px;padding:14px 0 calc(8px + var(--safe-bottom));display:flex;justify-content:center;gap:24px;border-top:1px solid var(--line)}.footer a{min-height:44px;display:inline-flex;align-items:center;font-family:Barlow Condensed,sans-serif;font-weight:600;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-deep);text-decoration:none}.footer a:hover{text-decoration:underline;text-underline-offset:3px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes enter-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@keyframes enter-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(min-width:640px){.shell{padding:calc(24px + var(--safe-top)) calc(24px + var(--safe-right)) calc(24px + var(--safe-bottom)) calc(24px + var(--safe-left))}}
