:root{--night:#07110e;--pine:#12261c;--moss:#3d5c4a;--gold:#d4a017;--gold-soft:#e8c547;--cream:#f4ebd8;--ink:#1a1612;--mist:#c5d1c8}
body{background:var(--night);color:var(--cream);font-family:"Outfit",system-ui,sans-serif}
.est{padding:2rem 1rem 4rem;max-width:960px;margin:0 auto}
.est h1,.est h2{font-family:"Fraunces",serif;color:var(--gold-soft)}
.lede{color:var(--mist)}
.tabs{display:flex;gap:.5rem;margin:1rem 0}
.tab,.chip{background:var(--pine);color:var(--cream);border:1px solid var(--moss);border-radius:999px;padding:.55rem 1rem;font:inherit;cursor:pointer}
.tab.active,.chip.active{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.panel,.step,.result{background:var(--pine);border:1px solid var(--moss);border-radius:14px;padding:1rem;margin:1rem 0}
.panel .step{background:transparent;border:0;padding:0}
input,select,textarea{width:100%;box-sizing:border-box;padding:.65rem;border-radius:8px;border:1px solid var(--moss);background:#0d1d16;color:var(--cream);font:inherit;font-size:16px}
.mode,.trace-tools{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0;align-items:center}
.trace-tools select{width:auto}
.stage{position:relative;width:100%;aspect-ratio:4/3;max-height:70vh;border-radius:10px;overflow:hidden;background:#000}
.pano{position:absolute;inset:0;z-index:0}
.pano-empty{display:grid;place-items:center;height:100%;color:var(--mist);padding:1rem;text-align:center}
.overlay{position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none;touch-action:none}
.overlay.on{pointer-events:auto;cursor:crosshair}
.addons,.quick-grid,#leadForm{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}
.full{grid-column:1/-1}
.result{position:sticky;bottom:0;z-index:5;text-align:center;border-color:var(--gold)}
.result-range{font-family:"Fraunces",serif;font-size:2.2rem;color:var(--gold-soft)}
.result-detail{color:var(--mist);font-size:.95rem}
.fine,.hint{font-size:.85rem;color:var(--mist)}
.notice{background:#3a2a05;border:1px solid var(--gold);padding:.6rem;border-radius:8px}
.hp{position:absolute;left:-9999px}
.est-foot{text-align:center;padding:2rem;color:var(--mist)}
.est-foot a{color:var(--gold-soft)}
@media(max-width:640px){.header .nav{display:none}.result-range{font-size:1.8rem}}
gmp-place-autocomplete{width:100%;color-scheme:dark}

.colors{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.colors p{width:100%;margin:0 0 4px}
.colors label.chip{cursor:pointer;display:inline-flex;gap:6px;align-items:center}
.custom-color{width:100%;padding:8px;margin-top:4px}

.pano[hidden],.overlay[hidden]{display:none}
