:root{--green:#087653;--green-dark:#075b42;--green-soft:#e8f5ef;--ink:#121b18;--muted:#68756f;--line:#dfe8e3;--paper:#fff;--bg:#eef3f0}*{box-sizing:border-box}html,body{margin:0;min-height:100%;overflow:hidden;background:#dfe6e2;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.transactions-app{position:relative;width:min(100%,680px);height:100dvh;margin:auto;overflow:hidden;background:var(--bg)}.transaction-map{position:absolute;inset:0;background:linear-gradient(160deg,#e8f1ee,#dbe7e2)}.region-map,.naver-map{position:absolute;inset:0 0 36%;overflow:hidden}.region-map{display:grid;place-items:center;padding:76px 18px 20px}.region-map svg{display:block;width:100%;height:100%;filter:drop-shadow(0 8px 18px rgba(25,70,51,.08))}.region-map path{stroke:#fff;stroke-width:1.25;vector-effect:non-scaling-stroke;transition:opacity .15s,fill .15s}.region-map path[data-code]{cursor:pointer}.region-map path[data-code]:active{opacity:.7}.region-map .cluster-label{pointer-events:none}.region-map .cluster-label rect{fill:#087653;stroke:#fff;stroke-width:2}.region-map .cluster-label text{fill:#fff;font-size:13px;font-weight:900;text-anchor:middle}.region-map .cluster-label .cluster-name{fill:#24463a;font-size:9px;font-weight:850}.naver-map{background:#e9efec}.transaction-topbar{position:absolute;z-index:20;top:calc(12px + env(safe-area-inset-top));left:14px;right:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.transaction-search{display:flex;align-items:center;gap:8px;width:100%;height:46px;padding:0 12px;border:1px solid rgba(20,62,45,.08);border-radius:15px;background:rgba(255,255,255,.96);box-shadow:0 7px 22px rgba(34,66,52,.1);backdrop-filter:blur(12px)}.transaction-search svg{width:20px;height:20px;fill:none;stroke:#365147;stroke-width:2;stroke-linecap:round}.transaction-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--ink);font-size:14px;font-weight:700}.transaction-search input::placeholder{color:#78857f}.transaction-search button{width:28px;height:28px;border:0;border-radius:50%;background:#edf3f0;color:#53645c;font-size:20px}.region-back,.price-mode{box-shadow:0 5px 16px rgba(30,58,46,.1)}.region-back{height:36px;padding:0 13px;border:0;border-radius:18px;background:#fff;color:var(--green-dark);font-size:12px;font-weight:850}.price-mode{display:flex;margin-left:auto;padding:3px;border-radius:12px;background:#fff}.price-mode button{height:30px;padding:0 12px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:11px;font-weight:800}.price-mode button.active{background:var(--green);color:#fff}.map-state{position:absolute;z-index:9;top:50%;left:50%;max-width:72%;padding:9px 13px;border-radius:12px;background:rgba(255,255,255,.9);color:var(--muted);font-size:11px;font-weight:750;text-align:center;transform:translate(-50%,-50%);box-shadow:0 6px 20px rgba(25,55,42,.08)}.map-state:empty{display:none}.transaction-sheet{position:fixed;z-index:40;left:50%;bottom:0;width:min(100%,680px);height:46dvh;border:1px solid rgba(31,55,43,.08);border-bottom:0;border-radius:25px 25px 0 0;background:var(--paper);box-shadow:0 -10px 30px rgba(25,55,42,.12);transform:translateX(-50%);transition:height .3s cubic-bezier(.2,.75,.2,1)}.transaction-sheet.sheet-peek{height:150px}.transaction-sheet.sheet-half{height:46dvh}.transaction-sheet.sheet-full{height:calc(100dvh - 58px - env(safe-area-inset-top))}.transaction-sheet.dragging{transition:none}.sheet-handle{display:grid;place-items:center;width:100%;height:34px;padding:0;border:0;outline:0;background:transparent;touch-action:none}.sheet-handle span{width:42px;height:5px;border-radius:10px;background:#ccd6d1}.transaction-sheet-scroll{height:calc(100% - 34px);padding:0 14px calc(86px + env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain}.sheet-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:0 3px 10px}.sheet-title-row h1{margin:0;font-size:19px;letter-spacing:-.04em}.sheet-title-row p{margin:3px 0 0;color:var(--muted);font-size:11px}.read-only{flex:none;padding:5px 8px;border-radius:99px;background:var(--green-soft);color:var(--green-dark);font-size:10px;font-weight:850}.transaction-controls{display:flex;gap:8px;margin-bottom:8px}.control-button,.sort-control{display:flex;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;height:48px;padding:6px 11px;border:1px solid var(--line);border-radius:12px;background:#f8faf9;color:var(--ink)}.control-button{min-width:128px}.control-button small,.sort-control small{color:var(--muted);font-size:9px}.control-button b{margin-top:2px;font-size:12px}.sort-control select{max-width:105px;margin-top:1px;padding:0 18px 0 0;border:0;outline:0;background:transparent;color:var(--ink);font-size:12px;font-weight:800}.transaction-notice{margin:0 -14px 9px;padding:8px 16px;background:#f1f5f3;color:#77827d;font-size:10px;text-align:center}.transaction-content{display:grid;gap:8px}.loading-card,.empty-card{padding:26px 14px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--muted);font-size:12px;text-align:center}.region-list{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:#fff}.region-row{display:grid;grid-template-columns:minmax(0,1fr) auto 16px;gap:9px;align-items:center;width:100%;min-height:47px;padding:0 14px;border:0;border-bottom:1px solid #edf1ef;background:#fff;color:var(--ink);text-align:left}.region-row:last-child{border-bottom:0}.region-row b{font-size:13px}.region-row strong{color:var(--green-dark);font-size:12px}.region-row i{color:#9aa49f;font-size:20px;font-style:normal}.deal-card{position:relative;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 3px 12px rgba(25,58,43,.04);scroll-margin-top:12px}.deal-card.focused{border-color:#45a47d;box-shadow:0 0 0 2px rgba(8,118,83,.1)}.deal-head{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;align-items:start}.deal-number{display:grid;width:26px;height:26px;place-items:center;border-radius:50%;background:#68746e;color:#fff;font-size:11px;font-weight:900}.deal-card.focused .deal-number{background:var(--green)}.deal-address h2{margin:1px 0 0;font-size:15px;line-height:1.35;overflow-wrap:anywhere}.deal-address p{margin:4px 0 0;color:var(--muted);font-size:10px}.deal-price{text-align:right;white-space:nowrap}.deal-price strong{display:block;color:var(--green-dark);font-size:18px;letter-spacing:-.04em}.deal-price span{display:block;margin-top:3px;color:var(--green);font-size:10px;font-weight:800}.deal-tags{display:flex;flex-wrap:wrap;gap:5px;margin:9px 0 8px 34px}.deal-tags span{padding:3px 6px;border-radius:6px;background:#e6f3ed;color:#24694f;font-size:9px;font-weight:800}.deal-tags span.age{background:#fff2cf;color:#806118}.deal-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-left:34px;overflow:hidden;border:1px solid #edf1ef;border-radius:11px;background:#edf1ef}.deal-facts div{min-width:0;padding:8px;background:#f8faf9}.deal-facts small{display:block;color:#7a8580;font-size:9px}.deal-facts b{display:block;margin-top:2px;font-size:11px;line-height:1.3;overflow-wrap:anywhere}.deal-extra{display:grid;grid-template-columns:58px minmax(0,1fr);gap:4px 7px;margin:9px 0 0 34px;color:#526059;font-size:10px;line-height:1.45}.deal-extra b{color:#748079}.deal-check-link{display:flex;align-items:center;justify-content:center;min-height:38px;margin:11px 0 0 34px;border-radius:10px;background:#eef7f3;color:var(--green-dark);font-size:11px;font-weight:850;text-decoration:none}.period-dialog{width:min(calc(100% - 28px),500px);padding:0;border:0;border-radius:22px;background:#fff;color:var(--ink);box-shadow:0 24px 80px rgba(14,36,26,.3)}.period-dialog::backdrop{background:rgba(16,31,24,.42);backdrop-filter:blur(3px)}.period-dialog form{padding:20px}.period-dialog header{display:flex;align-items:flex-start;justify-content:space-between}.period-dialog header small{color:var(--green);font-size:10px;font-weight:850}.period-dialog h2{margin:3px 0 0;font-size:19px}.period-dialog header button{width:34px;height:34px;border:0;border-radius:50%;background:#eff3f1;color:#52615a;font-size:22px}.quick-periods{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:18px;padding:4px;border-radius:13px;background:#eef3f0}.quick-periods button{height:38px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:12px;font-weight:850}.quick-periods button.active{background:#fff;color:var(--green-dark);box-shadow:0 2px 7px rgba(23,54,40,.08)}.date-range{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:end;margin-top:16px}.date-range label{color:var(--muted);font-size:10px}.date-range input{display:block;width:100%;height:44px;margin-top:5px;padding:0 8px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:#fff;font-size:11px;font-weight:750}.date-range i{padding-bottom:13px;color:#95a09a;font-style:normal}.period-dialog form>p{margin:12px 1px;color:var(--muted);font-size:10px;line-height:1.5}.apply-period{width:100%;height:46px;border:0;border-radius:12px;background:var(--green);color:#fff;font-size:13px;font-weight:850}.deal-map-marker{display:grid;min-width:54px;height:31px;padding:0 8px;place-items:center;border:2px solid var(--green);border-radius:11px;background:#fff;color:var(--green-dark);box-shadow:0 3px 10px rgba(12,77,51,.2);font-size:10px;font-weight:900;white-space:nowrap}.deal-map-marker.focused{color:#fff;background:var(--green);transform:scale(1.08)}@media(max-width:420px){.transaction-sheet{height:48dvh}.deal-price strong{font-size:16px}.deal-card{padding:12px 11px}.deal-facts,.deal-tags,.deal-extra,.deal-check-link{margin-left:0}.deal-head{grid-template-columns:26px minmax(0,1fr) auto}.region-map{padding-left:8px;padding-right:8px}}@media(min-width:760px){.transaction-sheet{bottom:12px;border-bottom:1px solid rgba(31,55,43,.08);border-radius:25px}.region-map,.naver-map{inset:0}.transaction-sheet.sheet-half{height:min(48dvh,560px)}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.transaction-sheet{transition:none}}
