:root{font-family:system-ui,-apple-system,sans-serif;color:#111827;background:#f3f4f6}*{box-sizing:border-box}body{margin:0}header{display:flex;justify-content:space-between;padding:14px 18px;background:#111827;color:#fff}header a{color:#fff;font-weight:700;text-decoration:none}main{max-width:760px;margin:auto;padding:18px}h1{margin:.2em 0}.list-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.shopping-mode{border:0;border-radius:12px;padding:12px 16px;background:#111827;color:#fff}.shopping-mode.active{background:#b91c1c}.lists,.items{list-style:none;padding:0}.lists li,.items li{background:#fff;margin:10px 0;padding:14px;border-radius:12px;box-shadow:0 1px 3px #0002}.lists a{display:flex;flex-direction:column;color:inherit;text-decoration:none}.lists small,.items small{display:block;color:#6b7280;margin-top:4px}.add-item{display:grid;grid-template-columns:1fr 72px 86px auto;gap:8px;margin:18px 0}.add-item input,.add-item button,.actions button,.tabs button{border:1px solid #d1d5db;border-radius:10px;padding:11px;background:#fff}.add-item button{background:#111827;color:#fff}.tabs{display:flex;gap:8px}.tabs button.active{background:#111827;color:#fff}.tab-panel{display:none}.tab-panel.active{display:block}.items li{display:flex;justify-content:space-between;gap:12px;align-items:center}.items li.later{opacity:.68}.actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.actions button{padding:8px}.is-new{animation:newitem 1.8s ease}@keyframes newitem{0%,40%{outline:3px solid #f59e0b}100%{outline:0 solid transparent}}#toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%) translateY(120px);background:#111827;color:#fff;padding:12px 16px;border-radius:12px;transition:.2s;max-width:90vw}#toast.show{transform:translateX(-50%) translateY(0)}@media(max-width:620px){.list-head{align-items:flex-start}.add-item{grid-template-columns:1fr 70px}.add-item input[name=unit]{display:none}.items li{align-items:flex-start;flex-direction:column}.actions{width:100%}.actions button{flex:1}}
