:root{--ink:#111827;--ink-soft:#5b6b7c;--paper:#f7f9fc;--paper-2:#eef3f9;--brand:#003b7c;--brand-mid:#0a5cb0;--brand-deep:#00264f;--accent:#2f8fff;--accent-soft:#2f8fff29;--ice:#e7f1ff;--line:#11182714;--danger:#b42318;--shadow:0 18px 40px #00264f14;--font-display:system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif;--font-body:system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;color:var(--ink);background:var(--paper);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(900px 420px at 12% -12%, #2f8fff29, transparent 58%), radial-gradient(700px 360px at 100% 0%, #003b7c14, transparent 50%), linear-gradient(180deg, #f4f7fb 0%, var(--paper) 45%, #f3f6fa 100%);min-height:100vh}a{color:var(--brand-mid)}button,input{font:inherit}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.auth-gate{z-index:2;place-items:center;min-height:100vh;padding:1.5rem;display:grid;position:relative}.auth-gate__panel{border:1px solid var(--line);-webkit-backdrop-filter:blur(16px)saturate(1.2);backdrop-filter:blur(16px)saturate(1.2);width:min(100%,400px);box-shadow:var(--shadow);background:#ffffffe0;border-radius:28px;padding:1.9rem 1.5rem 1.7rem;animation:.55s both rise}.auth-gate__logo{margin-bottom:1.15rem}.auth-gate__title{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .35rem;font-size:1.35rem;font-weight:600}.auth-gate__text{color:var(--ink-soft);margin:0 0 1.15rem}.auth-gate__form{gap:.65rem;display:grid}.auth-gate__form input{border:1px solid var(--line);background:#ffffffe6;border-radius:999px;outline:none;width:100%;min-height:50px;padding:.8rem 1.1rem}.auth-gate__form input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.auth-gate__error{color:var(--danger);margin:.75rem 0 0;font-size:.92rem}.page{width:min(680px,100% - 2rem);margin:0 auto;padding:1.5rem 0 3.5rem;position:relative}.atmosphere{pointer-events:none;z-index:0;background:radial-gradient(circle at 20% 10%,#2f8fff1a,#0000 28%),radial-gradient(circle at 80% 0,#003b7c0f,#0000 24%);position:fixed;inset:0}.hero,.ticker,.main,.footer,.legal{z-index:1;position:relative}.logo{align-items:center;gap:.75rem;display:inline-flex}.logo__mark{filter:drop-shadow(0 10px 18px #003b7c38);flex:none;width:44px;height:44px;display:block}.logo__mark circle:last-child{transform-origin:47px 17px;animation:2.4s ease-out infinite logoPulse}.logo--mark .logo__mark{width:44px;height:44px}.logo__wordmark{font-family:var(--font-display);letter-spacing:-.05em;color:var(--ink);font-size:clamp(1.55rem,5.5vw,1.95rem);font-weight:700;line-height:1}.logo__tld{color:var(--brand-mid);font-weight:600}.hero__logo .logo__mark{width:56px;height:56px}.hero__logo .logo__wordmark{font-size:clamp(1.9rem,6.8vw,2.55rem)}.auth-gate__logo .logo__mark{width:44px;height:44px}.auth-gate__logo .logo__wordmark{font-size:1.5rem}.hero{padding:1.1rem 0 1.25rem;animation:.75s cubic-bezier(.22,1,.36,1) both rise}.hero__logo{margin:0 0 1.35rem}.hero__headline{max-width:16ch;font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);margin:0 0 .55rem;font-size:clamp(1.55rem,5vw,2.05rem);font-weight:600;line-height:1.12}.hero__sub{max-width:32ch;color:var(--ink-soft);margin:0 0 1.5rem;font-size:1.05rem;line-height:1.45}.location{gap:.8rem;display:grid}.location__search{grid-template-columns:1fr auto;gap:.55rem;display:grid}.location__search input{border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:100%;min-height:50px;color:var(--ink);background:#ffffffc7;border-radius:999px;outline:none;padding:.8rem 1.1rem;transition:border-color .15s,box-shadow .15s}.location__search input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.location__active,.location__error{margin:0;font-size:.92rem}.location__active{color:var(--brand-mid)}.location__error{color:var(--danger)}.btn{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;min-height:50px;padding:.75rem 1.25rem;text-decoration:none;transition:transform .16s,background .16s,border-color .16s,box-shadow .16s;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:not(:disabled):hover{transform:translateY(-1px)}.btn--primary{background:var(--brand);color:#f5f9ff;font-weight:600;box-shadow:0 8px 22px #003b7c33}.btn--primary:not(:disabled):hover{background:var(--brand-deep)}.btn--ghost{border-color:var(--line);color:var(--brand);background:#ffffffb8;font-weight:600}.btn--ghost:not(:disabled):hover{background:#fff;border-color:#003b7c38}.ticker{margin:1.4rem 0 1.9rem;animation:.85s cubic-bezier(.22,1,.36,1) 60ms both rise}.ticker__eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--brand-mid);margin:0 0 .6rem;font-size:.76rem;font-weight:700}.ticker__viewport{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 7% 93%,#0000);mask-image:linear-gradient(90deg,#0000,#000 7% 93%,#0000)}.ticker__track{gap:.7rem;width:max-content;animation:40s linear infinite marquee;display:flex}.ticker:hover .ticker__track,.ticker:focus-within .ticker__track{animation-play-state:paused}.ticker--empty .ticker__track{opacity:.55}.ticker__chip{border:1px solid var(--line);color:var(--ink);white-space:nowrap;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffdb;border-radius:999px;align-items:baseline;gap:.55rem;padding:.65rem 1rem;display:inline-flex;box-shadow:0 8px 24px #00264f0f}.ticker__chip strong{font-family:var(--font-display);color:var(--brand);font-size:1.05rem;font-weight:700}.ticker__meta{color:var(--ink-soft);font-size:.88rem}.ticker__chip--ghost{box-shadow:none;cursor:default;background:#ffffff80}.main{gap:2.1rem;animation:.9s cubic-bezier(.22,1,.36,1) .12s both rise;display:grid}.results__header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.results__header h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.5rem}.results__hint{color:var(--ink-soft);margin:.35rem 0 0;font-size:.92rem}.toggle{border:1px solid var(--line);white-space:nowrap;background:#ffffffb3;border-radius:999px;align-items:center;gap:.45rem;padding:.5rem .8rem;font-size:.9rem;font-weight:600;display:inline-flex}.toggle input{accent-color:var(--brand-mid)}.station-list{gap:.15rem;margin:0;padding:0;list-style:none;display:grid}.station{border-bottom:1px solid var(--line);color:inherit;grid-template-columns:auto 1fr auto;align-items:center;gap:.95rem;padding:1rem .35rem;text-decoration:none;transition:background .2s,padding .2s;display:grid}.station:hover{background:#ffffff8c;border-radius:14px;padding-left:.65rem;padding-right:.65rem}.station--flash{animation:1.1s flash}.station__price{justify-items:end;min-width:5.6rem;display:grid}.station__amount{font-family:var(--font-display);color:var(--brand);font-size:1.4rem;font-weight:700;line-height:1}.station__unit{color:var(--ink-soft);font-size:.78rem}.station__title{font-weight:700;line-height:1.25}.station__sub{color:var(--ink-soft);margin-top:.2rem;font-size:.9rem}.station__meta{flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.5rem;display:flex}.badge{letter-spacing:.02em;background:var(--paper-2);color:var(--ink-soft);border-radius:999px;padding:.16rem .48rem;font-size:.72rem;font-weight:700;display:inline-flex}.badge--verified,.badge--exact{background:var(--accent-soft);color:var(--brand)}.badge--shared{color:var(--brand-mid);background:#003b7c1a}.badge--estimated{background:#0c1b2a12}.badge--adhoc{background:var(--brand);color:#f4f8ff}.station__connectors{color:var(--ink-soft);font-size:.78rem}.station__chevron{color:var(--brand-mid);font-size:1.2rem}.skeleton-list{gap:.75rem;display:grid}.skeleton-row{background:linear-gradient(90deg,#ffffff59,#d7e8ffd9,#ffffff59) 0 0/200% 100%;border-radius:16px;height:74px;animation:1.2s linear infinite shimmer}.state{color:var(--ink-soft);margin:0;padding:1rem 0}.state--error{color:var(--danger)}.bridge{border-top:1px solid var(--line);padding:1.55rem 0 .5rem}.bridge h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .4rem;font-size:1.45rem}.bridge p{color:var(--ink-soft);max-width:36ch;margin:0 0 1.05rem}.bridge__actions{flex-wrap:wrap;gap:.55rem;display:flex}.footer{border-top:1px solid var(--line);color:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;gap:.75rem 1.25rem;margin-top:2.6rem;padding-top:1.3rem;font-size:.9rem;display:flex}.footer__nav{gap:.85rem;display:flex}.footer__nav a{color:var(--brand);font-weight:600;text-decoration:none}.footer__nav a:hover{text-decoration:underline}.seo-faq{border-top:1px solid var(--line);padding-top:.4rem}.seo-faq h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .4rem;font-size:1.45rem}.seo-faq__intro{color:var(--ink-soft);max-width:40ch;margin:0 0 1.1rem}.seo-faq__list{gap:.95rem;margin:0;display:grid}.seo-faq__item dt{margin-bottom:.25rem;font-weight:700}.seo-faq__item dd{color:var(--ink-soft);margin:0;line-height:1.5}.legal{padding-top:.5rem;animation:.5s both rise}.legal__back{margin-bottom:1rem}.legal h1{font-family:var(--font-display);margin:0 0 .5rem;font-size:clamp(1.8rem,5vw,2.4rem)}.legal h2{font-family:var(--font-display);margin:1.5rem 0 .5rem;font-size:1.2rem}.legal p,.legal li{color:var(--ink-soft);line-height:1.55}.legal__lede{font-size:1.05rem;color:var(--ink)!important}.legal ul{padding-left:1.1rem}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes flash{0%,to{background:0 0}30%{background:#3aa0ff38}}@keyframes logoPulse{0%{opacity:.55;transform:scale(.75)}70%{opacity:0;transform:scale(1.35)}to{opacity:0;transform:scale(1.35)}}@media (prefers-reduced-motion:reduce){.ticker__track,.hero,.ticker,.main,.legal,.skeleton-row,.station--flash,.logo__mark circle:last-child{animation:none!important}.ticker__viewport{overflow-x:auto}}@media (width<=520px){.page{width:min(100% - 1.25rem,720px)}.results__header{flex-direction:column}.location__search{grid-template-columns:1fr}.station{grid-template-columns:auto 1fr}.station__chevron{display:none}}
