*,:before,:after{box-sizing:border-box}html,body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f7f7f8;margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}#root{min-height:100svh}.sms{background:var(--card);border:1px solid var(--border);border-radius:12px;margin-top:1rem;padding:1rem;box-shadow:0 1px 4px #1c17140f}.sms h3{color:var(--text);margin:0 0 .25rem;font-size:1.1rem;font-weight:700}.sms__lede{color:var(--muted);margin:0 0 .875rem;font-size:.9rem}.sms__form{flex-direction:column;gap:.75rem;display:flex}.sms__field{flex-direction:column;gap:.35rem;font-size:.95rem;display:flex}.sms__field span{color:var(--text);font-weight:600}.sms__field input{font:inherit;border:1px solid var(--border);background:var(--card);min-height:44px;color:var(--text);border-radius:8px;padding:.65rem .75rem}.sms__field input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.sms__check{cursor:pointer;color:var(--text);align-items:center;gap:.6rem;padding:.25rem 0;font-size:.95rem;display:flex}.sms__check input{width:20px;height:20px;accent-color:var(--accent)}.sms__btn{font:inherit;background:var(--accent);color:#fff;cursor:pointer;letter-spacing:.01em;border:none;border-radius:8px;min-height:48px;padding:.75rem 1rem;font-weight:700}.sms__btn:disabled{cursor:not-allowed;background:#d4a9a4}.sms__btn:hover:not(:disabled){background:var(--accent-hover)}.sms__error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:0;padding:.65rem .85rem;font-size:.9rem}.sms__fine{color:var(--muted-light);margin:0;font-size:.8rem;line-height:1.4}.sms--success{background:var(--accent-muted);border-color:#e8b8b3;border-left:3px solid var(--accent)}.sms--success h3{color:var(--accent)}.sms--success p{color:var(--text)}:root{--accent:#c9321f;--accent-hover:#a8281a;--accent-muted:#f5e8e6;--bg:#f7f4f0;--card:#fff;--border:#e2d8cf;--text:#1c1714;--muted:#6b5e56;--muted-light:#a0948c}body{background:var(--bg)}.home{max-width:560px;color:var(--text);margin:0 auto;padding:1.75rem 1rem 3rem;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.home__header{text-align:center;margin-bottom:1.75rem}.home__header-eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);background:var(--accent-muted);border-radius:4px;margin-bottom:.5rem;padding:.2em .55em;font-size:.7rem;font-weight:700;display:inline-block}.home__header h1{letter-spacing:-.02em;color:var(--text);margin:0 0 .35rem;font-size:2rem;font-weight:800}.home__header p{color:var(--muted);margin:0;font-size:.95rem}.lookup{background:var(--card);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.875rem;padding:1rem;display:flex;box-shadow:0 1px 4px #1c17140f}.field{flex-direction:column;gap:.35rem;font-size:.95rem;display:flex}.field span{color:var(--text);font-weight:600}.field select,.field input{font:inherit;border:1px solid var(--border);background:var(--card);min-height:44px;color:var(--text);border-radius:8px;padding:.65rem .75rem}.field select:focus,.field input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.btn{font:inherit;background:var(--accent);color:#fff;cursor:pointer;letter-spacing:.01em;border:none;border-radius:8px;min-height:48px;padding:.75rem 1rem;font-weight:700}.btn:disabled{cursor:not-allowed;background:#d4a9a4}.btn:hover:not(:disabled){background:var(--accent-hover)}.coverage{color:var(--muted-light);text-align:center;margin-top:.6rem;font-size:.82rem}.coverage__soon{color:#c4b8b0}.error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-top:1rem;padding:.75rem 1rem;font-size:.95rem}.banner{border-radius:8px;margin-top:1rem;padding:.875rem 1rem;font-size:.95rem}.banner ul{margin:.35rem 0 0;padding-left:1.25rem}.banner--holiday{color:#7c2d12;background:#fff7ed;border:1px solid #fed7aa}.result{background:var(--card);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:12px;margin-top:1.25rem;padding:1rem 1rem 1rem 1.1rem;box-shadow:0 1px 4px #1c17140f}.result h2{margin:0 0 .15rem;font-size:1.15rem;font-weight:700}.result__city{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 .9rem;font-size:.875rem;font-weight:500}.result__schedule+.result__schedule{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.result__cross{color:var(--muted);margin:0 0 .5rem;font-size:.9rem}.result__grid{grid-template-columns:1fr;gap:.25rem 1rem;margin:0;display:grid}.result__grid dt{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:.5rem;font-size:.8rem;font-weight:600}.result__grid dd{color:var(--text);margin:0;font-size:1rem}@media (width>=480px){.result__grid{grid-template-columns:160px 1fr}.result__grid dt{margin-top:.35rem}}.result__overnight{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.result__link{color:var(--accent);font-size:.9rem;text-decoration:none}.result__link:hover{text-decoration:underline}.home__footer{text-align:center;color:var(--muted-light);margin-top:2rem;font-size:.8rem;line-height:1.8}.home__footer-link{color:var(--muted);text-underline-offset:2px;text-decoration:underline}.home__footer-link:hover{color:var(--accent)}.city{color:#1a1a1a;max-width:720px;margin:0 auto;padding:1.25rem 1rem 3rem;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.55}.city__crumbs{margin-bottom:.75rem;font-size:.95rem}.city__crumbs a{color:#2563eb;text-decoration:none}.city__crumbs a:hover{text-decoration:underline}.city__header h1{margin:0 0 .4rem;font-size:1.5rem}.city__updated,.city__source{color:#555;margin:0;font-size:.9rem}.city__source{margin-top:.15rem}.city__source a{color:#2563eb;word-break:break-all}.city__section{background:#fff;border:1px solid #e5e5e5;border-radius:12px;margin-top:1.5rem;padding:1rem 1.1rem;box-shadow:0 1px 2px #0000000a}.city__section h2{margin:0 0 .6rem;font-size:1.15rem}.city__section p{margin:0 0 .7rem}.city__section p:last-child{margin-bottom:0}.city__holidays{margin:0;padding-left:1.2rem}.city__holidays li{margin-bottom:.35rem;font-size:.95rem}.city__faq{margin:0}.city__faq-item{border-top:1px solid #eee;padding:.75rem 0}.city__faq-item:first-child{border-top:none;padding-top:0}.city__faq dt{margin-bottom:.25rem;font-weight:600}.city__faq dd{color:#333;margin:0}.city__error{color:#991b1b}@media (width>=720px){.city__header h1{font-size:1.85rem}}.city__footer{text-align:center;color:#888;margin-top:2rem;font-size:.8rem;line-height:1.4}
