/* 結びの木：レシピ表示の最小限のスタイル（色はテーマ側で上書きできる） */
.musubi-recipe, .musubi-trunk { --musubi-brown: #3e2c1c; --musubi-green: #5b8148; --musubi-orange: #e5802f; --musubi-cream: #f7f1de; }
.musubi-badge { display: inline-block; padding: .2em .8em; border-radius: 999px; font-size: .85em; background: #eee; }
.musubi-badge--ai_proposed { background: #f1ece2; color: #7a6a58; }
.musubi-badge--reviewed { background: #e6efdf; color: #3f5f2f; }
.musubi-badge--tested { background: var(--musubi-green); color: #fff; }
.musubi-facts { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .5em 1.5em; }
.musubi-salt { margin: .8em 0; font-size: .9em; color: #6b5d4d; }
.musubi-branches__title { color: var(--musubi-green, #4a6b3a); }
.musubi-tag { display: inline-block; margin-left: .5em; padding: .05em .6em; border-radius: 4px; font-size: .8em; background: #eee; }
.musubi-tag--warn { background: #fbe3cf; color: #9a4a0c; }
.musubi-tag--ok { background: #e6efdf; color: #3f5f2f; }
.musubi-keep { margin-left: .6em; font-size: .85em; color: #6b5d4d; }
.musubi-heat, .musubi-allergen, .musubi-origin { font-size: .9em; }
.musubi-origin { color: #6b5d4d; border-top: 1px solid #e5dccb; padding-top: .8em; margin-top: 2em; }
.musubi-itadakimasu { text-align: center; font-weight: bold; color: var(--musubi-brown, #3e2c1c); margin: 1.5em 0; }
.musubi-sozai { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(9em, 1fr)); gap: .5em; }
.musubi-sozai li { background: #f7f1de; border-radius: 6px; padding: .5em .8em; display: flex; justify-content: space-between; }
.musubi-sozai span { font-size: .8em; color: #6b5d4d; }
/* いいね！ボタン */
.musubi-like { margin: 1em 0; }
.musubi-like__btn { display: inline-flex; align-items: center; gap: .4em; padding: .45em 1.1em; border: 1px solid #e5b9a0; border-radius: 999px; background: #fff; color: #9a4a0c; font-size: 1em; cursor: pointer; }
.musubi-like__btn:hover { background: #fdf1ea; }
.musubi-like.is-liked .musubi-like__btn { background: #e5802f; border-color: #e5802f; color: #fff; }
.musubi-like__icon { font-size: 1.15em; line-height: 1; }
.musubi-like__count { font-weight: bold; min-width: 1.2em; text-align: right; }
.musubi-popular { padding-left: 1.4em; }
.musubi-popular li { margin: .3em 0; }
.musubi-popular span { margin-left: .6em; font-size: .85em; color: #9a4a0c; }
/* 作ってみた評価 */
.musubi-eval { background: #f7f1de; border-radius: 10px; padding: 1em 1.2em; margin: 2em 0; }
.musubi-eval__title { font-size: 1.1em; margin: 0 0 .2em; }
.musubi-eval__lead { font-size: .85em; color: #6b5d4d; margin: 0 0 .8em; }
.musubi-eval__q { border: 0; padding: 0; margin: 0 0 .7em; }
.musubi-eval__q legend { font-weight: bold; font-size: .9em; margin-bottom: .3em; }
.musubi-chip { display: inline-block; margin: 0 .4em .4em 0; }
.musubi-chip input { position: absolute; opacity: 0; }
.musubi-chip span { display: inline-block; padding: .3em .9em; border: 1px solid #c9b994; border-radius: 999px; background: #fff; cursor: pointer; }
.musubi-chip input:checked + span { background: #5b8148; border-color: #5b8148; color: #fff; }
.musubi-chip input:focus-visible + span { outline: 2px solid #e5802f; }
.musubi-eval__send, .musubi-request button { padding: .45em 1.4em; border: 0; border-radius: 999px; background: #e5802f; color: #fff; cursor: pointer; }
.musubi-eval__summary { font-size: .9em; margin: .6em 0 0; }
.musubi-eval__msg, .musubi-request__msg { font-size: .9em; color: #9a4a0c; }
/* リクエスト募集 */
.musubi-request label { display: block; margin: .6em 0; font-weight: bold; font-size: .95em; }
.musubi-request input[type=text], .musubi-request textarea { display: block; width: 100%; margin-top: .3em; padding: .5em; border: 1px solid #c9b994; border-radius: 6px; font: inherit; font-weight: normal; }
.musubi-request__check { font-weight: normal !important; }
.musubi-request__lead, .musubi-request__note { font-size: .9em; color: #6b5d4d; }
.musubi-hp { position: absolute; left: -9999px; height: 1px; overflow: hidden; }
/* スマホ向け（10/5）：指で押しやすい大きさにする。押す場所は高さ 44px 以上 */
.musubi-sozai li { align-items: center; gap: .5em; }
.musubi-sozai span { white-space: nowrap; }
.musubi-branches { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(15em, 1fr)); gap: .5em; }
.musubi-branches li { margin: 0; }
.musubi-branches li a { display: flex; align-items: center; min-height: 44px; padding: .4em .9em; background: #f7f1de; border-radius: 8px; text-decoration: none; }
.musubi-branches li { position: relative; }
.musubi-branches li .musubi-tag { position: absolute; right: .6em; top: 50%; transform: translateY(-50%); margin: 0; }
.musubi-facts select { font-size: 16px; min-height: 40px; padding: 0 .5em; }  /* 16px 未満だと iPhone で画面が勝手に拡大される */
.musubi-request input[type=text], .musubi-request textarea { font-size: 16px; }
.musubi-like__btn, .musubi-eval__send, .musubi-request button { min-height: 44px; font-size: 1em; }
.musubi-chip span { padding: .55em 1.1em; }
@media (max-width: 600px) {
	.musubi-sozai { grid-template-columns: repeat(2, 1fr); }
	.musubi-sozai li { min-height: 44px; }
	.musubi-eval { padding: 1em; }
	.musubi-recipe ol, .musubi-recipe ul:not(.musubi-facts):not(.musubi-branches) { padding-left: 1.3em; }
	.musubi-recipe ol li { margin-bottom: .5em; }
}
.musubi-trunks { grid-template-columns: repeat(auto-fill, minmax(13em, 1fr)); }
.musubi-trunks li { min-height: 44px; }


/* 結先生の吹き出し（10/13） */
.musubi-yui { display: flex; gap: 14px; align-items: flex-start; margin: 1.6em 0; }
.musubi-yui__face { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; flex: 0 0 72px; border: 3px solid #e9dfc6; background: #f7f1e3; }
.musubi-yui__bubble { position: relative; flex: 1; background: #fbf7ec; border: 1px solid #e9dfc6; border-radius: 12px; padding: .8em 1em; }
.musubi-yui__bubble::before { content: ""; position: absolute; left: -8px; top: 22px; width: 14px; height: 14px; background: #fbf7ec; border-left: 1px solid #e9dfc6; border-bottom: 1px solid #e9dfc6; transform: rotate(45deg); }
.musubi-yui__bubble p { margin: 0; line-height: 1.8; }
.musubi-yui__title { font-weight: bold; color: #5b7f4a; font-size: .9em; margin-bottom: .2em !important; }
.musubi-lead { font-size: 1.05em; line-height: 1.9; margin: 1em 0; }
.musubi-week { list-style: none; padding-left: 0; }
.musubi-week li { padding: .35em .6em; border-bottom: 1px dashed #e0d8c4; }
@media screen and (max-width: 480px) {
	.musubi-yui__face { width: 56px; height: 56px; flex-basis: 56px; }
}

/* 表情・サイドバー・今週の段取り（10/13） */
.musubi-yui--caution .musubi-yui__bubble { background: #fff6ec; border-color: #f0d3ad; }
.musubi-yui--caution .musubi-yui__bubble::before { background: #fff6ec; border-color: #f0d3ad; }
.musubi-yui--caution .musubi-yui__title { color: #b3651b; }
.musubi-yui-profile { text-align: center; background: #fbf7ec; border: 1px solid #e9dfc6; border-radius: 12px; padding: 1em; margin-bottom: 1.5em; }
.musubi-yui-profile img { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; border: 3px solid #e9dfc6; }
.musubi-yui-profile__name { font-weight: bold; color: #5b7f4a; margin: .4em 0 .2em; }
.musubi-yui-profile p { font-size: .9em; line-height: 1.7; margin: .3em 0; }
.musubi-weekly { border: 2px solid #5b7f4a; border-radius: 12px; padding: .8em 1em; margin: 1.5em 0; }
.musubi-weekly__label { display: inline-block; background: #5b7f4a; color: #fff; font-size: .85em; padding: .1em .7em; border-radius: 99px; margin: 0; }
.musubi-weekly__title { font-size: 1.15em; font-weight: bold; margin: .4em 0; }
