@font-face{font-family:Fraunces;src:url(/fonts/fraunces-400.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Fraunces;src:url(/fonts/fraunces-700.ttf)format("truetype");font-weight:700;font-display:swap}@font-face{font-family:Outfit;src:url(/fonts/outfit-400.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Outfit;src:url(/fonts/outfit-700.ttf)format("truetype");font-weight:700;font-display:swap}:root{--bone:#fffdf9;--ink:#171613;--ember:#8c2f26;--line:#17161324;--display:"Fraunces", Georgia, serif;--body:"Outfit", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;background:#f3eee4;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--ember);outline-offset:3px}.app{flex-direction:row;width:100%;height:100dvh;display:flex;position:relative;overflow:hidden}.stage{touch-action:none;flex:auto;min-width:0;min-height:0;position:relative}.stage canvas{display:block}.stage:after{content:"";pointer-events:none;background:radial-gradient(60% 45% at 50% -8%,#ffcf8c61,#ffcf8c00 70%);position:absolute;inset:0}.loading{font-family:var(--display);color:var(--ink);pointer-events:none;background:#f3eee4d9;place-items:center;font-size:1.1rem;display:grid;position:absolute;inset:0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.brand{pointer-events:none;align-items:baseline;gap:10px;display:flex;position:absolute;top:18px;left:22px}.brand-name{font-family:var(--display);letter-spacing:.01em;font-size:1.35rem;font-weight:700}.brand-sub{letter-spacing:.16em;text-transform:uppercase;color:var(--ember);font-size:.78rem}.topbar{gap:8px;display:flex;position:absolute;top:14px;right:18px}.pill{background:var(--bone);border:1px solid var(--line);border-radius:999px;padding:9px 16px;font-size:.9rem}.pill:hover{border-color:var(--ink)}.panel{background:var(--bone);border:1px solid var(--line);border-radius:20px;flex:0 0 400px;align-self:center;gap:18px;margin:0 28px 0 0;padding:22px 22px 24px;display:grid;box-shadow:0 18px 50px -24px #17161359}.panel--slim{text-align:center;padding:16px}.hint{margin:0;font-size:.95rem}.kit{grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;display:grid}.arrow{border:1px solid var(--line);background:var(--bone);border-radius:50%;width:44px;height:44px;font-size:.8rem}.arrow:hover:not(:disabled){border-color:var(--ink)}.arrow:disabled,.btn:disabled{opacity:.35;cursor:default}.card{text-align:center;min-width:0}.card-name{font-family:var(--display);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.3rem;line-height:1.2;overflow:hidden}.card-meta{color:#171613b3;justify-content:center;gap:12px;margin:2px 0 8px;font-size:.85rem;display:flex}.card-price{color:var(--ink);font-weight:700}.cta{background:var(--ember);color:var(--bone);border-radius:999px;padding:8px 20px;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-block}.cta:hover{background:#a5382e}.mode{border:1px solid var(--line);border-radius:999px;justify-content:center;gap:0;width:fit-content;margin:0 auto;padding:3px;display:flex}.mode-btn{background:0 0;border:0;border-radius:999px;padding:6px 16px;font-size:.85rem}.mode-btn[aria-checked=true]{background:var(--ink);color:var(--bone)}.mode-btn:disabled{opacity:.4;cursor:default}.swatches{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.swatch{border:2px solid var(--bone);background:var(--hide);width:30px;height:30px;box-shadow:0 0 0 1px var(--line), inset 0 0 0 0 transparent;border-radius:50%;padding:0;transition:transform .15s;position:relative}.swatch:after{content:"";background:var(--edge);opacity:.9;border-radius:2px;height:3px;position:absolute;inset:auto 6px 3px}.swatch:hover{transform:scale(1.1)}.swatch[aria-checked=true]{box-shadow:0 0 0 2px var(--ink)}.swatch-name{text-align:center;letter-spacing:.08em;text-transform:uppercase;color:#171613b3;flex-basis:100%;font-size:.8rem}.actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.btn{background:var(--bone);border:1px solid var(--ink);border-radius:999px;min-height:40px;padding:9px 20px;font-size:.9rem;font-weight:700}.btn--ink{background:var(--ink);color:var(--bone)}.btn--round{width:40px;padding:0}.pages{gap:6px;display:flex}.shelf-list{flex-wrap:wrap;justify-content:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.chip{background:var(--bone);border:1px solid var(--line);border-radius:999px;padding:5px 12px;font-size:.78rem}.chip:hover{border-color:var(--ink)}.browse{pointer-events:none;z-index:5;flex-direction:column;justify-content:flex-end;display:flex;position:absolute;inset:0}.browse>*{pointer-events:auto}.catbar{padding:10px 14px calc(10px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);background:#fffdf9f0;align-items:center;gap:12px;display:flex}.search input{width:190px;font:inherit;border:1px solid var(--line);background:var(--bone);color:var(--ink);border-radius:999px;padding:9px 14px;font-size:.9rem}.search input:focus-visible{outline:2px solid var(--ember);outline-offset:2px}.cats{scrollbar-width:thin;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;flex:1;gap:8px;min-width:0;margin:0;padding:2px 0;list-style:none;display:flex;overflow-x:auto}.cats li{scroll-snap-align:start;flex:none}.cat{border:1px solid var(--line);background:var(--bone);white-space:nowrap;border-radius:999px;min-height:40px;padding:9px 16px;font-size:.88rem}.cat:hover{border-color:var(--ink)}.cat[aria-pressed=true]{background:var(--ink);color:var(--bone);border-color:var(--ink)}.sheet{background:var(--bone);border:1px solid var(--line);border-radius:18px;flex-direction:column;min-height:0;max-height:min(68%,640px);margin:0 14px 10px;display:flex;box-shadow:0 18px 50px -20px #17161373}.sheet-head{justify-content:space-between;align-items:center;gap:12px;padding:14px 18px 8px;display:flex}.sheet-head h2{font-family:var(--display);outline:none;margin:0;font-size:1.25rem;font-weight:400}.sheet-count{font-family:var(--body);color:#17161399;margin-left:8px;font-size:.8rem}.sheet-close{border:1px solid var(--line);background:var(--bone);border-radius:50%;width:40px;height:40px;font-size:1.4rem;line-height:1}.sheet-empty{margin:0;padding:18px}.grid{overscroll-behavior:contain;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;min-height:0;margin:0;padding:6px 18px 18px;list-style:none;display:grid;overflow-y:auto}.card-btn{all:unset;box-sizing:border-box;cursor:pointer;border-radius:12px;gap:4px;width:100%;display:grid}.card-btn:focus-visible{outline:2px solid var(--ember);outline-offset:3px}.tile{aspect-ratio:145/215;border-radius:10px;transition:transform .15s;display:block;overflow:hidden;box-shadow:inset 0 0 0 1px #17161314,0 6px 14px -8px #17161366}.card-btn:hover .tile{transform:translateY(-3px)}.tile img{object-fit:cover;width:100%;height:100%;display:block}.card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.88rem;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.card-sub{color:#171613a6;font-size:.78rem}.btn-back{background:var(--ink);color:var(--bone);border:0;border-radius:999px;align-items:center;gap:8px;min-height:48px;padding:12px 22px;font-size:1rem;font-weight:700;display:inline-flex;box-shadow:0 10px 24px -12px #17161399}.btn-back:hover{background:var(--ember)}@media (width<=600px){.catbar{padding:8px 10px calc(8px + env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;gap:8px}.search input{width:100%}.sheet{max-height:66%;margin:0 8px 8px}.grid{grid-template-columns:repeat(2,1fr);gap:12px;padding:4px 12px 14px}.sheet-head{padding:12px 14px 6px}.btn-back{min-height:44px;padding:10px 18px;font-size:.95rem}.brand{top:14px;left:14px}.brand-name{font-size:1.15rem}.brand-sub{display:none}.topbar{top:10px;right:10px}.pill{padding:7px 12px;font-size:.8rem}.app{flex-direction:column}.panel{border-radius:16px;flex:none;align-self:stretch;gap:8px;margin:0 10px 10px;padding:10px 12px 12px}.card-name{font-size:1.1rem}.card-meta{margin-bottom:6px}.swatch{width:26px;height:26px}.swatch-name{display:none}.shelf-list{max-height:74px;overflow-y:auto}.btn{padding:8px 16px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.skip-intro{z-index:6;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.topbar--left{top:58px;left:22px;right:auto}@media (width<=600px){.topbar--left{top:50px;left:14px}}.checkout-wrap{z-index:8;background:#17161347;place-items:center;padding:14px;display:grid;position:absolute;inset:0}.checkout{background:var(--bone);border:1px solid var(--line);border-radius:18px;width:min(460px,100%);max-height:100%;padding-bottom:16px;overflow:auto;box-shadow:0 24px 60px -20px #17161380}.co-lines{gap:4px;margin:0;padding:4px 18px;list-style:none;display:grid}.co-lines li{border-bottom:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:10px 0;display:grid}.co-name{font-weight:700;display:grid}.co-name small{color:#171613a6;font-weight:400}.co-remove{color:#171613b3;background:0 0;border:0;font-size:.8rem;text-decoration:underline}.co-foot{gap:8px;padding:12px 18px 0;display:grid}.co-total{margin:0;font-size:1.05rem}.co-cta{text-align:center;padding:12px 18px}.co-cta[aria-disabled=true]{opacity:.4;pointer-events:none}.co-note{color:#17161399;margin:0;font-size:.78rem}.btn--add{border-color:var(--ember);color:var(--ember)}.basket-pill{margin-left:8px}@media (width>=601px){.checkout-wrap{background:#17161314;place-items:center end;padding-right:40px}.checkout{width:min(380px,100%)}}@media (width<=600px){.checkout-wrap{background:#17161314;place-items:end center}.checkout{max-height:46%}}.splash{z-index:20;background:var(--bone);place-items:center;transition:opacity .45s;display:grid;position:fixed;inset:0}.splash--out{opacity:0;pointer-events:none}.splash-inner{text-align:center;width:min(320px,76vw)}.splash-mark{font-family:var(--display);letter-spacing:.01em;margin:0 0 22px;font-size:2.3rem;font-weight:700}.splash-mark span{color:var(--ember)}.splash-bar{background:#1716131f;border-radius:4px;height:4px;overflow:hidden}.splash-fill{background:var(--ember);transform-origin:0;height:100%;transition:transform .2s ease-out}.splash-note{letter-spacing:.1em;text-transform:uppercase;color:#17161399;margin:12px 0 0;font-size:.8rem}
