:root{--ink:#203d37;--muted:#687a73;--line:#dae3da;--paper:#fffefa;--accent:#176b55;--tint:#eaf3e9}*{box-sizing:border-box}body{margin:0;background:#f3f5ef;color:var(--ink);font:15px/1.65 Arial,"Noto Sans KR","Malgun Gothic","맑은 고딕",sans-serif}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{opacity:.35}.topbar{min-height:72px;background:#173e35;color:#fff;padding:18px max(28px,calc((100vw - 1340px)/2));display:flex;align-items:center;gap:22px}.brand{font-size:18px;font-weight:700;color:#fff;text-decoration:none;white-space:nowrap}.search{display:flex;align-items:center;gap:12px;max-width:650px;flex:1;color:#d5e6cc}.search input{width:100%;border:1px solid #607a6b;border-radius:7px;padding:10px 14px;background:#fffefa;color:var(--ink)}.nav{background:#fff;border-bottom:1px solid var(--line);display:flex;gap:8px;padding:12px max(28px,calc((100vw - 1340px)/2));flex-wrap:wrap}.nav button{border:0;background:#f1f4ef;font-weight:600;border-radius:7px;padding:9px 14px;color:var(--ink)}.nav button.active,.nav button:hover{background:var(--accent);color:#fff}main{max-width:1396px;padding:25px 28px 60px;margin:auto}.hero{background:#eaf3e9;border:1px solid #cbd9ca;color:var(--ink);border-radius:12px;padding:24px 28px;margin-bottom:20px}.hero h1{margin:3px 0 7px;font-size:clamp(25px,4vw,34px)}.hero p{margin:0;color:var(--muted)}.eyebrow{font-size:12px;color:var(--accent);font-weight:700}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0;background:#f0f4f1;padding:16px;border-radius:12px}.filters label{display:flex;flex-direction:column;gap:5px;font-size:13px;color:#425c58}.filters select{min-width:150px;padding:9px 12px;border:1px solid #bbccc5;border-radius:7px;background:#fff;color:var(--ink)}.summary{font-size:13px;color:var(--muted);margin:14px 0}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.card{background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:15px 17px;min-height:140px;box-shadow:0 2px 4px #253d3403;cursor:pointer;display:flex;flex-direction:column}.card:hover,.card:focus{border-color:#9bb8a8;outline:3px solid #e0ecd9}.card h3{margin:3px 0 8px;font-size:17px;line-height:1.5;overflow-wrap:anywhere}.meta{font-size:12px;color:var(--muted);margin-top:auto}.pill{display:inline-block;width:max-content;background:#ecf1e6;color:#5c755d;border-radius:4px;padding:3px 8px;font-size:11px}.empty{padding:40px;text-align:center;background:#fff;border:1px dashed var(--line);border-radius:9px;color:var(--muted);grid-column:1/-1}.pager{display:flex;justify-content:center;align-items:center;gap:12px;margin:24px 0}.pager button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:7px 12px}.pager span{font-size:12px;color:var(--muted)}dialog{width:min(720px,calc(100% - 28px));max-height:84vh;border:1px solid #bbccbc;border-radius:14px;padding:0;background:var(--paper);color:var(--ink);box-shadow:0 25px 100px #12302035}dialog::backdrop{background:#193f3480}.close{position:absolute;right:16px;top:10px;border:0;background:transparent;font-size:28px;color:var(--muted)}.detail-body{padding:30px 34px 38px}.detail-title{margin:4px 0;font:500 38px/1.3 Georgia,"Times New Roman",serif;overflow-wrap:anywhere}.detail-type{font-size:11px;color:#5c755d;background:#ecf1e6;padding:3px 8px;border-radius:4px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}.detail-item{padding:14px;background:var(--tint);border-radius:9px}.detail-item small{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}.detail-item p{margin:0;overflow-wrap:anywhere}.detail-route{margin-top:20px;color:var(--muted);font-size:13px;line-height:1.9}@media(max-width:1000px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.topbar{align-items:flex-start;flex-direction:column;gap:10px;padding:16px 18px}.search{width:100%}.nav{padding:10px 16px}.nav button{padding:8px 11px}main{padding:20px 16px 50px}.hero{padding:22px}.filters{padding:12px}.filters label{flex:1;min-width:140px}.filters select{width:100%}.cards{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.detail-body{padding:25px 22px 30px}}
