:root{color-scheme:light;--accent: #b11252;--accent-hover: #c6155f;--accent-dark: #8c0d42;--pink: #e94190;--pink-soft: #f779b1;--sun: #ffd744;--sun-hover: #ffdf63;--cream: #fff6e8;--cream-top: #fff9ef;--paper: #fffdf8;--card: #ffffffeb;--ink: #111111;--muted: #7a6a70;--line: #f3dbe3;--line-strong: #b112521a;--pink-pale: #fde8f1;--tomato: var(--accent);--tomato-dark: var(--accent-dark);--leaf: var(--accent);--leaf-pale: var(--pink-pale);--brand-pink: var(--pink);--white: #fffdfc;--radius-xl: 34px;--radius-lg: 26px;--radius-md: 18px;--radius-sm: 12px;--pill: 999px;--shadow-card: 0 24px 80px #b1125214, 0 10px 22px #0000000a;--shadow-soft: 0 12px 34px #b1125212;--shadow-press: 0 7px 0 #b1125214;--shadow-press-hover: 0 10px 0 #b112521a;--shadow-press-active: 0 3px 0 #b1125217;--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);font-family:Rubik,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth;scroll-padding-top:150px}body{min-width:320px;min-height:100vh;min-height:100svh;margin:0;padding-bottom:calc(104px + env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 8%,#e941901f,transparent 30%),radial-gradient(circle at 88% 6%,#ffd7443b,transparent 20%),radial-gradient(circle at 6% 70%,#b1125212,transparent 28%),linear-gradient(180deg,var(--cream-top) 0%,var(--cream) 100%);background-attachment:fixed}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}img{max-width:100%}::selection{background:var(--sun);color:var(--accent-dark)}[hidden]{display:none!important}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #ffbe38;outline-offset:3px}.announcement{display:flex;align-items:center;justify-content:center;gap:10px;min-height:36px;padding:7px 16px;background:var(--accent);color:#fff4f8;font-size:13px;font-weight:500;text-align:center}.announcement__dot,.open-dot{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:currentColor;color:var(--sun);animation:pulse 2.4s ease-out infinite}.open-dot{color:#5cc46a}.announcement__extra{display:inline-flex;gap:10px}.announcement__divider{color:var(--sun)}.site-header{position:sticky;z-index:15;top:0;display:grid;grid-template-columns:auto auto minmax(180px,1fr) auto;align-items:center;gap:22px;min-height:84px;padding:12px max(32px,calc((100vw - 1240px)/2));border-bottom:2px solid #b112520d;background:#fff9efe6;backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2)}.brand{display:inline-flex;align-items:center;width:fit-content;transition:transform .25s var(--ease-spring)}.brand:hover{transform:rotate(-3deg) scale(1.04)}.brand__logo{display:block;width:auto;height:56px;object-fit:contain}.location-button{display:flex;align-items:center;gap:10px;padding:0;border:0;background:transparent;cursor:pointer;text-align:left}.location-button__pin{display:grid;width:40px;height:40px;place-items:center;border-radius:50%;background:var(--sun);color:var(--accent);box-shadow:0 4px #b1125217;transition:transform .25s var(--ease-spring)}.location-button:hover .location-button__pin{transform:translateY(-2px) rotate(-8deg)}.location-button small,.location-button strong{display:block}.location-button small{margin-bottom:2px;color:var(--muted);font-size:11px}.location-button strong{font-size:14px;font-weight:700}.chevron{margin-left:2px;color:var(--accent)}.search-box{display:flex;align-items:center;gap:10px;height:48px;padding:0 8px 0 18px;border:2px solid var(--line);border-radius:var(--pill);background:var(--paper);color:var(--accent);transition:border-color .2s,box-shadow .2s}.search-box:focus-within{border-color:var(--pink);box-shadow:0 0 0 5px #e941901f}.search-box input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:14px}.search-box input::placeholder{color:#a8959c}.search-box kbd{flex:0 0 auto;padding:5px 10px;border-radius:var(--pill);background:var(--pink-pale);color:var(--accent);font-family:inherit;font-size:11px;font-weight:600}.header-actions{display:flex;align-items:center;gap:12px}.icon-button{display:grid;width:48px;height:48px;place-items:center;border:2px solid var(--line);border-radius:50%;background:var(--paper);color:var(--accent);cursor:pointer;transition:transform .2s var(--ease-out),border-color .2s,box-shadow .2s}.icon-button:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-press)}.header-cart{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 8px 0 20px;border:0;border-radius:var(--pill);background:var(--accent);color:#fff;cursor:pointer;font-size:15px;font-weight:700;box-shadow:var(--shadow-press);transition:transform .2s var(--ease-out),box-shadow .2s,background-color .2s}.header-cart:hover{background:var(--accent-hover);transform:translateY(-3px);box-shadow:var(--shadow-press-hover)}.header-cart:active{transform:translateY(1px);box-shadow:var(--shadow-press-active)}.header-cart b{display:grid;min-width:32px;height:32px;padding:0 6px;place-items:center;border-radius:var(--pill);background:var(--sun);color:var(--accent);font-size:13px}.is-bumped{animation:bump .45s var(--ease-spring)}main{max-width:1240px;margin:0 auto;padding:28px 32px 40px}.site-footer{display:none}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--pink);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.eyebrow>span{width:8px;height:8px;border-radius:50%;background:var(--sun);box-shadow:0 0 0 3px #ffd74440}.surface,.cart-page__items,.cart-page__summary,.cart-page__empty,.profile-card,.profile-login,.admin-login,.admin-toolbar,.admin-section,.admin-entry{border:3px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--card);box-shadow:var(--shadow-soft)}.pill,.button{position:relative;display:inline-flex;min-height:54px;align-items:center;justify-content:center;gap:10px;padding:0 26px;border:2px solid transparent;border-radius:var(--pill);cursor:pointer;font-size:16px;font-weight:700;line-height:1.1;box-shadow:var(--shadow-press);transition:transform .2s var(--ease-out),box-shadow .2s,background-color .2s,border-color .2s}.pill:hover,.button:hover{transform:translateY(-3px);box-shadow:var(--shadow-press-hover)}.pill:active,.button:active{transform:translateY(1px);box-shadow:var(--shadow-press-active)}.pill svg,.button svg{flex:0 0 auto;transition:transform .2s var(--ease-out)}.pill:hover svg:last-child,.button:hover svg:last-child{transform:translate(3px)}.pill--accent,.button--primary{border-color:var(--accent);background:var(--accent);color:#fff}.pill--accent:hover,.button--primary:hover{border-color:var(--accent-hover);background:var(--accent-hover)}.pill--sun{border-color:#b1125229;background:var(--sun);color:var(--ink)}.pill--sun:hover{background:var(--sun-hover)}.pill b{display:grid;min-width:24px;height:24px;padding:0 6px;place-items:center;border-radius:var(--pill);background:var(--accent);color:#fff;font-size:12px}.button{width:100%}.button:disabled{cursor:not-allowed;opacity:.55;transform:none;box-shadow:var(--shadow-press-active)}.button:disabled:hover svg:last-child{transform:none}.back-button{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;padding:10px 18px 10px 12px;border:2px solid var(--line);border-radius:var(--pill);background:var(--paper);color:var(--accent);cursor:pointer;font-size:14px;font-weight:600;transition:transform .2s var(--ease-out),border-color .2s}.back-button:hover{border-color:var(--accent);transform:translate(-3px)}.promo{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;min-height:420px;overflow:hidden;border:3px solid var(--line-strong);border-radius:var(--radius-xl);background:linear-gradient(180deg,#ffffffe0,#fffffff0),var(--paper);box-shadow:var(--shadow-card);isolation:isolate}.promo:before,.promo:after{position:absolute;z-index:-1;border-radius:50%;content:"";pointer-events:none}.promo:before{top:-230px;right:-60px;width:460px;height:460px;background:#e9419029;filter:blur(12px);animation:blob 14s ease-in-out infinite alternate}.promo:after{bottom:-120px;left:-80px;width:260px;height:260px;background:#ffd74438;filter:blur(10px);animation:blob 11s ease-in-out infinite alternate-reverse}.promo__copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;padding:44px 20px 40px 52px}.promo__text{min-height:196px}.promo h1{max-width:12ch;margin:16px 0 14px;color:var(--accent);font-size:clamp(34px,4.4vw,56px);font-weight:900;line-height:1.02;letter-spacing:-.04em;text-wrap:balance;white-space:pre-line}.promo__text p{max-width:380px;margin:0;color:var(--muted);font-size:17px;line-height:1.5}.promo__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.promo__dots{display:flex;gap:8px;margin-top:28px}.promo__dots button{width:10px;height:10px;padding:0;border:0;border-radius:var(--pill);background:#b1125233;cursor:pointer;transition:width .35s var(--ease-out),background-color .25s}.promo__dots button:hover{background:#b1125266}.promo__dots button.is-active{width:30px;background:var(--accent)}.promo__visual{position:relative;align-self:stretch;min-height:380px}.promo__visual:before{position:absolute;inset:18% 6% 8%;z-index:-1;border-radius:50%;background:radial-gradient(circle at center,#e9419024,#ffd74447 48%,#fff0 72%);filter:blur(18px);content:""}.promo__image{position:absolute;z-index:1;top:40px;right:40px;width:50%;aspect-ratio:1;border:6px solid white;border-radius:var(--radius-lg);background:var(--pink-pale);box-shadow:0 18px 40px #b1125224;object-fit:cover;transform:rotate(6deg)}.promo__image.is-fallback{padding:18px;object-fit:contain}.promo__mascot{position:absolute;z-index:2;bottom:16px;left:0;width:72%;height:auto;filter:drop-shadow(0 16px 18px #b112521f);transform-origin:50% 100%;animation:soft-appear .6s ease-out both,mascot-bob 5s ease-in-out .8s infinite}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:44px 0 18px}.section-heading h2,.page-title h1,.product-detail__info h1{margin:8px 0 0;color:var(--accent);font-size:clamp(28px,3.2vw,40px);font-weight:900;line-height:1.04;letter-spacing:-.035em}.section-heading__note{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:var(--pill);background:var(--card);color:var(--ink);font-size:13px;font-weight:600;box-shadow:var(--shadow-soft);white-space:nowrap}.category-nav{display:flex;gap:10px;overflow-x:auto;margin:0 0 24px;padding:4px 2px 14px;scrollbar-width:none}.category-nav::-webkit-scrollbar{display:none}.category-button{flex:0 0 auto;min-height:46px;padding:0 22px;border:2px solid var(--line);border-radius:var(--pill);background:var(--paper);color:var(--ink);cursor:pointer;font-size:15px;font-weight:600;box-shadow:0 5px #b112520f;transition:transform .2s var(--ease-out),background-color .2s,color .2s,border-color .2s,box-shadow .2s}.category-button:hover{border-color:var(--pink);transform:translateY(-2px);box-shadow:0 7px #b1125214}.category-button.is-active{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:var(--shadow-press)}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.product-card{position:relative;display:flex;flex-direction:column;padding:8px;overflow:hidden;border:3px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--card);box-shadow:var(--shadow-soft);animation:arrive .5s var(--ease-out) both;transition:transform .3s var(--ease-out),box-shadow .3s,border-color .3s}.product-card:hover{border-color:#e941904d;transform:translateY(-6px);box-shadow:0 26px 50px #b112521f}.product-card__image-wrap{position:relative;display:block;width:100%;aspect-ratio:1 / .82;padding:0;overflow:hidden;border:0;border-radius:var(--radius-md);background:var(--pink-pale);cursor:pointer}.product-card__image{position:absolute;inset:0;display:block;width:100%;height:100%;box-sizing:border-box;object-fit:cover;transition:transform .6s var(--ease-out)}.product-card__image.is-fallback,.product-detail__image.is-fallback,.cart-page-item>img.is-fallback{padding:14%;object-fit:contain}.product-card:hover .product-card__image{transform:scale(1.07) rotate(-1deg)}.product-card__tag{position:absolute;top:10px;left:10px;padding:6px 12px;border-radius:var(--pill);background:var(--sun);color:var(--accent);font-size:11px;font-weight:800;text-transform:uppercase;transform:rotate(-4deg)}.product-card__favorite{position:absolute;top:10px;right:10px;display:grid;width:36px;height:36px;place-items:center;border-radius:50%;background:#fffdfcf0;color:var(--accent);transition:transform .25s var(--ease-spring)}.product-card:hover .product-card__favorite{transform:scale(1.12)}.product-card__body{display:flex;flex:1;flex-direction:column;padding:14px 8px 6px}.product-card__title{display:block;min-height:42px;margin-bottom:6px;padding:0;border:0;background:transparent;color:var(--ink);cursor:pointer;font-size:17px;font-weight:700;line-height:1.25;text-align:left;transition:color .2s}.product-card__title:hover{color:var(--accent)}.product-card__description{min-height:38px;margin:0 0 12px;color:var(--muted);font-size:13px;line-height:1.45}.product-card__meta{display:flex;gap:8px;margin-bottom:14px}.product-card__meta span,.product-detail__meta span{padding:4px 10px;border-radius:var(--pill);background:var(--cream);color:var(--muted);font-size:12px;font-weight:500}.product-card__bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto}.product-card__price{font-size:21px;font-weight:800;letter-spacing:-.02em}.add-button{display:grid;width:48px;height:48px;flex:0 0 auto;place-items:center;padding:0;border:0;border-radius:50%;background:var(--accent);color:#fff;cursor:pointer;box-shadow:0 5px 0 var(--accent-dark);transition:transform .2s var(--ease-spring),box-shadow .2s,background-color .2s}.add-button:hover{background:var(--accent-hover);transform:translateY(-3px) rotate(90deg);box-shadow:0 8px 0 var(--accent-dark)}.add-button:active{transform:translateY(2px) scale(.94);box-shadow:0 2px 0 var(--accent-dark)}.empty-state{display:grid;justify-items:center;gap:10px;padding:46px 12px;color:var(--muted);text-align:center;font-size:15px}.empty-state p{margin:0}.empty-state__mascot,.cart-empty__mascot{width:180px;height:auto;filter:drop-shadow(0 12px 14px #b112521a);animation:soft-appear .5s ease-out both,mascot-bob 5s ease-in-out .6s infinite}.api-warning strong{color:var(--accent);font-size:18px}.api-warning p{max-width:380px}.api-warning .button{width:auto}.product-detail{min-height:55vh}.product-detail__layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:36px;align-items:start}.product-detail__image{display:block;width:100%;max-height:560px;aspect-ratio:1 / .86;border:3px solid var(--line-strong);border-radius:var(--radius-xl);background:var(--pink-pale);box-shadow:var(--shadow-card);object-fit:cover;animation:soft-appear .5s ease-out both}.product-detail__info{padding:14px 0}.product-detail__info h1{margin:10px 0 14px;font-size:clamp(30px,3.4vw,44px)}.product-detail__info>p{color:var(--muted);font-size:17px;line-height:1.55}.product-detail__meta{display:flex;gap:8px;margin:18px 0}.product-detail__modifiers{padding:18px 20px;border:2px dashed #b1125233;border-radius:var(--radius-md);background:#ffffff8c}.product-detail__modifiers>strong{color:var(--accent);font-size:16px}.product-detail__modifiers p{margin:6px 0 0;color:var(--muted);font-size:14px}.product-detail__action{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:22px;padding:12px 12px 12px 22px;border:3px solid var(--line-strong);border-radius:var(--pill);background:var(--card);box-shadow:var(--shadow-soft)}.product-detail__action>strong{font-size:26px;font-weight:800;letter-spacing:-.02em}.product-detail__action .button{width:auto;min-width:230px}.cart-page{min-height:52vh}.page-title{margin-bottom:22px}.page-title h1 span{display:inline-grid;min-width:40px;height:40px;padding:0 10px;place-items:center;border-radius:var(--pill);background:var(--sun);color:var(--accent);font-size:20px;vertical-align:middle}.cart-page__layout{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:26px;align-items:start}.cart-page__items{overflow:hidden}.cart-page-item{display:grid;grid-template-columns:88px minmax(0,1fr) auto 40px;gap:16px;align-items:center;padding:14px 16px;border-bottom:2px solid var(--line);animation:arrive .4s var(--ease-out) both}.cart-page-item:last-child{border-bottom:0}.cart-page-item>img{width:88px;height:88px;border-radius:var(--radius-md);background:var(--pink-pale);object-fit:cover}.cart-page-item__info{display:grid;gap:5px}.cart-page-item__info button{padding:0;border:0;background:none;color:var(--ink);cursor:pointer;font-size:16px;font-weight:700;text-align:left}.cart-page-item__info button:hover{color:var(--accent)}.cart-page-item__info span{color:var(--muted);font-size:13px}.cart-page-item__info strong{color:var(--accent);font-size:16px;font-weight:800}.quantity-control{display:flex;align-items:center;gap:6px;padding:4px;border-radius:var(--pill);background:var(--cream)}.quantity-control button{display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:50%;background:#fff;color:var(--accent);cursor:pointer;box-shadow:0 3px #b1125214;transition:transform .2s var(--ease-spring),background-color .2s,color .2s}.quantity-control button:hover{background:var(--accent);color:#fff;transform:scale(1.08)}.quantity-control b{min-width:22px;text-align:center;font-size:15px}.remove-item{display:grid;width:40px;height:40px;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;transition:background-color .2s,color .2s,transform .25s var(--ease-spring)}.remove-item:hover{background:var(--pink-pale);color:var(--accent);transform:rotate(90deg)}.cart-page__summary{position:sticky;top:110px;padding:22px}.cart-methods{display:grid;gap:8px;margin:14px 0 18px}.cart-methods button{display:grid;grid-template-columns:24px minmax(0,1fr) auto 16px;gap:10px;align-items:center;min-height:56px;padding:8px 16px;border:2px solid var(--line);border-radius:var(--radius-md);background:var(--paper);cursor:pointer;text-align:left;transition:border-color .2s,background-color .2s,transform .2s var(--ease-out)}.cart-methods button:hover:not(:disabled){border-color:var(--pink);transform:translate(3px)}.cart-methods button.is-selected{border-color:var(--accent);background:var(--pink-pale)}.cart-methods button>svg{color:var(--accent)}.cart-methods button span{font-size:15px;font-weight:700}.cart-methods button small{color:var(--muted);font-size:12px}.cart-methods button:disabled,.fulfillment-option:disabled{cursor:not-allowed;opacity:.5}.cart-address,.cart-comment{display:grid;gap:7px;margin:0 0 14px}.cart-address>span,.cart-comment>span,.field>span{color:var(--ink);font-size:13px;font-weight:600}.cart-address small{color:var(--muted);font-size:12px}.cart-address input,.cart-comment textarea,.field input,.field select{width:100%;min-height:50px;padding:12px 16px;border:2px solid var(--line);border-radius:var(--radius-sm);outline:0;background:var(--paper);color:var(--ink);font-size:15px;transition:border-color .2s,box-shadow .2s}.cart-comment textarea{resize:vertical}.cart-address input:focus,.cart-comment textarea:focus,.field input:focus,.field select:focus{border-color:var(--pink);box-shadow:0 0 0 5px #e941901f}::placeholder{color:#a8959c}.delivery-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:2px dashed var(--line);font-size:14px}.delivery-line strong{color:var(--accent);font-size:13px;text-align:right}.cart-total{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 16px;padding-top:14px;border-top:2px dashed var(--line);font-size:14px}.cart-total strong{font-size:28px;font-weight:900;letter-spacing:-.03em}.cart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center}.cart-page__empty{min-height:380px;padding:30px 20px}.cart-empty strong{color:var(--accent);font-size:24px;font-weight:900;letter-spacing:-.02em}.cart-empty p{margin:0 0 12px;color:var(--muted);font-size:15px}.cart-page__empty .button{width:auto}.profile-page{max-width:660px;min-height:50vh;margin:0 auto}.profile-card{display:flex;align-items:center;gap:14px;padding:18px 20px}.profile-avatar{display:grid;width:56px;height:56px;flex:0 0 auto;place-items:center;border-radius:50%;background:var(--sun);color:var(--accent)}.profile-card>div{flex:1}.profile-card strong{font-size:17px}.profile-card p{margin:4px 0 0;color:var(--muted);font-size:14px}.profile-card>svg{color:var(--accent)}.profile-login{margin-top:16px;padding:22px}.profile-login .dialog-note{margin:14px 0 0}.admin-entry{display:flex;width:100%;align-items:center;justify-content:space-between;margin-top:16px;padding:18px 22px;color:var(--accent);cursor:pointer;font-size:15px;font-weight:700;transition:transform .2s var(--ease-out)}.admin-entry:hover{transform:translateY(-2px)}.bottom-nav{position:fixed;z-index:20;bottom:calc(14px + env(safe-area-inset-bottom));left:50%;display:grid;width:min(calc(100% - 24px),420px);height:72px;grid-template-columns:repeat(3,1fr);gap:4px;padding:7px;border:3px solid var(--line-strong);border-radius:var(--pill);background:#fffdf8eb;box-shadow:0 18px 44px #b1125226,0 4px #b112520f;backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);transform:translate(-50%)}.bottom-nav button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;border-radius:var(--pill);background:transparent;color:#806873;cursor:pointer;font-size:12px;font-weight:600;transition:background-color .25s,color .25s}.bottom-nav button svg{transition:transform .3s var(--ease-spring)}.bottom-nav button:hover svg{transform:translateY(-2px)}.bottom-nav button.is-active{background:var(--accent);color:#fff}.bottom-nav button.is-active svg{transform:scale(1.08)}.bottom-nav button b{position:absolute;top:3px;left:calc(50% + 8px);display:grid;min-width:22px;height:22px;padding:0 5px;place-items:center;border:2px solid white;border-radius:var(--pill);background:var(--sun);color:var(--accent);font-size:11px;animation:bump .45s var(--ease-spring)}.dialog{width:min(540px,calc(100% - 28px));max-height:min(90vh,860px);padding:0;overflow:auto;border:3px solid var(--line-strong);border-radius:var(--radius-xl);background:var(--paper);color:var(--ink);box-shadow:0 30px 90px #5a0a2a40}.dialog[open]{animation:dialog-in .4s var(--ease-spring) both}.dialog::backdrop{background:#3a0a1e73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade-in .3s ease-out both}.dialog__form{position:relative;padding:32px}.dialog__close{position:absolute;top:20px;right:20px;display:grid;width:40px;height:40px;place-items:center;border:0;border-radius:50%;background:var(--pink-pale);color:var(--accent);cursor:pointer;transition:transform .25s var(--ease-spring),background-color .2s}.dialog__close:hover{background:var(--sun);transform:rotate(90deg)}.dialog h2{max-width:400px;margin:8px 44px 20px 0;color:var(--accent);font-size:28px;font-weight:900;line-height:1.08;letter-spacing:-.03em}.fulfillment-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:20px}.fulfillment-option{display:flex;min-height:96px;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;padding:12px 14px;border:2px solid var(--line);border-radius:var(--radius-md);background:#fff;cursor:pointer;text-align:left;transition:border-color .2s,background-color .2s,transform .2s var(--ease-out)}.fulfillment-option:hover:not(:disabled){border-color:var(--pink);transform:translateY(-2px)}.fulfillment-option>svg{margin-bottom:4px;color:var(--accent)}.fulfillment-option strong{font-size:14px}.fulfillment-option small{color:var(--muted);font-size:11px}.fulfillment-option.is-selected{border-color:var(--accent);background:var(--pink-pale)}.field{display:grid;gap:7px;margin:0 0 14px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cart-note,.dialog-note{color:var(--muted);font-size:14px;line-height:1.55}.dialog-note{margin:8px 0 16px}.form-error{margin:0 0 14px;padding:10px 14px;border-radius:var(--radius-sm);background:var(--pink-pale);color:var(--accent-dark);font-size:13px;font-weight:500}.form-feedback{min-height:18px;margin:12px 0 0;color:var(--accent);font-size:13px}.dialog__submit{justify-content:space-between;margin-top:6px}.dialog__submit:disabled{cursor:wait}.dialog__submit span:last-child{padding:7px 12px;border-radius:var(--pill);background:#ffffff2e}.dialog--compact{width:min(440px,calc(100% - 28px))}.success-content{text-align:center}.success-content .eyebrow{justify-content:center}.success-content h2{max-width:none;margin:8px 0 10px}.success-mark{display:grid;width:72px;height:72px;place-items:center;margin:0 auto 16px;border-radius:50%;background:var(--sun);color:var(--accent);box-shadow:0 6px #b1125226;animation:pop .6s var(--ease-spring) .15s both}.order-status{display:flex;align-items:center;gap:10px;margin:18px 0;padding:14px 16px;border:2px solid var(--line);border-radius:var(--radius-md);text-align:left}.order-status .open-dot{width:16px;height:16px;background:transparent;animation:none;color:#3c9e4a}.order-status strong{font-size:14px}.order-status span:last-child{margin-left:auto;color:var(--muted);font-size:13px}.toast{position:fixed;z-index:30;bottom:calc(102px + env(safe-area-inset-bottom));left:50%;max-width:calc(100% - 32px);padding:13px 22px;border-radius:var(--pill);background:var(--ink);color:#fff;font-size:14px;font-weight:600;box-shadow:0 12px 30px #0000002e;opacity:0;pointer-events:none;transform:translate(-50%,16px) scale(.96);transition:opacity .25s,transform .35s var(--ease-spring)}.toast.is-visible{opacity:1;transform:translate(-50%) scale(1)}.admin-page{max-width:940px;min-height:60vh;margin:0 auto}.admin-login{display:grid;max-width:500px;gap:14px;padding:22px}.admin-login>p:first-child{margin:0;color:var(--muted);font-size:14px;line-height:1.5}.admin-login .field{margin:0}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding:12px 14px 12px 20px;border-radius:var(--pill)}.admin-session{display:inline-flex;align-items:center;gap:10px;color:var(--muted);font-size:13px}.admin-logout,.admin-banner button,.admin-table button{padding:9px 16px;border:2px solid var(--line);border-radius:var(--pill);background:#fff;color:var(--accent);cursor:pointer;font-size:13px;font-weight:600;transition:border-color .2s,background-color .2s}.admin-logout:hover,.admin-banner button:hover,.admin-table button:hover{border-color:var(--accent);background:var(--pink-pale)}.admin-section{margin:14px 0;padding:20px}.admin-section__heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.admin-section__heading h2{margin:6px 0 0;font-size:20px;font-weight:800;letter-spacing:-.02em}.admin-section__heading h2 span{display:inline-grid;min-width:26px;height:26px;padding:0 6px;place-items:center;border-radius:var(--pill);background:var(--sun);color:var(--accent);font-size:13px;vertical-align:2px}.admin-refresh{display:grid;width:42px;height:42px;place-items:center;border:2px solid var(--line);border-radius:50%;background:#fff;color:var(--accent);cursor:pointer;transition:transform .3s var(--ease-spring),border-color .2s}.admin-refresh:hover{border-color:var(--accent);transform:rotate(-45deg)}.admin-empty{margin:0;padding:14px 0;color:var(--muted);font-size:14px}.admin-job,.admin-product,.admin-banner,.admin-table{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:2px solid var(--line)}.admin-job>div,.admin-product>div{display:grid;min-width:0;flex:1;gap:4px}.admin-job strong,.admin-product strong,.admin-banner strong,.admin-table strong{font-size:14px}.admin-job p,.admin-job small,.admin-product small{margin:0;overflow-wrap:anywhere;color:var(--muted);font-size:12px}.admin-job .button{width:auto;min-height:42px;padding:0 18px;font-size:14px;white-space:nowrap}.admin-product>img,.admin-product__placeholder{display:grid;width:56px;height:56px;flex:0 0 auto;place-items:center;border-radius:var(--radius-sm);background:var(--pink-pale);color:var(--accent);object-fit:cover}.admin-upload{position:relative;display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:7px;padding:0 14px;overflow:hidden;border:2px solid var(--line);border-radius:var(--pill);background:#fff;color:var(--accent);cursor:pointer;font-size:13px;font-weight:600;white-space:nowrap;transition:border-color .2s,background-color .2s}.admin-upload:hover{border-color:var(--accent);background:var(--pink-pale)}.admin-upload input{position:absolute;inset:0;width:100%;height:100%;cursor:pointer;opacity:0}.admin-upload--wide{min-height:50px}.admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end;padding:4px 0 14px}.admin-form .field{margin:0}.admin-form .button{min-height:50px}.admin-table-form{grid-template-columns:repeat(3,minmax(0,1fr)) auto}.admin-banner>img{width:80px;height:52px;border-radius:var(--radius-sm);object-fit:cover}.admin-banner>strong,.admin-table>strong{min-width:0;flex:1}.admin-banner>span,.admin-table>span,.admin-count{color:var(--muted);font-size:13px}.qr-result{display:flex;gap:8px;margin:0 0 12px}.qr-result input{min-width:0;flex:1;padding:10px 14px;border:2px solid var(--line);border-radius:var(--pill);background:var(--paper);color:var(--ink);font-size:13px}.qr-result button{display:grid;width:44px;place-items:center;border:2px solid var(--line);border-radius:50%;background:#fff;color:var(--accent);cursor:pointer}.feather-burst{position:fixed;z-index:40;inset:0;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}.feather{position:absolute;height:auto;opacity:0;filter:drop-shadow(0 3px 2px #b112521a);will-change:transform,opacity}.view-enter-active{transition:opacity .35s ease-out,transform .45s var(--ease-out)}.view-leave-active{transition:opacity .18s ease-in,transform .18s ease-in}.view-enter-from{opacity:0;transform:translateY(14px) scale(.99)}.view-leave-to{opacity:0;transform:translateY(-6px)}.slide-text-enter-active{transition:opacity .4s ease-out,transform .5s var(--ease-out)}.slide-text-leave-active{transition:opacity .2s ease-in,transform .2s ease-in}.slide-text-enter-from{opacity:0;transform:translateY(14px)}.slide-text-leave-to{opacity:0;transform:translateY(-10px)}.slide-image-enter-active{transition:opacity .5s ease-out,transform .7s var(--ease-spring)}.slide-image-leave-active{transition:opacity .35s ease-in,transform .35s ease-in}.slide-image-enter-from{opacity:0;transform:rotate(16deg) scale(.82) translateY(10px)}.slide-image-leave-to{opacity:0;transform:rotate(-4deg) scale(.92) translate(-18px)}@keyframes soft-appear{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes arrive{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes mascot-bob{0%,to{transform:translateY(0) rotate(0)}30%{transform:translateY(-7px) rotate(-1.2deg)}60%{transform:translateY(-2px) rotate(.8deg)}}@keyframes blob{0%{transform:translate(0) scale(1)}to{transform:translate(-30px,24px) scale(1.12)}}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.35)}to{transform:scale(1)}}@keyframes pop{0%{opacity:0;transform:scale(.4) rotate(-20deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes pulse{0%{box-shadow:0 0 0 0 currentColor}70%,to{box-shadow:0 0 0 8px transparent}}@keyframes dialog-in{0%{opacity:0;transform:translateY(24px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media(max-width:1100px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1040px){.site-header{grid-template-columns:auto auto minmax(160px,1fr) auto;gap:14px;padding-right:24px;padding-left:24px}.location-button>span:nth-child(2) small{display:none}main{padding-right:24px;padding-left:24px}.promo__copy{padding-left:36px}.cart-page__layout{grid-template-columns:minmax(0,1fr) 340px}}@media(max-width:860px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.product-detail__layout{grid-template-columns:1fr;gap:20px}.cart-page__layout{display:flex;flex-direction:column;gap:16px}.cart-page__items,.cart-page__summary{width:100%}.cart-page__summary{position:static}}@media(max-width:720px){html{scroll-padding-top:190px}body{padding-bottom:calc(100px + env(safe-area-inset-bottom))}.announcement{min-height:32px;font-size:12px}.announcement__extra{display:none}.site-header{grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;min-height:0;padding:10px 16px 12px}.brand__logo{height:44px}.location-button{grid-column:1;grid-row:2}.location-button__pin{width:32px;height:32px}.location-button strong{font-size:13px}.header-actions{grid-column:2;grid-row:1 / span 2;gap:8px}.header-cart{min-height:44px;padding:0 6px 0 14px;font-size:13px}.header-cart>span{display:none}.header-cart b{min-width:30px;height:30px}.icon-button{width:44px;height:44px}.search-box{grid-column:1 / -1;grid-row:3;height:46px}.search-box kbd{display:none}main{padding:16px 16px 26px}.promo{grid-template-columns:1fr;min-height:0;border-radius:var(--radius-lg)}.promo__copy{padding:26px 22px 6px}.promo__text{min-height:0}.promo h1{margin:12px 0 10px;font-size:clamp(30px,9vw,40px)}.promo__text p{font-size:15px}.promo__actions{width:100%;gap:10px;margin-top:20px}.promo__actions .pill{min-height:50px;flex:1 1 auto;padding:0 18px;font-size:15px}.promo__dots{margin-top:18px}.promo__visual{min-height:0;aspect-ratio:1 / .78}.promo__image{top:6px;right:18px;width:44%;border-width:4px;border-radius:var(--radius-md)}.promo__mascot{bottom:6px;left:4%;width:78%}.section-heading{flex-wrap:wrap;align-items:flex-end;margin:30px 0 14px}.section-heading h2,.page-title h1{font-size:clamp(26px,8vw,32px)}.section-heading__note{padding:7px 12px;font-size:12px}.category-nav{margin-right:-16px;margin-bottom:16px;margin-left:-16px;padding-right:16px;padding-left:16px}.category-button{min-height:42px;padding:0 18px;font-size:14px}.product-grid{grid-template-columns:1fr;gap:12px}.product-card{display:grid;grid-template-columns:128px minmax(0,1fr);align-items:stretch;gap:4px;padding:6px;border-radius:var(--radius-md)}.product-card:hover{transform:none}.product-card__image-wrap{height:100%;min-height:140px;aspect-ratio:auto;border-radius:14px}.product-card__tag{top:6px;left:6px;padding:4px 8px;font-size:9px}.product-card__favorite{top:6px;right:6px;width:28px;height:28px}.product-card__favorite svg{width:14px}.product-card__body{min-width:0;padding:8px 6px 4px 10px}.product-card__title{min-height:auto;margin-bottom:4px;font-size:16px}.product-card__description{min-height:0;margin-bottom:8px;font-size:12px}.product-card__meta{margin-bottom:8px}.product-card__meta span{padding:3px 8px;font-size:11px}.product-card__price{font-size:18px}.add-button{width:42px;height:42px}.product-detail__image{max-height:46vh;aspect-ratio:1 / .9;border-radius:var(--radius-lg)}.product-detail__info{padding-top:4px}.product-detail__info>p{font-size:15px}.product-detail__action{position:sticky;bottom:calc(96px + env(safe-area-inset-bottom));z-index:5;padding:8px 8px 8px 18px;background:var(--paper);box-shadow:0 14px 34px #b1125224}.product-detail__action>strong{font-size:21px}.product-detail__action .button{min-width:0;min-height:50px;padding:0 18px;font-size:15px}.cart-page-item{grid-template-columns:72px minmax(0,1fr) 36px;gap:6px 12px;padding:12px}.cart-page-item>img{grid-row:span 2;width:72px;height:72px}.cart-page-item__info button{font-size:15px}.cart-page-item .quantity-control{grid-column:2;justify-self:start}.remove-item{grid-column:3;grid-row:1;width:36px;height:36px}.cart-page__summary{padding:18px}.dialog{border-radius:var(--radius-lg)}.dialog__form{padding:26px 20px 22px}.dialog h2{font-size:24px}.fulfillment-options{gap:6px}.fulfillment-option{min-height:88px;padding:10px}.fulfillment-option strong{font-size:13px}.admin-section{padding:16px}.admin-toolbar{border-radius:var(--radius-lg)}.admin-job{align-items:flex-start}.admin-product{gap:10px}.admin-form,.admin-table-form{grid-template-columns:1fr}.admin-banner{flex-wrap:wrap}.admin-banner>strong{min-width:calc(100% - 100px)}}@media(max-width:370px){.promo__actions .pill{width:100%}.product-card{grid-template-columns:104px minmax(0,1fr)}.fulfillment-option small{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.feather-burst{display:none}}
