:root{--background:#f7f4ec;--foreground:#101010;--apple-red:#ff3b30;--busch-sky:#0d77c4;--subtle-gray:#ffffffb8;--border-gray:#10101014;--panel-shadow:0 26px 70px #49301024;--shell-width:min(100%, 31rem);--compass-size:clamp(12rem, min(56vw, 38dvh), 22rem);--shell-padding:clamp(1rem, 2.6vw, 1.4rem);--safe-top:max(1rem, env(safe-area-inset-top));--safe-right:max(1rem, env(safe-area-inset-right));--safe-bottom:max(1rem, env(safe-area-inset-bottom));--safe-left:max(1rem, env(safe-area-inset-left))}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--background);width:100%;max-width:100vw;min-height:100%;color:var(--foreground);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Avenir Next,Segoe UI,Helvetica Neue,Arial,sans-serif;overflow:clip}body{justify-content:center;align-items:stretch;min-height:100dvh;display:flex}.hud-container{width:100%;min-height:100dvh;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);flex:1;justify-content:center;align-items:center;display:flex;position:relative}.app-shell{z-index:1;width:var(--shell-width);max-width:100%;height:min(52rem, calc(100dvh - var(--safe-top) - var(--safe-bottom)));min-height:0;padding:var(--shell-padding);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;border-radius:0;grid-template-rows:auto minmax(0,1fr) auto auto auto;place-items:center;gap:clamp(.7rem,1.6dvh,1rem);display:grid;position:relative;overflow:clip}.title-header{text-align:center;gap:.45rem;display:grid}.main-title{letter-spacing:-.06em;text-wrap:balance;font-size:clamp(2.3rem,7vw,4.6rem);font-weight:900;line-height:.92}.main-subtitle{color:#1010109e;letter-spacing:-.015em;max-width:28rem;margin:0 auto;font-size:clamp(.9rem,2.6vw,1rem);font-weight:500;line-height:1.35}.compass-container{width:var(--compass-size);height:var(--compass-size);cursor:default;appearance:none;-webkit-tap-highlight-color:transparent;background:#fff;border:0;border-radius:50%;outline:none;justify-content:center;align-self:center;align-items:center;padding:0;display:flex;position:relative;box-shadow:0 0 0 clamp(.55rem,1.4vw,.9rem) #e0e0e0,0 20px 50px #00000014}.compass-dial{width:100%;height:100%;transition:transform .1s linear;position:absolute}.compass-needle{z-index:10;width:100%;height:100%;transition:transform .4s cubic-bezier(.17,.67,.83,.67);position:absolute}@keyframes shockwave-pulse{0%{opacity:.82;border-width:16px;transform:scale(0)}to{opacity:0;border-width:1px;transform:scale(1.08)}}.compass-loading-overlay{z-index:5;border:4px solid var(--apple-red);pointer-events:none;background:0 0;border-radius:50%;width:100%;height:100%;animation:1s cubic-bezier(.165,.84,.44,1) forwards shockwave-pulse;position:absolute}.compass-container.is-loading{box-shadow:0 0 0 clamp(.55rem,1.4vw,.9rem) #e0e0e0,0 10px 40px #0000000d}.compass-container:disabled{opacity:1}.compass-container:not(:disabled){cursor:pointer}.state-overlay{z-index:100;-webkit-backdrop-filter:blur(602px);color:#585858;letter-spacing:-.02em;pointer-events:none;background:#fff9;border-radius:50%;place-items:center;font-size:clamp(1.2rem,3.5vw,1.5rem);font-weight:800;transition:opacity .5s,-webkit-backdrop-filter .5s,backdrop-filter .5s;display:grid;position:absolute;inset:0}.gray-pulses{z-index:50;pointer-events:none;border-radius:50%;position:absolute;inset:0}.gray-pulse-ring{background:0 0;border:0 solid #10101040;border-radius:50%;animation:1.8s cubic-bezier(.165,.84,.44,1) infinite shockwave-pulse;position:absolute;inset:0}.gray-pulse-ring:nth-child(2){animation-delay:.6s}.gray-pulse-ring:nth-child(3){animation-delay:1.2s}.mountain-background{z-index:0;opacity:.18;pointer-events:none;background-image:url(/bg-mountains.png);background-position:50% 72%;background-repeat:no-repeat;background-size:185%;width:100vw;height:100vh;position:fixed;inset:0}@media (min-width:1024px){.mountain-background{background-position:bottom;background-size:cover}}@media (min-width:900px){:root{--shell-width:min(100%, 42rem);--compass-size:clamp(18rem, min(30vw, 30dvh), 22rem);--shell-padding:1.15rem 1.75rem}.hud-container{padding-top:max(1.5rem, env(safe-area-inset-top));padding-bottom:max(1.5rem, env(safe-area-inset-bottom))}.app-shell{gap:.85rem}.title-header{gap:1rem}.main-title{font-size:clamp(3.15rem,5.2vw,4.5rem);line-height:1}.main-subtitle{max-width:32rem;font-size:.95rem}.distance-hud{font-size:clamp(3.8rem,6vw,5rem)}.status-copy{min-height:.9rem}.store-info{width:min(100%,34rem)}.location-card{min-height:6.9rem;padding:.9rem 1.15rem}.store-name{font-size:1.16rem}.store-address{max-width:30ch;font-size:.9rem}.app-footer{font-size:.72rem}}@media (min-width:900px) and (max-height:900px){:root{--compass-size:clamp(16.5rem, min(28vw, 26dvh), 19.5rem);--shell-padding:1rem 1.5rem}.app-shell{gap:.7rem}.main-title{font-size:clamp(2.8rem,4.6vw,4rem)}.distance-hud{font-size:clamp(3.2rem,5vw,4.2rem)}.store-info{min-height:6.5rem}.location-card{min-height:6.2rem}}.distance-panel{justify-items:center;gap:.2rem;min-height:0;display:grid}.distance-hud{letter-spacing:-.09em;color:var(--foreground);font-size:clamp(2.9rem,min(14vw,10dvh),5rem);font-weight:900;line-height:.94}.distance-unit{letter-spacing:normal;color:#1010107a;margin-left:.18rem;font-size:.34em;font-weight:700}.distance-placeholder{opacity:.14}.status-copy{color:#10101085;min-height:1.2rem;font-size:.86rem;font-weight:600;line-height:1.25}.store-info{justify-content:center;align-items:center;width:100%;min-height:clamp(6.8rem,14dvh,8.8rem);display:flex}.location-card{border:1px solid var(--border-gray);background:var(--subtle-gray);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;text-align:center;border-radius:1.15rem;flex-direction:column;justify-content:center;align-items:center;gap:.28rem;width:100%;min-height:clamp(6.8rem,14dvh,8.8rem);padding:.95rem 1rem;transition:all .6s cubic-bezier(.16,1,.3,1);display:flex;position:relative;transform:translateY(.5rem);box-shadow:0 20px 40px #0000000d}.location-card.is-visible{opacity:1;transform:translateY(0)}.card-label{letter-spacing:.18em;text-transform:uppercase;color:#10101073;font-size:.68rem;font-weight:700}.store-name{color:#111;font-size:clamp(1rem,2.8vw,1.2rem);font-weight:800;line-height:1.15}.copy-button{color:#10101059;cursor:pointer;background:0 0;border:none;border-radius:50%;place-items:center;padding:.4rem;transition:all .2s cubic-bezier(.16,1,.3,1);display:grid;position:absolute;top:.8rem;right:.8rem}.copy-button:hover,.copy-button:focus-visible{color:#101010d1;background:#1010100f;transform:scale(1.05)}.copy-button:active{transform:scale(.95)}.store-address{color:#101010b3;max-width:25ch;font-size:clamp(.84rem,2.3vw,.92rem);line-height:1.32;transition:color .2s}.store-address-container:hover .store-address{color:#111}.app-footer{letter-spacing:.16em;text-transform:uppercase;color:#10101070;font-size:.68rem;font-weight:700}@media (max-width:400px),(max-height:760px){.app-shell{gap:.65rem;padding:.95rem}.main-title{font-size:clamp(2rem,10vw,2.6rem)}.main-subtitle{font-size:.85rem}.status-copy{font-size:.8rem}.store-address{max-width:24ch}}.reveal-item{opacity:0;transition:all .6s cubic-bezier(.16,1,.3,1);transform:translateY(.5rem)}.reveal-item.is-visible{opacity:1;transform:translateY(0)}.reveal-item-svg{opacity:0;transform-origin:50%;transition:all .6s cubic-bezier(.16,1,.3,1);transform:scale(.95)}.reveal-item-svg.is-visible{opacity:1;transform:scale(1)}.retailer-nav{align-items:center;gap:.5rem;margin-top:.55rem;display:flex}.retailer-nav-btn{border:1px solid var(--border-gray);color:#101010b3;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffffb3;border-radius:50%;place-items:center;width:2rem;height:2rem;transition:background .18s,color .18s,transform .15s,opacity .18s;display:grid}.retailer-nav-btn:hover:not(:disabled){color:#111;background:#10101012;transform:scale(1.08)}.retailer-nav-btn:active:not(:disabled){transform:scale(.93)}.retailer-nav-btn:disabled{opacity:.28;cursor:default}.retailer-nav-count{letter-spacing:.04em;color:#10101085;text-align:center;min-width:3.2rem;font-size:.76rem;font-weight:700}.retailer-nav-sep{opacity:.4;margin:0 .1em}
