:root{--ink:#16191d;--paper:#f7f4ed;--coral:#f35b45;--muted:#6d706e;--card:#fffdfa}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif}main{max-width:1040px;margin:auto;padding:28px 28px 56px}nav{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:700}nav a{color:inherit;text-decoration:none}.brand{font-weight:800;letter-spacing:.08em;font-size:17px}.brand span{color:var(--coral)}nav>a:last-child{border-bottom:1px solid var(--ink);padding-bottom:2px}.hero{padding:76px 0 36px;max-width:730px}.eyebrow{font:500 11px/1.2 'DM Mono',monospace;letter-spacing:.12em;color:var(--muted);margin:0 0 12px}h1{font-size:clamp(43px,7vw,76px);letter-spacing:-.075em;line-height:.99;margin:0}h1 em{font-family:Georgia,serif;font-weight:400;color:var(--coral)}.intro{max-width:570px;font-size:16px;line-height:1.65;color:#555a59;margin:24px 0 0}.search-card{position:relative;display:grid;grid-template-columns:1fr 1fr auto;gap:0;background:var(--card);border:1px solid #dcd8d0;box-shadow:0 13px 28px #31261112;border-radius:15px;overflow:hidden}.search-card label{position:relative;display:grid;grid-template-columns:18px 1fr;column-gap:9px;padding:22px 20px 17px;border-right:1px solid #e5e0d7;font-size:12px;font-weight:800}.search-card input{grid-column:2;border:0;outline:0;background:transparent;font:600 16px Manrope,sans-serif;color:var(--ink);padding:8px 0 0;min-width:0}.search-card input::placeholder{color:#9e9c97;font-weight:500}.pin{width:12px;height:12px;border-radius:50%;margin-top:2px}.pin.start{background:var(--ink)}.pin.end{background:var(--coral)}.connector{position:absolute;left:25px;top:43px;height:19px;border-left:1px dashed #aaa;z-index:1}.search-card button{border:0;background:var(--ink);color:#fff;padding:0 26px;font:800 14px Manrope;cursor:pointer}.search-card button span{font-size:22px;padding-left:8px}.hint{font-size:12px;color:var(--muted);margin:12px 2px 42px}.loading{font-weight:700;padding:36px 0}.station-pair{display:grid;grid-template-columns:1fr 72px 1fr;align-items:center;gap:12px;margin:0 0 22px}.station-pair article{background:#ede9df;border-radius:13px;padding:19px 22px}.station-pair p{font:500 10px 'DM Mono';letter-spacing:.08em;color:var(--muted);margin:0 0 9px}.station-pair h2{margin:0;font-size:22px;letter-spacing:-.04em}.station-pair small{display:block;margin-top:7px;color:#5e6461}.arrow{text-align:center;font-size:26px;color:var(--coral)}.route-card{background:var(--ink);color:#fff;border-radius:16px;padding:27px 28px 0;margin-bottom:42px}.route-card header{display:flex;justify-content:space-between;gap:16px}.route-card .eyebrow{color:#b7b9b5}.route-card h2{font-size:25px;letter-spacing:-.04em;margin:0}.duration{text-align:right;display:flex;flex-direction:column}.duration strong{font-size:25px}.duration span{font-size:11px;color:#c3c5c1}.legs{padding:28px 0 24px;display:flex;gap:0;align-items:stretch;overflow:auto}.leg{flex:1;min-width:180px;border-left:2px solid var(--line);padding:0 16px 0 14px}.leg:first-child{border-left:0;padding-left:0}.line-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--line);color:var(--line-text,#fff);width:30px;height:30px;border-radius:50%;font-weight:800;font-size:13px;margin-bottom:11px}.leg strong{display:block;font-size:14px;line-height:1.4}.leg small{display:block;margin-top:5px;color:#c2c5c0;font-size:11px;line-height:1.4}.route-card footer{border-top:1px solid #3c3f42;padding:15px 0;display:flex;justify-content:space-between;font-size:12px;color:#c1c4c0}.route-card footer a{color:white;text-decoration:none;border-bottom:1px solid #7c7f7d}.line-visuals{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:13px}.line-card{--line:#009bda;background:var(--card);border:1px solid #ded9d0;border-radius:13px;padding:17px;overflow:hidden}.line-card header{display:flex;gap:12px;align-items:center}.line-card .roundel{background:var(--line);width:43px;height:43px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:var(--line-text,#fff);font-size:17px}.line-card h3{margin:0;font-size:15px;letter-spacing:-.03em}.line-card small{color:var(--muted)}.track{margin-top:18px;display:flex;align-items:center;height:15px}.track:before,.track:after{content:"";height:4px;background:var(--line);flex:1}.track i{display:block;width:12px;height:12px;border:3px solid var(--line);border-radius:50%;background:white}.line-card p{font-size:11px;color:#646866;margin:9px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.error{background:#ffe3dd;border-left:4px solid var(--coral);border-radius:5px;padding:16px;margin-top:24px}.page-footer{font-size:11px;line-height:1.6;color:#717471;margin-top:60px}.page-footer a{color:inherit}@media(max-width:690px){main{padding:20px 16px 38px}.hero{padding:50px 0 26px}.search-card{display:block}.search-card label{border-right:0;border-bottom:1px solid #e5e0d7}.search-card button{width:100%;height:58px}.connector{height:17px}.station-pair{grid-template-columns:1fr;gap:9px}.arrow{transform:rotate(90deg);height:25px}.route-card{padding:22px 20px 0}.route-card header{align-items:start}.route-card h2{font-size:20px}.legs{margin-right:-20px}.route-card footer{font-size:10px}.line-visuals{grid-template-columns:1fr}}
.suggestion-group{margin-top:16px}.suggestion-group p{margin:0 0 8px;font-size:12px;font-weight:800}.suggestions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.suggestions button{display:block;border:1px solid #e3bdb4;border-radius:8px;background:#fffaf8;padding:10px;text-align:left;color:var(--ink);font:700 12px Manrope,sans-serif;cursor:pointer}.suggestions button:hover,.suggestions button:focus{border-color:var(--coral);outline:none}.suggestions small{display:block;margin-top:3px;color:#6d706e;font-size:10px;font-weight:500}@media(max-width:690px){.suggestions{grid-template-columns:1fr}}
.route-options{margin:0 0 18px}.route-choice-buttons{display:flex;flex-wrap:wrap;gap:8px}.route-choice-buttons button{border:1px solid #d8d4cc;border-radius:9px;background:#fffdfa;padding:10px 12px;color:var(--ink);font:800 12px Manrope,sans-serif;cursor:pointer;text-align:left}.route-choice-buttons button.is-active{border-color:var(--ink);background:var(--ink);color:white}.route-choice-buttons small{display:block;margin-top:3px;color:#6d706e;font-size:10px;font-weight:600}.route-choice-buttons button.is-active small{color:#d8d9d5}
