.line-guide{--green:#9bcc2e;--ink:#202b28;--muted:#62706a;--paper:#fff;--wash:#f5f7ef;--line:#e0e5da;--deep:#354e20;--radius:14px}
.line-guide *{box-sizing:border-box}
.line-guide{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei","PingFang SC","Noto Sans CJK SC",sans-serif;font-size:16px;line-height:1.75}
.line-guide a{color:inherit;text-decoration:none}
.line-guide button{font:inherit;color:inherit;cursor:pointer}
.line-guide button,.line-guide a,.line-guide summary{-webkit-tap-highlight-color:transparent}
.line-guide a:hover{text-decoration:underline;text-underline-offset:4px}
.line-guide button:focus-visible,.line-guide a:focus-visible,.line-guide summary:focus-visible,.line-guide [tabindex]:focus-visible{outline:3px solid #557a17;outline-offset:5px}
.line-guide img{display:block;width:100%;height:auto}
.line-guide h1,.line-guide h2,.line-guide h3,.line-guide h4,.line-guide p,.line-guide figure{margin:0}
.line-guide h1,.line-guide h2,.line-guide h3,.line-guide h4{line-height:1.35}
.line-guide p{overflow-wrap:anywhere}
.line-guide [hidden]{display:none!important}
.line-guide .wrap{width:min(1200px,calc(100% - 80px));margin-inline:auto}
.line-guide .skip{position:fixed;top:-100px;left:20px;padding:12px;background:white;z-index:99}
.line-guide .skip:focus{top:10px}
.line-guide .site-header{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:20}
.line-guide .header-inner{max-width:1440px;padding:18px 40px;margin:auto;display:flex;align-items:center;gap:38px}
.line-guide .brand{display:inline-flex;align-items:center;gap:10px;font-size:22px;font-weight:750;letter-spacing:-.6px;white-space:nowrap}
.line-guide .brand img{width:36px;height:36px;object-fit:contain}
.line-guide .header-line{display:flex;align-items:center;gap:9px;font-size:14px}
.line-guide .line-badge{display:inline-flex;justify-content:center;align-items:center;border-radius:6px;background:var(--green);color:#24330c;font-size:17px;font-weight:750;width:30px;height:30px}
.line-guide .languages{margin-left:auto;display:flex;gap:4px;align-items:center;font-size:13px}
.line-guide .languages a{padding:5px 9px;white-space:nowrap;border-radius:5px}
.line-guide .languages [aria-current]{background:#edf3e4;font-weight:700;color:var(--deep)}
.line-guide .hero{display:grid;grid-template-columns:1fr 1.14fr;gap:46px;padding-block:66px 60px;align-items:center}
.line-guide .eyebrow{font-size:12px;letter-spacing:2px;font-weight:750;color:#527329;margin-bottom:16px}
.line-guide .line-heading{display:flex;align-items:center;gap:10px;font-size:14px;margin-bottom:24px}
.line-guide .hero .hero-title{font-size:clamp(36px,3.7vw,50px);letter-spacing:-1.8px;line-height:1.25;margin-bottom:24px}
.line-guide .hero-description{color:var(--muted);font-size:16px;max-width:470px}
.line-guide .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.line-guide .button{display:inline-flex;align-items:center;justify-content:center;gap:22px;border-radius:7px;padding:11px 18px;font-size:14px;font-weight:650;line-height:1.6;min-height:46px}
.line-guide .button:hover{text-decoration:none;filter:brightness(.96)}
.line-guide .primary{background:var(--green);color:var(--line-text,#23300e);border:1px solid var(--green)}
.line-guide .secondary{border:1px solid #cdd5c6;background:white}
.line-guide .hero-image{position:relative;border-radius:var(--radius);overflow:hidden;height:446px;background:#164f80}
.line-guide .hero-image img{width:100%;height:100%;object-fit:cover;object-position:52% center}
.line-guide .hero-image:after{content:"";position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#001b32aa);pointer-events:none}
.line-guide .hero-image figcaption{position:absolute;bottom:20px;left:22px;right:22px;color:white;font-size:12px;z-index:1;letter-spacing:.4px}
.line-guide .line-section{background:var(--wash);padding:38px 0 24px}
.line-guide .line-intro{display:grid;grid-template-columns:1fr 1.3fr;gap:80px;margin-bottom:30px}
.line-guide .line-intro h2{font-size:22px}
.line-guide .line-intro p{font-size:14px;color:var(--muted)}
.line-guide .rail-directions{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:14px}
.line-guide .rail-scroll{overflow-x:auto;padding-bottom:8px}
.line-guide .rail{display:flex;position:relative;min-width:720px}
.line-guide .rail:before{content:"";position:absolute;top:9px;left:8.3%;right:8.3%;height:4px;background:var(--green)}
.line-guide .rail-stop{flex:1;display:flex;align-items:center;flex-direction:column;gap:14px;text-align:center;font-size:14px;padding-inline:4px;line-height:1.5}
.line-guide .rail-dot{display:block;width:22px;height:22px;border:5px solid var(--green);background:white;border-radius:50%;position:relative}
.line-guide .rail-stop:hover .rail-dot{background:var(--deep)}
.line-guide .route-note{font-size:12px;color:var(--muted);text-align:center;margin:14px 0 20px}
.line-guide .all-stations{border-top:1px solid var(--line);padding-top:16px;font-size:13px}
.line-guide .all-stations summary{cursor:pointer;color:var(--deep);width:fit-content}
.line-guide .all-stations ol{padding:20px 0;list-style:none;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 25px}
.line-guide .all-stations li a{display:flex;gap:12px;align-items:baseline}
.line-guide .all-stations li span{color:#73816b;font-size:11px}
.line-guide .all-stations>.text-link{margin-bottom:10px}
.line-guide .section-heading h2{font-size:32px;letter-spacing:-.7px}
.line-guide .section-heading>p:last-child:not(.eyebrow){color:var(--muted);font-size:15px;margin-top:15px}
.line-guide .places-section{padding-block:70px 36px}
.line-guide .filter-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:28px 0 30px}
.line-guide .filters{display:flex;gap:8px;flex-wrap:wrap}
.line-guide .filters button{border:1px solid var(--line);background:white;border-radius:30px;padding:8px 17px;font-size:13px}
.line-guide .filters [aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}
.line-guide .result-count{white-space:nowrap;font-size:12px;color:var(--muted)}
.line-guide .place-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 28px}
.line-guide .place{min-width:0;scroll-margin-top:100px;display:flex;flex-direction:column;border-bottom:1px solid var(--line)}
.line-guide .place-image{position:relative;aspect-ratio:1.65;border-radius:10px;overflow:hidden;background:var(--wash)}
.line-guide .place-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.line-guide .place-image:hover img{transform:scale(1.025)}
.line-guide .place-number{position:absolute;top:12px;left:12px;background:#fffef3f0;color:var(--ink);border-radius:50%;width:32px;height:32px;display:grid;place-items:center;font-size:12px;font-weight:750}
.line-guide .place-content{padding:19px 0 20px;display:flex;flex:1;flex-direction:column}
.line-guide .station-label{color:#546b33;font-size:12px;display:flex;align-items:center;gap:7px;width:fit-content;margin-bottom:10px}
.line-guide .station-label i{width:7px;height:7px;border-radius:50%;background:var(--green)}
.line-guide .place h3{font-size:21px;margin-bottom:8px}
.line-guide .place-subtitle{font-size:14px;font-weight:600;color:#526b39;margin-bottom:12px}
.line-guide .place-content>p:not(.place-subtitle):not(.duration){font-size:14px;color:var(--muted);margin-bottom:18px}
.line-guide .arrival{border-left:2px solid #d5e5b7;padding-left:13px;margin-top:auto}
.line-guide .arrival strong{font-size:12px;font-weight:650}
.line-guide .arrival p{font-size:13px;line-height:1.75;color:var(--muted);margin-top:4px}
.line-guide .duration{font-size:12px;color:var(--muted);margin:15px 0}
.line-guide .place-links{display:flex;justify-content:space-between;gap:12px;font-size:12px;font-weight:600}
.line-guide .place-links a span{margin-left:7px}
.line-guide .trips-section{background:var(--wash);padding-block:60px}
.line-guide .trip-tabs{display:flex;gap:12px;margin:30px 0 36px;border-bottom:1px solid #d8dfd0}
.line-guide .trip-tabs button{border:0;border-bottom:3px solid transparent;background:transparent;font-size:14px;padding:14px 12px;font-weight:600;text-align:left}
.line-guide .trip-tabs [aria-selected=true]{border-color:#648f25;color:#3f641a}
.line-guide .trip-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:80px}
.line-guide .trip-time{display:inline-block;background:#e4edcf;color:#43601e;border-radius:5px;font-size:13px;padding:4px 10px;margin-bottom:18px}
.line-guide .trip-intro h3{font-size:29px;letter-spacing:-.5px;margin-bottom:20px}
.line-guide .trip-intro>p{font-size:15px;color:var(--muted)}
.line-guide .trip-intro .trip-meta{font-size:12px;margin-top:20px;color:#506c37}
.line-guide .trip-photo{margin-top:26px;border-radius:10px;overflow:hidden;aspect-ratio:2.3}
.line-guide .trip-photo img{width:100%;height:100%;object-fit:cover}
.line-guide .trip-steps{list-style:none;margin:0;padding:0}
.line-guide .trip-steps li{display:grid;grid-template-columns:34px 1fr;gap:18px;position:relative}
.line-guide .trip-steps li:not(:last-child):before{content:"";position:absolute;top:33px;bottom:0;left:16px;border-left:1px solid #bacf95}
.line-guide .step-number{width:34px;height:34px;background:white;border:1px solid #accc7b;color:#3e5d20;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;z-index:1}
.line-guide .step-time{font-size:12px;color:#6b7b5e}
.line-guide .trip-steps h4{font-size:20px;margin:6px 0 10px}
.line-guide .trip-steps li>div>p:not(.connection){font-size:14px;color:var(--muted)}
.line-guide .text-link{display:inline-block;color:#496723;font-size:12px;margin-top:10px}
.line-guide .connection{font-size:12px;color:#50683b;padding-block:20px 24px}
.line-guide .estimate-note{border-top:1px solid var(--line);padding-top:22px;color:#717d69;font-size:12px;margin-top:35px;max-width:100%}
.line-guide .tips-section{padding-block:66px}
.line-guide .tips-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 55px;margin:34px 0}
.line-guide .tips-grid article{display:flex;gap:18px}
.line-guide .tip-number{color:#8ca46c;font-size:13px;padding-top:3px}
.line-guide .tips-grid h3{font-size:17px;margin-bottom:10px}
.line-guide .tips-grid p{font-size:14px;color:var(--muted)}
.line-guide .site-footer{background:#f9faf6;border-top:1px solid var(--line);padding:30px 0}
.line-guide .footer-top{display:flex;align-items:center;gap:26px}
.line-guide .footer-top .brand{font-size:18px}
.line-guide .footer-top .brand img{width:30px;height:30px}
.line-guide .footer-top p{font-size:13px;color:var(--muted)}
.line-guide .footer-top>a:last-child{margin-left:auto;font-size:12px;color:var(--muted)}
.line-guide .credits{margin-top:26px;border-top:1px solid var(--line);padding-top:18px;font-size:12px;color:var(--muted)}
.line-guide .credits summary{cursor:pointer;width:fit-content}
.line-guide .credits p{margin-block:14px}
.line-guide .source-links{display:flex;flex-wrap:wrap;gap:10px 30px;list-style:none;padding:0}
.line-guide .photo-credits{line-height:2;padding-left:18px}
.line-guide .photo-credits li{overflow-wrap:anywhere}
.line-guide .credits a{text-decoration:underline;text-underline-offset:3px}
.line-guide .updated{font-size:11px;color:#7a8472;margin-top:16px}
@media(min-width:1500px){.line-guide .hero .hero-title{font-size:50px}
}
@media(max-width:1050px){.line-guide .header-line{display:none}
.line-guide .hero{gap:30px;grid-template-columns:1fr 1fr}
.line-guide .hero .hero-title{font-size:38px}
.line-guide .hero-image{height:430px}
.line-guide .hero-actions{gap:10px}
.line-guide .button{padding:11px 14px;gap:10px}
.line-guide .line-intro{gap:40px}
.line-guide .place-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.line-guide .trip-layout{gap:40px}
.line-guide .all-stations ol{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){.line-guide .wrap{width:calc(100% - 40px)}
.line-guide .header-inner{padding:12px 20px;gap:12px;flex-wrap:wrap;justify-content:space-between}
.line-guide .brand{font-size:20px}
.line-guide .brand img{width:31px;height:31px}
.line-guide .languages{font-size:11px;gap:0}
.line-guide .languages a{padding:6px}
.line-guide .hero{display:flex;flex-direction:column;align-items:stretch;padding-block:32px;gap:26px}
.line-guide .hero .eyebrow{font-size:10px;margin-bottom:16px}
.line-guide .line-heading{font-size:12px;margin-bottom:18px}
.line-guide .line-badge{width:25px;height:25px;font-size:15px}
.line-guide .hero .hero-title{font-size:38px;letter-spacing:-1px;margin-bottom:18px}
.line-guide .hero-description{font-size:14px;line-height:1.85}
.line-guide .hero-actions{margin-top:22px;gap:10px}
.line-guide .button{font-size:13px;padding:11px 14px}
.line-guide .hero-image{height:265px;border-radius:10px}
.line-guide .hero-image figcaption{left:16px;bottom:14px;font-size:11px}
.line-guide .line-section{padding:30px 0 20px}
.line-guide .line-intro{display:block;margin-bottom:24px}
.line-guide .line-intro h2{font-size:20px;margin-bottom:14px}
.line-guide .line-intro p{font-size:13px}
.line-guide .rail{min-width:640px}
.line-guide .rail-stop{font-size:12px}
.line-guide .rail-directions{font-size:11px}
.line-guide .route-note{text-align:left;font-size:11px}
.line-guide .all-stations ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;font-size:12px}
.line-guide .all-stations li a{gap:8px}
.line-guide .section-heading h2{font-size:27px}
.line-guide .section-heading .eyebrow{font-size:11px;margin-bottom:12px}
.line-guide .section-heading>p:last-child:not(.eyebrow){font-size:14px}
.line-guide .places-section{padding-block:42px 28px}
.line-guide .filter-row{align-items:flex-start;flex-direction:column;gap:12px;margin:23px 0}
.line-guide .filters{gap:7px}
.line-guide .filters button{font-size:12px;padding:7px 12px;min-height:39px}
.line-guide .result-count{font-size:11px}
.line-guide .place-grid{grid-template-columns:1fr;gap:30px}
.line-guide .place-image{aspect-ratio:1.65}
.line-guide .place h3{font-size:22px}
.line-guide .place-content{padding-top:16px}
.line-guide .place-content>p:not(.place-subtitle):not(.duration){font-size:14px}
.line-guide .place-links{font-size:13px}
.line-guide .place-links a{padding-block:5px}
.line-guide .trips-section{padding-block:38px}
.line-guide .trip-tabs{gap:6px;margin:22px 0 28px}
.line-guide .trip-tabs button{font-size:12px;padding:12px 6px;flex:1}
.line-guide .trip-layout{display:block}
.line-guide .trip-intro h3{font-size:26px}
.line-guide .trip-intro>p{font-size:14px}
.line-guide .trip-photo{display:none}
.line-guide .trip-steps{margin-top:30px}
.line-guide .trip-steps li{gap:14px}
.line-guide .trip-steps h4{font-size:19px}
.line-guide .trip-steps li>div>p:not(.connection){font-size:13px}
.line-guide .connection{font-size:11px}
.line-guide .estimate-note{font-size:11px;margin-top:28px}
.line-guide .tips-section{padding-block:42px}
.line-guide .tips-grid{grid-template-columns:1fr;gap:25px;margin-block:28px}
.line-guide .tips-grid h3{font-size:17px}
.line-guide .tips-grid p{font-size:13px}
.line-guide .footer-top{flex-wrap:wrap;gap:14px 20px}
.line-guide .footer-top p{font-size:12px}
.line-guide .footer-top>a:last-child{margin-left:0}
.line-guide .photo-credits{font-size:11px}
.line-guide .site-footer{padding-block:25px}
.line-guide .credits{font-size:11px}
.line-guide .credits summary{font-size:12px}
}
@media(max-width:370px){.line-guide .header-inner{padding-inline:15px}
.line-guide .brand{font-size:18px;gap:7px}
.line-guide .brand img{width:28px;height:28px}
.line-guide .languages a{padding:5px}
.line-guide .wrap{width:calc(100% - 32px)}
.line-guide .hero .hero-title{font-size:34px}
.line-guide .hero-actions{gap:8px}
.line-guide .hero-actions .button{font-size:12px;padding-inline:10px}
}
@media(prefers-reduced-motion:reduce){.line-guide *,.line-guide *:before,.line-guide *:after{transition:none!important}
}

.line-guide{--green:inherit}.line-guide .wrap{width:100%;max-width:100%;margin-inline:auto}.line-guide .hero{padding-top:38px}.line-guide .hero-title{white-space:pre-line}.line-guide .line-section,.line-guide .trips-section{padding-inline:26px;border-radius:12px}.line-guide .places-section{padding-bottom:55px}.line-guide .guide-credits{padding-bottom:26px}.line-guide [role=tabpanel]+[role=tabpanel]{margin-top:38px}.line-guide.is-enhanced [role=tabpanel]{margin-top:0}.line-guide .filters[hidden],.line-guide .trip-tabs[hidden]{display:none!important}.line-guide .rail-scroll{padding-top:5px}.line-guide .rail-stop:focus-visible{outline-offset:0}.line-guide .trip-tabs button,.line-guide .filters button{color:inherit}.line-guide .filters [aria-pressed=true]{color:white}.line-guide .trip-tabs [aria-selected=true]{color:#3f641a}
@media(max-width:700px){.line-guide .hero{padding-top:28px}.line-guide .line-section,.line-guide .trips-section{padding-inline:18px}.line-guide .places-section{padding-bottom:36px}.line-guide .hero-image{height:245px}.line-guide .hero .hero-title{font-size:34px}.line-guide .place-links a{min-height:36px}.line-guide .place-grid{gap:32px}}

.line-guide h2,.line-guide h3,.line-guide h4{font-weight:700}

.line-guide .place-image-text{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#f0f5e8;border:1px solid #e0e8d5;padding:28px;color:var(--ink)}.line-guide .place-image-text:after{content:"";width:55%;height:4px;background:var(--green);border-radius:3px;margin-top:6px}.line-guide .place-image-text strong{font-size:24px;text-align:center;line-height:1.4;overflow-wrap:anywhere}.line-guide .place-line-code{font-size:12px;color:var(--muted)}

.line-guide .rail{min-width:max(100%,calc(var(--stop-count,6) * 112px))}.line-guide .rail:before{left:calc(50% / var(--stop-count,6));right:calc(50% / var(--stop-count,6))}
