@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,700&display=swap";:root{font-family:DM Sans,system-ui,sans-serif;color:#17342d;background:#f6f3ea;font-synthesis:none;--bg: #f6f3ea;--surface: #fffdf7;--ink: #17342d;--muted: #718078;--line: #dddcd2;--brand: #173f35;--accent: #e45e40;--sun: #ffbd59;--shadow: 0 10px 36px #14352d18}*{box-sizing:border-box}html[data-theme=dark]{--bg: #10231f;--surface: #17302a;--ink: #f7f4e9;--muted: #a9b8b1;--line: #385049;--brand: #f1b952;--accent: #ff8064;--shadow: 0 10px 36px #0005;color-scheme:dark}@media(prefers-color-scheme:dark){html[data-theme=system]{--bg: #10231f;--surface: #17302a;--ink: #f7f4e9;--muted: #a9b8b1;--line: #385049;--brand: #f1b952;--accent: #ff8064;--shadow: 0 10px 36px #0005;color-scheme:dark}}body{margin:0;background:var(--bg);color:var(--ink);min-width:320px}button,input,textarea,select{font:inherit}.app{max-width:720px;margin:auto;min-height:100dvh;padding:0 18px 170px}header{height:104px;display:flex;justify-content:space-between;align-items:center;padding-top:max(12px,env(safe-area-inset-top))}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.19em;color:var(--accent)}h1{font:700 32px/1 Fraunces,serif;margin:5px 0}h1 span{color:var(--accent)}.iconButton,.more,.modalClose{border:0;background:transparent;color:var(--ink);font-size:22px;width:48px;height:48px;border-radius:50%}.iconButton:hover{background:var(--line)}.remaining{color:var(--muted);font-size:14px;margin:2px 0 26px}.remaining strong{font:700 28px Fraunces;color:var(--ink)}.remaining span{padding:0 8px}section{margin:0 0 28px}section>h2{font-size:13px;text-transform:uppercase;letter-spacing:.1em;display:flex;align-items:center;gap:9px;margin:0 4px 10px}section>h2 span{font-size:20px}section>h2 small{margin-left:auto;color:var(--muted);font-size:12px}.rows{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--surface);box-shadow:0 3px 16px #17342d0a}.item{display:flex;min-height:58px;align-items:center;border-bottom:1px solid var(--line);position:relative;transition:opacity .18s,transform .18s,background .18s}.item:last-child{border:0}.item.pending{opacity:.6}.item.error{box-shadow:inset 4px 0 var(--accent)}.item.arrived{animation:arrival 2.5s ease-out}@keyframes arrival{0%{background:#ffdf8c}to{background:var(--surface)}}.item.checked .itemText strong{text-decoration:line-through;color:var(--muted)}.check{margin:0 7px 0 12px;width:29px;height:29px;border:2px solid #779088;border-radius:10px;background:transparent;color:#fff;font-weight:700}.checked .check{background:var(--brand);border-color:var(--brand)}.itemText{min-height:56px;flex:1;text-align:left;border:0;background:transparent;color:var(--ink);display:flex;align-items:center;gap:8px;padding:8px 0}.itemText strong{font-size:18px;font-weight:600}.itemText>span{font-size:12px;background:var(--bg);color:var(--muted);padding:3px 7px;border-radius:8px}.itemText small{display:block;color:var(--muted)}.itemText em{margin-left:auto;font-size:11px;color:var(--muted);font-style:normal}.more{font-size:25px;color:var(--muted)}.cartHead{width:100%;height:54px;border:0;background:transparent;color:var(--ink);display:flex;justify-content:space-between;align-items:center;font-size:16px;font-weight:700;padding:0 5px}.cartHead b{background:var(--line);padding:3px 8px;border-radius:20px}.finish{width:100%;height:54px;border:0;border-radius:15px;background:var(--brand);color:var(--bg);font-weight:700;font-size:16px;margin-top:12px;display:flex;justify-content:center;gap:15px;align-items:center}.composer{position:fixed;z-index:20;bottom:0;left:0;right:0;background:var(--bg);padding:8px max(16px,calc((100vw - 720px)/2 + 18px)) max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--line)}.composer form{height:62px;display:flex;align-items:center;background:var(--surface);border:2px solid var(--ink);border-radius:20px;padding:5px;box-shadow:var(--shadow)}.composer input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--ink);font-size:18px;padding:0 8px}.plus{width:45px;height:45px;border:0;border-radius:15px;background:var(--sun);color:#17342d;font-size:29px}.addButton{height:45px;border:0;border-radius:14px;padding:0 19px;background:var(--brand);color:var(--bg);font-weight:700}.addButton:disabled{opacity:.3}.chips{display:flex;overflow-x:auto;gap:7px;padding:2px 0 10px;scrollbar-width:none}.chips button{white-space:nowrap;border:1px solid var(--line);background:var(--surface);color:var(--ink);height:38px;border-radius:20px;padding:0 14px;font-weight:600}.autocomplete{position:absolute;bottom:calc(100% + 8px);left:max(16px,calc((100vw - 720px)/2 + 18px));right:max(16px,calc((100vw - 720px)/2 + 18px));background:var(--surface);border:1px solid var(--line);border-radius:17px;overflow:hidden;box-shadow:var(--shadow)}.autocomplete button{display:flex;width:100%;justify-content:space-between;align-items:center;height:48px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);padding:0 16px}.toast{position:fixed;z-index:50;bottom:105px;left:50%;transform:translate(-50%);width:min(calc(100% - 32px),600px);min-height:54px;border-radius:15px;background:#17211f;color:#fff;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between;padding:9px 12px 9px 18px}.toast button{color:var(--sun);border:0;background:transparent;font-weight:700;height:40px}.offline{position:fixed;z-index:30;top:max(12px,env(safe-area-inset-top));left:50%;transform:translate(-50%);background:#5b3820;color:#fff;border-radius:22px;padding:9px 14px;font-size:13px}.syncError{display:flex;align-items:center;gap:8px;margin-bottom:16px;padding:10px 12px;border-radius:14px;background:#f5d6cf;color:#61271b}.syncError span{flex:1}.syncError button{border:0;background:transparent;color:inherit;font-weight:700}.summary{width:100%;border:0;background:#dce9df;color:#17342d;border-radius:15px;padding:12px 15px;margin-bottom:20px;text-align:left;display:flex;justify-content:space-between}.empty{text-align:center;padding:17vh 0;color:var(--muted)}.empty div{width:82px;height:82px;border-radius:30px;background:#dbe7de;color:#245244;font-size:40px;display:grid;place-items:center;margin:auto}.empty h2{font:700 29px Fraunces;color:var(--ink);margin-bottom:4px}.empty p{margin-top:0}.scrim{position:fixed;z-index:100;inset:0;background:#071612aa;display:flex;align-items:flex-end;justify-content:center}.modal{width:min(100%,560px);max-height:92dvh;overflow:auto;background:var(--surface);border-radius:26px 26px 0 0;padding:26px 24px max(28px,env(safe-area-inset-bottom));box-shadow:var(--shadow)}.modal h2{font:700 27px Fraunces;margin:0 0 8px}.modal p{color:var(--muted);line-height:1.5}.modal label{display:block;font-size:13px;font-weight:700;margin-top:17px}.modal input,.modal textarea,.modal select{display:block;width:100%;margin-top:7px;border:1px solid var(--line);border-radius:13px;background:var(--bg);color:var(--ink);min-height:49px;padding:11px;font-size:16px}.modal textarea{height:90px;resize:vertical}.primary,.ghost{border:0;border-radius:14px;min-height:50px;font-weight:700;padding:0 20px}.primary{background:var(--brand);color:var(--bg)}.ghost{background:transparent;color:var(--muted)}.nameModal{text-align:center;padding-top:32px}.nameModal .wave{font-size:40px}.nameModal input{margin:25px 0 12px}.nameModal .primary,.nameModal .ghost{width:100%;margin-top:5px}.split{display:grid;grid-template-columns:1fr 1fr;gap:12px}.actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}.modalClose{float:right}.settings h3{margin:28px 0 0}.muted{font-size:13px;margin-top:4px!important}.order{border:1px solid var(--line);border-radius:15px;overflow:hidden}.order div{height:49px;display:flex;align-items:center;border-bottom:1px solid var(--line);padding-left:13px}.order div:last-child{border:0}.order span{flex:1}.order button{width:43px;height:100%;border:0;border-left:1px solid var(--line);background:transparent;color:var(--ink)}button{cursor:pointer;-webkit-tap-highlight-color:transparent}@media(min-width:700px){.scrim{align-items:center}.modal{border-radius:26px}.app{padding-left:30px;padding-right:30px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
