*{box-sizing:border-box}body{margin:0;background:#d8e9e4;color:#283f38;font:16px/1.45 system-ui,'Malgun Gothic',sans-serif}button,a,input,select{font:inherit}button,nav a{cursor:pointer;color:inherit;border:1px solid #a8b5a1;background:#fffcf0;border-radius:10px;padding:8px 13px}button:hover,nav a:hover{background:#e4ecd8}button:focus-visible,a:focus-visible{outline:3px solid #91552f}main{height:100vh;height:100dvh;display:grid;grid-template-rows:auto 1fr auto}header{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:12px clamp(12px,4vw,40px);background:#faf7e9;border-bottom:1px solid #bfc8af}header div{flex:1}.eyebrow{font-size:14px;color:#536a5f}h1,h2{font-family:'Nanum Myeongjo','Malgun Gothic',serif;margin:0;line-height:1.3}h1{font-size:clamp(21px,3vw,30px)}h2{font-size:21px}#map{position:relative;overflow:hidden;touch-action:none;isolation:isolate}canvas,#labels{position:absolute;inset:0;width:100%;height:100%}canvas{image-rendering:pixelated}#labels{pointer-events:none}.pin{pointer-events:auto;position:absolute;transform:translate(-50%,-50%);white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis;font-weight:650;line-height:1.25;box-shadow:0 2px 0 #718a7238;border-radius:8px;padding:5px 8px;font-size:14px}.group{background:#44665a;color:white;border-color:#395347}.pin small{font-size:14px}#me{position:absolute;width:21px;height:21px;pointer-events:none;transform:translate(-50%,-50%);filter:drop-shadow(0 1px 2px #485640)}.north,.zoom,#status{position:absolute;background:#fffcefec;border:1px solid #bbc7b3;border-radius:12px}.north{right:10px;top:10px;padding:4px 8px;font-size:14px;pointer-events:none}.zoom{right:10px;bottom:45px;display:grid;overflow:hidden}.zoom button{border:0;background:transparent;font-size:21px;width:40px;height:41px;padding:0}#status{bottom:5px;left:50%;transform:translateX(-50%);max-width:95%;width:max-content;margin:0;padding:4px 10px;font-size:14px;pointer-events:none}nav{display:flex;justify-content:center;gap:5px;padding:8px 5px max(8px,env(safe-area-inset-bottom));background:#faf7e9}nav a,nav button{font-size:15px;text-decoration:none;padding:9px clamp(6px,2vw,18px)}dialog{border:1px solid #a1ac95;border-radius:18px;background:#fffdf3;color:inherit;width:min(490px,96vw);max-height:80dvh;padding:0}dialog::backdrop{background:#1a302c55}dialog header{position:sticky;top:0;z-index:1;padding:12px 16px}#body{padding:16px}#body input,#body select{width:100%;padding:9px;border:1px solid #a4b2a1;border-radius:8px;background:white;color:inherit}.rows{display:grid;gap:6px;margin:12px 0}.row{text-align:left}.sub{display:block;font-size:14px;color:#52685d}audio{width:100%;margin:10px 0}details{margin:12px 0}details p{white-space:pre-line}.source{color:#4d685c;font-size:14px}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.tiles button{padding:8px 4px}#play{margin:10px 0 0;background:#395e50;color:#fff}a{color:#345b4a}@media (max-width:550px){dialog{margin:auto auto 0;width:100%;max-width:none;border-radius:18px 18px 0 0}.pin{padding:4px 7px}}