@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Noto+Sans+KR:wght@400;500;600;700&display=swap');
.map-ready{display:block!important;padding:0!important}.map-marker{display:grid;place-items:center;width:26px;height:26px;border:2px solid #fff;border-radius:50%;color:#fff;font:700 11px 'Noto Sans KR',sans-serif;box-shadow:0 2px 7px #0006}.map-info{max-width:260px;padding:10px 12px;background:#fff;border:1px solid #d8dfd9;color:#13211c;font:12px/1.55 'Noto Sans KR',sans-serif;box-shadow:0 3px 12px #0003}
:root{--ink:#13211c;--muted:#64726b;--line:#d8dfd9;--paper:#f7f7f2;--cream:#ece9dd;--accent:#12715b;--risk:#9a3f31;--warn:#8b5e13}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans KR',sans-serif;font-size:14px}header,main{max-width:1280px;margin:auto;padding-left:28px;padding-right:28px}header{padding-top:46px;padding-bottom:26px;display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid var(--line)}h1{font-size:clamp(29px,5vw,52px);letter-spacing:-.07em;margin:4px 0}h2{letter-spacing:-.045em;margin:4px 0 10px}.sub,.fine{color:var(--muted);font-size:13px}.eyebrow{font:500 11px 'DM Mono',monospace;letter-spacing:.12em;color:var(--accent);margin:0}.header-actions,.toolbar-actions,.modal-actions,.card-actions{display:flex;gap:8px;align-items:center}button,.outline,.primary{font:inherit;cursor:pointer;padding:9px 12px;text-decoration:none}.outline{background:transparent;color:var(--accent);border:1px solid var(--accent)}.primary{background:var(--accent);color:white;border:1px solid var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}.notice{margin:20px 0;padding:12px 14px;background:#e8f0eb;border-left:3px solid var(--accent);font-size:13px}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);margin:20px 0}.metric{background:var(--paper);padding:17px}.metric b{display:block;font:500 26px 'DM Mono',monospace;letter-spacing:-.06em;margin-top:7px}.today{border:1px solid var(--ink);padding:20px;margin:20px 0;background:#fff}.today.empty{border-color:var(--line);color:var(--muted)}.today-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:16px}.today h2{font-size:20px}.toolbar{display:flex;justify-content:space-between;gap:15px;align-items:end;margin:25px 0 14px}.toolbar>div:first-child{display:flex;gap:9px;flex-wrap:wrap}.toolbar label{display:grid;gap:4px;color:var(--muted);font-size:11px}select,input,textarea{width:100%;background:#fff;border:1px solid var(--line);padding:8px;color:var(--ink);font:inherit}textarea{resize:vertical}.map-panel{background:var(--ink);color:#f4f5ee;padding:25px;display:grid;grid-template-columns:1fr 1.35fr;gap:24px;margin:23px 0}.map-panel p:not(.eyebrow){color:#c3ccc6;line-height:1.75;font-size:13px}.map-list{grid-column:1/-1;border-top:1px solid #3e5149;padding-top:14px;display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.map-item{display:flex;align-items:center;gap:9px;color:#eff4ef;text-decoration:none;font-size:12px}.dot{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:var(--accent);font:11px 'DM Mono',monospace}#map-canvas{min-height:240px;background:#1d3028;border:1px solid #3e5149;display:grid;place-items:center;color:#c3ccc6;text-align:center;padding:18px}.listing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{border:1px solid var(--line);background:#fff;padding:17px;display:flex;flex-direction:column;gap:12px}.card-top{display:flex;justify-content:space-between;gap:10px}.tier{font:500 28px 'DM Mono',monospace;color:var(--accent)}.address{font-size:16px;line-height:1.45;margin:0}.meta,.score-breakdown{font-size:11px;color:var(--muted);line-height:1.6}.numbers{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 0}.numbers span,.score-row span{font-size:11px;color:var(--muted)}.numbers b{display:block;font-size:14px;margin-top:2px}.pills{display:flex;gap:5px;flex-wrap:wrap}.pill{font-size:11px;padding:3px 6px;background:var(--cream)}.risk{font-size:12px;margin:0;background:#fcf0ed;color:var(--risk);padding:8px}.risk.safe{background:#eef6f0;color:#26734b}.score-row{display:flex;justify-content:space-between;align-items:center}.checkline{display:flex;justify-content:space-between;font-size:12px;border-top:1px solid var(--line);padding-top:9px}.card-actions{margin-top:auto;flex-wrap:wrap}.card-actions a,.card-actions button{font-size:12px}.star{margin-left:auto}.explain{margin:48px 0 64px;border-top:1px solid var(--line);padding-top:22px}.rule-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:15px}.rule-grid article{background:var(--cream);padding:15px}.rule-grid b{display:block;font:500 22px 'DM Mono',monospace;color:var(--accent)}dialog{border:0;padding:0;max-width:min(900px,94vw);width:900px;background:#fff;color:var(--ink);box-shadow:0 14px 60px #0005}dialog::backdrop{background:#10201888}dialog form,dialog>div{padding:22px}.modal-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);margin-bottom:18px;padding-bottom:11px}.icon-button{border:0;background:transparent;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.form-grid label{display:grid;gap:5px;font-size:12px;color:var(--muted)}.form-grid .wide{grid-column:1/-1}.form-grid .check{display:flex;align-items:center;gap:7px;padding-top:18px}.check input{width:auto}.modal-actions{justify-content:flex-end;margin-top:20px}.compare{width:100%;border-collapse:collapse;font-size:12px}.compare th,.compare td{padding:9px;border:1px solid var(--line);text-align:left;vertical-align:top}.compare th{background:var(--cream)}@media(max-width:820px){header{align-items:start;flex-direction:column;gap:16px}.summary,.rule-grid{grid-template-columns:repeat(2,1fr)}.listing-grid{grid-template-columns:repeat(2,1fr)}.map-panel,.today-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:530px){header,main{padding-left:16px;padding-right:16px}.listing-grid,.summary,.rule-grid,.form-grid{grid-template-columns:1fr}.map-list{grid-template-columns:1fr}.toolbar{align-items:start;flex-direction:column}.today{padding:15px}.header-actions{width:100%}.header-actions>*{flex:1}}
