: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;background:#fff;border:0;border-radius:50%;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) #ebe5db,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:8px;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{transition:box-shadow .5s;box-shadow:0 0 0 clamp(.55rem,1.4vw,.9rem) #ebe5db,0 10px 40px #0000000d}.compass-container:disabled{opacity:1}.compass-container:not(:disabled){cursor:pointer}.permission-overlay{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff7a;border-radius:50%;align-content:center;place-items:center;gap:.7rem;padding:1.25rem;display:grid;position:absolute;inset:0}.btn-pill{color:#fff;letter-spacing:-.02em;background:#991b1b;border-radius:100px;justify-content:center;align-items:center;gap:.6rem;padding:1rem 2.4rem;font-size:.94rem;font-weight:700;display:flex;box-shadow:0 10px 40px #991b1b40}.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:.45rem}.main-title{font-size:clamp(3.15rem,5.2vw,4.5rem)}.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;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}.store-address{color:#101010b3;max-width:28ch;font-size:clamp(.84rem,2.3vw,.92rem);line-height:1.32}.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}}
