:root{color-scheme:light;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#0f172a;background:#f4f7f6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:#f4f7f6;color:#0f172a}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.page-shell{min-height:100vh;background:linear-gradient(180deg,#e6fffb 0,#f4f7f6 240px),#f4f7f6}.container{width:min(1180px,calc(100% - 32px));margin:0 auto}.site-header{position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(15,118,110,.14);background:#f4f7f6f0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.header-stack{display:grid;gap:12px;padding:14px 0 16px}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px}.brand-block{display:flex;align-items:center;gap:14px;min-width:0}.brand-badge{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:#0f766e;color:#fff;box-shadow:0 12px 28px #0f766e2e;font-size:22px}.brand-copy h1{margin:0;font-size:clamp(1.2rem,2vw,1.8rem);line-height:1.1}.brand-copy p{margin:4px 0 0;color:#475569;font-size:.95rem}.bonus-link{display:inline-flex;align-items:center;justify-content:center;padding:11px 16px;border-radius:999px;background:#f97316;color:#fff;font-weight:700;box-shadow:0 14px 32px #f9731642;white-space:nowrap}.nav-bar{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}.nav-links{display:flex;flex-wrap:wrap;gap:10px}.nav-link{padding:9px 12px;border-radius:999px;background:#fff;border:1px solid rgba(15,23,42,.08);color:#0f172a;font-size:.88rem;font-weight:700;box-shadow:0 8px 18px #0f172a0a}.nav-link:hover{border-color:#0f766e52;color:#0f766e}.header-search{display:flex;gap:8px;align-items:center;min-width:min(100%,420px)}.header-search input{flex:1;min-height:44px;border:1px solid #cbd5e1;border-radius:12px;padding:10px 14px;background:#fff;color:#0f172a}.header-search button{min-height:44px;padding:0 16px;border:0;border-radius:12px;background:#0f766e;color:#fff;font-weight:700;cursor:pointer}.header-search button:hover{background:#115e59}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;white-space:nowrap}.main-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:22px;padding:22px 0 36px}.surface-card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:18px;box-shadow:0 18px 42px #0f172a14}.tool-card,.detail-card{padding:22px}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:#ccfbf1;color:#115e59;font-size:.82rem;font-weight:700}.hero-title{margin:14px 0 8px;font-size:clamp(2rem,5vw,3rem);line-height:1.02;letter-spacing:-.03em}.hero-copy{margin:0 0 16px;max-width:60ch;color:#334155;font-size:1rem}.meta-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.meta-pill{padding:12px 14px;border-radius:14px;background:#f8fafc;border:1px solid rgba(15,23,42,.06)}.meta-pill strong,.mini-stat strong{display:block;font-size:1rem;color:#0f172a}.meta-pill span,.mini-stat span{color:#64748b;font-size:.88rem}.mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:20px}.mini-stat{padding:12px;border-radius:14px;background:#0f172a;color:#fff}.mini-stat span{color:#ffffffb3}.filters-grid{display:grid;grid-template-columns:1.5fr repeat(3,minmax(0,1fr));gap:12px}.field-group{display:flex;flex-direction:column;gap:6px}.field-group label{font-size:.88rem;font-weight:700;color:#334155}.field-control{width:100%;min-height:48px;border:1px solid #cbd5e1;border-radius:12px;padding:12px 14px;background:#fff;color:#0f172a}.field-control:focus{outline:2px solid #14b8a6;outline-offset:1px;border-color:#14b8a6}.button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.primary-button,.secondary-button,.text-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 16px;border-radius:12px;border:1px solid transparent;cursor:pointer;transition:.16s ease}.primary-button{background:#0f766e;color:#fff;font-weight:700}.primary-button:hover{background:#115e59}.secondary-button{background:#fff;border-color:#cbd5e1;color:#0f172a;font-weight:600}.secondary-button:hover,.text-button:hover{border-color:#94a3b8;background:#f8fafc}.text-button{background:transparent;border-color:#94a3b899;color:#475569}.helper-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid rgba(148,163,184,.22)}.helper-row p{margin:0;color:#475569;font-size:.92rem}.source-note{color:#475569;font-size:.92rem}.source-note a{color:#0f766e;font-weight:700}.results-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:22px}.results-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center}.results-header h2,.section-title{margin:0;font-size:1.32rem}.results-header p{margin:0;color:#475569}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.info-chip{padding:8px 10px;border-radius:999px;background:#ecfeff;color:#155e75;font-size:.82rem;font-weight:700}.train-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.train-card{padding:18px;border-radius:16px;border:1px solid rgba(15,23,42,.08);background:#fff;box-shadow:0 14px 32px #0f172a0f}.train-card.active{border-color:#0f766e75;box-shadow:0 20px 36px #0f766e1f}.train-topline,.detail-topline{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.train-number{color:#0f766e;font-size:.9rem;font-weight:700}.status-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px;font-size:.8rem;font-weight:700}.status-badge.today{background:#dcfce7;color:#166534}.status-badge.en-route{background:#fef3c7;color:#92400e}.status-badge.tomorrow{background:#e2e8f0;color:#334155}.train-card h3,.detail-card h2{margin:12px 0 8px;font-size:1.2rem}.route-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#334155;font-weight:600}.route-arrow{color:#0f766e}.time-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.time-box,.detail-stat{padding:12px;border-radius:14px;background:#f8fafc}.time-box strong,.detail-stat strong{display:block;color:#0f172a}.time-box span,.detail-stat span{color:#64748b;font-size:.82rem}.tag-list{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 16px}.tag{padding:7px 10px;border-radius:999px;background:#f1f5f9;color:#334155;font-size:.8rem;font-weight:700}.train-card p,.detail-card p,.section-copy{margin:0;color:#475569}.detail-card{position:sticky;top:88px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.detail-list,.faq-list,.link-list{display:grid;gap:12px}.detail-list li,.faq-list li{color:#334155}.detail-list li+li,.faq-list li+li{margin-top:8px}.section-stack{display:grid;gap:18px;margin-top:32px}.section-card{padding:22px}.station-grid,.fare-grid,.link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.station-card,.fare-card,.link-card{padding:18px;border-radius:16px;background:#fff;border:1px solid rgba(15,23,42,.08)}.station-card h3,.fare-card h3,.link-card h3{margin:0 0 8px;font-size:1.05rem}.station-meta,.fare-meta{margin:10px 0 0;display:grid;gap:8px}.station-meta span,.fare-meta span{display:block;color:#475569}.section-card ul{padding-left:18px}.empty-state{padding:26px;border-radius:16px;background:#fff;border:1px dashed rgba(148,163,184,.8);color:#475569}.site-footer{padding:32px 0 48px;color:#475569;font-size:.92rem}.site-footer strong{color:#0f172a}@media (max-width: 1100px){.main-grid{grid-template-columns:1fr}.detail-card{position:static}.train-grid,.station-grid,.fare-grid,.link-grid{grid-template-columns:1fr 1fr}}@media (max-width: 760px){.container{width:min(100% - 24px,100%)}.header-inner{align-items:flex-start;flex-direction:column}.nav-bar,.header-search{width:100%}.header-search{flex-direction:column;align-items:stretch}.bonus-link{width:100%}.tool-card,.detail-card,.section-card{padding:18px}.meta-strip,.mini-grid,.filters-grid,.time-grid,.detail-grid,.train-grid,.station-grid,.fare-grid,.link-grid{grid-template-columns:1fr}.hero-title{font-size:2rem}}
