*{box-sizing:border-box}body{margin:0;background:#f3f6f9;color:#183043;font-family:system-ui,'Malgun Gothic',sans-serif}header{height:64px;background:#102f43;color:white;display:flex;align-items:center;gap:18px;padding:0 max(18px,calc((100vw - 1400px)/2))}header span{color:#bdd0da;font-size:12px;flex:1}button{cursor:pointer;border:0;border-radius:9px;padding:10px 14px;background:#087e91;color:white;font-weight:700}header button{background:transparent;border:1px solid #8aa4b1}.intro{max-width:1400px;margin:25px auto 18px;padding:0 20px;display:flex;align-items:center;justify-content:space-between}.intro h1{margin:0;font-size:25px}.intro p,aside>p{color:#7b8994}.public{background:#e4f3f4;color:#087b8b;padding:9px 14px;border-radius:30px;font-size:12px}.layout{max-width:1400px;margin:auto;padding:0 20px 20px;display:grid;grid-template-columns:1.4fr .85fr;gap:18px}.mapbox,aside{background:white;border:1px solid #e1e8ee;border-radius:15px;padding:13px;box-shadow:0 4px 16px #1232}aside{padding:22px}#map{height:680px;border-radius:10px}.note,footer{font-size:11px;color:#82909a}.note{margin:8px 2px 0}aside small{color:#7e8c96}aside h2{margin:5px 0}.score{background:#eaf5f6;padding:15px;border-radius:11px;display:grid;gap:6px;margin:17px 0}.score strong{font-size:28px;color:#087e91}.score small{font-size:11px}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:9px}.metrics div{border:1px solid #e5ebef;border-radius:9px;padding:13px;color:#74838e;font-size:12px}.metrics strong{display:block;font-size:18px;color:#172b3a;margin-top:5px}h3{font-size:15px;margin:18px 0 8px}.empty{background:#f6f8fa;padding:18px;border-radius:9px;text-align:center;color:#82909a;font-size:12px}.notice{background:#fff8e9;border:1px solid #f0e4c8;padding:12px;border-radius:9px;margin-top:15px;font-size:12px}.notice p{color:#786e57;line-height:1.6;margin-bottom:0}footer{text-align:center;padding:15px}.modal{position:fixed;inset:0;background:#071e2ccc;display:grid;place-items:center;padding:18px;z-index:999}.hidden{display:none!important}.modal section{background:white;border-radius:15px;padding:25px;width:min(400px,100%);position:relative}.modal section>button:first-child{float:right;background:#e8eef2;color:#345}.modal form{display:grid;gap:9px}.modal input{padding:12px;border:1px solid #d5dfe6;border-radius:8px}.modal label{font-size:12px;font-weight:700}#message{color:#b54738;font-size:12px}@media(max-width:850px){.layout{grid-template-columns:1fr}#map{height:50vh;min-height:350px}.intro{align-items:flex-start;gap:10px;flex-direction:column}aside{padding:16px}}