@import"https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,700&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap";:root{--bg: #0a0a0b;--bg-2: #121214;--panel: #161618;--line: #262629;--ink: #f4f2ee;--muted: #8b8b90;--accent: #e9603f;--fav: #ff5470;--cart: #4cc38a;--shadow: 0 24px 60px rgba(0, 0, 0, .55);font-family:DM Sans,system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.45;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% -10%,rgba(233,96,63,.12),transparent 55%),var(--bg)}button,.btn-link{font:inherit;font-weight:500;cursor:pointer;border:1px solid var(--line);background:var(--panel);color:var(--ink);padding:.6rem .85rem;border-radius:.6rem;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:background .14s ease,border-color .14s ease,transform 80ms ease}button:hover,.btn-link:hover{border-color:#3a3a3f;background:#1d1d20}button:active{transform:scale(.97)}button:disabled{opacity:.3;cursor:not-allowed}button.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}button.primary{background:var(--accent);border-color:var(--accent);color:#16100e;font-weight:700}button.primary:hover{background:#f2764f}button.ghost{background:transparent}.shell{max-width:30rem;margin:0 auto;padding:1rem 1rem 3rem;min-height:100vh}.top{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;margin-bottom:.75rem}.brand{font-family:Fraunces,Georgia,serif;font-size:1.6rem;font-weight:700;margin:0;letter-spacing:-.02em}.place{margin:.1rem 0 0;color:var(--muted);font-size:.82rem}.nav{display:flex;gap:.35rem;flex-wrap:wrap}.nav button{padding:.45rem .6rem;font-size:.85rem}.auth-bar{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem .8rem;background:var(--bg-2);border:1px solid var(--line);border-radius:.6rem;margin-bottom:.9rem;font-size:.85rem;color:var(--muted)}.toast{position:sticky;top:.5rem;z-index:5;background:#1f1f22;border:1px solid var(--line);color:var(--ink);padding:.6rem .85rem;border-radius:.6rem;margin:0 0 .9rem;text-align:center;animation:fade .2s ease both}.browse{display:flex;flex-direction:column;gap:.85rem}.bin-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .85rem;background:var(--panel);border:1px solid var(--line);border-radius:.75rem}.bin-top-bar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.35rem;background:var(--panel);border:1px solid var(--line);border-radius:0;margin:0 -1rem;padding:.5rem}.bin-top-nav{font-size:1.35rem;line-height:1;padding:.45rem .65rem;min-width:2.5rem;background:transparent}.bin-top-label{text-align:center;touch-action:pan-y;-webkit-user-select:none;user-select:none;padding:.25rem .5rem}.bin-empty{text-align:center;padding:2rem .5rem}.store-shell{display:flex;flex-direction:column;min-height:100vh;padding-bottom:4.5rem}.store-header{margin-bottom:.65rem}.store-header .place{margin:0}.store-dock{position:fixed;left:0;right:0;bottom:0;max-width:30rem;margin:0 auto;display:grid;grid-template-columns:1fr 1fr 1fr;gap:.4rem;padding:.65rem 1rem calc(.65rem + env(safe-area-inset-bottom,0));background:#0a0a0beb;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.store-dock button{width:100%;padding:.65rem .4rem;font-size:.85rem}.walk-dock{grid-template-columns:1fr}.walk-dock-auth{grid-template-columns:1fr auto;align-items:center;gap:.5rem}.walk-dock-user{font-size:.85rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;padding-left:.15rem}.walk-dock-auth button{flex-shrink:0}.walk-dock .walk-dock-action{width:100%;padding:.65rem .4rem;font-size:.85rem;border-radius:.6rem}.browse-in-store .controls{grid-template-columns:repeat(5,1fr);margin-top:.15rem}.browse-in-store .page-meta{margin-top:-.35rem}.filters-block{margin-top:.25rem}.filters-panel .auth-bar{margin-bottom:0}.store-main{flex:1 1 auto}.browse-in-store{padding-top:0}.store-bottom{margin-top:auto;display:flex;flex-direction:column;gap:.65rem;padding-top:1rem;border-top:1px solid var(--line)}.filters-block{display:flex;flex-direction:column;gap:.45rem}.filters-toggle,.genre-toggle{width:100%;justify-content:center}.filters-panel{display:flex;flex-direction:column;gap:.45rem}.row-grid .store-tag{display:block;font-size:.85rem;margin-top:.15rem}.genre-prefs{margin:0;padding:.5rem .65rem;border:1px solid var(--line);border-radius:.75rem;background:var(--bg-2)}.genre-prefs legend{padding:0 .25rem;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.genre-prefs-hint{margin:0 0 .45rem;font-size:.85rem}.genre-prefs-list{display:flex;flex-direction:column;gap:.35rem;max-height:10rem;overflow-y:auto}.genre-pref-row{display:flex;align-items:center;gap:.5rem;font-size:.95rem;cursor:pointer}.genre-pref-row input{width:1.1rem;height:1.1rem;accent-color:var(--accent)}.genre-picker{display:flex;flex-direction:column;gap:.45rem;padding:.5rem;background:var(--bg-2);border:1px solid var(--line);border-radius:.75rem;max-height:14rem;overflow-y:auto}.genre-picker button{width:100%;flex-direction:column;align-items:flex-start;text-align:left;gap:.15rem;padding:.65rem .75rem}.bin-label{margin:0;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.bin-name{margin:.1rem 0 0;font-family:Fraunces,Georgia,serif;font-size:1.05rem;font-weight:600}.bin-picker{display:flex;flex-direction:column;gap:.45rem;padding:.5rem;background:var(--bg-2);border:1px solid var(--line);border-radius:.75rem}.bin-picker button{width:100%;flex-direction:column;align-items:flex-start;text-align:left;gap:.15rem;padding:.65rem .75rem}.bin-option-name{font-weight:600}.bin-option-desc{font-size:.82rem;color:var(--muted);font-weight:400;line-height:1.35}.stage{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:0;overflow:hidden;box-shadow:var(--shadow);animation:rise .36s ease both;touch-action:none;-webkit-user-select:none;user-select:none;will-change:transform;transition:transform .22s cubic-bezier(.2,.8,.2,1)}.stage .cover{width:100%;aspect-ratio:1;object-fit:cover;display:block;-webkit-user-drag:none;cursor:pointer}.meta-overlay{position:absolute;inset:auto 0 0 0;padding:0;background:linear-gradient(to top,#0c0c0ed1,#0c0c0e73 55%,#0c0c0e14);pointer-events:none}.stage.details-open .meta-overlay .meta{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#14141659;border-top:1px solid rgba(255,255,255,.08)}.meta{padding:1rem 1.1rem 1.25rem;animation:fade .3s ease both}.meta h1{font-family:Fraunces,Georgia,serif;font-size:1.45rem;margin:0 0 .2rem}.meta h2{font-size:1rem;font-weight:500;color:var(--ink);margin:0 0 .5rem}.meta p{margin:.1rem 0;color:var(--muted);font-size:.92rem}.price{color:var(--accent)!important;font-weight:700}.meta .price{font-size:1.15rem;margin-top:.4rem!important}.cue-badge{position:absolute;top:1rem;padding:.35rem .7rem;border-radius:2rem;font-weight:700;font-size:.9rem;opacity:0;transform:scale(.9);transition:opacity .12s ease,transform .12s ease;pointer-events:none}.cue-fav-badge{left:1rem;background:var(--fav);color:#2a0410}.cue-cart-badge{right:1rem;background:var(--cart);color:#05231a}.stage.cue-fav .cue-fav-badge,.stage.cue-cart .cue-cart-badge,.stage.cue-want .cue-cart-badge{opacity:1;transform:scale(1)}.stage.cue-next,.stage.cue-prev{border-color:#3a3a3f}.controls{display:grid;grid-template-columns:repeat(5,1fr);gap:.4rem}.controls button{padding:.6rem .3rem;font-size:.85rem}.controls .fav-btn:hover{border-color:var(--fav);color:var(--fav)}.controls .cart-btn:hover{border-color:var(--cart);color:var(--cart)}.controls.secondary{grid-template-columns:1fr 1fr}.controls.secondary button{background:transparent}.muted{color:var(--muted)}.page-meta,.swipe-hint{text-align:center;font-size:.8rem;margin:0}.swipe-hint{font-size:.75rem;opacity:.75}.error-panel{padding:1.25rem;background:var(--panel);border:1px solid var(--line);border-radius:.75rem;text-align:center}.collection h1{font-family:Fraunces,Georgia,serif;margin:0 0 1rem}.row-grid{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}.row-grid li{display:grid;grid-template-columns:5rem 1fr;gap:.8rem;background:var(--panel);border:1px solid var(--line);border-radius:.7rem;overflow:hidden;animation:rise .3s ease both}.row-grid img{width:5rem;height:5rem;object-fit:cover}.row-grid>li>div{display:flex;flex-direction:column;gap:.12rem;padding:.6rem .6rem .6rem 0;font-size:.9rem;min-width:0}.row-grid strong{font-weight:700}.row-grid span{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-grid .price{color:var(--accent)}.row-actions{display:flex;gap:.4rem;margin-top:.35rem}.row-actions button{font-size:.78rem;padding:.3rem .55rem}.cart-foot{margin-top:1.1rem;display:flex;flex-direction:column;gap:.6rem;align-items:stretch}.cart-total{font-family:Fraunces,Georgia,serif;font-size:1.3rem;font-weight:700}.cart-note{font-size:.78rem;margin:0;text-align:center}@keyframes rise{0%{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}.nav button.change-store{font-size:.78rem;padding:.45rem .55rem;background:transparent}.place-sub{margin:.15rem 0 0;color:var(--muted);font-size:.75rem;letter-spacing:.02em;text-transform:uppercase}.walk-around{display:flex;flex-direction:column;gap:1rem}.walk-title{font-family:Fraunces,Georgia,serif;font-size:1.55rem;margin:0}.walk-lede{margin:0;color:var(--muted);font-size:.92rem}.walk-lede strong{color:var(--ink);font-weight:600}.walk-status{text-align:center;margin:.5rem 0}.walk-error{margin-top:.5rem}.store-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.store-card{background:var(--panel);border:1px solid var(--line);border-radius:.85rem;padding:1rem 1.05rem;animation:rise .32s ease both}.store-card-head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.store-card h2{font-family:Fraunces,Georgia,serif;font-size:1.2rem;margin:0}.store-distance{font-size:.82rem;color:var(--accent);font-weight:700;white-space:nowrap}.store-place{margin:.35rem 0 .85rem;font-size:.85rem;color:var(--muted)}.store-place code{font-size:.8rem;color:var(--ink)}.store-card-actions{display:flex;flex-wrap:wrap;gap:.45rem}.ghost-link{background:transparent;font-size:.85rem}.walk-foot{font-size:.78rem;text-align:center;margin:.5rem 0 0}.walk-foot a{color:var(--ink)}@media(min-width:520px){.brand{font-size:1.9rem}}
