:root{--paper:#f5f3ed;--ink:#193d35;--muted:#68756e;--accent:#d7e99b;--line:#dddeda}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}header,main,footer{max-width:1160px;margin:auto}header{height:98px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;font-size:22px;font-weight:700}.brand small{font-size:10px;letter-spacing:2px;font-weight:500;margin-left:8px}.logo{background:var(--ink);color:var(--accent);border-radius:12px;padding:4px 10px;font-size:30px}.tag{border:1px solid #c4ccc3;border-radius:25px;padding:8px 15px;font-size:12px}.intro{position:relative;padding:54px 0 44px;overflow:hidden}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:600}h1{font-size:56px;letter-spacing:-2px;line-height:1.28;margin:22px 0}.subtitle{color:var(--muted);font-size:16px;line-height:1.8}.clock{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin-top:28px}.dot{width:7px;height:7px;border-radius:50%;background:#4f856a}.rail-art{position:absolute;right:35px;top:55px;width:370px;height:260px;transform:rotate(-18deg);opacity:.8}.rail-art i{position:absolute;inset:30px 0;border:20px solid #d5dfbf;border-radius:110px}.rail-art i:nth-child(2){transform:translate(62px,60px);border-color:#c8d5cd}.rail-art i:nth-child(3){transform:translate(128px,120px);border-color:#e5ceac}.rail-art b{position:absolute;left:23px;top:96px;background:var(--paper);border:5px solid var(--ink);border-radius:50%;height:45px;width:45px;text-align:center;padding-top:7px}.rail-art b:nth-of-type(2){left:210px;top:30px}.rail-art b:nth-of-type(3){left:160px;top:205px}.rail-art b:nth-of-type(4){left:315px;top:160px}.query-panel{background:#fff;border:1px solid var(--line);padding:28px 32px;border-radius:20px;box-shadow:0 8px 25px #173c3405}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}h2{font-size:19px;margin:0}h3{font-size:16px}.section-head>span{font-size:11px;letter-spacing:1px;color:var(--muted)}.lines{display:flex;gap:10px;margin:25px 0}.lines button{border:1px solid var(--line);border-radius:8px;padding:11px 22px;background:#f8f9f6;color:var(--ink);font-weight:600}.lines button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}button,select,input{font:inherit}button{cursor:pointer}button:hover{filter:brightness(.95)}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #8eae45;outline-offset:3px}.fields{display:grid;grid-template-columns:1.1fr 1.1fr 1fr 1fr;gap:18px}label{font-size:12px;color:var(--muted);display:grid;gap:10px}select,input{min-width:0;width:100%;border:1px solid var(--line);border-radius:8px;padding:13px 10px;color:var(--ink);background:#fff;font-size:15px}.form-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:25px}.form-bottom>span{font-size:11px;color:var(--muted)}.primary{background:var(--accent);border:0;border-radius:9px;padding:13px 24px;color:var(--ink);font-weight:600}.primary span{margin-left:30px}.results{margin-top:42px}.text-button{border:0;background:transparent;color:var(--muted);font-size:12px}.notice{margin:18px 0;background:#efe9d9;border:1px solid #e1d5b7;padding:15px 18px;border-radius:10px;color:#755d2b;font-size:13px;line-height:1.7}.notice.ready{background:#e6efdd;color:#385731;border-color:#ceddc0}#load-error{padding:15px;background:#f8dfd8;color:#8f3425;margin-top:12px;border-radius:10px}.result-grid{display:grid;grid-template-columns:1fr 1.7fr;gap:20px}.next-card{background:var(--ink);color:#fff;padding:30px;border-radius:16px;min-height:230px}.next-card .eyebrow{color:#bccec4;font-size:10px}.next-card h3{font-size:48px;letter-spacing:3px;margin:30px 0 12px;font-weight:500}.next-card p{font-size:14px;color:var(--accent)}#route-label{font-size:11px;color:#bdcbc4}.schedule-card{background:#fff;border:1px solid var(--line);padding:20px 25px;border-radius:16px}.trains{display:flex;flex-wrap:wrap;gap:10px;max-height:310px;overflow:auto;margin-top:15px}.empty{width:100%;text-align:center;color:var(--muted);padding:25px 15px;font-size:14px;line-height:1.9}.train{background:#f3f5f0;border-radius:7px;padding:10px 12px;font-size:16px}.train small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.rule{padding:16px 20px;margin-top:12px;border-left:3px solid #b29b66;background:#efede5;font-size:13px;line-height:1.8}.sources{margin:50px 0}.source-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px;border-top:1px solid var(--line);margin-top:23px;padding-top:28px}.number{font-size:11px;color:#738379}.source-grid p,.source-grid a{font-size:12px;line-height:1.9;color:var(--muted)}.source-grid a{display:block;text-underline-offset:3px}.source-grid h3{margin:12px 0}footer{border-top:1px solid var(--line);padding:24px 0 35px;display:flex;align-items:center;justify-content:space-between;gap:30px}footer>span{white-space:nowrap;font-size:15px;font-weight:600}footer small{font-size:10px;margin-left:10px;color:var(--muted)}footer p{font-size:11px;color:var(--muted);max-width:590px;line-height:1.8}@media(max-width:1220px){header,main,footer{margin-left:30px;margin-right:30px}}@media(max-width:700px){header,main,footer{margin-left:20px;margin-right:20px}header{height:78px}.brand{font-size:18px}.brand small{display:none}.tag{font-size:10px}.intro{padding:30px 0}h1{font-size:40px}.rail-art{right:-150px;top:60px;opacity:.22;z-index:-1}.subtitle{font-size:13px}.query-panel{padding:20px;border-radius:14px}.lines{gap:7px}.lines button{padding:10px 0;flex:1;font-size:13px}.fields{grid-template-columns:1fr 1fr;gap:16px 12px}.result-grid,.source-grid{grid-template-columns:1fr}.next-card{min-height:210px}.source-grid{gap:22px}.source-grid article{border-bottom:1px solid var(--line);padding-bottom:18px}.results{margin-top:30px}.section-head>span{font-size:9px}.section-head h2{font-size:16px}footer{display:block}footer p{margin-top:15px}}

.next-card h3{white-space:nowrap}.intro h1,.intro p,.intro .clock{position:relative;z-index:1}@media(min-width:701px) and (max-width:1000px){.rail-art{opacity:.24;right:-70px}}
