:root{--bg: #fdf8f3;--card: #ffffff;--ink: #2b211c;--muted: #6b5a50;--line: #ecdfd4;--brand: #a63f22;--brand-ink: #ffffff;--brand-soft: #fdece4;--warn-bg: #fff4d6;--warn-ink: #6b4a00;--bad-bg: #fde7ec;--bad-ink: #9f1239;--radius: 14px}@media(prefers-color-scheme:dark){:root{--bg: #1b1411;--card: #271d19;--ink: #f6ece6;--muted: #bfa99d;--line: #3f2f28;--brand: #ff8f6b;--brand-ink: #2b0e05;--brand-soft: #4a2a1f;--warn-bg: #3b3115;--warn-ink: #ffe29a;--bad-bg: #47182a;--bad-ink: #ffb4c8}}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink)}body{font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-text-size-adjust:100%}.app{max-width:640px;margin:0 auto;min-height:100vh;padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}.screen{padding:calc(16px + env(safe-area-inset-top,0px)) 16px 24px}h1{font-size:1.7rem;margin:0 0 6px}h2{font-size:1.15rem;margin:22px 0 6px}h3{font-size:1rem;margin:18px 0 8px}p{margin:6px 0}.muted{color:var(--muted)}.small{font-size:.875rem}.footnote{margin-top:28px}button,select,input{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.btn{display:block;width:100%;min-height:48px;margin-top:14px;padding:12px 16px;border-radius:var(--radius);border:1px solid var(--line);background:var(--card);font-weight:600}.btn.primary{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.btn.big{min-height:56px;font-size:1.1rem}.btn.danger{color:var(--bad-ink);border-color:var(--bad-ink);background:transparent;margin-top:22px}.btn:disabled{opacity:.5;cursor:not-allowed}.link{background:none;border:0;color:var(--brand);text-decoration:underline;padding:8px 0}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin:12px 0;padding:14px}.card-head{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:none;border:0;padding:0;min-height:44px}.profile{padding:10px 14px}.card-body{padding-top:6px}.head-text{display:flex;flex-direction:column;flex:1;min-width:0}.head-text .small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar{width:40px;height:40px;border-radius:50%;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-weight:700;flex:none}.chev{color:var(--muted)}.empty{text-align:center;padding:28px 12px;border:1px dashed var(--line);border-radius:var(--radius);margin:14px 0}.field{display:block;margin:8px 0}.field span{display:block;font-size:.875rem;color:var(--muted);margin-bottom:4px}input[type=text],input[type=number],input[type=password],input[type=email],input[type=time],select{width:100%;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{min-height:40px;padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:var(--bg)}.chip.on{background:var(--brand);color:var(--brand-ink);border-color:var(--brand);font-weight:600}.item{border:1px solid var(--line);border-radius:12px;padding:10px;margin-top:10px;display:grid;gap:8px}.item-title{font-weight:700}.seg{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}.seg button{flex:1;min-height:42px;border:0;background:var(--bg);padding:6px 8px}.seg button+button{border-left:1px solid var(--line)}.seg button.on{background:var(--brand-soft);color:var(--brand);font-weight:700}.check{display:flex;align-items:center;gap:10px;min-height:44px}.check input{width:22px;height:22px;flex:none;accent-color:var(--brand)}.check.spaced{margin-top:14px}.targets-head,.target-row{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:8px;align-items:center}.targets-head{font-size:.8rem;color:var(--muted)}.target-row{margin-top:6px}.target-name{font-size:.95rem}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:8px}.day{aspect-ratio:1;min-height:44px;border-radius:50%;border:2px solid var(--line);background:var(--card);font-weight:700;color:var(--muted)}.day.on{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.row-between{display:flex;justify-content:space-between;align-items:center;margin-top:6px}.limits{padding:4px 14px}.limit-row{display:grid;grid-template-columns:1fr 1.4fr;gap:12px;align-items:center;padding:6px 0}.limit-row+.limit-row{border-top:1px solid var(--line)}.demo-banner{background:var(--brand-soft);color:var(--brand);padding:10px 12px;border-radius:10px;font-size:.9rem}.notice{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px;margin:14px 0}.notice.warn{background:var(--warn-bg);color:var(--warn-ink);border-color:transparent}.notice.bad{background:var(--bad-bg);color:var(--bad-ink);border-color:transparent}.night header{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.night h3{margin:0;flex:1;min-width:60%}.badge{background:var(--brand);color:var(--brand-ink);border-radius:8px;padding:2px 10px;font-weight:700;font-size:.85rem}.tag{margin:6px 0 0;padding:6px 10px;border-radius:8px;font-size:.9rem}.tag.warn{background:var(--warn-bg);color:var(--warn-ink)}.tag.note{background:var(--brand-soft);color:var(--ink)}details summary{cursor:pointer;padding:10px 0;font-weight:600;min-height:44px}ul.plain{list-style:none;padding:0;margin:4px 0}ul.plain li{padding:6px 0;border-bottom:1px solid var(--line)}ol{padding-left:20px}.grocery{list-style:none;padding:0;margin:10px 0}.grocery li{border-bottom:1px solid var(--line)}.grocery label{display:flex;gap:12px;align-items:flex-start;padding:12px 0;min-height:52px}.grocery input{width:24px;height:24px;margin-top:2px;flex:none;accent-color:var(--brand)}.g-text{display:flex;flex-direction:column}.g-name{font-weight:600}.grocery .done .g-name{text-decoration:line-through;color:var(--muted)}.tabs{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:center;background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px)}.tabs button{flex:1;max-width:160px;min-height:60px;background:none;border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:.8rem;color:var(--muted)}.tabs button.on{color:var(--brand);font-weight:700}.tabs button{position:relative}.dot{position:absolute;top:8px;right:calc(50% - 22px);width:10px;height:10px;border-radius:50%;background:var(--bad-ink)}.auth{padding-top:calc(48px + env(safe-area-inset-top,0px))}.auth form{margin-top:20px}.auth h2{margin-top:4px}.auth>.link{display:block}.servings{display:flex;align-items:center;gap:12px;margin-top:10px}.servings-count{flex:1;text-align:center}.step{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:var(--bg);font-size:1.4rem;font-weight:700;flex:none}.step:disabled{opacity:.4;cursor:not-allowed}.link.inline{padding:0}.teach{border-top:1px solid var(--line);margin-top:10px;padding-top:6px}.teach .notice.warn.check{align-items:flex-start}.taught li{display:flex;align-items:center;gap:10px}.taught li>span{flex:1}.rate{display:flex;gap:8px;margin-top:10px}.rate-btn{flex:1;min-height:44px;border-radius:999px;border:1px solid var(--line);background:var(--bg);font-weight:600}.rate-btn.on.like{background:var(--brand-soft);border-color:var(--brand);color:var(--brand)}.rate-btn.on.dislike{background:var(--bad-bg);border-color:var(--bad-ink);color:var(--bad-ink)}.levels{display:grid;gap:4px}.level-row{display:grid;grid-template-columns:5.5em 1fr;gap:4px 10px;align-items:center;padding:6px 0}.level-row+.level-row{border-top:1px solid var(--line)}.level-hint{grid-column:2}.terms{margin:10px 0}.terms h3{margin:16px 0 4px}.terms p{font-size:.95rem}.check.notice{align-items:flex-start}.check.notice input{margin-top:3px}.legal-footer{text-align:center;margin-top:18px}.review-item{display:flex;align-items:center;gap:10px;justify-content:space-between}.notices{padding:calc(12px + env(safe-area-inset-top,0px)) 16px 0}.notices .notice{margin:0 0 8px}.notices+.screen{padding-top:8px}.dismiss{display:block;margin-left:auto;padding:4px 0 0;color:inherit;font-weight:600}.report-link{display:block;margin-top:10px;font-size:.875rem}.sheet-backdrop{position:fixed;inset:0;z-index:20;background:#00000073;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:640px;max-height:92vh;overflow-y:auto;margin:0;border-radius:var(--radius) var(--radius) 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom,0px))}.sheet h2{margin-top:0}.kinds{border:0;padding:0;margin:8px 0}.kind{align-items:flex-start;padding:8px 10px;border:1px solid var(--line);border-radius:10px;margin:6px 0}.kind input{margin-top:2px}.kind.on{border-color:var(--brand);background:var(--brand-soft)}.block{display:block}textarea{width:100%;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font:inherit;resize:vertical}.row-buttons{display:flex;gap:10px}.row-buttons .btn{flex:1}.guests{margin-top:28px}.guests h2{margin-bottom:4px}.guest{margin:12px 0}.guest .card{margin-top:4px}.guest-joining{font-weight:600}.add-item{display:flex;gap:10px;align-items:flex-end}.add-item .field{flex:1;margin:0}.add-item .btn{width:auto;margin:0;min-height:44px;padding:8px 18px}.grocery-section{font-size:1rem;margin:22px 0 0;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.grocery li{display:flex;align-items:center;gap:8px}.grocery li label{flex:1}.remove-item{padding:8px 10px;text-decoration:none;font-size:1.1rem}.share-link{margin-left:14px}.label-check{align-self:flex-start;margin:3px 0;padding:1px 8px;border-radius:999px;font-size:.78rem;font-weight:600;background:var(--warn-bg);color:var(--warn-ink)}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin:12px 0}.tile{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;gap:2px}.tile-num{font-size:1.6rem;font-weight:700;color:var(--brand)}.tile.urgent{border-color:var(--bad-ink);background:var(--bad-bg)}.tile.urgent .tile-num,.tile.urgent .small{color:var(--bad-ink)}.owner-report{border-top:1px solid var(--line);padding:12px 0}.owner-report.urgent{border-left:4px solid var(--bad-ink);padding-left:10px}.owner-report p{margin:4px 0}.status-seg{margin-top:8px;max-width:280px}.owner-row{display:flex;flex-direction:column;padding:8px 0;border-top:1px solid var(--line)}.owner-email{font-weight:600;word-break:break-all}.holiday-banner{display:block;width:100%;text-align:left;background:var(--brand-soft);color:var(--ink);border:1px solid var(--line);font:inherit;cursor:pointer}.screen-tail{padding-top:0}.holiday-picks{display:grid;gap:10px;margin:8px 0 14px}.holiday-pick{display:flex;gap:12px;align-items:center;text-align:left;padding:12px;border-radius:var(--radius);border:1px solid var(--line);background:var(--card);font:inherit;color:var(--ink)}.holiday-pick.on{border-color:var(--brand);background:var(--brand-soft)}.holiday-emoji{font-size:1.8rem}.people{margin:14px 0 6px}.inline-field{display:flex;align-items:center;gap:10px}.inline-field span{margin:0}.inline-field input{width:auto}.timeline ol li{padding:6px 0;border-bottom:1px solid var(--line)}.help-entry{display:flex;width:100%;gap:12px;align-items:center;text-align:left;font:inherit;color:var(--ink);cursor:pointer}.help-entry>span:nth-child(2){flex:1}.faq{padding:4px 14px}.faq p,.faq ul{margin-top:0}.back{display:inline-block;margin-bottom:6px}.guide{max-width:520px;margin:0 auto}.guide-card{text-align:center;padding:28px 20px}.guide-icon{font-size:3rem;margin-bottom:8px}.guide-dots{display:flex;justify-content:center;gap:8px;margin:12px 0 16px}.guide-dots span{width:8px;height:8px;border-radius:50%;background:var(--line)}.guide-dots span.on{background:var(--brand)}.guide-links{text-align:center;margin-top:16px}.saved-menus{margin:8px 0 18px}.saved-menu{display:flex;flex-direction:column;gap:10px}.saved-menu-name{font-size:1.05rem}.btn.danger-solid{background:var(--bad-ink);color:#fff;border-color:var(--bad-ink)}.save-menu h2{margin-top:0}
