:root{--blue:#4b83d0;--orange:#e17431;--ink:#333333}*{box-sizing:border-box}body{margin:0;font:16px/1.55 Arial,sans-serif;color:var(--ink);background:#fafafa}header{background:white;border-bottom:4px solid var(--orange);padding:18px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px}header img{width:230px;max-width:55vw}header span{color:var(--blue)}main{max-width:1400px;margin:auto;padding:36px 5%}.eyebrow{color:var(--orange);font-weight:bold;font-size:12px;letter-spacing:2px}h1{font-size:clamp(30px,4vw,48px);line-height:1.15;margin:14px 0;color:var(--ink)}h2{font-size:22px}.filters{display:flex;flex-wrap:wrap;gap:16px;background:white;padding:20px;margin-top:30px;border:1px solid #ddd;border-radius:8px}label{display:grid;gap:7px;font-size:14px;font-weight:bold;flex:1;min-width:180px}input,select,button{font:inherit;border:1px solid #bbb;border-radius:5px;padding:11px;background:white;color:var(--ink)}button{cursor:pointer}button:hover{border-color:var(--orange)}:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.filters button{align-self:end}.layout{display:grid;grid-template-columns:1fr 1.15fr;gap:32px}#list{display:grid;gap:10px;max-height:900px;overflow:auto;padding:4px}.card{text-align:left;display:flex;align-items:center;gap:16px;padding:17px;border:1px solid #ddd;border-left:4px solid transparent;border-radius:7px}.card[aria-pressed=true]{border-left-color:var(--orange);background:#fff8f2}.card strong{display:block;font-size:18px}.card small{display:block;color:#555}.portrait{width:64px;height:76px;object-fit:cover;border-radius:4px}.missing{font-size:11px;width:64px;flex-shrink:0;background:#eee;text-align:center;padding:10px;color:#555}aside{min-width:0}#map{width:100%;height:420px;background:white;border:1px solid #ddd;border-radius:8px;touch-action:pan-y}#map path{fill:#eee;stroke:white;stroke-width:1;vector-effect:non-scaling-stroke;cursor:pointer}#map path:hover{fill:var(--blue)}#map path.selected{fill:var(--orange);stroke:var(--ink);stroke-width:2}#map path:focus{fill:var(--blue)}.maptools{display:flex;gap:8px;margin:10px 0}small{font-size:12px}#detail{padding:22px;background:white;border-top:4px solid var(--orange);margin-top:24px;border-radius:6px}#detail p{white-space:pre-line}a{color:#285c9d}footer{padding:24px 5%;border-top:1px solid #ddd;font-size:13px;background:white}@media(max-width:800px){.layout{grid-template-columns:1fr}#list{max-height:420px}header span{display:none}main{padding-top:22px}#map{height:350px}}
