.unipoly{--d-bg:#F1F3F7;--d-surface:#FFFFFF;--d-line:#E5E9F0;--d-line-2:#D8DEE8;--d-ink:#0F1B36;--d-ink-2:#1F2B47;--d-ink-3:#58637A;--d-ink-4:#8C95A8;--d-ink-5:#B4BBC8;--d-blue:#1F3D8A;--d-blue-2:#3B6BD9;--d-blue-soft:#EAF0FA;--d-airbnb:#58637A;--d-booking:#3B6BD9;--d-ok:#1F8A4E;--d-ok-soft:#E6F4EC;--d-warn:#C53030;--d-warn-soft:#FBE9E5;--u-mono:var(--font-geist-mono),ui-monospace,Menlo,monospace;background:var(--d-bg);color:var(--d-ink);font-family:var(--font-geist-sans),-apple-system,system-ui,sans-serif;min-height:100vh}.unipoly *,.unipoly :after,.unipoly :before{box-sizing:border-box}.unipoly a{color:inherit;text-decoration:none}.unipoly .d-card{background:var(--d-surface);border:1px solid var(--d-line);border-radius:16px}.unipoly .d-eyebrow{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--d-ink-4);font-weight:500}.unipoly .d-btn{background:var(--d-surface);border:1px solid var(--d-line);border-radius:10px;padding:8px 14px;font-size:12px;color:var(--d-ink-2);cursor:pointer;font-family:inherit;transition:border-color .15s,background .15s,color .15s;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.unipoly .d-btn:hover{border-color:var(--d-line-2)}.unipoly .d-btn.primary{background:var(--d-blue);border-color:var(--d-blue);color:#fff}.unipoly .d-btn.primary:hover{background:#173072}.unipoly .d-btn.primary:disabled{background:var(--d-ink-5);border-color:var(--d-ink-5);cursor:not-allowed}.unipoly .d-btn.ghost{border-color:transparent;background:transparent}.unipoly .d-btn.ghost:hover{background:var(--d-line)}.unipoly .d-btn.danger{color:var(--d-warn)}.unipoly .d-pill{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;padding:4px 10px;border-radius:100px;background:var(--d-bg);border:1px solid var(--d-line);color:var(--d-ink-3);font-weight:500;font-family:inherit}.unipoly .d-pill.blue{background:var(--d-blue-soft);border-color:color-mix(in srgb,var(--d-blue) 25%,var(--d-line));color:var(--d-blue)}.unipoly .d-pill.airbnb{background:var(--d-bg);border-color:var(--d-line-2);color:var(--d-ink-2)}.unipoly .d-pill.ok{background:var(--d-ok-soft);border-color:color-mix(in srgb,var(--d-ok) 30%,var(--d-line));color:var(--d-ok)}.unipoly .d-pill.warn{background:var(--d-warn-soft);border-color:color-mix(in srgb,var(--d-warn) 30%,var(--d-line));color:var(--d-warn)}.unipoly .d-pill.button{cursor:pointer}.unipoly .ap-input{width:100%;padding:11px 14px;border:1px solid var(--d-line);border-radius:10px;background:var(--d-surface);font-family:inherit;font-size:13px;color:var(--d-ink);outline:none;transition:border-color .15s,box-shadow .15s}.unipoly .ap-input:focus{border-color:var(--d-blue);box-shadow:0 0 0 3px var(--d-blue-soft)}.unipoly .ap-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--d-ink-3) 50%),linear-gradient(135deg,var(--d-ink-3) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 12px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:32px}.unipoly .d-divider{height:1px;background:var(--d-line);width:100%}.unipoly .thin-scroll::-webkit-scrollbar{width:6px;height:6px}.unipoly .thin-scroll::-webkit-scrollbar-track{background:transparent}.unipoly .thin-scroll::-webkit-scrollbar-thumb{background:var(--d-line-2);border-radius:3px}.unipoly .u-mono{font-family:var(--u-mono);font-feature-settings:"tnum" 1}.unipoly .u-tnum{font-variant-numeric:tabular-nums}@keyframes ap-dot-pulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:1}50%{transform:translate(-50%,-50%) scale(1.25);opacity:.7}}@keyframes ap-ring{0%{transform:translate(-50%,-50%) scale(.4);opacity:.9}to{transform:translate(-50%,-50%) scale(3.2);opacity:0}}@keyframes ap-bldg-rise{0%{transform:translateY(60px);opacity:0}70%{opacity:.8}to{transform:translateY(0);opacity:1}}@keyframes ap-target-glow{0%,to{filter:drop-shadow(0 0 0 rgba(59,107,217,0))}50%{filter:drop-shadow(0 0 12px rgba(59,107,217,.55))}}@keyframes ap-scan-line{0%{transform:translateY(-100%);opacity:.7}to{transform:translateY(100%);opacity:0}}@keyframes ap-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.unipoly .ap-bldg{transform-origin:bottom center}.unipoly .ap-stage[data-phase=dot] .ap-streetview{opacity:0}.unipoly .ap-stage[data-phase=dot] .ap-mapview{opacity:1}.unipoly .ap-stage[data-phase=zoom] .ap-mapview{opacity:0;transform:scale(2.4);transition:all 1s cubic-bezier(.7,0,.3,1)}.unipoly .ap-stage[data-phase=zoom] .ap-streetview{opacity:1;transition:opacity 1s .4s}.unipoly .ap-stage[data-phase=building] .ap-mapview,.unipoly .ap-stage[data-phase=done] .ap-mapview,.unipoly .ap-stage[data-phase=zoom] .ap-streetview .ap-bldg{opacity:0}.unipoly .ap-stage[data-phase=building] .ap-streetview,.unipoly .ap-stage[data-phase=done] .ap-streetview{opacity:1}.unipoly .ap-stage[data-phase=building] .ap-bldg{animation:ap-bldg-rise .65s cubic-bezier(.2,.7,.3,1) forwards}.unipoly .ap-stage[data-phase=done] .ap-bldg{transform:translateY(0);opacity:1}.unipoly .ap-stage[data-phase=done] .ap-target{animation:ap-target-glow 2.4s ease-in-out infinite}