:root{color:#17231c;font-synthesis:none;--ink:#17231c;--muted:#667169;--line:#d9ddd6;--paper:#f2f3ee;--card:#fff;--green:#165b3f;--green-2:#2f7455;--green-soft:#e4f0e8;--yellow-soft:#fff1c8;--blue:#386b86;--blue-soft:#e5f0f5;--red:#a53f37;--red-soft:#f9e3e0;--shadow:0 22px 60px #1e2e241a;background:#f2f3ee;font-family:Pretendard,Noto Sans KR,Apple SD Gothic Neo,system-ui,sans-serif}*{box-sizing:border-box}html{background:var(--paper)}body{background:radial-gradient(circle at 85% -10%, #dce9dc 0, transparent 34%), var(--paper);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}.app-shell{min-height:100vh}.topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:20;background:#f2f3eee6;border-bottom:1px solid #17231c1a;justify-content:space-between;align-items:center;height:72px;padding:0 max(22px,50vw - 590px);display:flex;position:sticky;top:0}.brand{align-items:center;gap:11px;text-decoration:none;display:flex}.brand-mark{color:#fff;background:var(--ink);border-radius:13px;place-items:center;width:40px;height:40px;display:grid;box-shadow:0 8px 18px #17231c2e}.brand>span:last-child,.brand strong,.brand small{display:block}.brand strong{letter-spacing:-.03em}.brand small{color:var(--muted);margin-top:2px;font-size:11px}.dataset-badge{border:1px solid var(--line);min-height:32px;color:var(--muted);background:#ffffffb8;border-radius:999px;align-items:center;gap:7px;padding:0 11px;font-size:11px;font-weight:800;display:flex}.dataset-badge>span{background:#9da59f;border-radius:50%;width:7px;height:7px}.dataset-badge.ready>span{background:#32a46d;box-shadow:0 0 0 4px #daf2e5}.dataset-badge.warning>span{background:#d79b26}.dataset-badge.error>span{background:var(--red)}.dataset-badge.loading>span{animation:1.2s infinite pulse}main{width:min(1180px,100% - 40px);margin:28px auto 0}.search-hero{min-height:390px;box-shadow:var(--shadow);color:#fff;background:linear-gradient(125deg,#14291e,#235a40);border-radius:30px;grid-template-columns:1.06fr .94fr;align-items:center;gap:55px;padding:50px;display:grid;position:relative;overflow:hidden}.search-hero:before{content:"";border:70px solid #ffffff09;border-radius:50%;width:420px;height:420px;position:absolute;top:-210px;right:-130px}.hero-copy,.search-panel{z-index:1;position:relative}.eyebrow{color:#789084;letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:6px;font-size:10px;font-weight:900;display:inline-flex}.hero-copy .eyebrow{color:#d9ca97}.hero-copy h1{letter-spacing:-.065em;margin:18px 0 20px;font-size:clamp(42px,5vw,67px);line-height:1.08}.hero-copy h1 em{color:#f2c458;font-style:normal}.hero-copy>p{color:#c6d3ca;max-width:590px;margin:0;font-size:14px;line-height:1.8}.search-panel{color:var(--ink);background:#fafcf9f7;border:1px solid #ffffff40;border-radius:22px;padding:26px;box-shadow:0 24px 55px #06110a3b}.search-panel label{color:#435148;margin-bottom:9px;font-size:11px;font-weight:900;display:block}.postcode-input{background:#fff;border:2px solid #cdd3cc;border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;height:58px;padding:6px 6px 6px 15px;transition:all .18s;display:grid}.postcode-input:focus-within{border-color:var(--green-2);box-shadow:0 0 0 4px #2f74551f}.postcode-input.has-error{border-color:#c16559}.postcode-input svg{color:var(--green)}.postcode-input input{min-width:0;color:var(--ink);letter-spacing:.08em;background:0 0;border:0;outline:0;font-size:23px;font-weight:800}.postcode-input input::placeholder{color:#adb4af}.postcode-input button{color:#1b241e;cursor:pointer;background:#efb841;border:0;border-radius:12px;height:44px;padding:0 17px;font-size:12px;font-weight:900}.postcode-input button:disabled{opacity:.45;cursor:wait}.search-error,.dataset-date{align-items:center;gap:6px;margin:10px 2px 0;font-size:11px;display:flex}.search-error{color:var(--red)}.dataset-date{color:var(--muted)}.recent-searches{border-top:1px solid var(--line);margin-top:22px;padding-top:19px}.recent-searches>span{color:var(--muted);align-items:center;gap:6px;font-size:10px;font-weight:900;display:flex}.recent-searches>div{scrollbar-width:thin;gap:7px;margin-top:9px;display:flex;overflow-x:auto}.recent-searches button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#f7f8f5;border-radius:11px;min-width:106px;padding:9px 11px}.recent-searches button strong,.recent-searches button small{display:block}.recent-searches button strong{font-size:12px}.recent-searches button small{width:120px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:9px;overflow:hidden}.recent-searches>p{color:#8b938d;margin:9px 0 0;font-size:10px}.guide-section{grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0 70px;display:grid}.guide-section>article{border:1px solid var(--line);background:#ffffffbf;border-radius:19px;min-height:190px;padding:25px}.guide-section article>span{width:42px;height:42px;color:var(--green);background:var(--green-soft);border-radius:12px;place-items:center;display:grid}.guide-section article svg{width:20px}.guide-section h2{letter-spacing:-.03em;margin:20px 0 8px;font-size:17px}.guide-section p{color:var(--muted);margin:0;font-size:12px;line-height:1.65}.build-notice{color:#74571a;background:#fff5d8;border:1px solid #e1c781;border-radius:15px;grid-column:1/-1;gap:12px;padding:17px 20px;display:flex}.build-notice>svg{flex:none;width:19px}.build-notice strong{font-size:12px}.build-notice p{color:#806a3c;margin-top:4px}.result-layout{grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:24px;margin:42px 0 80px;display:grid}.result-main{min-width:0}.result-heading{justify-content:space-between;gap:18px;margin-bottom:20px;display:flex}.result-heading h2{letter-spacing:-.045em;margin:6px 0 7px;font-size:29px}.result-heading p{color:var(--muted);margin:0;font-size:12px}.no-score{color:var(--green);background:var(--green-soft);white-space:nowrap;border-radius:999px;align-self:flex-start;align-items:center;gap:5px;padding:8px 11px;font-size:10px;font-weight:900;display:flex}.zone-map{border:1px solid var(--line);background:#e8eee7;border-radius:22px;height:410px;position:relative;overflow:hidden;box-shadow:0 10px 30px #1e2e2414}.naver-map,.boundary-preview{position:absolute;inset:0}.naver-map{opacity:0;transition:opacity .2s}.naver-map.ready{opacity:1}.boundary-preview svg{width:100%;height:100%}.map-label{background:#ffffffeb;border:1px solid #fff9;border-radius:11px;align-items:center;gap:6px;padding:9px 12px;display:flex;position:absolute;top:15px;left:15px;box-shadow:0 7px 20px #17231c1f}.map-label svg{color:var(--green)}.map-label strong{font-size:12px}.map-label span{color:var(--muted);font-size:9px}.map-key-notice{color:#58645b;background:#ffffffe6;border-radius:8px;padding:7px 10px;font-size:9px;font-weight:800;position:absolute;bottom:15px;right:15px}.map-key-notice.error{color:var(--red)}.map-loading{color:var(--muted);place-content:center;justify-items:center;gap:10px;font-size:11px;display:grid;position:absolute;inset:0}.summary-section,.housing-section,.attention-section{margin-top:38px}.section-title{justify-content:space-between;align-items:flex-end;gap:15px;margin-bottom:16px;display:flex}.section-title h3{letter-spacing:-.035em;margin:5px 0 0;font-size:22px}.section-title>span{color:var(--muted);font-size:10px;font-weight:800}.summary-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.summary-card{border:1px solid var(--line);background:var(--card);border-radius:17px;gap:15px;min-height:125px;padding:20px;display:flex}.summary-card>span{width:40px;height:40px;color:var(--green);background:var(--green-soft);border-radius:12px;flex:none;place-items:center;display:grid}.summary-card svg{width:19px}.summary-card small,.summary-card strong,.summary-card p{display:block}.summary-card small{color:var(--muted);font-size:10px;font-weight:800}.summary-card strong{margin-top:7px;font-size:20px}.summary-card p{color:var(--muted);margin:5px 0 0;font-size:10px}.housing-section{border:1px solid var(--line);background:#ffffffad;border-radius:18px;padding:22px}.mix-bar{background:#e3e6e1;border-radius:999px;height:13px;display:flex;overflow:hidden}.mix-bar span{height:100%}.mix-0{background:#245f46}.mix-1{background:#d49a30}.mix-2{background:#5f7f91}.mix-3{background:#a76b51}.mix-legend{grid-template-columns:repeat(2,1fr);gap:9px 20px;margin-top:15px;display:grid}.mix-legend div{grid-template-columns:auto 1fr auto;align-items:center;gap:7px;display:grid}.mix-legend i{border-radius:50%;width:8px;height:8px}.mix-legend span{color:var(--muted);font-size:10px}.mix-legend strong{font-size:10px}.section-description{color:var(--muted);margin:-6px 0 14px;font-size:11px;line-height:1.6}.building-list{gap:10px;display:grid}.building-card{border:1px solid var(--line);background:var(--card);border-radius:18px;padding:19px}.building-heading{grid-template-columns:auto 1fr auto;align-items:start;gap:11px;display:grid}.building-icon{width:38px;height:38px;color:var(--green);background:var(--green-soft);border-radius:11px;place-items:center;display:grid}.building-icon svg{width:18px}.building-heading h4{letter-spacing:-.025em;margin:1px 0 5px;font-size:15px}.building-heading p{color:var(--muted);align-items:center;gap:4px;margin:0;font-size:10px;display:flex}.building-heading>small{color:var(--muted);background:#f0f2ee;border-radius:6px;padding:5px 7px;font-size:8px;font-weight:900}.building-facts{border-top:1px solid #e8eae6;border-bottom:1px solid #e8eae6;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0 0;padding:11px 0;display:grid}.building-facts span{color:var(--muted);font-size:9px}.building-facts strong{color:var(--ink);margin-top:3px;font-size:11px;display:block}.tag-list{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.tag-list>span{border-radius:8px;padding:7px 8px;font-size:9px;font-weight:900}.tag-list span small{opacity:.78;margin-top:3px;font-size:8px;font-weight:600;display:block}.tag-list .danger{color:var(--red);background:var(--red-soft)}.tag-list .warning{color:#805916;background:var(--yellow-soft)}.tag-list .info{color:var(--blue);background:var(--blue-soft)}.empty-box{color:var(--green);background:#f4f8f4;border:1px dashed #b9c5ba;border-radius:16px;gap:13px;padding:22px;display:flex}.empty-box svg{flex:none;width:20px}.empty-box strong{font-size:12px}.empty-box p{color:var(--muted);margin:5px 0 0;font-size:10px}.omitted-note{color:var(--muted);text-align:right;font-size:10px}.result-aside{gap:13px;display:grid;position:sticky;top:92px}.aside-card,.limits-card{border:1px solid var(--line);background:#ffffffd1;border-radius:18px;padding:20px}.aside-card h3{margin:5px 0 7px;font-size:17px}.aside-card>p{color:var(--muted);margin:0;font-size:10px;line-height:1.6}.coverage-card>div{margin-top:18px}.coverage-row{margin-top:11px}.coverage-row>span{color:var(--muted);justify-content:space-between;font-size:9px;display:flex}.coverage-row strong{color:var(--ink)}.coverage-row>i{background:#e3e7e2;border-radius:999px;height:6px;margin-top:6px;display:block;overflow:hidden}.coverage-row b{border-radius:inherit;background:var(--green-2);height:100%;display:block}.coverage-card dl{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:7px;margin:18px 0 0;padding-top:14px;display:grid}.coverage-card dl div{background:#f3f5f1;border-radius:9px;padding:10px}.coverage-card dt{color:var(--muted);font-size:8px}.coverage-card dd{margin:4px 0 0;font-size:11px;font-weight:900}.source-card ul{margin:15px 0;padding:0;list-style:none}.source-card li{border-bottom:1px solid #e8eae6;padding:10px 0}.source-card li:last-child{border-bottom:0}.source-card li a,.source-card li strong{color:var(--green);font-size:10px;font-weight:900;text-decoration:none;display:block}.source-card li span{color:var(--muted);margin-top:3px;font-size:8px;display:block}.source-card>p{align-items:center;gap:5px;display:flex}.limits-card{color:#78591e;background:#fff7df;border-color:#e7cf91;gap:11px;display:flex}.limits-card>svg{flex:none;width:18px}.limits-card strong{font-size:11px}.limits-card p{color:#816d40;margin:5px 0 0;font-size:9px;line-height:1.6}footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:20px;padding:30px max(20px,50vw - 590px) 45px;font-size:10px;display:flex}footer strong{color:var(--ink)}footer p{text-align:right;max-width:670px;margin:0;line-height:1.6}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.3}}@media (width<=900px){.search-hero{grid-template-columns:1fr;gap:32px}.hero-copy>p{max-width:700px}.result-layout{grid-template-columns:1fr}.result-aside{grid-template-columns:repeat(2,1fr);position:static}.limits-card{grid-column:1/-1}}@media (width<=650px){.topbar{height:62px;padding:0 14px}.brand-mark{width:36px;height:36px}.brand small{display:none}.dataset-badge{max-width:155px;padding:0 8px;font-size:9px}main{width:calc(100% - 22px);margin-top:11px}.search-hero{border-radius:22px;gap:28px;min-height:0;padding:29px 19px 20px}.hero-copy h1{margin:14px 0 15px;font-size:39px}.hero-copy>p{font-size:12px;line-height:1.7}.search-panel{border-radius:17px;margin:0 -4px;padding:17px}.postcode-input{height:54px;padding-left:12px}.postcode-input input{font-size:20px}.postcode-input button{height:40px;padding:0 12px}.guide-section{grid-template-columns:1fr;margin-bottom:45px}.guide-section>article{min-height:0}.result-layout{margin-top:30px}.result-heading{align-items:flex-start}.result-heading h2{font-size:23px}.result-heading p{font-size:10px}.no-score{padding:7px 8px;font-size:8px}.zone-map{border-radius:18px;height:320px}.map-key-notice{max-width:calc(100% - 30px);left:15px;right:auto}.summary-grid{grid-template-columns:1fr 1fr}.summary-card{gap:10px;min-height:116px;padding:15px}.summary-card>span{width:34px;height:34px}.summary-card strong{font-size:15px}.mix-legend{grid-template-columns:1fr}.building-facts{grid-template-columns:repeat(2,1fr)}.result-aside{grid-template-columns:1fr}.limits-card{grid-column:auto}footer{flex-direction:column;align-items:flex-start}footer p{text-align:left}}
