:root{--bg: #f5f6f3;--card: #ffffff;--text: #1f2421;--muted: #6b726d;--line: #e3e6e1;--primary: #2e7d5b;--primary-text: #ffffff;--primary-soft: #e3f1ea;--warn: #c0632b;--warn-soft: #fbeee4;--danger: #b3403a;--info-soft: #e6eff9;--sat: #3a6fb5;--sun: #c2453d;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #151816;--card: #1f2421;--text: #e8ebe8;--muted: #9aa39d;--line: #333a35;--primary: #4caf85;--primary-text: #0e1a14;--primary-soft: #1f3a2d;--warn: #e38a52;--warn-soft: #3a2a1f;--danger: #e0716a;--info-soft: #1e2a3a;--sat: #7fa8e0;--sun: #e88a84;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Hiragino Sans,Noto Sans JP,sans-serif;font-size:16px;line-height:1.5;-webkit-tap-highlight-color:transparent}h1,h2{margin:0}h2{font-size:1rem;margin-bottom:8px}button{font:inherit;color:inherit;cursor:pointer}button:disabled{opacity:.4;cursor:default}.app{min-height:100dvh;padding-bottom:calc(72px + env(safe-area-inset-bottom))}.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:8px;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:var(--bg);border-bottom:1px solid var(--line)}.top h1{font-size:1.25rem}main{max-width:640px;margin:0 auto;padding:12px 12px 24px}.tabs{position:fixed;bottom:0;left:0;right:0;z-index:10;display:flex;background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.tabs button{flex:1;position:relative;border:0;background:none;display:flex;flex-direction:column;align-items:center;padding:8px 0 6px;font-size:.75rem;color:var(--muted)}.tabs button.on{color:var(--primary);font-weight:700}.tabs .ico{font-size:1.35rem;line-height:1.2}.tabs .count{position:absolute;top:4px;left:54%;background:var(--warn);color:#fff;border-radius:999px;font-size:.7rem;min-width:18px;padding:0 5px;line-height:18px}.stack{display:flex;flex-direction:column;gap:10px}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px}.center{text-align:center;padding:40px 16px}.muted{color:var(--muted)}.small{font-size:.85rem}.pad{margin:-4px 4px 0}.grow{flex:1;min-width:0}.left{text-align:left}.dim{opacity:.5}.warn-text{color:var(--warn)}.badge{font-size:.75rem;padding:2px 8px;border-radius:999px}.badge.warn{background:var(--warn-soft);color:var(--warn)}.banner{border-radius:12px;padding:10px 12px;font-size:.9rem;cursor:pointer;margin:8px 12px 0}main .banner{margin:0}.banner.error{background:var(--warn-soft);color:var(--warn)}.banner.info{background:var(--info-soft)}.input{width:100%;font:inherit;font-size:16px;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:9px 10px}textarea.input{resize:vertical}.input:focus{outline:2px solid var(--primary);outline-offset:-1px}.btn{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:9px 14px;white-space:nowrap;font-weight:600}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.btn.warn{color:var(--warn)}.btn.block{width:100%}.small-btn{padding:5px 10px;font-size:.85rem}.icon-btn{border:0;background:none;width:34px;height:34px;border-radius:8px;flex:none;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);font-size:1rem}.icon-btn:active{background:var(--line)}.icon-btn.danger{font-size:.9rem}.link{border:0;background:none;padding:4px 0;color:var(--primary);font-weight:600}.row-gap{display:flex;gap:8px;margin-top:10px}.add-row{display:flex;gap:8px;align-items:center}.add-row .input{flex:1;min-width:0}.add-extra{flex-wrap:wrap}.add-extra>.input:first-child{flex-basis:100%}.add-extra .store-select{flex:1;max-width:none}.list{list-style:none;margin:0;padding:0}.list li{display:flex;align-items:center;gap:6px;padding:8px 0;border-top:1px solid var(--line)}.list li:first-child{border-top:0}.list .unit{width:2.2em;font-size:.85rem;color:var(--muted)}.input.qty{width:4.2em;text-align:right;padding:6px}.store-select{width:auto;max-width:8.5em;padding:6px;font-size:14px;flex:none}.seg{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;flex:none}.seg button{border:0;background:none;padding:5px 10px;font-size:.85rem}.seg button+button{border-left:1px solid var(--line)}.seg .on.lv-ok{background:var(--primary-soft);color:var(--primary);font-weight:700}.seg .on.lv-low{background:var(--warn-soft);color:var(--warn);font-weight:700}.seg .on.lv-out{background:var(--warn);color:#fff;font-weight:700}.week-head{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.week-head label{display:flex;flex-direction:column}.input.date{width:auto;padding:6px 8px}.week-head .btn{margin-left:auto}.day{display:flex;gap:10px}.day.today{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary) inset}.day-label{width:42px;flex:none;display:flex;flex-direction:column;align-items:center;padding-top:4px}.day-label span{font-size:.8rem;color:var(--muted)}.day-label.dow6 b,.day-label.dow6 span{color:var(--sat)}.day-label.dow0 b,.day-label.dow0 span{color:var(--sun)}.day-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chips:empty{display:none}.chip{display:inline-flex;align-items:center;background:var(--primary-soft);border-radius:999px}.chip.missing{background:none;border:1px dashed var(--warn)}.chip-name{border:0;background:none;padding:4px 4px 4px 12px;font-weight:600}.chip-name small{color:var(--warn);font-weight:400}.chip-x{border:0;background:none;padding:4px 10px 4px 4px;color:var(--muted)}.day .add-row .input{padding:6px 10px}.day .add-row .btn{padding:6px 12px}.preview{list-style:none;padding:8px 10px;margin:8px 0 0;background:var(--bg);border-radius:10px;font-size:.9rem}.preview li{display:flex;justify-content:space-between;gap:8px}.store h2{display:flex;justify-content:space-between;align-items:baseline}.store.unset{border-color:var(--warn);border-style:dashed}.check{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.check input{width:22px;height:22px;margin:1px 0 0;accent-color:var(--primary);flex:none}.check .sub{display:block;font-size:.78rem}.shop li.done b,.shop li.done{color:var(--muted)}.shop li.done b{text-decoration:line-through}.confirm{border-color:var(--primary)}.actions{position:sticky;bottom:calc(64px + env(safe-area-inset-bottom));display:flex;gap:8px;padding:8px 0;background:var(--bg)}.actions .btn{padding:10px;font-size:.9rem}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#0006;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--card);width:100%;max-width:640px;max-height:90dvh;overflow:auto;border-radius:18px 18px 0 0;padding:14px 16px calc(16px + env(safe-area-inset-bottom))}.sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.sheet-head h2{margin:0}.welcome{max-width:480px;margin:0 auto;padding:calc(40px + env(safe-area-inset-top)) 16px 40px;display:flex;flex-direction:column;gap:14px}.welcome .card{display:flex;flex-direction:column;gap:10px}.welcome h2,.welcome p{margin:0}
