:root{color-scheme:dark;--bg:#141415;--out:#0A0A0B;--ink:#FBF7F1;--mut:#CBC5BC;--acc:#FF8A3D;--hot:#F0605D;--leaf:#8FD694;--card:#1F1F21;--line:rgba(255,138,61,.38);--accT:#1B0E05;box-sizing:border-box}
*,*::before,*::after{box-sizing:inherit}
html,body{height:100%;margin:0}
body{background:var(--out);color:var(--ink);font:400 1rem/1.6 Jost,system-ui,sans-serif;padding-top:env(safe-area-inset-top,0)}
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:600;line-height:1;margin:0}
a{color:var(--acc)}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:0;background:var(--acc);color:var(--accT);padding:.6rem 1rem;z-index:99}
.skip:focus{left:8px;top:8px}
button{font:400 1rem Jost,sans-serif;min-height:44px;padding:.55rem 1.3rem;border-radius:999px;border:1px solid var(--acc);background:transparent;color:var(--ink);cursor:pointer}
button.pri{background:var(--acc);color:var(--accT);font-weight:500}
button:hover{background:rgba(255,138,61,.16)}button.pri:hover{background:#FFA766}
svg.i{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.stage{position:relative;max-width:460px;height:100vh;height:100dvh;margin:0 auto;background:var(--bg);overflow:hidden;box-shadow:0 0 0 1px var(--line)}
.top{position:absolute;z-index:6;inset:0 0 auto 0;padding:.7rem 1rem 2.2rem;background:linear-gradient(#141415f0,transparent);text-align:center}
.brand{font:italic 600 1.7rem 'Cormorant Garamond',serif;color:var(--acc);text-decoration:none;letter-spacing:.04em}
.tabs{display:flex;gap:.4rem;justify-content:center;margin-top:.3rem;flex-wrap:wrap}
.tabs button{min-height:36px;padding:.2rem .9rem;font-size:.9rem;border-color:transparent;color:var(--mut)}
.tabs button[aria-pressed=true]{border-color:var(--acc);color:var(--ink)}
.mini{position:absolute;z-index:7;top:1rem;right:.9rem;font-size:.85rem}.mini a{color:var(--mut)}
#feed{height:100%;overflow-y:scroll;scroll-snap-type:y mandatory;scrollbar-width:none}
#feed::-webkit-scrollbar{display:none}
.reel{height:100%;scroll-snap-align:start;position:relative;display:flex;align-items:flex-end;overflow:hidden}
.reel video,.ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ph{display:grid;place-items:center;background:radial-gradient(ellipse at 50% 36%,var(--c1) 0,var(--bg) 68%)}
.plate{width:min(66vw,290px);aspect-ratio:1;border-radius:50%;margin-top:-14vh;background:radial-gradient(circle,#FBF7F1 0 56%,#FF8A3D 57% 58.5%,#FBF7F1 60% 100%);box-shadow:0 30px 60px #000a;display:grid;place-items:center}
.plate i{width:60%;height:60%;border-radius:50%;background:radial-gradient(circle at 36% 30%,#fff5,transparent 40%),var(--food);animation:turn 40s linear infinite}
@keyframes turn{to{transform:rotate(360deg)}}
.scrim{position:absolute;inset:auto 0 0 0;height:62%;background:linear-gradient(transparent,#141415f5 72%)}
.info{position:relative;padding:1rem 4.6rem calc(1.6rem + env(safe-area-inset-bottom,0)) 1.2rem;width:100%}
.cat{font-size:.95rem;color:var(--acc);letter-spacing:.06em}
.info h2{font-size:clamp(2.5rem,12vw,3.4rem);margin:.15rem 0 .5rem}
.info p{margin:0 0 .8rem;color:var(--mut);max-width:30ch}
.tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}
.tag{font-size:.85rem;padding:.1rem .75rem;border-radius:999px;border:1px solid var(--line)}
.price{font:600 1.75rem/1.1 Jost,sans-serif;color:var(--ink);margin:.1rem 0 .7rem;font-variant-numeric:tabular-nums}
.rail{position:absolute;right:.6rem;bottom:calc(1.4rem + env(safe-area-inset-bottom,0));display:flex;flex-direction:column;gap:.9rem;align-items:center;z-index:3}
.rail div{text-align:center;font-size:.8rem}
.rail button{width:50px;height:50px;padding:0;display:grid;place-items:center;background:#141415b3;backdrop-filter:blur(8px);margin:0 auto .1rem}
.rail button[aria-pressed=true]{color:var(--hot);border-color:var(--hot)}
.rail button[aria-pressed=true] svg{fill:currentColor}
.pop{animation:pop .35s}@keyframes pop{50%{transform:scale(1.28)}}
.burst{position:absolute;left:50%;top:44%;width:110px;height:110px;margin:-55px;color:var(--hot);fill:currentColor;pointer-events:none;z-index:4;animation:bur .8s forwards}
@keyframes bur{0%{transform:scale(.3);opacity:0}30%{transform:scale(1);opacity:1}100%{transform:scale(1.3) translateY(-30px);opacity:0}}
.page{min-height:100vh;padding:3rem 1.4rem 3rem;max-width:44rem;margin:0 auto;overflow-wrap:anywhere}
.page.wide{max-width:60rem}
.page h1{font-size:3rem;margin-bottom:1rem;color:var(--acc)}.page h2{font-size:1.7rem;margin:1.6rem 0 .3rem}
.bar{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.bar h1{margin:0;flex:1}
.panel{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1rem 1.2rem;margin:1rem 0}
label{display:block;margin:.8rem 0 .2rem}
input,textarea{width:100%;min-height:44px;padding:.55rem .8rem;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit}
input[type=checkbox]{width:auto;min-height:0}
.row{display:flex;gap:.5rem;align-items:center;justify-content:space-between;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:.6rem 0}
.row button{min-height:36px;padding:.2rem .9rem;font-size:.9rem}
.hint{font-size:.9rem;color:var(--mut)}
footer.legal{border-top:1px solid var(--line);padding:1.2rem 0;font-size:.9rem;color:var(--mut);margin-top:2rem}
dialog{border:0;padding:0;background:var(--bg);color:var(--ink);max-width:none;max-height:none}
dialog::backdrop{background:#000b}
#dlg{width:100%;height:100%}
#sh{width:100%;max-width:460px;margin:auto auto 0;border-radius:22px 22px 0 0;border:1px solid var(--line);max-height:78vh;overflow:auto;padding:1.2rem}
#v3{position:relative;width:100%;height:100%;overflow:hidden}
#cam{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none}
#cv{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab}
.v3bar{position:absolute;left:0;right:0;bottom:0;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom,0));display:flex;gap:.5rem;flex-wrap:wrap;background:linear-gradient(transparent,#141415ee)}
.v3top{position:absolute;top:calc(.8rem + env(safe-area-inset-top,0));left:1rem;right:1rem;display:flex;justify-content:space-between;align-items:flex-start}
.size{display:inline-block;margin-top:.4rem;padding:.2rem .8rem;border-radius:999px;border:1px solid var(--line);background:var(--card)}
.cm{border-bottom:1px solid var(--line);padding:.6rem 0}.cm b{font-weight:500;color:var(--acc)}
.cm button{min-height:32px;padding:0 .6rem;font-size:.8rem;border-color:transparent;color:var(--mut)}
#ck{position:fixed;left:.8rem;right:.8rem;bottom:calc(.8rem + env(safe-area-inset-bottom,0));z-index:30;background:var(--card);border:1px solid var(--acc);border-radius:18px;padding:1rem;max-width:34rem;margin:auto}
#ck p{margin:.3rem 0 .8rem}.btns{display:flex;gap:.5rem;flex-wrap:wrap}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
#mvbox{position:absolute;inset:0}
#mvbox model-viewer{width:100%;height:100%;--poster-color:transparent;background:radial-gradient(ellipse at 50% 40%,#2E2A26,#141415 70%)}
#mvbox .arbtn{position:absolute;bottom:calc(1.2rem + env(safe-area-inset-bottom,0));left:50%;transform:translateX(-50%)}
.mvhint{position:absolute;left:1rem;right:1rem;bottom:calc(4.6rem + env(safe-area-inset-bottom,0));text-align:center;margin:0}

.tag.lb{border-color:transparent;padding-left:0;color:var(--mut)}
.tag.diet{border-color:var(--leaf);color:var(--leaf)}
.tag.out{border-color:var(--hot);color:var(--hot);font-weight:500}
.mini.l{right:auto;left:.9rem}
.mini button{min-height:36px;padding:.2rem .9rem;font-size:.85rem}
#ls{width:100%;height:100%}
.lsw{max-width:640px;margin:0 auto;padding:0 1.2rem 3rem}
.lsh{display:flex;justify-content:space-between;align-items:center;gap:1rem;position:sticky;top:0;background:var(--bg);padding:1rem 0;z-index:2;border-bottom:1px solid var(--line)}
.lsh h2{font-size:2rem}
#lsb2 h3{font:italic 600 1.7rem 'Cormorant Garamond',serif;color:var(--acc);margin:1.6rem 0 .2rem}
.li{display:flex;justify-content:space-between;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--line)}
.li .nm{font-weight:500;font-size:1.05rem}.li .ds{color:var(--mut);margin:.15rem 0 .4rem}
.li .pr{font:600 1.05rem Jost,sans-serif;white-space:nowrap;font-variant-numeric:tabular-nums}
.li .tags{margin:0}
.lsf{margin-top:1.4rem;color:var(--mut);font-size:.95rem}

.stage>main{display:block;height:100%;outline:0}
