:root{--bg:#fbf7f0;--surface:#fff;--text:#2b2622;--muted:#6f655c;--accent:#c8553d;--accent-text:#fff;--border:#e6ddd0;--error:#b3261e;--tabbar-h:64px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#1f1b18;--surface:#2a2521;--text:#f2ece4;--muted:#b5aa9e;--accent:#e07a5f;--accent-text:#1f1b18;--border:#3d3530;--error:#ffb4ab;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#1f1b18;--surface:#2a2521;--text:#f2ece4;--muted:#b5aa9e;--accent:#e07a5f;--accent-text:#1f1b18;--border:#3d3530;--error:#ffb4ab;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;margin:0;font-family:system-ui,-apple-system,Hiragino Sans,Noto Sans JP,sans-serif;font-size:18px;line-height:1.6}button,a.pdf{font:inherit;min-width:48px;min-height:48px}h1{font-size:1.6rem}h2{margin:0 0 8px;font-size:1.25rem}h3{margin:16px 0 4px;font-size:1.1rem}h4{color:var(--muted);margin:12px 0 4px;font-size:1rem}.content{padding:16px 16px calc(var(--tabbar-h) + 24px + env(safe-area-inset-bottom));max-width:640px;margin:0 auto}.tabbar{background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tab{height:var(--tabbar-h);color:var(--muted);background:0 0;border:none;font-weight:600}.tab.current{color:var(--accent);box-shadow:inset 0 3px 0 var(--accent)}.login{flex-direction:column;gap:12px;max-width:360px;margin:15vh auto 0;padding:0 16px;display:flex}.login h1{text-align:center;margin:0 0 16px}.login input{font:inherit;border:1px solid var(--border);background:var(--surface);min-height:52px;color:var(--text);border-radius:10px;padding:0 12px}.primary{background:var(--accent);color:var(--accent-text);border:none;border-radius:10px;min-height:52px;font-weight:700}.primary:disabled{opacity:.5}.error{color:var(--error);font-weight:600}.notice,.placeholder{color:var(--muted);text-align:center;margin:24px 0}.quiet{color:var(--muted);font-size:.9rem}.store{margin-bottom:24px}.thumbs{gap:12px;padding-bottom:4px;display:flex;overflow-x:auto}.thumb{border:1px solid var(--border);background:var(--surface);width:150px;color:var(--text);text-align:left;border-radius:10px;flex:none;padding:0;overflow:hidden}.thumb img{object-fit:cover;object-position:top;width:100%;height:200px;display:block}.thumb span{padding:6px 8px;font-size:.85rem;display:block}a.pdf{border:2px solid var(--accent);width:150px;color:var(--accent);border-radius:10px;flex:none;align-items:center;padding:12px;font-weight:700;text-decoration:none;display:flex}.items{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:20px;padding:16px}.items ul{margin:0;padding:0;list-style:none}.item{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px 12px;padding:8px 0;display:flex}.item:last-child{border-bottom:none}.item-name{flex:auto}.item-price{color:var(--accent);font-weight:700}.item-store{color:var(--muted);flex-basis:100%;font-size:.85rem}.viewer{z-index:10;background:#000;position:fixed;inset:0}.viewer-area,.viewer-content{touch-action:none;width:100%!important;height:100dvh!important}.viewer-content img{object-fit:contain;width:100%;height:100%;display:block}.viewer-loading{left:0;right:0;bottom:calc(24px + env(safe-area-inset-bottom));text-align:center;color:#fff;margin:0;position:fixed}.viewer-close{top:calc(12px + env(safe-area-inset-top));color:#000;background:#ffffffe6;border:none;border-radius:24px;padding:0 20px;font-weight:700;position:fixed;right:12px}.wide{width:100%;margin:20px 0;display:block}.sunday,.day{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:12px;padding:12px 16px}.sunday h3{color:var(--muted);margin:0 0 4px;font-size:1rem}.days{margin:0;padding:0;list-style:none}.day-label{color:var(--muted);font-size:1rem;display:block}.day-main{justify-content:space-between;align-items:center;gap:12px;display:flex}.day-bento{color:var(--muted);margin-top:4px;font-size:1rem}.dish{align-items:center;gap:6px;display:inline-flex}.dish-name{color:var(--text);text-align:left;text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);text-underline-offset:4px;background:0 0;border:none;padding:0;font-weight:700}.day-bento .dish-name{font-weight:400}.heart{color:var(--accent)}.change{border:1px solid var(--accent);color:var(--accent);background:0 0;border-radius:10px;flex:none;padding:0 16px;font-weight:700}.change:disabled{opacity:.5}.back,.favorite{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;padding:0 16px}.favorite{margin-bottom:8px}.favorite[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:700}.ingredients,.steps{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin:0;padding:8px 16px}.ingredients{list-style:none}.ingredients li{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:6px 0;display:flex}.ingredients li:last-child{border-bottom:none}.amount{color:var(--muted);white-space:nowrap}.steps{padding-left:40px}.steps li{padding:6px 0}.source{min-height:48px;color:var(--accent);align-items:center;margin-top:16px;font-weight:700;display:inline-flex}.menu-login{color:var(--muted);font-size:1rem}.favorite-add{flex-wrap:wrap;align-items:end;gap:8px 12px;margin:12px 0 20px;display:flex}.favorite-add label{flex-basis:100%;font-weight:700}.favorite-add input{border:1px solid var(--border);background:var(--surface);min-width:0;min-height:52px;color:var(--text);font:inherit;border-radius:10px;flex:200px;padding:0 12px}.favorite-add .primary{padding:0 24px}.favorite-list{margin:0;padding:0;list-style:none}.favorite-row{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;align-items:center;gap:4px 12px;margin-bottom:12px;padding:8px 16px;display:flex}.favorite-status{color:var(--muted)}
