.esdn-app{--ink:#19342d;--muted:#66766f;--green:#3f6c5b;--green2:#709483;--mint:#edf5f0;--cream:#fffaf1;--orange:#d5824a;--salt:#cf704f;--protein:#4f7f9a;--line:#dce7e1;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.7;max-width:1080px;margin:24px auto}.esdn-app *{box-sizing:border-box}.esdn-app button,.esdn-app input,.esdn-app select{font:inherit}.esdn-app button{cursor:pointer}.esdn-hero{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;padding:clamp(30px,5vw,58px);border-radius:32px;background:linear-gradient(135deg,#f3f8f5,#fffaf2);box-shadow:0 18px 46px rgba(38,74,61,.09);overflow:hidden}.esdn-eyebrow{margin:0 0 8px!important;color:var(--green);font-size:12px;font-weight:900;letter-spacing:.16em}.esdn-hero h2{margin:0!important;font-size:clamp(36px,6vw,64px)!important;line-height:1.15!important;letter-spacing:-.04em}.esdn-hero p:last-child{max-width:650px;margin:18px 0 0!important;color:var(--muted);font-size:17px}.esdn-hero-badge{display:flex;align-items:center;gap:10px;padding:18px;border:1px solid rgba(63,108,91,.13);border-radius:999px;background:#fff;box-shadow:0 12px 30px rgba(38,74,61,.08)}.esdn-hero-badge span{display:grid;place-items:center;width:86px;height:86px;border-radius:50%;background:var(--mint);color:var(--green);font-size:14px;font-weight:900;text-align:center}.esdn-hero-badge span:last-child{background:#eef4f7;color:var(--protein)}.esdn-hero-badge b{color:var(--orange);font-size:24px}.esdn-panel{margin-top:22px;padding:clamp(20px,4vw,36px);border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:0 10px 30px rgba(38,74,61,.055)}.esdn-panel-title{display:flex;align-items:flex-start;gap:13px;margin-bottom:22px}.esdn-panel-title>span{display:grid;flex:0 0 34px;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--green);color:#fff;font-weight:900}.esdn-panel-title h3{margin:0!important;font-size:clamp(21px,3vw,28px)!important;line-height:1.3!important}.esdn-panel-title p{margin:4px 0 0!important;color:var(--muted);font-size:14px}.esdn-target-panel{display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center}.esdn-target-panel .esdn-panel-title{margin:0}.esdn-target-inputs{display:flex;gap:12px}.esdn-target-inputs label{display:flex;align-items:center;gap:9px;font-weight:800}.esdn-input-wrap{display:flex;align-items:center;overflow:hidden;border:1px solid #b9ccc2;border-radius:12px;background:#fff}.esdn-input-wrap input{width:78px;height:50px;padding:8px;border:0!important;outline:0;text-align:right;font-size:20px;font-weight:900}.esdn-input-wrap b{padding-right:12px;color:var(--muted)}.esdn-summary{margin-top:22px;padding:clamp(22px,4vw,38px);border-radius:28px;background:linear-gradient(145deg,#2f5949,#456f5f);color:#fff;box-shadow:0 18px 42px rgba(38,74,61,.18)}.esdn-summary-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:21px}.esdn-summary-head>div{display:flex;align-items:baseline;gap:10px}.esdn-today-label{font-size:20px;font-weight:900}.esdn-date{color:rgba(255,255,255,.7);font-size:14px}.esdn-reset-day{padding:7px 12px;border:1px solid rgba(255,255,255,.45);border-radius:999px;background:transparent;color:#fff;font-size:13px}.esdn-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.esdn-metric{padding:20px;border:1px solid rgba(255,255,255,.14);border-radius:20px;background:rgba(255,255,255,.09)}.esdn-metric>div:first-child{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.esdn-metric>div>span{font-weight:800}.esdn-metric b{font-size:15px}.esdn-metric em{font-style:normal;font-size:34px}.esdn-meter{height:10px;margin-top:16px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.16)}.esdn-meter i{display:block;width:0;height:100%;border-radius:inherit;transition:width .25s}.esdn-salt-bar{background:#ffc0a6}.esdn-protein-bar{background:#a8d8ef}.esdn-metric p{margin:9px 0 0!important;color:rgba(255,255,255,.72);font-size:13px}.esdn-metric.is-over{border-color:#ffd2c5;background:rgba(137,42,16,.28)}.esdn-status{margin-top:15px;padding:10px 14px;border-radius:12px;background:rgba(255,255,255,.1);font-size:14px}.esdn-status.is-good{background:rgba(215,245,226,.13)}.esdn-status.is-alert{background:#fff0e8;color:#71351e;font-weight:800}.esdn-meal-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:18px}.esdn-meal-tabs button{min-height:48px;padding:8px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--green);font-weight:900}.esdn-meal-tabs button[aria-selected=true]{border-color:var(--green);background:var(--green);color:#fff;box-shadow:0 6px 15px rgba(63,108,91,.17)}.esdn-search-row{display:grid;grid-template-columns:1fr 210px;gap:10px;margin-bottom:16px}.esdn-search-row input,.esdn-search-row select{width:100%;min-height:48px;padding:9px 13px;border:1px solid #bdcbc4;border-radius:12px;background:#fff;color:var(--ink)}.esdn-food-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.esdn-food{display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;gap:2px 9px;align-items:center;min-height:88px;padding:12px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--ink);text-align:left;transition:.18s}.esdn-food:hover{border-color:#8caf9e;transform:translateY(-2px);box-shadow:0 8px 18px rgba(38,74,61,.08)}.esdn-food:active{transform:scale(.98)}.esdn-food-icon{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--mint);font-size:22px}.esdn-food strong{align-self:end;font-size:14px;line-height:1.35}.esdn-food small{align-self:start;color:var(--muted);font-size:10px;line-height:1.4}.esdn-empty{grid-column:1/-1;text-align:center;color:var(--muted)}.esdn-more{display:block;margin:15px auto 0;padding:8px 18px;border:1px solid var(--green);border-radius:999px;background:#fff;color:var(--green);font-weight:800}.esdn-custom{margin-top:19px;border-top:1px dashed var(--line);padding-top:14px}.esdn-custom summary{color:var(--green);font-weight:800;cursor:pointer}.esdn-custom>div{display:grid;grid-template-columns:1.5fr 1fr 1fr auto;gap:9px;align-items:end;margin-top:12px}.esdn-custom label{font-size:12px;font-weight:800}.esdn-custom input{display:block;width:100%;min-height:44px;margin-top:4px;padding:7px 9px;border:1px solid #bdcbc4;border-radius:10px}.esdn-custom button{min-height:44px;padding:8px 14px;border:0;border-radius:10px;background:var(--green);color:#fff;font-weight:800}.esdn-log-empty{padding:25px;border-radius:15px;background:var(--mint);color:var(--muted);text-align:center}.esdn-log-group{margin-bottom:16px;border:1px solid var(--line);border-radius:17px;overflow:hidden}.esdn-log-heading{display:flex;justify-content:space-between;gap:15px;padding:11px 15px;background:var(--mint)}.esdn-log-heading span{color:var(--muted);font-size:13px}.esdn-log-item{display:grid;grid-template-columns:1fr auto;gap:15px;align-items:center;padding:13px 15px;border-top:1px dashed var(--line)}.esdn-log-item:first-of-type{border-top:0}.esdn-log-item strong,.esdn-log-item small{display:block}.esdn-log-item small{color:var(--muted);font-size:12px}.esdn-qty{display:flex;align-items:center;gap:6px}.esdn-qty button{display:grid;place-items:center;width:32px;height:32px;border:1px solid #afc4b9;border-radius:50%;background:#fff;color:var(--green);font-weight:900}.esdn-qty b{min-width:52px;text-align:center;font-size:12px}.esdn-qty .esdn-delete{margin-left:5px;border-color:#e7c9bd;color:#a35034}.esdn-suggest-panel{background:linear-gradient(135deg,#fffaf1,#fff)}.esdn-suggest-button{width:100%;min-height:52px;border:0;border-radius:14px;background:var(--orange);color:#fff;font-weight:900;box-shadow:0 8px 18px rgba(213,130,74,.2)}.esdn-suggestions{display:grid;gap:10px;margin-top:14px}.esdn-suggestion{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:17px;border:1px solid #eadbc7;border-radius:16px;background:#fff}.esdn-suggestion span{color:var(--orange);font-size:11px;font-weight:900}.esdn-suggestion h4{margin:2px 0!important;font-size:18px!important}.esdn-suggestion p{margin:0!important;color:var(--muted);font-size:13px}.esdn-suggestion small{color:var(--green);font-weight:800}.esdn-suggestion button{padding:8px 13px;border:1px solid var(--orange);border-radius:999px;background:#fff;color:#a45827;font-weight:800}.esdn-no-suggestion{margin:0!important;padding:15px;border-radius:12px;background:#fff0e8;color:#71351e}.esdn-note{margin-top:22px;padding:21px 24px;border-left:5px solid var(--orange);border-radius:6px 16px 16px 6px;background:#fff8ed}.esdn-note h3{margin:0 0 7px!important;font-size:17px!important}.esdn-note p{margin:6px 0!important;color:#6b5b4e;font-size:13px}.esdn-toast{position:fixed;z-index:99999;left:50%;bottom:24px;padding:10px 16px;border-radius:999px;background:#1e3e34;color:#fff;opacity:0;transform:translate(-50%,18px);pointer-events:none;transition:.2s}.esdn-toast.is-visible{opacity:1;transform:translate(-50%,0)}
@media(max-width:900px){.esdn-hero{grid-template-columns:1fr}.esdn-hero-badge{display:none}.esdn-target-panel{grid-template-columns:1fr}.esdn-target-panel .esdn-panel-title{margin-bottom:0}.esdn-food-grid{grid-template-columns:repeat(3,1fr)}.esdn-custom>div{grid-template-columns:1fr 1fr}.esdn-custom label:first-child{grid-column:1/-1}}
@media(max-width:650px){.esdn-app{margin:12px 0}.esdn-hero{padding:28px 20px;border-radius:22px}.esdn-hero h2{font-size:38px!important}.esdn-panel,.esdn-summary{padding:20px 14px;border-radius:20px}.esdn-target-inputs{display:grid;grid-template-columns:1fr 1fr}.esdn-target-inputs label{display:block}.esdn-target-inputs label>span:first-child{display:block;margin-bottom:4px}.esdn-input-wrap input{width:100%}.esdn-summary-grid{grid-template-columns:1fr}.esdn-summary-head{align-items:flex-start}.esdn-summary-head>div{display:block}.esdn-reset-day{max-width:130px}.esdn-meal-tabs{grid-template-columns:1fr 1fr}.esdn-search-row{grid-template-columns:1fr}.esdn-food-grid{grid-template-columns:1fr 1fr}.esdn-food{grid-template-columns:32px 1fr;padding:10px;min-height:82px}.esdn-food-icon{width:32px;height:32px;font-size:18px}.esdn-log-item{grid-template-columns:1fr}.esdn-log-heading{display:block}.esdn-log-heading span{display:block}.esdn-qty{justify-content:flex-end}.esdn-suggestion{grid-template-columns:1fr}.esdn-suggestion button{justify-self:start}.esdn-custom>div{grid-template-columns:1fr}.esdn-custom label:first-child{grid-column:auto}}

/* v1.1.0: 食事時間・食品分類フィルターと基準量表示 */
.esdn-filter-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.esdn-filter-note{color:var(--green);font-size:14px}.esdn-all-foods{padding:5px 11px;border:1px solid var(--green);border-radius:999px;background:#fff;color:var(--green);font-size:12px;font-weight:800}.esdn-all-foods[aria-pressed=true]{background:var(--green);color:#fff}.esdn-category-tabs{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:13px}.esdn-category-tabs button{padding:6px 12px;border:1px solid #c4d3cb;border-radius:999px;background:#fff;color:var(--green);font-size:13px;font-weight:800}.esdn-category-tabs button[aria-pressed=true]{border-color:var(--green);background:var(--mint)}.esdn-app .esdn-search-row{display:block}.esdn-app .esdn-search-row input{width:100%;min-height:48px;padding:9px 13px;border:1px solid #bdcbc4;border-radius:12px;background:#fff;color:var(--ink)}.esdn-app .esdn-food{grid-template-rows:auto auto auto;min-height:104px}.esdn-app .esdn-food-icon{grid-row:1/4}.esdn-food .esdn-portion{color:var(--green);font-weight:800}
@media(max-width:650px){.esdn-filter-head{align-items:flex-start}.esdn-filter-note{max-width:62%;line-height:1.4}.esdn-category-tabs{display:grid;grid-template-columns:repeat(3,1fr)}.esdn-category-tabs button{padding:6px 5px;font-size:11px}.esdn-app .esdn-food{min-height:98px}}

/* v1.2.0: 小分類と設定量超過表示 */
.esdn-subcategory-tabs{display:flex;flex-wrap:wrap;gap:7px;margin:-3px 0 13px;padding:10px 12px;border-radius:13px;background:var(--mint)}.esdn-subcategory-tabs[hidden]{display:none!important}.esdn-subcategory-tabs button{padding:5px 11px;border:1px solid #b9cdc2;border-radius:999px;background:#fff;color:var(--green);font-size:12px;font-weight:800}.esdn-subcategory-tabs button[aria-pressed=true]{border-color:var(--green);background:var(--green);color:#fff}.esdn-over{margin-top:10px;padding:9px 11px;border:1px solid #efb9a8;border-radius:10px;background:#fff0eb;color:#a33e22}.esdn-over strong,.esdn-over span{display:block}.esdn-over strong{font-size:14px}.esdn-over span{font-size:12px;font-weight:800}.esdn-within{margin-top:10px;padding:7px 10px;border-radius:9px;background:var(--mint);color:var(--green);font-size:12px;font-weight:800}
@media(max-width:650px){.esdn-subcategory-tabs{display:grid;grid-template-columns:repeat(2,1fr)}.esdn-subcategory-tabs button{padding:6px 4px;font-size:11px}.esdn-suggestion button{width:100%}}

/* v1.3.0: 医療上の注意表示・公的分類・調味料の分離 */
.esdn-hero-subtitle{display:inline-block;max-width:max-content!important;margin:12px 0 0!important;padding:5px 11px;border-radius:999px;background:#fff;color:var(--green)!important;font-size:14px!important;font-weight:900;box-shadow:0 5px 14px rgba(38,74,61,.07)}
.esdn-hero-subtitle+.esdn-hero-subtitle{margin-top:8px!important}
.esdn-target-caution{grid-column:1/-1;margin:0!important;padding:10px 13px;border-radius:11px;background:#fff8ed;color:#6b5b4e;font-size:12px;line-height:1.6}
.esdn-target-caution strong{display:block;color:#8a4f27}
.esdn-summary-caution{margin:11px 0 0!important;color:rgba(255,255,255,.76);font-size:11px;line-height:1.55}
.esdn-suggest-caution{margin:13px 0 0!important;padding:9px 11px;border-radius:10px;background:#fff5e8;color:#765c45;font-size:12px;line-height:1.6}
@media(max-width:650px){.esdn-hero-subtitle{font-size:12px!important}.esdn-target-caution{margin-top:2px!important}}

/* v1.4.0: 1日献立プラン・キャラクター・患者向け案内 */
.esdn-main-visual{margin:18px 0 0!important;overflow:hidden;border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:0 12px 34px rgba(38,74,61,.08)}
.esdn-main-visual img{display:block;width:100%;height:auto}
.esdn-scope-card{display:grid;grid-template-columns:minmax(220px,.8fr) 1.2fr;gap:24px;align-items:center;margin-top:22px;padding:24px 30px;border:1px solid #f0ddd0;border-radius:26px;background:linear-gradient(135deg,#fff9f4,#fff);box-shadow:0 10px 30px rgba(38,74,61,.05)}
.esdn-scope-card img{display:block;width:100%;max-height:190px;object-fit:contain}
.esdn-scope-card h3{margin:0!important;font-size:clamp(21px,3vw,30px)!important;line-height:1.35!important}.esdn-scope-card p:last-child{margin:10px 0 0!important;color:var(--muted);font-size:14px}
.esdn-dialogue{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.esdn-dialogue article{display:grid;grid-template-columns:72px 1fr;gap:14px;align-items:center;padding:14px 17px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(38,74,61,.045)}
.esdn-dialogue img{width:72px;height:72px;object-fit:cover;border:3px solid #fff;border-radius:50%;box-shadow:0 3px 12px rgba(38,74,61,.14)}.esdn-dialogue b{color:var(--green);font-size:13px}.esdn-dialogue p{margin:3px 0 0!important;color:var(--muted);font-size:13px;line-height:1.65}
.esdn-input-wrap input::placeholder{color:#9aa7a1;font-size:14px;font-weight:600}.esdn-remaining-unit{margin-left:2px}
.esdn-qty label{display:flex;align-items:center;gap:5px;padding:4px 7px;border:1px solid #b9ccc2;border-radius:10px;background:#fff}.esdn-qty label span{color:var(--muted);font-size:10px;font-weight:800}.esdn-qty input{width:72px;padding:3px 5px;border:0!important;outline:0;text-align:right;font-weight:900}.esdn-qty label b{min-width:auto;font-size:12px}.esdn-qty .esdn-delete{margin-left:2px}
.esdn-custom>p{margin:10px 0 0!important;color:var(--muted);font-size:11px}.esdn-custom>div{grid-template-columns:1.4fr .65fr .55fr 1fr 1fr auto}.esdn-custom select{display:block;width:100%;min-height:44px;margin-top:4px;padding:7px 9px;border:1px solid #bdcbc4;border-radius:10px;background:#fff}
.esdn-affiliate-card{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;margin-top:22px;padding:clamp(22px,4vw,34px);border:1px solid #eadbc7;border-radius:26px;background:linear-gradient(135deg,#fff7ea,#fff);box-shadow:0 10px 30px rgba(38,74,61,.05)}
.esdn-affiliate-card h3{margin:0!important;font-size:clamp(21px,3vw,28px)!important}.esdn-affiliate-card p:not(.esdn-eyebrow){margin:8px 0!important;color:var(--muted);font-size:14px}.esdn-affiliate-card small{color:#876f5c;font-size:11px}.esdn-affiliate-links{display:grid;gap:9px;min-width:220px}.esdn-affiliate-links a{display:block;padding:10px 14px;border:1px solid var(--green);border-radius:999px;background:#fff;color:var(--green);font-size:13px;font-weight:900;text-align:center;text-decoration:none}.esdn-affiliate-links a:hover{background:var(--green);color:#fff}
.esdn-contact-note{padding-top:10px;border-top:1px dashed #decbb8}.esdn-contact-note a{color:var(--green);font-weight:800}
@media(max-width:900px){.esdn-custom>div{grid-template-columns:1fr 1fr 1fr}.esdn-custom label:first-child{grid-column:1/-1}.esdn-custom button{grid-column:1/-1}}
@media(max-width:650px){.esdn-main-visual{border-radius:18px}.esdn-scope-card{grid-template-columns:1fr;padding:19px 16px;text-align:center}.esdn-scope-card img{max-height:130px}.esdn-dialogue{grid-template-columns:1fr}.esdn-dialogue article{grid-template-columns:60px 1fr}.esdn-dialogue img{width:60px;height:60px}.esdn-affiliate-card{grid-template-columns:1fr}.esdn-affiliate-links{min-width:0}.esdn-custom>div{grid-template-columns:1fr}.esdn-custom label:first-child,.esdn-custom button{grid-column:auto}.esdn-qty{justify-content:space-between}.esdn-qty input{width:64px}}

/* v1.5.0: 冒頭構成・お気に入り・献立コピー・印刷 */
.esdn-app>.esdn-main-visual{margin-top:0!important}
.esdn-app>.esdn-hero{margin-top:22px;border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:0 10px 30px rgba(38,74,61,.055)}
.esdn-app>.esdn-hero h2{font-size:clamp(29px,4.6vw,48px)!important;letter-spacing:-.025em}
.esdn-app>.esdn-hero p:last-child{margin-top:15px!important}
.esdn-scope-card{overflow:hidden}
.esdn-scope-card img{border-radius:20px;box-shadow:0 8px 22px rgba(38,74,61,.08)}
.esdn-food-card{position:relative;min-width:0}
.esdn-food-card .esdn-food{width:100%;height:100%;padding-right:38px}
.esdn-food-card.is-selected .esdn-food{border-color:var(--green);background:#e5f2eb;box-shadow:0 0 0 2px rgba(63,108,91,.14)}
.esdn-selected-mark{position:absolute;z-index:2;top:7px;right:8px;display:grid;justify-items:center;color:#a66f09;line-height:1;pointer-events:none}.esdn-selected-mark b{font-size:19px}.esdn-selected-mark small{margin-top:3px;color:var(--green)!important;font-size:9px!important;font-weight:900;white-space:nowrap}
.esdn-log-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.esdn-log-panel-head .esdn-panel-title{margin-bottom:22px}
.esdn-log-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.esdn-log-actions button{padding:8px 13px;border:1px solid var(--green);border-radius:999px;background:#fff;color:var(--green);font-size:12px;font-weight:900}
.esdn-log-actions .esdn-print{background:var(--green);color:#fff}
.esdn-affiliate-card{grid-template-columns:minmax(170px,.6fr) 1.4fr;gap:30px;padding:0;overflow:hidden}
.esdn-affiliate-visual{height:100%;min-height:315px;background:linear-gradient(145deg,#e9f3ed,#fff4e5)}
.esdn-affiliate-visual img{display:block;width:100%;height:100%;min-height:315px;object-fit:cover;object-position:center top}
.esdn-affiliate-copy{padding:clamp(23px,4vw,38px) clamp(22px,4vw,40px) clamp(23px,4vw,38px) 0}
.esdn-affiliate-copy h3{margin-bottom:10px!important}
.esdn-em-message{position:relative;margin:14px 0 8px;padding:13px 15px;border:1px solid #d8e5de;border-radius:14px;background:#f3f8f5}
.esdn-em-message:before{content:"";position:absolute;left:-9px;top:24px;width:16px;height:16px;border-left:1px solid #d8e5de;border-bottom:1px solid #d8e5de;background:#f3f8f5;transform:rotate(45deg)}
.esdn-em-message b{color:var(--green);font-size:12px}
.esdn-affiliate-copy .esdn-em-message p{margin:3px 0 0!important}
.esdn-care-link{display:inline-block;margin:8px 0 12px;padding:10px 18px;border:1px solid var(--green);border-radius:999px;background:var(--green);color:#fff!important;font-size:13px;font-weight:900;text-decoration:none!important}
.esdn-care-link:hover{background:#294f41}
.esdn-affiliate-copy small{display:block}
.esdn-print-sheet{display:none}
@media(max-width:650px){.esdn-app>.esdn-hero{padding:24px 18px}.esdn-app>.esdn-hero h2{font-size:30px!important}.esdn-log-panel-head{display:block}.esdn-log-actions{justify-content:flex-start;margin:-8px 0 20px}.esdn-log-actions button{flex:1}.esdn-affiliate-card{grid-template-columns:1fr}.esdn-affiliate-visual{min-height:0;max-height:300px}.esdn-affiliate-visual img{min-height:0;max-height:300px;object-position:center 20%}.esdn-affiliate-copy{padding:0 20px 24px}.esdn-food-card .esdn-food{padding-right:42px}.esdn-selected-mark{top:6px;right:7px}}

@media print{
  @page{size:A4 portrait;margin:12mm}
  body *{visibility:hidden!important}
  .esdn-print-sheet,.esdn-print-sheet *{visibility:visible!important}
  .esdn-print-sheet{position:absolute!important;display:block!important;left:0;top:0;width:100%;margin:0!important;padding:0!important;color:#1d2c27!important;background:#fff!important;font-family:"Yu Gothic",Meiryo,sans-serif!important;font-size:10pt!important;line-height:1.45!important}
  .esdn-print-sheet header{position:relative;margin-bottom:12px;padding-bottom:9px;border-bottom:3px solid #3f6c5b}
  .esdn-print-sheet header p{margin:0!important;color:#3f6c5b!important;font-size:9pt!important;font-weight:800}
  .esdn-print-sheet h1{margin:1px 0!important;font-size:21pt!important;line-height:1.3!important}
  .esdn-print-sheet time{position:absolute;right:0;bottom:10px;color:#5f6f68!important;font-size:8.5pt!important}
  .esdn-print-targets{display:flex;gap:18px;margin-bottom:10px;padding:8px 11px;border-radius:7px;background:#edf5f0!important}
  .esdn-print-sheet section{margin:0 0 9px;break-inside:avoid}
  .esdn-print-sheet h2{display:flex;justify-content:space-between;align-items:baseline;margin:0!important;padding:5px 8px;background:#f4f7f5!important;font-size:12pt!important}
  .esdn-print-sheet h2 small{font-size:8.5pt!important;font-weight:500}
  .esdn-print-sheet table{width:100%;border-collapse:collapse}
  .esdn-print-sheet th,.esdn-print-sheet td{padding:4px 7px;border:1px solid #ccd8d2;text-align:left;font-size:8.5pt!important}
  .esdn-print-sheet th:nth-child(n+2),.esdn-print-sheet td:nth-child(n+2){text-align:right}
  .esdn-print-empty{margin:0!important;padding:5px 8px;border:1px solid #dbe4df;color:#76837d!important}
  .esdn-print-total{margin-top:11px;padding:10px 12px;border:2px solid #3f6c5b;border-radius:7px;break-inside:avoid}
  .esdn-print-total h2{padding:0;background:transparent!important}
  .esdn-print-total strong{font-size:13pt!important}
  .esdn-print-total p{margin:3px 0 0!important}
  .esdn-print-sheet footer{margin-top:12px;padding-top:7px;border-top:1px solid #ccd8d2;color:#596962!important;font-size:7.5pt!important}
}

/* v1.6.0: 食事別お気に入り・献立セット・個数連動・目次位置 */
.esdn-toc-slot{margin-top:22px;padding:18px 22px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 8px 24px rgba(38,74,61,.045)}
.esdn-toc-slot[hidden]{display:none!important}
.esdn-toc-slot .toc,.esdn-toc-slot #toc{width:100%!important;max-width:none!important;margin:0!important}
.esdn-meal-presets{margin:-2px 0 14px;padding:14px;border:1px solid #e6d3a6;border-radius:16px;background:#fffcf4}
.esdn-meal-presets[hidden]{display:none!important}
.esdn-preset-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:11px}
.esdn-preset-head>div{display:flex;align-items:baseline;gap:8px}.esdn-preset-head b{color:#76551c}.esdn-preset-head small{color:var(--muted);font-size:11px}
.esdn-preset-head>button{padding:7px 12px;border:0;border-radius:999px;background:#a86f1b;color:#fff;font-size:12px;font-weight:900}
.esdn-preset-grid{display:grid;gap:8px}.esdn-preset-card{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:11px 12px;border:1px solid #eadfc7;border-radius:12px;background:#fff}
.esdn-preset-card b{font-size:13px}.esdn-preset-card p{margin:2px 0 0!important;color:var(--muted);font-size:11px;line-height:1.55}
.esdn-preset-actions{display:flex;gap:5px}.esdn-preset-actions button{padding:5px 8px;border:1px solid #d6c499;border-radius:999px;background:#fff;color:#76551c;font-size:11px;font-weight:800}
.esdn-preset-actions button:first-child{border-color:var(--green);background:var(--green);color:#fff}.esdn-preset-actions button:last-child{border-color:#e3c8bd;color:#a35034}
.esdn-preset-empty{margin:0!important;color:var(--muted);font-size:12px}
.esdn-log-amount{color:var(--green)!important;font-weight:900}
.esdn-qty{flex-wrap:wrap;justify-content:flex-end}
.esdn-count-control{display:flex;align-items:center;gap:5px;padding:3px 5px;border:1px solid #b9ccc2;border-radius:999px;background:var(--mint)}
.esdn-count-control button{width:27px;height:27px;background:#fff}.esdn-count-control b{min-width:46px;color:var(--green);font-size:11px;text-align:center}
@media(max-width:650px){.esdn-toc-slot{padding:14px}.esdn-preset-head{align-items:flex-start}.esdn-preset-head>div{display:block}.esdn-preset-card{grid-template-columns:1fr}.esdn-preset-actions{flex-wrap:wrap}.esdn-preset-actions button{flex:1}.esdn-qty{justify-content:space-between}.esdn-count-control{order:1}.esdn-qty label{order:2}.esdn-qty .esdn-delete{order:3}}

/* v1.7.0: 食事別累計グラフ・操作導線・スマホ最適化 */
.esdn-app>.esdn-hero{display:block}.esdn-app>.esdn-hero>div{max-width:830px}.esdn-app>.esdn-hero h2 br{display:none}
.esdn-howto{margin-top:14px;padding:0 20px;border:1px solid var(--line);border-radius:16px;background:#fff}.esdn-howto summary{padding:13px 0;color:var(--green);font-weight:900;cursor:pointer}.esdn-howto ol{margin:0 0 17px;padding-left:1.5em;color:var(--muted);font-size:13px}.esdn-howto li+li{margin-top:4px}
.esdn-jump-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}.esdn-jump-nav button{min-height:42px;padding:7px;border:1px solid var(--green);border-radius:12px;background:#fff;color:var(--green);font-size:12px;font-weight:900}.esdn-jump-nav button:hover{background:var(--mint)}
.esdn-current-filter{margin:-5px 0 9px!important;color:var(--muted);font-size:12px}.esdn-current-filter strong{color:var(--green)}
.esdn-next-link{display:block;width:100%;min-height:48px;margin-top:18px;border:0;border-radius:13px;background:var(--green);color:#fff;font-weight:900}
.esdn-log-panel{scroll-margin-top:15px}.esdn-picker-panel,.esdn-target-panel,.esdn-suggest-panel{scroll-margin-top:15px}
.esdn-log-heading{display:block;padding:13px 15px;background:var(--mint)}.esdn-log-heading-top{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}.esdn-log-heading-top>b{font-size:16px}.esdn-log-heading-top>span{color:var(--muted);font-size:12px}.esdn-log-heading-top>button{padding:5px 9px;border:1px solid #d5bc7d;border-radius:999px;background:#fff9e8;color:#76551c;font-size:11px;font-weight:900}
.esdn-cumulative{display:grid;grid-template-columns:auto 1fr 1fr;gap:10px;align-items:center;margin-top:10px;padding-top:10px;border-top:1px dashed #bfd0c7}.esdn-cumulative>strong{font-size:11px;color:var(--green);white-space:nowrap}
.esdn-cumulative-metric{min-width:0}.esdn-cumulative-metric>div{display:grid;grid-template-columns:auto auto 1fr;gap:5px;align-items:baseline;font-size:10px}.esdn-cumulative-metric b{font-size:11px}.esdn-cumulative-metric span{font-weight:900}.esdn-cumulative-metric em{justify-self:end;color:var(--green);font-style:normal;font-weight:800}.esdn-cumulative-metric>i{display:block;height:7px;margin-top:4px;overflow:hidden;border-radius:999px;background:#d3dfd9}.esdn-cumulative-metric>i>span{display:block;height:100%;border-radius:inherit}.esdn-cumulative-metric .is-salt{background:#eca084}.esdn-cumulative-metric .is-protein{background:#86bfd9}.esdn-cumulative-metric.is-over em{color:#a33e22}.esdn-cumulative-metric.is-over>i{outline:1px solid #d56f52}.esdn-cumulative-metric.is-over>i>span{background:#d95f3c}
.esdn-log-presets{padding:13px 15px;border-bottom:1px dashed var(--line);background:#fffcf4}.esdn-log-presets[hidden]{display:none!important}.esdn-log-presets .esdn-preset-head{margin-bottom:9px}
.esdn-log-empty-meal{margin:0!important;padding:13px 15px;color:var(--muted);font-size:12px}.esdn-log-group.is-empty .esdn-log-heading{background:#f5f8f6}.esdn-log-group.is-empty .esdn-cumulative{opacity:.82}
.esdn-log-nutrients{margin-top:2px;color:#315f50!important;font-size:12px!important;font-weight:900}.esdn-log-caution{margin:12px 0 0!important;color:var(--muted);font-size:11px;line-height:1.6}
.esdn-suggest-meal-picker{margin-bottom:12px;padding:13px;border:1px solid #eadbc7;border-radius:14px;background:#fff}.esdn-suggest-meal-picker>b{display:block;margin-bottom:8px;color:#76551c;font-size:13px}.esdn-suggest-meal-picker>div{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.esdn-suggest-meal-picker button{min-height:40px;border:1px solid #d7b98b;border-radius:10px;background:#fff;color:#76551c;font-weight:900}.esdn-suggest-meal-picker button[aria-pressed=true]{border-color:var(--orange);background:#fff0df;color:#8b481c;box-shadow:0 4px 10px rgba(213,130,74,.12)}
@media(max-width:650px){.esdn-app>.esdn-hero h2 br{display:none}.esdn-jump-nav{grid-template-columns:1fr 1fr}.esdn-jump-nav button{min-height:44px}.esdn-app .esdn-food-grid{grid-template-columns:1fr}.esdn-app .esdn-food{min-height:90px}.esdn-log-actions{display:grid;grid-template-columns:1fr 1fr}.esdn-log-actions button{width:100%;padding:8px 5px}.esdn-log-heading-top{grid-template-columns:1fr auto}.esdn-log-heading-top>span{grid-column:1/-1}.esdn-log-heading-top>button{grid-column:2;grid-row:1}.esdn-cumulative{grid-template-columns:1fr;gap:8px}.esdn-cumulative>strong{margin-bottom:-2px}.esdn-cumulative-metric>div{grid-template-columns:auto auto 1fr}.esdn-log-item{gap:9px}.esdn-log-item>div:first-child{min-width:0}.esdn-log-nutrients{font-size:11px!important}.esdn-qty{display:grid;grid-template-columns:1fr auto;gap:7px}.esdn-count-control{grid-column:1/-1;width:100%;justify-content:space-between}.esdn-qty label{width:100%;justify-content:space-between}.esdn-qty .esdn-delete{align-self:center}.esdn-suggest-meal-picker>div{grid-template-columns:1fr 1fr}.esdn-log-presets{padding:12px}.esdn-preset-head{display:block}.esdn-preset-head>button{width:100%;margin-top:8px}.esdn-preset-card{grid-template-columns:1fr}.esdn-preset-actions{display:grid;grid-template-columns:1fr 1fr 1fr}}

/* v1.8.0: 食品100品・候補切替 */
.esdn-suggestion-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.esdn-suggestion-actions[hidden]{display:none!important}.esdn-suggestion-actions button{min-height:44px;padding:8px 12px;border:1px solid var(--orange);border-radius:12px;background:#fff;color:#9a5528;font-weight:900}.esdn-suggestion-actions .esdn-next-suggestions{background:var(--orange);color:#fff}.esdn-suggestion-actions button:disabled{cursor:not-allowed;opacity:.45}
@media(max-width:650px){.esdn-suggestion-actions{grid-template-columns:1fr}}

/* v1.9.0: 選択中カード・候補ロジック・文章調整 */
/* v1.9.1: そらまめツインズ表記 */

/* v2.0.0: 食品250品・一覧内スクロール・食事別配色 */
.esdn-food-window{height:min(560px,60vh);min-height:390px;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;padding:10px;border:1px solid var(--line);border-radius:18px;background:#f8fbf9;scrollbar-gutter:stable}
.esdn-food-window:focus{outline:2px solid rgba(63,108,91,.35);outline-offset:2px}
.esdn-meal-tabs button[data-meal="breakfast"]{border-color:#dbc278;background:#fffaf0;color:#765713}.esdn-meal-tabs button[data-meal="breakfast"][aria-selected="true"]{border-color:#b78a1f;background:#b78a1f;color:#fff}
.esdn-meal-tabs button[data-meal="lunch"]{border-color:#9bc9aa;background:#f4fbf6;color:#316a46}.esdn-meal-tabs button[data-meal="lunch"][aria-selected="true"]{border-color:#4e8a64;background:#4e8a64;color:#fff}
.esdn-meal-tabs button[data-meal="dinner"]{border-color:#9bc4df;background:#f3f9fc;color:#356a8d}.esdn-meal-tabs button[data-meal="dinner"][aria-selected="true"]{border-color:#4f87ab;background:#4f87ab;color:#fff}
.esdn-meal-tabs button[data-meal="snack"]{border-color:#deb1c0;background:#fff6f8;color:#8b5064}.esdn-meal-tabs button[data-meal="snack"][aria-selected="true"]{border-color:#ad6f84;background:#ad6f84;color:#fff}
.esdn-log-group{border-left-width:5px}
.esdn-log-group[data-log-meal="breakfast"]{border-left-color:#d7a93b}.esdn-log-group[data-log-meal="breakfast"] .esdn-log-heading{background:#fff8df}.esdn-log-group[data-log-meal="breakfast"] .esdn-log-heading-top>b{color:#765713}
.esdn-log-group[data-log-meal="lunch"]{border-left-color:#69a27d}.esdn-log-group[data-log-meal="lunch"] .esdn-log-heading{background:#edf8f0}.esdn-log-group[data-log-meal="lunch"] .esdn-log-heading-top>b{color:#316a46}
.esdn-log-group[data-log-meal="dinner"]{border-left-color:#6b9fc2}.esdn-log-group[data-log-meal="dinner"] .esdn-log-heading{background:#eef7fc}.esdn-log-group[data-log-meal="dinner"] .esdn-log-heading-top>b{color:#356a8d}
.esdn-log-group[data-log-meal="snack"]{border-left-color:#c88a9f}.esdn-log-group[data-log-meal="snack"] .esdn-log-heading{background:#fff2f6}.esdn-log-group[data-log-meal="snack"] .esdn-log-heading-top>b{color:#8b5064}
@media(max-width:650px){.esdn-food-window{height:55vh;min-height:360px;max-height:540px;padding:7px}.esdn-app .esdn-food{min-height:78px;padding:9px 42px 9px 9px}.esdn-app .esdn-food-grid{gap:8px}.esdn-food strong{font-size:15px}.esdn-food small{font-size:11px}}

/* v2.0.2: アプリを保存する案内 */
.esdn-save-app{margin-top:14px}
.esdn-save-toggle{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;width:100%;padding:10px 16px;border:1px solid var(--green);border-radius:12px;background:var(--mint);color:var(--green);font-size:13px;font-weight:900}
.esdn-save-toggle:hover,.esdn-save-toggle:focus-visible{background:#dfeee6}
.esdn-save-toggle span{margin-left:3px;transition:transform .2s}
.esdn-save-toggle[aria-expanded="true"] span{transform:rotate(180deg)}
.esdn-save-panel{margin-top:8px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#fff}
.esdn-save-panel[hidden],.esdn-save-url[hidden]{display:none!important}
.esdn-save-panel p{margin:0 0 10px!important;color:var(--muted);font-size:13px;line-height:1.65}
.esdn-save-panel ul{margin:0 0 14px!important;padding-left:1.4em;font-size:13px;line-height:1.8}
.esdn-save-panel li{margin-bottom:5px}
.esdn-save-panel li strong{color:var(--ink)}
.esdn-copy-url{min-height:44px;width:100%;padding:8px 14px;border:0;border-radius:11px;background:var(--green);color:#fff;font-size:13px;font-weight:900}
.esdn-copy-url:hover,.esdn-copy-url:focus-visible{background:#2f5949}
.esdn-save-panel .esdn-save-status{margin:7px 0 0!important;color:var(--green);font-size:12px;font-weight:800}
.esdn-save-status:empty{display:none}
.esdn-save-url{display:block;width:100%;min-height:44px;margin-top:8px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#f8faf9;color:var(--ink);font-size:13px}
@media(min-width:651px){.esdn-save-toggle{width:max-content;min-width:210px}}
@media(max-width:650px){.esdn-save-panel{padding:14px 13px}.esdn-save-panel ul{padding-left:1.2em;font-size:12px}.esdn-save-panel p{font-size:12px}}
