:root{--ink:#223e32;--muted:#708071;--green:#376b4d;--green-light:#e7efdf;--line:#dfe6d9;--paper:#fff;--canvas:#f4f6f0}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font:14px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:7px;padding:9px 13px;background:var(--paper);color:var(--ink)}button:hover{background:#eef3e8}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #88aa7a;outline-offset:3px}a{color:var(--green)}input,textarea,select{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:6px;padding:9px 11px;min-width:0}input[type=checkbox]{accent-color:var(--green);width:16px;height:16px}button.primary{background:var(--green);color:#fff;border-color:var(--green)}button.primary:hover{background:#2d5b3f}.quiet{font-size:11px;padding:6px 9px;border:0;color:var(--muted)}.top{padding:20px 36px;display:flex;align-items:center;gap:24px;background:#203d30;color:#f0f4e8}.brand{display:flex;align-items:center;gap:11px;color:inherit;text-decoration:none;font-size:19px;font-weight:650;letter-spacing:-.5px}.brandmark{display:grid;place-items:center;width:38px;height:42px;background:#3d6547;border:1px solid #789d77;border-radius:11px;font-size:26px}.brand small{display:block;font-size:8px;font-weight:400;letter-spacing:1.6px;color:#afc4af;margin-top:1px}.top nav{display:flex;gap:5px;margin-left:auto}.top nav button{border:0;background:transparent;color:#b8cdbb;padding:10px 14px;font-size:12px}.top nav button[aria-pressed=true]{background:#3d5e47;color:#fff}.mode-label{font-size:9px;letter-spacing:.8px;background:#304d38;color:#b3c9ae;border-radius:4px;padding:6px 9px;white-space:nowrap}main{max-width:1510px;margin:auto;padding:30px 36px 20px}.intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:21px}.eyebrow{display:block;font-size:9px;letter-spacing:2px;color:#809375;margin-bottom:7px}h1{font-size:29px;line-height:1.4;letter-spacing:-1px;font-weight:650;margin:0 0 7px}.intro p{font-size:12px;color:var(--muted);margin:0}.totals{display:flex;gap:23px;flex-wrap:wrap;font-size:11px;color:var(--muted)}.totals b{font-size:24px;font-weight:550;color:var(--ink);margin-left:7px}.demo-note{background:#f3ecd5;color:#7d6c3b;border:1px solid #e9dfbf;border-radius:7px;font-size:11px;padding:10px 13px;line-height:1.8;margin:0 0 20px}.toolbar{display:flex;align-items:center;gap:18px;margin-bottom:14px}#search-form{flex:1;display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:6px 7px 6px 15px}#query{border:0;padding:7px 0;flex:1;width:100%;outline-offset:0;font-size:12px}.search-symbol{font-size:25px;color:#8a9b83;line-height:1}.scope{display:flex;padding:4px;border:1px solid var(--line);border-radius:8px;background:#ecefe6}.scope button{background:none;border:0;font-size:11px;white-space:nowrap;padding:9px 13px}.scope button[aria-pressed=true]{background:#fff;box-shadow:0 1px 3px #203d3012;color:var(--green)}.filters{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:17px}.types{display:flex;gap:7px;flex-wrap:wrap}.types button{font-size:11px;padding:6px 12px}.types button[aria-pressed=true]{color:#fff;background:var(--green);border-color:var(--green)}.types span{opacity:.7;margin-left:7px}.options{display:flex;gap:15px;align-items:center;font-size:11px;color:var(--muted)}.check{display:flex;gap:6px;align-items:center;cursor:pointer}.options select{padding:4px 8px;font-size:11px}.notice{padding:11px 14px;margin:0 0 15px;background:#e5eedc;color:#416034;font-size:12px;border-radius:7px}.notice.error{background:#f7e8dd;color:#8c4f37}.workspace{display:grid;grid-template-columns:320px minmax(0,1fr);gap:20px;align-items:start}.place-panel,.map-panel,.detail-panel,.auth-panel{border:1px solid var(--line);border-radius:10px;background:var(--paper);overflow:hidden;min-width:0}.panel-head{padding:18px 17px;display:flex;justify-content:space-between;gap:10px;align-items:center;border-bottom:1px solid var(--line)}h2{font-size:14px;margin:0 0 4px;font-weight:650}.panel-head p{font-size:10px;color:var(--muted);margin:0}.place-list{max-height:650px;overflow:auto;overscroll-behavior:contain}.place{border:0;border-bottom:1px solid #ebeee5;border-radius:0;width:100%;display:flex;align-items:center;gap:11px;text-align:left;padding:15px 16px;min-height:88px}.place[aria-pressed=true]{background:#eef4e7;box-shadow:inset 3px 0 var(--green)}.place-icon{display:grid;place-items:center;width:37px;height:42px;border-radius:9px;background:#edf2e5;font-size:20px;flex-shrink:0}.place-copy{flex:1;min-width:0}.place-name{display:block;font-size:12px;font-weight:600;overflow-wrap:anywhere}.place-sub{font-size:10px;color:var(--muted);display:block;margin-top:4px}.badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.badge{display:inline-block;background:#f0f2eb;color:#7c8b72;padding:2px 5px;border-radius:4px;font-size:9px}.badge.active{background:#dfebd2;color:#52783f}.badge.pending{background:#f5edd7;color:#9a8045}.place-distance{color:#8c9983;font-size:10px;white-space:nowrap;align-self:flex-start;margin-top:3px}.pagination{padding:12px 16px;display:flex;align-items:center;justify-content:space-between;font-size:10px}.pagination button{font-size:10px;padding:6px 9px}.map-and-detail{display:grid;gap:14px;min-width:0}.map-toolbar{padding:11px 15px;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted);gap:10px}.map-toolbar button{font-size:10px;padding:5px 9px}#map{height:480px;width:100%;background:#e6ecdf;z-index:0}.map-foot{padding:9px 13px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:9px;color:#7b8b73}.map-foot a{font-size:9px;white-space:nowrap}.legend{display:flex;gap:13px;flex-wrap:wrap}.tile-error{background:#fff4dd;color:#8b713f;font-size:11px;padding:10px 14px}.location-bar{background:#e9efdf;border:1px solid #d6e1c9;border-radius:8px;padding:12px 15px;display:flex;align-items:center;justify-content:space-between;gap:12px}.location-bar b{display:block;font-size:12px}.location-bar span{font-size:10px;color:#7b8f6e;display:block;margin-top:3px}.location-actions{display:flex;gap:6px;flex-wrap:wrap}.location-actions button{font-size:10px;padding:8px 10px}.detail-head{padding:19px 21px;border-bottom:1px solid #e8ede1;display:flex;justify-content:space-between;gap:15px}.detail-head h2{font-size:20px;margin:7px 0;letter-spacing:-.5px}.detail-head p{font-size:10px;color:var(--muted);margin:0}.detail-body{padding:15px 21px 20px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 25px}.info{font-size:11px;border-bottom:1px solid #edf0e7;padding:8px 0;display:grid;grid-template-columns:80px minmax(0,1fr);gap:9px}.info-label{color:#839178}.info-value{overflow-wrap:anywhere}.loot{display:flex;gap:12px;align-items:center;padding:13px 15px;background:#f0f5e8;border:1px solid #e1ebd4;border-radius:8px;margin-bottom:12px}.loot-emoji{font-size:29px}.loot b{font-size:13px;display:block;font-weight:600}.loot p{font-size:10px;color:#7e9072;margin:4px 0 0}.detail-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}.detail-actions button{font-size:11px}.source-note{font-size:10px;color:#839178;margin:14px 0 0;overflow-wrap:anywhere}.empty{padding:36px 18px;text-align:center;font-size:12px;color:var(--muted);line-height:2}.editor{display:grid;gap:13px;padding:18px 21px}.editor label{display:block;font-size:11px;color:#798b70}.editor input,.editor select,.editor textarea{width:100%;display:block;margin-top:5px}.editor textarea{min-height:75px;resize:vertical}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pick-field{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:7px}.pick-field b{font-size:11px;display:block;font-weight:550}.pick-field span{font-size:10px;color:#7b8d73}.pick-field button{font-size:10px;white-space:nowrap}.editor .check{display:flex;font-size:11px;color:var(--ink)}.editor .check input{width:16px;margin:0}.editor .detail-actions{margin-top:0}.auth-panel{padding:13px 16px}.auth-panel form{display:flex;align-items:end;gap:9px;flex-wrap:wrap}.auth-panel label{font-size:11px;color:var(--muted);flex:1}.auth-panel input{display:block;width:100%;margin-top:4px}.auth-panel button{font-size:11px}pre{font:11px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:18px 21px;max-height:500px;overflow:auto}.endpoint{padding:13px 21px;border-bottom:1px solid var(--line);font:11px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}.api-caption{padding:13px 21px;font-size:11px;color:var(--muted)}footer{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;color:#89967f;border-top:1px solid var(--line);margin-top:25px;padding-top:17px;font-size:9px}.pin-shell{background:none!important;border:0!important}.pin{display:grid;place-items:center;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 7px #203d3045;background:#e6ecd9;color:#5f7752;width:28px;height:28px;font-size:13px;font-weight:600}.pin.item{width:43px;height:43px;font-size:23px;background:#edf5d8;border:3px solid #6f9952;position:relative}.pin.item:after{content:'✦';position:absolute;bottom:-5px;right:-4px;display:grid;place-items:center;background:#3f7347;border:2px solid white;border-radius:50%;color:white;font-size:10px;width:17px;height:17px}.pin.selected{outline:3px solid #2c5a41;outline-offset:3px}.leaflet-popup-content{font-family:inherit;color:var(--ink);margin:12px 16px}.leaflet-popup-content b{font-size:12px}.leaflet-popup-content p{font-size:11px;margin:7px 0}.leaflet-popup-content button{font-size:10px}.leaflet-control-attribution{font-size:10px!important}.leaflet-container a{color:#3c6c48}[hidden]{display:none!important}
@media(min-width:1450px){.workspace{grid-template-columns:355px minmax(0,1fr)}#map{height:530px}}
@media(max-width:1050px){main{padding:24px}.top{padding:17px 24px}.mode-label{display:none}.workspace{grid-template-columns:285px minmax(0,1fr)}.toolbar{gap:10px}.scope button{padding:9px}.detail-grid{grid-template-columns:1fr}.intro h1{font-size:25px}.totals{gap:12px}.map-foot{align-items:start}.legend{gap:7px}#map{height:430px}.location-bar{align-items:start;flex-direction:column}.location-actions{width:100%}.location-actions button{flex:1}}
@media(max-width:760px){.top{padding:14px 17px;gap:14px;flex-wrap:wrap}.brand{font-size:18px}.top nav{margin-left:0;width:100%;gap:5px}.top nav button{flex:1;padding:8px 11px}main{padding:20px 15px}.intro{align-items:start;flex-direction:column;gap:10px}.intro h1{font-size:25px}.intro p{font-size:11px}.totals{font-size:10px;gap:20px}.totals b{font-size:20px}.toolbar{flex-direction:column;align-items:stretch}.scope{justify-content:center}.scope button{flex:1}.filters{gap:8px}.types{gap:5px}.types button{padding:7px 9px}.types span{margin-left:4px}.options{width:100%;justify-content:space-between}.workspace{display:flex;flex-direction:column}.map-and-detail{order:-1;width:100%}.place-panel{width:100%}.place-list{max-height:450px}#map{height:370px}.map-foot{flex-wrap:wrap;gap:5px}.legend{font-size:9px}.detail-grid{grid-template-columns:1fr}.two{grid-template-columns:1fr}.editor{padding:16px}.editor input,.editor select,.editor textarea,#query{font-size:16px}.detail-head{padding:16px}.detail-body{padding:14px 16px}.location-bar{padding:11px}.pick-field{align-items:start;flex-direction:column;gap:6px}.pick-field button{width:100%;min-height:40px}.types button,.scope button,.detail-actions button,.location-actions button{min-height:42px}.top nav button{min-height:42px}.info{grid-template-columns:75px minmax(0,1fr)}footer{font-size:9px;line-height:1.9}}

.dataset-info{font-size:11px;color:#697c61;background:#edf2e7;border:1px solid #dfe8d5;border-radius:7px;padding:10px 14px;margin-bottom:12px}.dataset-info summary{cursor:pointer;font-weight:600}.dataset-info p{margin:9px 0 0}.dataset-info #dataset-summary{margin-top:9px;line-height:1.9}.pin.cluster{width:42px;height:42px;background:#d9e8c9;border:3px solid #fff;font:600 12px/1 sans-serif;box-shadow:0 0 0 4px #8eac7150,0 2px 8px #24452a40}.options{flex-wrap:wrap}#region{max-width:150px}.source-link{font-size:11px}.all-map-note{font-size:10px;color:#7d8c72}
