:root{color-scheme:dark;--bg:#101719;--surface:#1a2427;--surface2:#202d30;--text:#eef2ee;--muted:#bbc9c7;--gold:#e9be70;--line:#37474a;--teal:#89d7c9;--focus:#f1d599}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:16px;line-height:1.72;overflow-wrap:anywhere}
a{color:var(--teal);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:#b3eee3}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.skip{position:absolute;top:-100px;left:12px;z-index:100;background:var(--gold);color:#151a18;padding:8px 14px;border-radius:8px}.skip:focus{top:12px}
.hero{background:radial-gradient(circle at 85% 5%,#69503588,transparent 35%),linear-gradient(155deg,#293737 0%,#151e20 65%,#101719 100%);border-bottom:1px solid #68726855}.hero-inner{max-width:820px;margin:auto;padding:calc(38px + env(safe-area-inset-top)) 18px 42px}.overline{font-weight:750;letter-spacing:.16em;font-size:.73rem;color:var(--gold);margin:0 0 14px}.hero h1{font-size:clamp(2.25rem,10vw,4.6rem);line-height:1.14;letter-spacing:-.045em;margin:0;font-weight:850}.lead{color:#d9e4db;font-size:1.05rem;max-width:38em;margin:18px 0}.hero-meta{display:flex;flex-wrap:wrap;gap:8px}.hero-meta span{border:1px solid #b89a6388;border-radius:999px;padding:3px 10px;color:#f3d69d;font-size:.8rem;font-weight:700}
.quick-nav{max-width:820px;margin:0 auto;padding:13px 14px;display:flex;gap:7px;overflow-x:auto;scrollbar-width:thin}.quick-nav a{flex:0 0 auto;display:flex;align-items:center;min-height:42px;padding:6px 13px;border-radius:999px;background:var(--surface2);border:1px solid var(--line);color:var(--text);font-size:.85rem;font-weight:700;text-decoration:none}
.search-wrap{position:sticky;top:0;z-index:20;background:#101719eF;border-top:1px solid #253234;border-bottom:1px solid #37474a;backdrop-filter:blur(12px)}.search-inner{max-width:820px;margin:auto;padding:8px 16px;display:flex;align-items:center;gap:8px}.search-inner label{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.search-inner input{min-width:0;flex:1;border:1px solid #57706d;background:#243335;color:var(--text);border-radius:11px;padding:10px 12px;font:inherit;font-size:16px}.search-inner input::placeholder{color:#a5b9b6}.search-inner button{border:1px solid #57706d;background:#253335;color:var(--text);border-radius:10px;min-height:44px;padding:0 11px;font:inherit;font-size:.85rem}.search-inner span{font-size:.73rem;color:var(--muted);white-space:nowrap}
main{max-width:820px;margin:auto;padding:0 16px 72px}.source-note{margin:18px 0 10px;padding:12px 14px;border-left:3px solid var(--gold);background:#2b322d;color:#e6e6d7;border-radius:0 9px 9px 0;font-size:.88rem}
.content-section{scroll-margin-top:86px;padding:27px 0 16px;border-top:1px solid var(--line)}.section-heading{margin-bottom:17px}.section-kicker{font-size:.69rem;font-weight:850;letter-spacing:.17em;color:var(--gold)}h2{font-size:clamp(1.65rem,6vw,2.45rem);letter-spacing:-.035em;line-height:1.25;margin:5px 0 0}.subheading{font-size:1.2rem;line-height:1.35;margin:29px 0 13px;border-left:3px solid var(--gold);padding-left:10px}.content-section>p{color:#d8e1df;margin:14px 0}.content-section>ol,.content-section>ul{padding-left:1.35em}.content-section li{padding:3px 0}.content-section blockquote{margin:12px 0 20px;padding:13px 16px;border-left:3px solid var(--teal);background:#1e2d2d;border-radius:0 10px 10px 0}.content-section blockquote p{margin:5px 0}.content-section blockquote p:first-child{font-weight:700;color:var(--teal)}
.route-grid,.info-grid{display:grid;grid-template-columns:1fr;gap:14px}.route-card,.info-card{background:var(--surface);border:1px solid var(--line);border-radius:15px;box-shadow:0 8px 25px #0306061c;overflow:hidden}.route-card[hidden]{display:none}.card-top{padding:17px 18px 12px;background:linear-gradient(110deg,#283535,#222c2c);border-bottom:1px solid var(--line)}.eyebrow{font-size:.7rem;letter-spacing:.1em;font-weight:850;color:var(--gold);text-transform:uppercase}.route-card h3{font-size:1.34rem;line-height:1.35;margin:6px 0 0;letter-spacing:-.025em}.route-card h3 strong{font-weight:850}.card-body{padding:3px 18px 16px}.field{padding:11px 0;border-bottom:1px solid #324144}.field:last-child{border:0}.label{display:block;color:var(--gold);font-size:.72rem;font-weight:850;letter-spacing:.055em;margin-bottom:4px}.field div,.mini-field div{color:var(--text)}code{background:#394544;color:#e5f8ed;padding:2px 5px;border-radius:5px;font-size:.88em;white-space:normal;overflow-wrap:anywhere}.setting code{color:#e9eab3}.video-links{display:flex;flex-wrap:wrap;align-items:center;gap:7px;color:var(--muted);font-size:.82rem}.video-links a{display:inline-flex;align-items:center;min-height:44px;padding:7px 11px;border:1px solid #478078;border-radius:9px;background:#23433d;color:#d6fff4;text-decoration:none;font-weight:700;line-height:1.3}
.info-card{padding:15px 17px}.info-card h4{font-size:1.05rem;line-height:1.4;margin:0 0 8px;color:#f0d094}.mini-field{border-top:1px solid #354548;padding:9px 0}.mini-field:last-child{padding-bottom:0}
footer{max-width:820px;margin:auto;padding:24px 16px 45px;color:var(--muted);border-top:1px solid var(--line);font-size:.84rem;display:flex;justify-content:space-between;gap:12px}footer a{white-space:nowrap}
@media(min-width:760px){.route-grid,.info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-inner{padding-left:24px}.content-section{padding-top:42px}.route-card h3{font-size:1.45rem}}
@media(max-width:400px){.search-inner span{display:none}.hero-inner{padding-left:16px;padding-right:16px}.quick-nav{padding-left:10px;padding-right:10px}.card-top,.card-body{padding-left:15px;padding-right:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{scroll-behavior:auto!important}}
@media print{body{background:white;color:black}.hero{background:white;color:black;border:0}.quick-nav,.search-wrap,.video-links a::after,#back-to-top{display:none}.route-card,.info-card{break-inside:avoid;box-shadow:none;background:white;color:black}.content-section{break-before:page}.card-top{background:#eee}.field div,.mini-field div,.content-section>p{color:black}a{color:#124d4b}}
