:root{
  color-scheme:light;   /* 브라우저 자동 다크모드 강제 반전 방지 (마스코트 눈 등) */
  --paper:#FBFAF6; --card:#FFF; --ink:#20241F; --sub:#6E7568;
  --line:#E7E6DE; --leaf:#2F6B3C; --leafsoft:#EAF2EB; --star:#E8A13D; --danger:#B4483C;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:Pretendard,-apple-system,'Apple SD Gothic Neo','Noto Sans KR',sans-serif;}
.wrap{max-width:480px;margin:0 auto;min-height:100vh}
.serif{font-family:'Gowun Batang','Nanum Myeongjo',serif}
button{font-family:inherit;cursor:pointer}
input,textarea{font-family:inherit;color:var(--ink)}
input:focus,textarea:focus{outline:2px solid var(--leaf);outline-offset:-1px}
:focus-visible{outline:2px solid var(--leaf);outline-offset:2px}

.topbar{display:flex;align-items:center;gap:10px;padding:14px 18px;position:sticky;top:0;
  background:var(--paper);z-index:5;border-bottom:1px solid var(--line)}
.topbar .title{font-weight:700;font-size:17px;flex:1;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.back{border:none;background:none;font-size:20px;color:var(--ink);padding:2px 6px 2px 0}

/* 브랜드 마크 (킵레시피 소형 표기) */
.brandmark{display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--sub);
  letter-spacing:.4px;font-family:'Gowun Batang','Nanum Myeongjo',serif}
.brandmark b{color:var(--leaf);font-weight:700}
.lang-btn{border:1px solid var(--line);background:var(--card);color:var(--sub);
  font-size:11.5px;font-weight:700;border-radius:20px;padding:4px 12px;white-space:nowrap}
.lang-btn:hover{border-color:var(--leaf);color:var(--leaf)}

.field{width:100%;padding:13px 16px;border-radius:12px;border:1.5px solid var(--line);
  font-size:15px;background:var(--card)}
.btn-primary{width:100%;margin-top:14px;padding:15px 0;border-radius:12px;border:none;
  background:var(--leaf);color:#fff;font-size:16px;font-weight:700}
.btn-primary:disabled{background:var(--line);color:var(--sub);cursor:wait}
.btn-ghost{width:100%;margin-top:10px;padding:14px 0;border-radius:12px;border:1.5px solid var(--line);
  background:var(--card);color:var(--ink);font-size:15px;font-weight:700}

.tag{font-size:12px;color:var(--sub);border:1px solid var(--line);padding:3px 10px;
  border-radius:20px;background:var(--card)}
.badge{font-size:12px;color:var(--leaf);background:var(--leafsoft);padding:2px 8px;border-radius:20px}
.ai-badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;
  color:var(--leaf);background:var(--leafsoft);padding:4px 10px;border-radius:20px}
.ai-top{margin-bottom:14px}
.ai-disclaimer{font-size:11.5px;color:var(--sub);opacity:.7;margin:6px 0 0;line-height:1.5}

.card-item{display:flex;gap:14px;width:100%;text-align:left;background:var(--card);
  border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:10px;cursor:pointer}
.card-item img{width:96px;height:66px;object-fit:cover;border-radius:8px;background:var(--line);flex-shrink:0}
.card-title{font-weight:700;font-size:15px;line-height:1.4;
  overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}

.foldertab{border:none;border-radius:10px 10px 0 0;padding:8px 16px;font-size:13.5px;
  white-space:nowrap;background:transparent;color:var(--sub)}
.foldertab.on{background:var(--leaf);color:#fff;font-weight:700}
.foldertab-heart{color:var(--danger);font-size:15px}
.foldertab-heart.on{color:#fff}
/* 폴더 탭 바: 스크롤 영역 + 오른쪽 고정 '최근 본(👁)' */
.folder-bar{display:flex;align-items:center;margin-top:14px;border-bottom:1.5px solid var(--line)}
.folder-scroll{display:flex;gap:6px;align-items:center;flex:1;min-width:0;overflow-x:auto;padding-bottom:2px;
  -ms-overflow-style:none;scrollbar-width:none}
.folder-scroll::-webkit-scrollbar{display:none}
.foldertab-recent{flex-shrink:0;font-size:15px;filter:grayscale(.2);background:var(--paper);
  padding-left:11px;margin-left:2px;box-shadow:-9px 0 8px -6px rgba(0,0,0,.10)}
/* 검색엔진용 정적 내부 링크 (앱 하단) */
.seo-links{text-align:center;padding:0 20px 26px;font-size:12px;color:var(--sub)}
.seo-links a{color:var(--sub);text-decoration:none}
.seo-links a:hover{color:var(--leaf);text-decoration:underline}

.fab{position:fixed;bottom:24px;right:max(24px,calc(50% - 216px));width:56px;height:56px;
  border-radius:28px;border:none;background:var(--leaf);color:#fff;font-size:28px;
  box-shadow:0 4px 14px rgba(47,107,60,.35);line-height:1}

/* 공유 버튼 — 오른쪽 하단 고정(따라다님). + 버튼보다 옅은 색 */
.share-fab{position:fixed;bottom:24px;right:max(24px,calc(50% - 216px));width:52px;height:52px;
  border-radius:26px;border:1px solid var(--line);background:var(--leafsoft);color:var(--leaf);
  box-shadow:0 3px 10px rgba(47,107,60,.16);display:flex;align-items:center;justify-content:center;z-index:6}
.share-fab:active{transform:scale(.94)}

.stars button{background:none;border:none;padding:0;font-size:26px;line-height:1;color:var(--line)}
.stars button.on{color:var(--star)}
.chip{border:1.5px solid var(--line);border-radius:20px;padding:7px 15px;font-size:13.5px;
  background:var(--card);color:var(--ink);white-space:nowrap}
.chip.on{background:var(--leaf);color:#fff;border-color:var(--leaf);font-weight:700}
.fchip{border:none;border-radius:20px;padding:6px 14px;font-size:13px;
  background:var(--leafsoft);color:var(--leaf)}
.fchip.on{background:var(--leaf);color:#fff}

/* 재료·폴더 편집 (꾹 눌러 삭제 / + 추가) */
.chip-add,.foldertab-add{color:var(--leaf);font-weight:700}
.chip-add{border-style:dashed}
.chip-done{background:var(--leaf);color:#fff;border-color:var(--leaf);font-weight:700}
.chip-input{width:88px;padding:7px 12px}
.chip-editing,.foldertab-editing{display:inline-flex;align-items:center;gap:6px;
  animation:wiggle .3s ease-in-out infinite}
.chip-editing{background:var(--card);border:1.5px solid var(--danger);color:var(--ink)}
.foldertab-editing{border:1.5px dashed var(--danger);border-radius:10px 10px 0 0;color:var(--ink)}
.ft-name{border:none;background:none;color:inherit;font:inherit;padding:0;text-decoration:underline dotted;text-underline-offset:3px}
.adfit-wrap{display:flex;justify-content:center}
.adfit-wrap ins.kakao_ad_area{margin:14px auto} /* 채워질 때만 여백 → 미로드 시 빈 공간 0 */
.ad-app-bottom{padding:0}
.coupang-box{margin-top:14px;padding:12px 14px;background:var(--card);border:1px solid var(--line);border-radius:14px}
.coupang-box .cp-cta{margin:0 0 9px;font-size:13.5px;font-weight:700;color:var(--ink)}
.coupang-box .cp-btn{display:block;text-align:center;background:#346aff;color:#fff;text-decoration:none;
  border-radius:10px;padding:10px 0;font-size:13.5px;font-weight:700}
.coupang-box .cp-disclosure{margin:9px 0 0;font-size:10.5px;color:var(--sub);line-height:1.5}
.pager{display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap;margin:22px 0 6px}
.pager-btn{min-width:34px;height:34px;padding:0 9px;border:1px solid var(--line);background:var(--card);
  border-radius:9px;font-size:13.5px;color:var(--ink);cursor:pointer}
.pager-btn.on{background:var(--leaf);color:#fff;border-color:var(--leaf);font-weight:700}
.pager-btn:disabled{opacity:.35;cursor:default}
.pager-ellip{color:var(--sub);padding:0 2px}
.backup-nudge{display:flex;align-items:center;gap:10px;margin-top:14px;padding:12px 14px;
  background:var(--leafsoft);border:1px solid var(--line);border-radius:14px}
.backup-nudge .bn-text{flex:1;margin:0;font-size:12.5px;line-height:1.55;color:var(--ink)}
.backup-nudge #bn-open{border:none;background:var(--leaf);color:#fff;border-radius:9px;
  padding:8px 13px;font-size:12.5px;font-weight:700;white-space:nowrap}
.backup-nudge #bn-close{border:none;background:none;color:var(--sub);font-size:17px;padding:0 2px;line-height:1}
.chip-del{border:none;background:var(--danger);color:#fff;border-radius:50%;
  width:18px;height:18px;font-size:12px;line-height:1;padding:0;
  display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.foldertab-input{width:100px;padding:7px 12px;border:1.5px solid var(--line);border-radius:10px;font-size:13.5px}
@keyframes wiggle{0%,100%{transform:rotate(-1.4deg)}50%{transform:rotate(1.4deg)}}

/* 즐겨찾기 하트 (카드) */
.heart{position:absolute;top:8px;right:10px;border:none;background:none;
  font-size:20px;line-height:1;color:var(--line);padding:2px}
.heart.on{color:var(--danger)}

/* 메모 저장 완료 느낌 */
.field.saved{background:var(--leafsoft);border-color:var(--leaf)}
.saved-tag{color:var(--leaf);font-size:12.5px;font-weight:700;white-space:nowrap}
.platform{display:inline-flex;align-items:center;justify-content:center;gap:5px;
  border:1.5px solid var(--line);background:var(--card);border-radius:24px;padding:9px 14px;
  font-size:13.5px;color:var(--sub);cursor:default;white-space:nowrap;position:relative;overflow:hidden}
.platform.on{border-color:var(--leaf);color:var(--leaf);font-weight:700;background:var(--leafsoft)}
/* 준비 중 플랫폼: 어두운 오버레이 + '준비 중' 글자 (칸이 커지지 않음) */
.soon-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(32,36,31,.5);color:#fff;font-size:11px;font-weight:700;letter-spacing:.5px}
.section-h{font-family:'Gowun Batang',serif;font-size:16px;margin:0 0 10px}

/* 재료 2열 그리드 (한 번에 많이 보이도록) */
.ing-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:22px;
  background:var(--card);border:1px solid var(--line);border-radius:14px;padding:4px 16px}
.ing-cell{display:flex;justify-content:space-between;gap:8px;align-items:baseline;
  padding:9px 0;font-size:14px;min-width:0;border-bottom:1px dashed var(--line)}
.ing-cell span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ing-cell .amt{color:var(--sub);flex-shrink:0;font-size:13px}
/* 마지막 줄(각 열의 끝) 밑줄 제거 */
.ing-grid .ing-cell:last-child,.ing-grid .ing-cell:nth-last-child(2):nth-child(odd){border-bottom:none}

.modal-bg{position:fixed;inset:0;background:rgba(32,36,31,.4);z-index:20;display:flex;
  align-items:center;justify-content:center;padding:20px}
.modal{background:var(--card);border-radius:16px;padding:22px;max-width:400px;width:100%}
.help-icon{border:1px solid var(--line);background:var(--card);color:var(--sub);
  width:20px;height:20px;border-radius:50%;font-size:12px;line-height:1;padding:0;
  display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.help-icon:hover{border-color:var(--leaf);color:var(--leaf)}
.note{font-size:13px;color:var(--sub);line-height:1.6}
a{color:var(--leaf)}

.toast{position:fixed;bottom:96px;left:50%;transform:translateX(-50%);background:var(--ink);
  color:#fff;font-size:14px;font-weight:600;padding:11px 20px;border-radius:24px;z-index:30;
  white-space:nowrap}

/* 광고 영역 (AdSense) */
.ad-slot{display:block;margin:14px 0}
.ad-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  min-height:96px;padding:14px;border:1px dashed var(--line);border-radius:12px;text-align:center;
  color:var(--sub);font-size:12px;
  background:repeating-linear-gradient(45deg,#f4f3ec,#f4f3ec 10px,#edece4 10px,#edece4 20px)}
.ad-placeholder .ad-tag{font-size:10px;font-weight:700;color:#fff;background:var(--sub);
  border-radius:4px;padding:1px 7px;letter-spacing:.5px}
.ad-placeholder .ad-label{font-weight:700;color:var(--ink)}
.ad-placeholder .ad-sub{font-size:10.5px;opacity:.7}

/* 하단 푸터 */
#footer{display:block}
.footer-inner{border-top:1px solid var(--line);margin:8px 20px 0;padding:20px 0 36px;
  text-align:center;color:var(--sub);font-size:12px}
.footer-links a{color:var(--sub);text-decoration:none}
.footer-links a:hover{color:var(--leaf);text-decoration:underline}
.footer-dot{margin:0 7px;color:var(--line)}
.footer-visits{margin-top:9px;font-size:11.5px}
.footer-biz{margin-top:9px;font-size:11px;opacity:.8}
.footer-copy{margin-top:5px;font-size:11px;opacity:.85}

@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.mascot-bob{animation:bob 1.2s ease-in-out infinite;display:inline-block}

/* 담기 진행 표시 (단계별 스피너 + 진행바) */
.progress-track{height:6px;max-width:260px;margin:0 auto;background:var(--line);border-radius:99px;overflow:hidden}
.progress-fill{height:100%;width:0;background:var(--leaf);border-radius:99px;transition:width .45s ease}
.steps{list-style:none;max-width:260px;margin:22px auto 0;padding:0;text-align:left}
.step{display:flex;align-items:center;gap:11px;padding:8px 0;font-size:14px;color:var(--sub)}
.step-icon{width:20px;height:20px;flex-shrink:0;box-sizing:border-box;border-radius:50%;
  border:2px solid var(--line);position:relative}
.step.active{color:var(--ink);font-weight:700}
.step.active .step-icon{border-color:var(--leaf);border-top-color:transparent;animation:spin .7s linear infinite}
.step.done{color:var(--ink)}
.step.done .step-icon{background:var(--leaf);border-color:var(--leaf)}
.step.done .step-icon::after{content:'✓';position:absolute;inset:0;display:flex;align-items:center;
  justify-content:center;color:#fff;font-size:12px;font-weight:700}
@keyframes spin{to{transform:rotate(360deg)}}

@media (prefers-reduced-motion: reduce){*{transition:none!important}
  .mascot-bob,.chip-editing,.foldertab-editing{animation:none}
  .step.active .step-icon{animation:none;border-top-color:var(--leaf)}}

/* ── 홈 상단 제철 이동 버튼 ── */
.nav-pill{border:1px solid var(--line);background:var(--leafsoft);color:var(--leaf);
  border-radius:24px;padding:6px 12px;font-size:12.5px;font-weight:700;white-space:nowrap}
.nav-pill:hover{border-color:var(--leaf)}

/* ── 추천 페이지 CTA 카드 ── */
.landing-card{background:var(--card);border:1px solid var(--line);border-radius:16px;
  padding:20px;margin-top:16px}
.rec-cta-msg{font-size:14.5px;color:var(--ink);line-height:1.65;margin:0}

/* ── 제철 재료 칩 ── */
.season-ings{display:flex;flex-wrap:wrap;gap:8px}
.season-ing{display:inline-flex;align-items:center;gap:4px;background:var(--leafsoft);color:var(--ink);
  border:1px solid var(--line);border-radius:20px;padding:6px 13px;font-size:13.5px}

/* ── 제철 페이지 ── */
.season-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
.season-tab{flex-shrink:0;border:1.5px solid var(--line);background:var(--card);color:var(--sub);
  border-radius:22px;padding:8px 16px;font-size:14px;white-space:nowrap}
.season-tab.on{background:var(--leaf);color:#fff;border-color:var(--leaf);font-weight:700}
.season-head{display:flex;align-items:center;gap:12px;margin-top:4px}
.season-emoji{font-size:34px;line-height:1}
.season-name{font-size:20px;font-weight:700}
.season-months{font-size:12.5px;color:var(--sub);margin-top:2px}
.season-recipes{display:flex;flex-direction:column;gap:14px}
.season-recipe{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px 40px}
.season-recipe-title{font-size:18px;margin:0 0 12px}
.sr-en{font-size:11.5px;color:var(--sub);font-weight:500;margin-left:3px;letter-spacing:.2px}
.sr-label{font-size:12px;font-weight:700;color:var(--leaf);margin:12px 0 6px}
.sr-ings{display:flex;flex-wrap:wrap;gap:6px}
.sr-ings span{font-size:12.5px;color:var(--sub);border:1px solid var(--line);
  border-radius:14px;padding:3px 10px;background:var(--paper)}
.sr-steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.sr-steps li{font-size:14px;line-height:1.55}
.sr-tip{margin:12px 0 0;padding:9px 12px;background:var(--leafsoft);border-radius:10px;
  font-size:12.5px;color:var(--ink);line-height:1.55}
.sr-yt{display:inline-flex;align-items:center;gap:6px;margin-top:14px;text-decoration:none;
  background:var(--leafsoft);color:var(--leaf);border:1px solid var(--line);
  border-radius:10px;padding:9px 15px;font-size:13.5px;font-weight:700}
.sr-yt:hover{border-color:var(--leaf)}
.season-cta{margin-top:26px;background:var(--leafsoft);border-radius:16px;padding:18px;text-align:center}
.season-cta .btn-primary{max-width:320px;margin-left:auto;margin-right:auto}

/* ── 홈 제철 하이라이트 (강조 · 새로고침마다 랜덤) ── */
.season-highlight{position:relative;margin-top:16px;border-radius:16px;padding:14px 16px;
  background:linear-gradient(135deg,#FFF6E9 0%,#EAF2EB 100%);
  border:1px solid #E4E1D2;box-shadow:0 2px 10px rgba(120,110,70,.06)}
.sh-close{position:absolute;top:6px;right:8px;border:none;background:none;color:var(--sub);
  font-size:18px;line-height:1;padding:4px 6px;cursor:pointer;opacity:.6}
.sh-close:hover{opacity:1}
.sh-title{font-family:'Gowun Batang',serif;font-size:14.5px;font-weight:700;
  color:var(--leaf);margin-bottom:11px;line-height:1.4}
.sh-season-emoji{font-size:22px;margin-right:1px;vertical-align:-3px}
.sh-body{display:grid;grid-template-columns:98px 1fr;gap:14px;align-items:center}
.sh-left{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  background:var(--card);border-radius:13px;padding:13px 8px;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.sh-emoji{font-size:36px;line-height:1}
.sh-name{font-size:12.5px;font-weight:700;text-align:center;line-height:1.3;color:var(--ink)}
.sh-right{min-width:0}
.sh-brief{font-size:12.5px;color:var(--sub);line-height:1.55;margin:0 0 11px}
.sh-yt{display:inline-flex;align-items:center;gap:5px;text-decoration:none;
  background:var(--leaf);color:#fff;border-radius:9px;padding:8px 14px;font-size:12.5px;font-weight:700}
.sh-yt:hover{opacity:.92}

/* ── 카드 썸네일 + 저장 날짜 ── */
.card-thumb{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:4px}
.card-date{font-size:10.5px;color:var(--sub);opacity:.6;letter-spacing:.2px;text-align:center;line-height:1.3}

/* ── 계절 이름 배지 (그라데이션) ── */
.season-badge{display:inline-block;color:#fff;font-weight:800;padding:1px 8px;border-radius:9px;
  font-size:14.5px;letter-spacing:.3px;box-shadow:0 1px 3px rgba(0,0,0,.12);margin-right:3px}
.sb-spring{background:linear-gradient(135deg,#8FD16A,#3FA34D)}
.sb-summer{background:linear-gradient(135deg,#36D1DC,#5B86E5)}
.sb-autumn{background:linear-gradient(135deg,#F5A623,#E2683B)}
.sb-winter{background:linear-gradient(135deg,#5AA9E6,#7C6BE0)}

/* ── 정렬 바 (날짜/별점 · 오름/내림) ── */
.sort-bar{display:flex;gap:8px;align-items:center;margin-top:14px}
.sort-pill{border:1.5px solid var(--line);background:var(--card);color:var(--sub);
  border-radius:20px;padding:6px 14px;font-size:13px;white-space:nowrap}
.sort-pill.on{background:var(--leaf);color:#fff;border-color:var(--leaf);font-weight:700}
.sort-dir{margin-left:auto;border:1px solid var(--line);background:var(--card);color:var(--ink);
  border-radius:20px;padding:6px 12px;font-size:12.5px;white-space:nowrap}
.sort-dir:hover{border-color:var(--leaf);color:var(--leaf)}

/* ── 가로 스크롤(탭·재료) 화살표 ── */
.hscroll{display:flex;align-items:center;gap:6px}
.hscroll-row{flex:1;min-width:0}
.hscroll-row::-webkit-scrollbar{display:none}
.season-ings.nowrap{flex-wrap:nowrap;overflow-x:auto;scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none}
.season-ings.nowrap::-webkit-scrollbar{display:none}
.season-ings.nowrap .season-ing{flex-shrink:0;cursor:pointer;transition:border-color .15s,color .15s,background .15s}
.season-ings.nowrap .season-ing:hover{border-color:var(--leaf);color:var(--leaf)}
.season-ings.nowrap .season-ing.sel{background:var(--leaf);color:#fff;border-color:var(--leaf);font-weight:700}
.hscroll-arrow{flex-shrink:0;width:28px;height:28px;border-radius:50%;border:1px solid var(--line);
  background:var(--card);color:var(--ink);font-size:16px;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center}
.hscroll-arrow:hover{border-color:var(--leaf);color:var(--leaf)}

/* ── 레시피 캐러셀 (부드러운 슬라이드) ── */
.carousel{position:relative}
.carousel-count{font-size:12.5px;color:var(--sub)}
.carousel-count b{color:var(--leaf)}
.carousel-viewport{overflow:hidden;border-radius:16px;touch-action:pan-y}
.carousel-track{display:flex;transition:transform .35s cubic-bezier(.4,0,.2,1)}
.carousel-slide{min-width:100%;box-sizing:border-box}
.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;
  width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.94);
  color:var(--ink);font-size:20px;line-height:1;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.13);
  display:flex;align-items:center;justify-content:center}
.carousel-arrow.prev{left:2px}
.carousel-arrow.next{right:2px}
.carousel-arrow:disabled{opacity:.3;cursor:default;box-shadow:none}
.carousel-dots{display:flex;justify-content:center;gap:7px;margin-top:14px}
.cdot{width:7px;height:7px;padding:0;border:none;border-radius:50%;background:var(--line);cursor:pointer;transition:all .25s}
.cdot.on{background:var(--leaf);width:20px;border-radius:4px}

/* ── 추천 레시피 홈형 헤더 · 카테고리 탭 ── */
.cat-tabs{display:flex;gap:8px;margin-top:14px;overflow-x:auto;padding-bottom:2px;
  -ms-overflow-style:none;scrollbar-width:none}
.cat-tabs::-webkit-scrollbar{display:none}
.cat-tab{flex-shrink:0;border:1.5px solid var(--line);background:var(--card);color:var(--sub);
  border-radius:22px;padding:8px 16px;font-size:14px;font-weight:700;white-space:nowrap}
.cat-tab.on{background:var(--leaf);color:#fff;border-color:var(--leaf)}
