:root{--bg:#f4f6f1;--card:#fff;--text:#101510;--muted:#68706a;--green:#1f9d55;--green2:#dff5e6;--line:#e3e7df;--red:#bf3b3b;--shadow:0 18px 55px rgba(30,45,31,.09)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:radial-gradient(circle at 90% 0,#e4f6e8 0,transparent 34%),var(--bg);color:var(--text)}
.shell{width:min(860px,calc(100% - 28px));margin:0 auto;padding:42px 0 28px}.hero{padding:12px 4px 24px}.brand{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:800;letter-spacing:.13em}.mark{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#101510;color:white;letter-spacing:0}.hero h1{font-size:clamp(44px,8vw,76px);line-height:.92;letter-spacing:-.055em;margin:30px 0 18px;max-width:700px}.hero h1 span{color:var(--green)}.hero p{max-width:650px;color:var(--muted);font-size:17px;line-height:1.55;margin:0}
.search-card{background:var(--card);padding:20px;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}label{display:block;font-weight:750;font-size:13px;margin:0 0 9px 2px}.search-row{display:flex;gap:10px}input{width:100%;height:58px;border:1px solid #daddd7;border-radius:15px;padding:0 17px;font:inherit;font-size:17px;outline:none;background:#fafbf9}input:focus{border-color:#8dbd99;box-shadow:0 0 0 4px rgba(31,157,85,.09)}button{height:58px;border:0;border-radius:15px;padding:0 25px;background:#101510;color:#fff;font:inherit;font-weight:800;cursor:pointer;transition:.2s}button:hover{transform:translateY(-1px);background:#202720}button:disabled{opacity:.55;cursor:wait;transform:none}.rule{margin-top:13px;color:var(--muted);font-size:13px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);margin-right:5px}
.state{margin:22px 0;background:rgba(255,255,255,.62);border:1px dashed #cbd2c9;border-radius:22px;padding:25px;display:flex;align-items:center;gap:15px}.state-icon{width:45px;height:45px;border-radius:14px;background:#edf0eb;display:grid;place-items:center;font-size:23px}.state b,.state span{display:block}.state span{margin-top:3px;color:var(--muted)}.state.success{background:#effaf2;border-style:solid;border-color:#cce9d4}.state.success .state-icon{background:#d7f2df}.state.error{background:#fff2f2;border-style:solid;border-color:#f0d3d3}.state.error .state-icon{background:#f8dddd}.hidden{display:none!important}
.results{display:grid;gap:14px}.results-title{display:flex;align-items:end;justify-content:space-between;margin:8px 2px 0}.results-title h2{font-size:25px;letter-spacing:-.035em;margin:0}.results-title span{font-size:13px;color:var(--muted)}.station{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:0 12px 35px rgba(30,45,31,.06)}.station-top{display:flex;justify-content:space-between;gap:16px}.badge{display:inline-block;background:var(--green2);color:#18713f;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.08em}.station h3{font-size:22px;letter-spacing:-.025em;margin:9px 0 0}.status-orb{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-weight:900}.address{font-size:17px;margin:10px 0 15px;color:#383f39}.checks{display:flex;flex-wrap:wrap;gap:8px}.checks span{padding:8px 10px;border-radius:10px;background:#f4f6f2;color:#4c554e;font-size:13px}.checks b{color:var(--green)}.meta{font-size:12px;color:var(--muted);margin:14px 0 0}.actions{display:flex;gap:8px;margin-top:17px}.actions a{text-decoration:none;font-weight:750;font-size:14px;border-radius:12px;padding:11px 14px}.route{background:#101510;color:#fff}.source{background:#f1f3ef;color:#303730}.other{margin-top:8px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px}.other summary{cursor:pointer;font-weight:750}.other-list{margin-top:12px;display:grid;gap:9px}.other-row{font-size:13px;color:var(--muted);padding:10px;border-radius:10px;background:#f7f8f6}.other-row b{color:var(--text)}
footer{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;color:#8a918b;font-size:11px;margin-top:30px;padding:0 4px}
@media(max-width:640px){.shell{padding-top:25px}.search-row{flex-direction:column}button{width:100%}.hero h1{margin-top:25px}.results-title{align-items:start;flex-direction:column;gap:5px}.actions a{flex:1;text-align:center}}
.state span { white-space: pre-line; }
