:root{color-scheme:light;font-family:Pretendard,Noto Sans KR,sans-serif;background-color:#f7f4ef;color:#151515}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,#fef4e8,#f7f4ef 60%)}#root{min-height:100vh}.app{min-height:100vh;display:flex;flex-direction:column}.app__header{padding:24px;display:flex;flex-direction:column;gap:8px}.app__header h1{margin:0;font-size:28px}.app__header p{margin:0;color:#4b4b4b}.app__main{flex:1;position:relative;padding:0 24px 24px;display:flex;flex-direction:column;gap:16px}.layout{display:grid;grid-template-columns:1fr;gap:20px;align-items:start}.map-area{position:relative}.map{width:100%;height:70vh;min-height:420px;border-radius:12px;box-shadow:0 10px 30px #0000001f;overflow:hidden}.status{position:absolute;top:16px;left:32px;background:#151515;color:#fff;padding:10px 16px;border-radius:999px;font-size:14px}.ad{background:#fffaf3;border-radius:12px;border:1px solid #efe4d6;padding:12px;display:flex;align-items:center;justify-content:center;min-height:90px}.ad--header{position:sticky;top:0;z-index:10}.ad--placeholder{color:#9b8d7f;font-size:13px}.ad__slot{width:100%;min-height:90px}.sidebar{display:none;position:sticky;top:24px}.sheet{position:absolute;left:24px;right:24px;bottom:24px;background:#fff;border-radius:12px;box-shadow:0 12px 40px #0000002e;padding:20px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.sheet__content{display:flex;flex-direction:column;gap:8px}.sheet__ad{background:#fff6ec;border-radius:10px;padding:8px}.sheet__title{font-size:20px;font-weight:600}.sheet__meta{display:flex;gap:16px;font-size:14px;color:#5a5a5a}.sheet__address{color:#2f2f2f}.sheet__cta{margin-top:8px;display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 16px;border-radius:12px;background:#f05a28;color:#fff;text-decoration:none;font-weight:600}.sheet__close{border:none;background:#efefef;border-radius:12px;padding:8px 12px;cursor:pointer}@media(min-width:1024px){.layout{grid-template-columns:minmax(0,1fr) 280px}.sidebar{display:block}}@media(max-width:768px){.app__header{padding:16px}.app__main{padding:0 16px 16px}.map{height:60vh}.sheet{flex-direction:column}.sheet__close{align-self:flex-end}}
