/* آشپزخانه: گوشی اول؛ دسکتاپ (≥۱۱۰۰px) سه ستون — کشو، گفتگو، برگه‌ی رسپی. طرح: پیش‌نمونه‌ی آشپزخانه (۵ تا ۹ اکتبر). */
html,body{height:100%}
body.kitchen-page{overflow:hidden;line-height:1.85}
.kitchen-page button{font:inherit;color:inherit;cursor:pointer}
.av{width:38px;height:38px;border-radius:50%;flex:0 0 auto;background:var(--acc-s);color:var(--acc-d);display:flex;align-items:center;
  justify-content:center;font-weight:900;overflow:hidden}
.av.square{border-radius:10px}
.av img{width:100%;height:100%;object-fit:cover}
.icon-btn{width:var(--tap);height:var(--tap);border:0;background:none;border-radius:50%;font-size:21px;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.icon-btn:hover{background:var(--side)}
.hint{font-size:12px;color:var(--faint);padding:2px 8px}

.app{display:flex;height:100%;max-width:1560px;margin:0 auto}

/* ── کشو ── */
.drawer{width:300px;flex:0 0 300px;background:var(--side);border-left:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:10px 10px 4px 16px}
.drawer-close{display:none}
.drawer-body{flex:1;overflow-y:auto;padding:4px 12px 16px}
.btn-primary{display:block;width:100%;border:0;border-radius:var(--r-md);background:var(--orange);color:#fff;font-weight:800;padding:11px;font-size:13.5px}
.btn-ghost{display:block;text-align:center;border:1px dashed var(--line);border-radius:var(--r-sm);padding:8px;font-size:13px;color:var(--muted);
  margin-top:6px;text-decoration:none}
.drawer h4{font-size:12px;color:var(--muted);margin:18px 6px 6px;font-weight:700;display:flex;gap:6px;align-items:center}
.drawer h4 .count{background:var(--paper);border-radius:99px;padding:0 7px;font-size:11px}
.drawer h5{font-size:11px;color:var(--faint);margin:10px 8px 2px;font-weight:700}
.k-row{display:flex;align-items:center;gap:10px;width:100%;border-radius:var(--r-md);padding:7px 8px;text-align:right;color:var(--ink);text-decoration:none}
.k-row:hover,.k-row.on{background:var(--paper)}
.k-row b{font-size:13.5px;display:block;line-height:1.5}.k-row small{font-size:11px;color:var(--muted)}
.cook-find input{width:100%;margin-top:10px;border:1px solid var(--line);border-radius:99px;padding:7px 13px;font:inherit;font-size:12.5px;background:var(--paper)}
.cook-find input:focus{outline:0;border-color:var(--orange)}
.t-row{display:flex;align-items:center;gap:9px;width:100%;border:0;background:none;padding:6px 8px;border-radius:var(--r-sm);text-align:right;font-size:12.5px}
.t-row:hover,.t-row.on{background:var(--paper)}
.t-row .thumb{width:34px;height:34px;border-radius:10px;overflow:hidden;flex:0 0 auto;background:var(--acc-s);display:flex;align-items:center;justify-content:center}
.t-row .thumb.round{border-radius:50%}
.t-row .thumb img{width:100%;height:100%;object-fit:cover}
.t-row .tx{flex:1;min-width:0}
.t-row .tx b{display:block;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t-row .tx small{display:block;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* گفتگوی «چی بپزم؟» با دکمه‌ی پاک کردن: روی گوشی همیشه پیدا (hover نیست)، روی دسکتاپ با رفتنِ موس روی ردیف */
.t-wrap{display:flex;align-items:center;border-radius:var(--r-sm)}
.t-wrap:hover{background:var(--paper)}
.t-wrap .t-row{flex:1;min-width:0}
.t-wrap:hover .t-row{background:none}
.t-del{flex:0 0 auto;width:30px;height:30px;border:0;background:none;color:var(--muted);font-size:17px;line-height:1;border-radius:8px;cursor:pointer}
.t-del:hover,.t-del:focus-visible{color:var(--ink);background:var(--cream)}
@media (hover:hover){.t-wrap .t-del{opacity:0}.t-wrap:hover .t-del,.t-del:focus-visible{opacity:1}}

/* ── وسط ── */
.main{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--chat)}
.topbar{display:flex;align-items:center;gap:6px;padding:8px 10px;background:var(--paper);border-bottom:1px solid var(--line);min-height:60px}
.menu-btn{font-size:22px}                      /* ☰ همیشه پیداست: گوشی کشو را باز می‌کند، دسکتاپ ستونِ کشو را می‌بندد و باز می‌کند */
.who{flex:1;min-width:0;display:flex;align-items:center;gap:10px}
.who.link{cursor:pointer}
.who.link small::after{content:' · دیدنِ رسپی ‹';color:var(--acc-d);font-weight:700}
.who .tx{flex:1;min-width:0}
.who b{display:block;font-size:15px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.who small{display:block;font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.follow{border:1px solid var(--orange);background:var(--orange);color:#fff;border-radius:99px;padding:5px 13px;font-size:12.5px;font-weight:800;white-space:nowrap;flex:0 0 auto}
.follow.on{background:none;color:var(--acc-d);border-color:var(--line)}

.chat{display:flex;flex-direction:column;flex:1;min-height:0}
.feed{flex:1;overflow-y:auto;padding:16px 14px 8px;display:flex;flex-direction:column;gap:10px}
.feed>*{flex-shrink:0}
.feed .msg{max-width:min(560px,86%);font-size:14px;padding:9px 14px;border-radius:18px;line-height:1.9;animation:in .18s ease-out;overflow-wrap:anywhere}
@keyframes in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
/* پیامِ کاربر سمتِ راست، دستیار سمتِ چپ (عظیم، ۱۰ اکتبر). صفحه راست‌به‌چپ است: flex-start یعنی راست */
.feed .msg.user{align-self:flex-start;background:var(--orange);color:#fff;border-bottom-right-radius:6px;font-weight:600;white-space:pre-wrap}
.bot{display:flex;flex-direction:row-reverse;gap:8px;align-items:flex-start;align-self:flex-end;max-width:min(640px,96%);flex-wrap:wrap}
.bot.has-cards{max-width:100%;align-self:stretch}
.spark{width:30px;height:30px;border-radius:50%;background:var(--acc-s);color:var(--orange);display:flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:14px}
.bot .msg{background:var(--paper);border:1px solid var(--line);border-top-left-radius:6px;max-width:calc(100% - 38px);white-space:pre-line;min-width:0}
.bot .msg a{color:var(--acc-d);font-weight:700}
.bot .msg.typing{color:var(--faint);letter-spacing:3px}
.bot .vote{flex-basis:100%;padding-left:38px;justify-content:flex-end;align-items:center}
.vote .vote-hint{font-size:11.5px;color:var(--muted)}
.divider{align-self:center;font-size:11.5px;color:var(--muted);display:flex;align-items:center;gap:10px;width:100%}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--line)}
.tick{align-self:center;font-size:11.5px;font-weight:700;color:var(--gold-d);background:var(--gold-s);border-radius:99px;padding:1px 12px}
.res-sum{display:block;margin:6px 0 0 38px;border:1px solid var(--line);background:var(--cream);border-radius:99px;padding:3px 12px;font-size:12px;color:var(--acc-d);font-weight:700}

/* ردیفِ افقی (کارت‌ها، آشپزخانه‌ها): روی گوشی کارتِ بعدی از لبه پیداست؛ روی دسکتاپ فلش (kitchen/feed.js hscroll) */
.hscroll{position:relative;flex-basis:100%;min-width:0;margin:2px 0 0;padding-left:38px}
.hscroll .track{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 6px 6px;scrollbar-width:none;overscroll-behavior-x:contain}
.hscroll .track::-webkit-scrollbar{display:none}
.hscroll .nav{display:none;position:absolute;top:calc(50% - 22px);width:36px;height:36px;border-radius:50%;border:1px solid var(--line);
  background:var(--paper);box-shadow:var(--shadow);font-size:20px;line-height:1;z-index:2}
.hscroll .prev{right:-4px}.hscroll .next{left:30px}
@media (hover:hover) and (min-width:700px){.hscroll .nav{display:block}.hscroll .nav[hidden]{display:none}}
.carousel .rcard{flex:0 0 138px;scroll-snap-align:start}
.carousel .nav{top:calc(50% - 40px)}
@media (hover:hover) and (min-width:700px){.carousel .rcard{flex-basis:156px}}
.more-card{flex:0 0 96px;scroll-snap-align:start;border:1px dashed var(--line);background:var(--cream);border-radius:18px;aspect-ratio:3/5;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--acc-d);font-size:12px;font-weight:700}
.more-card b{font-size:20px}

/* گفتگوی خالی (۱۱ اکتبر، الگوی ChatGPT): تیتر و جعبه وسطِ صفحه، پیشنهادها زیرِ جعبه؛ با اولین پیام کلاسِ empty می‌رود و
   جعبه پایین می‌نشیند. margin:auto به‌جای justify-content تا اگر بلندتر از صفحه بود، بالایش بریده نشود. */
.chat.empty{overflow-y:auto}
.chat.empty .feed{flex:0 0 auto;overflow:visible;margin-top:auto;padding-top:24px}
.chat.empty .bottom{display:flex;flex-direction:column;width:100%;max-width:660px;margin:0 auto auto;padding-bottom:calc(36px + env(safe-area-inset-bottom))}
.chat.empty .composer{order:1;box-shadow:var(--shadow)}
.chat.empty .chips{order:2;flex-wrap:wrap;justify-content:center;overflow:visible;padding:12px 2px 0}
.chat.empty .note{order:3}
.hero-empty{align-self:center;width:100%;max-width:660px;text-align:center;padding:0 4px}
.hero-empty h1{margin:0;font-size:24px;font-weight:900;line-height:1.6}
.hero-empty p{margin:6px auto 0;max-width:460px;font-size:14px;color:var(--muted);line-height:1.9}
.hero-av{width:64px;height:64px;font-size:24px;margin:0 auto 8px}
.hero-devs{padding-left:0;margin-top:14px}
.hero-devs .nav{top:calc(50% - 18px)}.hero-devs .next{left:-4px}
.hero-dev{flex:0 0 100px;scroll-snap-align:start;border:1px solid var(--line);background:var(--paper);border-radius:var(--r-md);padding:6px 4px;
  display:flex;flex-direction:column;align-items:center;gap:1px;line-height:1.5}
.hero-dev:hover{border-color:var(--orange)}
.hero-dev img{width:52px;height:52px;object-fit:contain}
.hero-dev b{font-size:12px}
.hero-dev small{font-size:10px;color:var(--muted)}
@media (min-width:700px){.hero-empty h1{font-size:28px}}

/* جوابی که منبع دارد (دستیارِ دستگاه، دستیارِ آشپز) */
.bot .msg-src{font-size:11.5px;color:var(--muted);margin-top:6px;white-space:normal}

/* آشپزخانه‌ی نوتریکوک: انتخابِ دستگاه، دو راه، آموزشِ قدم‌به‌قدم (nutricook/views.js) */
.bot .msg.rich{white-space:normal}
.bot .msg.wide{max-width:min(620px,calc(100% - 38px))}
.msg h6{margin:12px 0 5px;font-size:11.5px;color:var(--muted);font-weight:800}
.dev-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}
.dev-pick button{border:1px solid var(--line);background:var(--cream);border-radius:var(--r-md);padding:6px 8px;text-align:right;display:flex;gap:8px;
  align-items:center;min-width:0}
.dev-pick button:hover,.dev-pick button.on{border-color:var(--orange)}
.dev-pick img{width:40px;height:40px;object-fit:contain;flex:0 0 auto;background:#fff;border-radius:8px}
.dev-pick span{min-width:0}
.dev-pick b{display:block;font-size:12.5px;line-height:1.6}
.dev-pick small{display:block;color:var(--muted);font-size:10.5px;line-height:1.6}
.dev-cancel{margin-top:10px;border:0;background:none;color:var(--muted);font-size:12px;text-decoration:underline;padding:0}
.dev-switch{border:0;background:none;padding:0;color:var(--acc-d);font-weight:700;font-size:inherit}
.pick2{display:grid;gap:6px;margin-top:8px}
.pick2 button{border:1px solid var(--line);background:var(--cream);border-radius:var(--r-md);padding:9px 12px;text-align:right}
.pick2 button:hover{border-color:var(--orange)}
.pick2 b{display:block;font-size:13.5px}
.pick2 small{color:var(--muted);font-size:11.5px}
.tut-start{display:block;width:100%;margin-top:8px;border:0;background:var(--orange);color:#fff;border-radius:var(--r-md);padding:9px;font-weight:800;font-size:13.5px}
.tut-menu{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;margin-top:6px}
.tut-menu button{border:1px solid var(--line);background:var(--cream);border-radius:var(--r-sm);padding:6px 9px;text-align:right;font-size:12.5px;line-height:1.6}
.tut-menu button:hover{border-color:var(--orange)}
.tut-menu small{display:block;color:var(--faint);font-size:10.5px}
.tut-hint{display:block;margin-top:8px;color:var(--muted);font-size:11.5px}
.tut-where{display:block;color:var(--muted);font-size:11px;font-weight:700}
.tut-title{display:block;font-size:14px;margin:2px 0 4px}
.tut-text{white-space:pre-line;font-size:13.5px}
.msg.tut.safety{border-color:var(--gold);background:var(--gold-s)}
.bot .src{display:block;margin-top:8px;padding-top:7px;border-top:1px solid var(--line);font-size:11.5px;color:var(--muted)}
.tut-nav{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.tut-nav button{border:1px solid var(--line);background:var(--cream);border-radius:99px;padding:5px 12px;font-size:12.5px}
.tut-nav button.go{background:var(--orange);border-color:var(--orange);color:#fff;font-weight:800}
.tut-nav .done{color:var(--green);font-size:12.5px;font-weight:700;align-self:center}

/* پایین */
.bottom{padding:6px 10px calc(8px + env(safe-area-inset-bottom));background:var(--chat)}
.chips{display:flex;gap:7px;overflow-x:auto;padding:0 2px 8px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{flex:0 0 auto;border:1px solid var(--line);background:var(--paper);border-radius:99px;padding:6px 13px;font-size:12.5px;white-space:nowrap}
.chip:hover{border-color:var(--orange)}
.chip.quiet{color:var(--muted);border-style:dashed}
.composer{display:flex;gap:8px;align-items:flex-end;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:5px 5px 5px 8px}
.composer:focus-within{border-color:var(--orange)}
.composer textarea{flex:1;border:0;resize:none;background:none;font:inherit;font-size:15px;color:var(--ink);padding:7px 10px;max-height:120px;
  outline:none;overflow-y:auto;scrollbar-width:none}
.composer textarea::-webkit-scrollbar{display:none}
.send{width:42px;height:42px;border-radius:50%;border:0;background:var(--orange);color:#fff;font-size:18px;flex:0 0 auto}
.send:disabled{opacity:.4;cursor:default}
.note{font-size:11px;color:var(--faint);text-align:center;padding-top:5px}

/* ── برگه‌ی رسپی: ستونِ کنار روی دسکتاپ، برگه از پایین روی گوشی ── */
.sheet{width:420px;flex:0 0 420px;background:var(--cream);border-right:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden;position:relative}
.sheet-body{flex:1;overflow-y:auto}
.sheet-body .tabs{top:0}
.sheet-body .hero{aspect-ratio:16/10;border-radius:0}
.sheet-body .body{padding-bottom:18px}
.sheet-close{position:absolute;top:10px;left:10px;z-index:6;width:36px;height:36px;border-radius:50%;border:0;background:rgba(0,0,0,.5);color:#fff;font-size:18px}
.sheet-foot{padding:8px 14px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper)}
.sheet-ask{width:100%;border:0;border-radius:var(--r-md);background:var(--orange);color:#fff;font-weight:800;padding:12px;font-size:14px}
.scrim{display:none;position:fixed;inset:0;background:var(--scrim);z-index:40}
.scrim.on{display:block}

@media (min-width:1100px){.scrim.on{display:none}body.drawer-closed .drawer{display:none}}
@media (max-width:1099px){
  .drawer{position:fixed;inset:0 0 0 auto;width:min(86vw,330px);z-index:50;transform:translateX(105%);transition:transform .22s ease;box-shadow:var(--shadow);visibility:hidden}
  .drawer.open{transform:none;visibility:visible}
  .drawer-close{display:inline-flex}
  .sheet{position:fixed;left:0;right:0;bottom:0;width:auto;max-width:720px;margin:0 auto;height:92vh;z-index:45;border:0;border-radius:24px 24px 0 0;
    transform:translateY(105%);transition:transform .25s ease;box-shadow:0 -10px 40px rgba(0,0,0,.18)}
  .sheet.open{transform:none}
  .sheet-body .hero{border-radius:24px 24px 0 0}
}
@media (max-width:420px){.who small{display:none}.follow{padding:5px 10px}.topbar .u-btn span:not(.u-av){display:none}}
@media (prefers-reduced-motion:reduce){.feed .msg{animation:none}.drawer,.sheet{transition:none}}
