:root{--bg:#f6f4ef;--card:#fff;--text:#2b2a27;--muted:#7a766d;--line:#e6e1d6;--accent:#2f8f5b;--accent-soft:#e3f3ea;--warn:#c2571a;--warn-soft:#fbe9dd;--gone:#a33b3b;--tab-h:64px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Noto Sans JP,Yu Gothic UI,sans-serif;font-size:16px;line-height:1.5}@media (prefers-color-scheme:dark){:root{--bg:#1b1c1a;--card:#262724;--text:#ecebe6;--muted:#a6a39a;--line:#3a3b37;--accent:#5cc48a;--accent-soft:#23382c;--warn:#f0965c;--warn-soft:#3d2a1e;--gone:#e27b7b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);margin:0}h1{margin:0;font-size:1.4rem}h2{margin:0;font-size:1rem}h3{color:var(--muted);margin:.25rem 0 0;font-size:.9rem}p{margin:0}.page{max-width:560px;padding:calc(16px + env(safe-area-inset-top)) 16px 24px;margin:0 auto}.app .content{padding-bottom:calc(var(--tab-h) + env(safe-area-inset-bottom))}.center{text-align:center}.stack{flex-direction:column;gap:12px;display:flex}.row{align-items:center;gap:8px;display:flex}.grow{flex:1;min-width:0}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--gone);font-weight:600}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px}label{flex-direction:column;gap:6px;font-size:.95rem;font-weight:600;display:flex}input,select,textarea{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:10px;width:100%;min-height:44px;padding:10px 12px;font-weight:400}.row input,.row select{width:auto}.row input:not(.qty){flex:1;min-width:0}textarea{resize:vertical}button{font:inherit;color:var(--text);background:var(--card);border:1px solid var(--line);cursor:pointer;border-radius:10px;min-height:44px;padding:10px 14px}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-size:1.05rem;font-weight:700}button.link{color:var(--muted);background:0 0;border:none;text-decoration:underline}button.icon{flex:none;width:44px;padding:0;font-size:1.1rem}.small-btn{min-height:36px;padding:4px 10px;font-size:.85rem}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border-radius:999px;padding:8px 14px;font-weight:600}.chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.chip.on.none{background:var(--warn-soft);border-color:var(--warn);color:var(--warn)}.login{text-align:center;padding-top:12vh}.login .logo{font-size:3.5rem}.login h1{margin-bottom:8px}.login form{text-align:left;margin-top:20px}.demo-banner{background:var(--warn-soft);color:var(--warn);text-align:center;padding:calc(4px + env(safe-area-inset-top)) 8px 4px;font-size:.8rem}.tabbar{background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;inset:auto 0 0}.tabbar button{height:var(--tab-h);color:var(--muted);background:0 0;border:none;border-radius:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:.8rem;display:flex}.tabbar button.active{color:var(--accent);font-weight:700}.tab-icon{font-size:1.3rem;line-height:1}.confirm-row,.item-row,.check-row{align-items:center;gap:8px;display:flex}.confirm-row input[type=checkbox]{flex:none;width:22px;height:22px;min-height:22px}.confirm-row.off{opacity:.45}.qty{text-align:center;flex:none;width:64px;padding:8px 4px}.unit{flex:none;width:3em}.qty-label{text-align:center;min-width:4em;font-weight:600}.item-row+.item-row,.check-row+.check-row{border-top:1px solid var(--line);padding-top:10px}.group-maybe_gone h2{color:var(--gone)}.group-maybe_gone .item-row strong{color:var(--muted);text-decoration:line-through}.group-soon h2{color:var(--warn)}.summary{flex-wrap:wrap;gap:8px 16px;font-size:.9rem;font-weight:600;display:flex}.summary .warn{color:var(--warn)}.day{padding:0;overflow:hidden}.day-head{text-align:left;background:0 0;border:none;border-radius:0;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.day-head strong{display:block}.date{color:var(--muted);flex:none;width:4.6em;font-size:.9rem;font-weight:700}.date.weekend{color:var(--accent)}.chev{color:var(--muted);font-size:.8rem}.tags{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.tag{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:1px 6px;font-size:.75rem;font-weight:600}.tag.p-meat{color:#b5483a}.tag.p-fish{color:#2c74b3}.tag.p-egg_soy{color:#a07a12}.tag.fav{color:#c2417a}.tag.warn{color:var(--warn);border-color:var(--warn);margin-left:6px}.day-body{padding:0 14px 14px}.ingredients,.steps{margin:0;padding-left:1.3em}.ingredients li.missing{color:var(--warn)}.steps li+li{margin-top:4px}.links{flex-wrap:wrap;gap:8px 14px;font-size:.9rem;display:flex}.links a{color:var(--accent)}.tip{background:var(--accent-soft);border-radius:10px;padding:8px 10px;font-size:.9rem}.shop-row{align-items:center;gap:10px;display:flex}.shop-row+.shop-row{border-top:1px solid var(--line);padding-top:10px}.shop-row.done strong{color:var(--muted);text-decoration:line-through}.shop-check{border:2px solid var(--accent);color:#fff;border-radius:8px;flex:none;width:32px;height:32px;min-height:32px;padding:0;font-weight:700}.shop-row.done .shop-check{background:var(--accent)}.tabbar button{font-size:.75rem}
