/* 공항 페이지 (scripts/pages/airport.py) — 「서울 지하철 안내판」 보조. 공통 클래스는 style.css 그대로. 상태 = 글자 + 색 (원활 초록 · 보통 · 혼잡 주황 · 매우 혼잡 빨강). */
.sech{display:flex;align-items:flex-start;gap:8px;font-size:19px;margin:32px 0 10px}
.sech svg{width:20px;height:20px;flex:none;margin-top:3px}
.block>.sech:first-child{margin-top:0}
.ap section[id]{scroll-margin-top:72px}
.apnav a{flex:none;display:inline-flex;align-items:center;height:29px;border:1.5px solid var(--ink);border-radius:999px;padding:0 11px;font-size:13px;font-weight:600;background:var(--paper);color:var(--ink);white-space:nowrap;text-decoration:none;line-height:1}
.apnav a:hover{background:var(--ink);color:var(--paper)}
.ap h3{font-size:15px;margin:16px 0 4px}
.lnb{width:44px;height:44px;border-radius:50%;background:var(--c);color:#fff;display:grid;place-items:center;font-weight:800;font-size:19px;line-height:1;flex:none}
.arx th .lnb{width:22px;height:22px;font-size:12px;display:inline-grid;vertical-align:-6px;margin-right:6px}
.arx thead th{color:var(--ink);font-size:14px;white-space:normal}
.arx th[scope="row"]{padding:10px 6px 0;border-bottom:0;font-size:12.5px;color:var(--mut);font-weight:700}
.arx tr.pair td{padding-top:4px;font-size:14px;line-height:1.5;white-space:normal}
.arx td:first-child{white-space:normal}
.busno{min-width:44px;height:44px;padding:0 4px;display:grid;place-items:center;border-radius:var(--r-sm);background:var(--ink);color:var(--paper);font-weight:800;font-size:14px;letter-spacing:0}
.apbus li,.aprows li{align-items:start}
.apbus .dt,.aprows .dt{white-space:normal;line-height:1.5}
.apbus .apstops{color:var(--ink);font-size:14px;margin:0}
.apbus .rt small{font-size:11px;font-weight:600;color:var(--mut)}
.aprows .dt{color:var(--ink);font-size:14px;margin:0;align-self:center}
.aprows li{grid-template-columns:44px minmax(0,1fr)}
.nhead{display:flex;justify-content:space-between;gap:12px;padding:0 0 6px;border-bottom:1px solid var(--line)}
.aptaxi td.num b{display:block;font-size:15px}
.aptaxi td.num span{display:block}
.aptaxi th[scope="row"]{white-space:normal;font-size:14px;font-weight:700}
.apkv th[scope="row"]{color:var(--ink);font-size:13px;width:34%;white-space:normal}
.apkv td{font-size:14px;line-height:1.55}
.apkv td:first-child{white-space:normal}
/* 실시간 */
.apnow .rt b{font-size:17px}
.w-lo{color:var(--ok-ink)} .w-mid{color:var(--l3)} .w-hi{color:var(--rd)}
.apfc{max-height:420px;overflow-y:auto;border-top:1px solid var(--line)}
.apfct td{padding:7px 6px;vertical-align:middle}
.apfct tr.now td{background:var(--ground);font-weight:800}
.apfct .hb{display:block;height:6px;background:var(--line);margin-top:4px}
.apfct .hb i{display:block;height:100%;background:var(--ink)}
.apfct .hb.t2 i{background:var(--mut)}
.apfct .nowtag{display:inline-block;margin-left:6px;font-size:11px;font-weight:800;padding:1px 6px;border-radius:3px;background:var(--yl);color:#111}
.lv{font-weight:800}
.lv1{color:var(--ok-ink)} .lv2{color:var(--l1)} .lv3{color:var(--l3)} .lv4{color:var(--rd)}
.apsrc{margin:28px 0 8px}
.apsrc h2{margin:0 0 6px;font-size:14px}
.apsrc ul{margin:6px 0;padding-left:18px}
.apsrc a{word-break:break-all}
.aptaxi td.num span{text-wrap:nowrap;white-space:nowrap}
.apfct th{position:sticky;top:0;background:var(--paper);z-index:1}

/* 350px 대응 */
@media (max-width:380px){.aptable{font-size:13px}.aptable th,.aptable td{padding:8px 4px}}
