:root{--font-body:"DM Sans";--font-display:"Fraunces";--bg:#FBF6EE;--card:#fff;--ink:#2B2118;--muted:#7A6B5D;--line:#EADFCF;--accent:#C4532D;--accent-soft:#F6E1D7;--olive:#5E7034;--olive-soft:#E7ECD9;--mustard:#D99A1E;--danger:#B3261E;--r:16px;--shadow:0 1px 2px rgba(43,33,24,.06),0 6px 20px rgba(43,33,24,.06)}*{box-sizing:border-box}body,html{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 var(--font-body),system-ui,sans-serif}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent)}.wrap{max-width:760px;margin:0 auto;padding:max(18px,calc(env(safe-area-inset-top) + 8px)) max(16px,env(safe-area-inset-right)) calc(110px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}h1,h2,h3{font-family:var(--font-display),Georgia,serif;margin:0;letter-spacing:-.01em}.brand{margin-bottom:16px}.brand,.brand a{display:flex;align-items:center;gap:10px}.brand a{text-decoration:none;color:inherit}.logo{width:38px;height:38px;border-radius:12px;background:var(--accent);display:grid;place-items:center;color:#fff;font-size:20px;flex:none}.brand h1{font-size:21px;line-height:1.15}.brand .right .ib{white-space:nowrap}@media(max-width:480px){.hide-sm{display:none}}.brand .right{margin-left:auto;display:flex;gap:6px;align-items:center;font-size:13px;color:var(--muted)}.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin-bottom:14px;scrollbar-width:none}.chip{flex:none;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:7px 13px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}.chip.past{color:var(--muted)}.chip.on.past{color:#fff}.hero{background:var(--card);border-radius:22px;box-shadow:var(--shadow);overflow:hidden;margin-bottom:16px}.hero .top{background:linear-gradient(135deg,#C4532D,#D9762F 60%,#E0A526);color:#fff;padding:20px 20px 18px;position:relative}.hero .when{font-size:13px;font-weight:600;opacity:.92;text-transform:uppercase;letter-spacing:.06em;padding-right:90px}.hero h2{font-size:28px;margin:4px 0 2px;line-height:1.15}.hero .count{position:absolute;right:18px;top:18px;background:rgba(255,255,255,.2);border-radius:999px;padding:4px 11px;font-size:12px;font-weight:700}.hero .meta{padding:14px 20px 6px;display:grid;grid-gap:6px;gap:6px;font-size:14px}.hero .meta div{display:flex;gap:8px}.hero .note{padding:4px 20px 14px;color:var(--muted);font-size:14px;white-space:pre-wrap}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.stats div{padding:12px;text-align:center}.stats div+div{border-left:1px solid var(--line)}.stats b{display:block;font-family:var(--font-display),serif;font-size:24px}.stats span{font-size:12px;color:var(--muted)}.tabs{display:flex;gap:4px;background:#F1E8DA;border-radius:12px;padding:4px;margin-bottom:14px}.tab{flex:1 1;border:0;background:transparent;border-radius:9px;padding:8px 4px;font-weight:600;font-size:14px;cursor:pointer;color:var(--muted)}.tab.on{color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}.card,.tab.on{background:var(--card)}.card{border-radius:var(--r);box-shadow:var(--shadow);padding:16px;margin-bottom:14px}.card h3{font-size:18px;margin-bottom:10px}.needs{display:grid;grid-gap:9px;gap:9px}.need{display:grid;grid-template-columns:110px 1fr 54px;align-items:center;grid-gap:10px;gap:10px;font-size:14px}.bar{height:9px;background:#F1E8DA;overflow:hidden}.bar,.bar i{border-radius:9px}.bar i{display:block;height:100%;background:var(--mustard);transition:width .3s}.bar i.full{background:var(--olive)}.need .n{text-align:right;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.need .n.ok{color:var(--olive);font-weight:700}.cathead{display:flex;align-items:baseline;gap:8px;margin:4px 2px 8px}.cathead h3{font-size:17px}.cathead span{color:var(--muted);font-size:13px}.item{display:flex;gap:12px;align-items:flex-start;background:var(--card);border-radius:14px;padding:12px 14px;box-shadow:var(--shadow);margin-bottom:8px}.av{width:36px;height:36px;border-radius:50%;flex:none;display:grid;place-items:center;font-weight:700;font-size:14px;color:#fff}.av.sm{width:32px;height:32px;font-size:13px}.item .body{flex:1 1;min-width:0}.dish{font-weight:700;font-size:15px}.by{color:var(--muted)}.by,.inote{font-size:13px}.inote{margin-top:3px}.tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.tag{font-size:11px;font-weight:700;padding:2px 7px;border-radius:999px;background:var(--olive-soft);color:var(--olive)}.acts{display:flex;gap:2px}.ib{border:0;background:transparent;cursor:pointer;padding:6px 8px;border-radius:8px;color:var(--muted);font-size:13px;font-weight:600}.ib:hover{background:#F4ECE0}.ib.warn{color:var(--danger)}.empty{text-align:center;color:var(--muted);padding:26px 12px;font-size:14px}.fab{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(20px + env(safe-area-inset-bottom));border:0;background:var(--accent);font-size:16px;padding:14px 24px;border-radius:999px;box-shadow:0 8px 24px rgba(196,83,45,.35);z-index:5;white-space:nowrap}.btn,.fab{color:#fff;font-weight:700;cursor:pointer}.btn{border:0;background:var(--ink);padding:11px 16px;border-radius:12px;text-decoration:none;display:inline-block;text-align:center}.btn.alt{background:#F1E8DA;color:var(--ink)}.btn.accent{background:var(--accent)}.btn.danger{background:transparent;color:var(--danger);border:1px solid #e8c3bf}.btn.block{width:100%}.btn:disabled{opacity:.5;cursor:default}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}label{display:block;font-size:13px;font-weight:600;margin:0 0 5px;color:var(--muted)}.f{margin-bottom:12px}.input,select.input,textarea.input{width:100%;border:1px solid var(--line);background:#FFFCF7;border-radius:11px;padding:10px 12px;outline:none}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}textarea.input{min-height:70px;resize:vertical}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.pick{display:flex;flex-wrap:wrap;gap:6px}.pick button{border:1px solid var(--line);background:#FFFCF7;border-radius:999px;padding:6px 11px;font-size:13px;font-weight:600;cursor:pointer}.pick button.on{background:var(--olive);border-color:var(--olive);color:#fff}.pick.cats button.on{background:var(--accent);border-color:var(--accent)}.notice{background:#FFF4DB;border:1px solid #f0d79a;color:#7A5A10;border-radius:10px;margin-top:6px}.error,.notice{padding:8px 10px;font-size:13px}.error{background:#FBE9E7;border:1px solid #f0c3bd;color:var(--danger);border-radius:10px;margin:8px 0}.sheet-bg{position:fixed;inset:0;background:rgba(43,33,24,.4);display:flex;align-items:flex-end;justify-content:center;z-index:10}.sheet{background:var(--bg);width:100%;max-width:560px;max-height:calc(92vh - env(safe-area-inset-top));overflow:auto;border-radius:22px 22px 0 0;padding:20px 18px calc(24px + env(safe-area-inset-bottom))}@media(min-width:640px){.sheet-bg{align-items:center}.sheet{border-radius:22px}}.sheet h2{font-size:22px;margin-bottom:14px}.person{display:flex;align-items:center;gap:10px;padding:8px 2px;border-bottom:1px solid var(--line)}.person:last-child{border-bottom:0}.person .nm{flex:1 1;font-weight:600;min-width:0}.pill{font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap}.pill.yes{background:var(--olive-soft);color:var(--olive)}.pill.no{background:#F1E8DA;color:var(--muted)}.pill.org{background:var(--accent-soft);color:var(--accent)}.act{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}.act:last-child{border-bottom:0}.act time{margin-left:auto;color:var(--muted);font-size:12px;white-space:nowrap}.toast{position:fixed;left:50%;top:calc(16px + env(safe-area-inset-top));transform:translateX(-50%);background:var(--ink);color:#fff;padding:10px 16px;border-radius:12px;font-size:14px;font-weight:600;z-index:20;max-width:90vw}.catedit{display:grid;grid-template-columns:1fr 80px 36px;grid-gap:8px;gap:8px;margin-bottom:8px;align-items:center}.small{font-size:12px;color:var(--muted)}.landing{text-align:center;padding:40px 8px 10px}.landing h2{font-size:34px;line-height:1.1;margin:14px 0 10px}.landing p{color:var(--muted);max-width:440px;margin:0 auto 22px}.glist a{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}.glist .card{margin-bottom:10px}.code{font-family:ui-monospace,Menlo,monospace;background:#F1E8DA;border-radius:8px;padding:3px 8px;font-weight:700;letter-spacing:.08em}.code-input{font-size:26px;letter-spacing:10px;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}.back{display:inline-block;margin:-6px 0 12px 2px;font-size:14px;font-weight:600;color:var(--muted);text-decoration:none}.back:hover{color:var(--ink)}.session-loader{display:none}.has-session .session-loader{display:block}.has-session .landing-page{display:none}.logo.sm{width:26px;height:26px;font-size:14px;border-radius:8px;display:inline-grid}.btn.sm{padding:8px 14px;font-size:14px}.landing-page{max-width:1080px;margin:0 auto;padding:max(14px,env(safe-area-inset-top)) 20px 30px}.lp-nav{justify-content:space-between;padding:6px 0 10px}.lp-brand,.lp-nav{display:flex;align-items:center}.lp-brand{gap:10px;text-decoration:none;color:inherit;font-family:var(--font-display),serif;font-size:21px}.lp-hero{display:grid;grid-template-columns:1.15fr .85fr;grid-gap:40px;gap:40px;align-items:center;padding:48px 0 30px}.lp-eyebrow{display:inline-block;background:var(--accent-soft);color:var(--accent);font-weight:700;font-size:13px;padding:5px 12px;border-radius:999px;margin-bottom:16px}.lp-hero h1{font-size:clamp(38px,6vw,62px);line-height:1.04;margin:0 0 18px}.lp-hero h1 em{font-style:italic;color:var(--accent)}.lp-hero p{font-size:18px;color:var(--muted);max-width:520px;margin:0 0 24px}.lp-store{display:inline-block;margin-top:16px;font-weight:700}.lp-section{padding:46px 0 10px}.lp-section>h2{font-size:clamp(28px,4vw,38px);text-align:center;margin-bottom:26px}.lp-sub{text-align:center;color:var(--muted);margin:-14px 0 22px}.lp-steps{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.lp-step{padding:22px}.lp-num{width:34px;height:34px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:700;margin-bottom:12px}.lp-feature h3,.lp-step h3{font-size:19px;margin-bottom:6px}.lp-feature p,.lp-step p{color:var(--muted);margin:0;font-size:15px}.lp-features{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.lp-feature{padding:22px;margin:0}.lp-ficon{font-size:28px;margin-bottom:10px}.lp-start{background:linear-gradient(180deg,transparent,#F4E7D6 30%,#F4E7D6 80%,transparent);border-radius:28px;padding:56px 16px 46px;margin-top:30px}.lp-faq{max-width:720px;margin:0 auto}.lp-faq details{padding:14px 18px;margin-bottom:10px;cursor:pointer}.lp-faq summary{font-weight:700;font-size:16px;list-style:none}.lp-faq summary::-webkit-details-marker{display:none}.lp-faq summary:after{content:"+";float:right;color:var(--muted);font-weight:400}.lp-faq details[open] summary:after{content:"–"}.lp-faq details p{color:var(--muted);margin:8px 0 2px}@media(max-width:820px){.lp-hero{padding-top:24px;gap:28px}.lp-features,.lp-hero,.lp-steps{grid-template-columns:1fr}}.phone{justify-self:center;width:300px;max-width:100%;background:#2B2118;border-radius:44px;padding:12px;box-shadow:0 30px 60px rgba(43,33,24,.25),0 0 0 1px rgba(0,0,0,.05);transform:rotate(2deg)}.phone-screen{background:var(--bg);border-radius:34px;overflow:hidden;padding-bottom:14px;position:relative;min-height:480px}.ph-hero{background:linear-gradient(135deg,#C4532D,#D9762F 60%,#E0A526);color:#fff;padding:34px 16px 16px;position:relative}.ph-when{font-size:10px;font-weight:700;letter-spacing:.06em;opacity:.9}.ph-title{font-family:var(--font-display),serif;font-size:21px;font-weight:700;margin-top:2px}.ph-pill{position:absolute;right:12px;top:30px;background:rgba(255,255,255,.22);font-size:10px;font-weight:700;padding:3px 8px;border-radius:999px}.ph-card{background:#fff;margin:12px;border-radius:14px;padding:12px;box-shadow:var(--shadow)}.ph-h{font-family:var(--font-display),serif;font-weight:700;font-size:14px;margin-bottom:8px}.ph-need{display:grid;grid-template-columns:70px 1fr 30px;grid-gap:8px;gap:8px;align-items:center;font-size:11px;margin-bottom:6px}.ph-need .bar{height:7px}.ph-need span:last-child{text-align:right;color:var(--muted)}.ph-need span.ok{color:var(--olive);font-weight:700}.ph-item{display:flex;gap:10px;align-items:center;background:#fff;margin:0 12px 8px;border-radius:12px;padding:9px 10px;box-shadow:var(--shadow)}.ph-item .av{width:28px;height:28px;font-size:12px}.ph-item .dish{font-size:13px}.ph-item .by{font-size:11px}.ph-fab{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);background:var(--accent);color:#fff;font-weight:700;font-size:12px;padding:9px 14px;border-radius:999px;white-space:nowrap;box-shadow:0 6px 14px rgba(196,83,45,.35)}.site-footer{text-align:center;padding:40px 10px calc(30px + env(safe-area-inset-bottom));color:var(--muted)}.sf-brand{align-items:center;gap:8px;font-family:var(--font-display),serif;font-weight:700;color:var(--ink)}.sf-brand,.site-footer nav{display:flex;justify-content:center;margin-bottom:10px}.site-footer nav{gap:18px}.site-footer nav a{color:var(--ink);font-weight:600;text-decoration:none}.doc .doc-body{padding:28px 26px;line-height:1.6}.doc .doc-body h2{font-size:30px;margin-bottom:6px}.doc .doc-body h3{font-size:19px;margin:24px 0 6px}.doc .doc-body li,.doc .doc-body p{color:#3d3127}.doc .doc-body ul{padding-left:20px}