/* ── ベース ──────────────────────────────── */
* { -webkit-tap-highlight-color: transparent; box-sizing: border-box; }
body { overscroll-behavior: none; }
input, button, select, textarea { font-family: inherit; }
input[type=number]::-webkit-inner-spin-button { opacity: 1; }

/* ── タブ ────────────────────────────────── */
.tab-content { display: none; }
.tab-content.active { display: block; }

/* ── ナビ ────────────────────────────────── */
.nav-btn svg   { color: #9a9690; transition: color .15s; }
.nav-btn span  { color: #9a9690; font-size: 10px; margin-top: 2px; transition: color .15s; }
.nav-btn.active svg  { color: #1a1917; }
.nav-btn.active span { color: #1a1917; font-weight: 600; }

/* ── 気分ボタン ──────────────────────────── */
.mood-btn { transition: background .1s, border-color .1s, color .1s; }
.mood-btn.active { background: #1a1917; color: #fff; border-color: #1a1917; }

/* ── 在庫発注点切れ ──────────────────────── */
.needs-order { background: #fdf7f7; }

/* ── アラートバッジ ──────────────────────── */
#alert-badge { font-variant-numeric: tabular-nums; }

/* ── ボトムシート ────────────────────────── */
.sheet-overlay { position:fixed; inset:0; background:rgba(0,0,0,.35); z-index:40; opacity:0; pointer-events:none; transition:opacity .2s; }
.sheet-overlay.open { opacity:1; pointer-events:auto; }
.bottom-sheet { position:fixed; bottom:0; left:50%; transform:translateX(-50%) translateY(110%); width:100%; max-width:32rem; background:#fff; border-radius:1.25rem 1.25rem 0 0; z-index:50; transition:transform .28s cubic-bezier(.32,.72,0,1); max-height:80vh; display:flex; flex-direction:column; }
.bottom-sheet.open { transform:translateX(-50%) translateY(0); }
.sheet-inner { display:flex; flex-direction:column; flex:1; overflow:hidden; min-height:0; }
.sheet-scroll { flex:1; overflow-y:auto; }

/* ── ピッカー ────────────────────────────── */
.picker-item { display:flex; align-items:center; gap:.5rem; padding:.6rem 1.25rem; border-bottom:1px solid #e2e0da; }
.picker-qty { width:3.8rem; border:1px solid #e2e0da; border-radius:.5rem; padding:.25rem .4rem; text-align:center; font-size:.85rem; color:#1a1917; background:#fff; }

/* ── プリセットピル ──────────────────────── */
.preset-pill { display:inline-flex; align-items:center; padding:.3rem .75rem; border-radius:999px; border:1.5px solid #1a1917; font-size:.75rem; font-weight:600; color:#1a1917; background:#fff; white-space:nowrap; cursor:pointer; touch-action:manipulation; letter-spacing:.02em; }
.preset-pill:active { background:#f5f4f0; }

/* ── 在庫→食事追加バー ──────────────────── */
#inv-food-bar { position:fixed; bottom:4rem; left:0; right:0; max-width:32rem; margin:0 auto; background:#fff; border-top:1px solid #e2e0da; padding:.875rem 1.25rem; z-index:30; }

/* ── レシピ／ノートフィルターピル ────────── */
.recipe-filter-btn, .note-filter-btn { display:inline-flex; align-items:center; padding:.3rem .875rem; border-radius:999px; font-size:.75rem; font-weight:600; color:#9a9690; background:#e2e0da; white-space:nowrap; cursor:pointer; touch-action:manipulation; transition:background .15s, color .15s; flex-shrink:0; }
.recipe-filter-btn.active, .note-filter-btn.active { background:#1a1917; color:#fff; }
