:root{--espresso:#2b1a12;--roast:#4a2f22;--caramel:#c8793b;--caramel-dark:#a85f26;--crema:#f4ead8;--paper:#f7f1e8;--card:#fff;--ink:#2b1a12;--muted:#7d6a5e;--line:#e7dccd;--green:#2f7d4f;--green-bg:#e4f3ea;--red:#b3412e;--red-bg:#fbe8e4;--radius:16px;--tabbar-h:64px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#17100c;--card:#241913;--ink:#f4ead8;--muted:#b3a293;--line:#3a2a20;--green:#7fd1a0;--green-bg:#1d3326;--red:#f0907d;--red-bg:#3a1f1a}}*,:before,:after{box-sizing:border-box}html,body{background:var(--paper);overscroll-behavior-y:none;min-height:100%;margin:0}body.no-scroll{overflow:hidden}button,input,textarea{font:inherit;color:inherit}input,textarea{font-size:16px}button{cursor:pointer;touch-action:manipulation}h1,h2,h3,p{margin:0}.splash{background:var(--espresso);min-height:100dvh}.app{min-height:100dvh;padding-bottom:calc(var(--tabbar-h) + var(--safe-bottom) + 16px)}.topbar{z-index:10;padding:calc(var(--safe-top) + 10px) 16px 10px;background:var(--espresso);color:var(--crema);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.brand{letter-spacing:-.02em;align-items:center;gap:10px;font-size:20px;font-weight:700;display:flex}.brand img{border-radius:8px}.avatar{border:2px solid var(--caramel);background:var(--roast);width:36px;height:36px;color:var(--crema);border-radius:50%;font-weight:700}.content{max-width:640px;margin:0 auto;padding:20px 16px}.page-title{letter-spacing:-.02em;margin-bottom:18px;font-size:26px;line-height:1.2}.tabbar{z-index:20;height:calc(var(--tabbar-h) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:color-mix(in srgb, var(--card) 92%, transparent);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid;position:fixed;inset:auto 0 0}.tabbar button{color:var(--muted);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:12px;font-weight:600;display:flex;position:relative}.tabbar button[aria-current=page]{color:var(--caramel)}.tab-badge{background:var(--red);color:#fff;border-radius:10px;min-width:20px;height:20px;padding:0 6px;font-size:12px;line-height:20px;position:absolute;top:8px;left:calc(50% + 8px)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}.btn{border:1px solid var(--line);background:var(--card);border-radius:12px;justify-content:center;align-items:center;min-height:44px;padding:0 16px;font-weight:600;display:inline-flex}.btn:disabled{opacity:.5;cursor:default}.btn-primary{border-color:var(--caramel);background:var(--caramel);color:#fff}.btn-primary:not(:disabled):active{background:var(--caramel-dark)}.btn-quiet{color:var(--red);background:0 0;border-color:#0000}.btn-block{width:100%}.icon-btn{width:36px;height:36px;color:inherit;background:0 0;border:0;border-radius:50%;font-size:16px}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field>span{color:var(--muted);font-size:13px;font-weight:600}.field input,.field textarea{border:1px solid var(--line);background:var(--card);resize:vertical;border-radius:12px;outline:none;width:100%;padding:11px 12px}.field input:focus,.field textarea:focus{border-color:var(--caramel);box-shadow:0 0 0 3px color-mix(in srgb, var(--caramel) 25%, transparent)}.segmented{background:color-mix(in srgb, var(--line) 70%, transparent);border-radius:12px;padding:3px;display:flex}.segmented button{min-height:36px;color:var(--muted);background:0 0;border:0;border-radius:9px;flex:1;font-size:14px;font-weight:600}.segmented button[aria-selected=true],.segmented button[aria-checked=true]{background:var(--card);color:var(--ink);box-shadow:0 1px 3px #0000001f}.msg{border-radius:10px;padding:10px 12px;font-size:14px}.msg-error{background:var(--red-bg);color:var(--red)}.msg-ok{background:var(--green-bg);color:var(--green)}.muted{color:var(--muted)}.stack{flex-direction:column;gap:14px;display:flex}.auth{min-height:100dvh;padding:calc(var(--safe-top) + 24px) 16px calc(var(--safe-bottom) + 24px);background:linear-gradient(180deg, var(--espresso) 0 42%, var(--paper) 42%);flex-direction:column;justify-content:center;gap:24px;display:flex}.auth-brand{text-align:center;color:var(--crema)}.auth-brand img{border-radius:20px;box-shadow:0 8px 24px #00000059}.auth-brand h1{letter-spacing:-.03em;margin-top:12px;font-size:34px}.auth-brand p{opacity:.8}.auth-card{flex-direction:column;gap:14px;width:100%;max-width:400px;margin:0 auto;padding:18px;display:flex;box-shadow:0 10px 30px #2b1a121f}.auth-title{margin-bottom:4px;font-size:20px}.password-wrap{position:relative}.field .password-wrap input{padding-right:64px}.password-toggle{min-height:34px;color:var(--caramel);background:0 0;border:0;border-radius:8px;padding:0 10px;font-size:14px;font-weight:600;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.account-section{border-top:1px solid var(--line);padding-top:14px}.link-btn{min-height:36px;color:var(--caramel);background:0 0;border:0;align-self:center;font-size:14px;font-weight:600}.ingredient-list{margin:0;padding:0;list-style:none;overflow:hidden}.ingredient{align-items:center;gap:8px;padding-right:10px;display:flex}.ingredient+.ingredient{border-top:1px solid var(--line)}.ingredient[data-selected=true]{background:color-mix(in srgb, var(--caramel) 9%, var(--card))}.ingredient-toggle{text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:12px;min-width:0;min-height:56px;padding:8px 4px 8px 14px;display:flex}.ingredient-name{flex-direction:column;font-weight:600;line-height:1.25;display:flex}.ingredient-name small{color:var(--muted);font-size:13px;font-weight:500}.tick{border:2px solid var(--line);background:var(--card);flex-shrink:0;width:22px;height:22px}.tick-one{border-radius:50%}.tick-many{border-radius:6px}[aria-checked=true]>.tick{border-color:var(--caramel);background:var(--caramel);box-shadow:inset 0 0 0 3px var(--card)}[aria-checked=true]>.tick-many{background:var(--caramel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px no-repeat;box-shadow:none}.segmented-sm{flex-shrink:0}.segmented-sm button{min-height:34px;padding:0 12px;font-size:13px}.ingredient .stepper{flex-shrink:0}.ingredient .stepper button{width:38px;height:38px}.ingredient .stepper output{min-width:62px}.stepper button:disabled{opacity:.3}.stepper output small{color:var(--muted);font-size:12px;font-weight:500}.summary{border-color:var(--caramel);flex-direction:column;gap:4px;padding:12px 14px;display:flex}.summary-title{font-size:16px;font-weight:700}.summary-line,.add-ins dd{font-size:14px}.summary-line span{color:var(--muted);margin-right:4px;font-weight:600}.order-form{flex-direction:column;gap:22px;display:flex}.section-title{margin-bottom:10px;font-size:15px;font-weight:700}.section-title small{color:var(--muted);font-weight:500}.row-2{grid-template-columns:1fr auto;align-items:end;gap:12px;display:grid}.stepper{border:1px solid var(--line);background:var(--card);border-radius:12px;align-items:center;display:flex;overflow:hidden}.stepper button{background:0 0;border:0;width:44px;height:44px;font-size:20px}.stepper output{text-align:center;min-width:28px;font-weight:700}.form-actions{gap:10px;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:16px;display:flex}.toolbar .segmented{flex:260px}.toggle{color:var(--muted);align-items:center;gap:8px;font-size:14px;font-weight:600;display:inline-flex}.toggle input{width:18px;height:18px;accent-color:var(--caramel)}.order-list{flex-direction:column;gap:12px;display:flex}.order-card{flex-direction:column;gap:10px;padding:14px 16px;display:flex}.order-card.status-active{border-left:4px solid var(--caramel)}.order-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.order-head h3{letter-spacing:-.01em;font-size:18px}.qty{color:var(--caramel);margin-right:6px}.order-for{color:var(--muted);font-size:14px}.badge{text-transform:capitalize;border-radius:999px;flex-shrink:0;padding:3px 9px;font-size:12px;font-weight:700}.badge-active{background:color-mix(in srgb, var(--caramel) 18%, transparent);color:var(--caramel-dark)}.badge-fulfilled{background:var(--green-bg);color:var(--green)}.badge-canceled{background:var(--red-bg);color:var(--red)}.add-ins{gap:4px;margin:0;display:grid}.add-ins div{grid-template-columns:72px 1fr;gap:8px;display:grid}.add-ins dt{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding-top:2px;font-size:12px;font-weight:700}.add-ins dd{margin:0}.order-notes{font-style:italic}.order-meta{color:var(--muted);font-size:12px}.order-actions{justify-content:flex-end;gap:8px;display:flex}.empty{text-align:center;color:var(--muted);padding:40px 0}.sheet-backdrop{z-index:50;padding-top:calc(var(--safe-top) + 12px);background:#00000073;justify-content:center;align-items:flex-end;animation:.15s ease-out fade;display:flex;position:fixed;inset:0}.sheet{background:var(--paper);border-radius:20px 20px 0 0;flex-direction:column;width:100%;max-width:640px;max-height:100%;animation:.22s ease-out slide-up;display:flex;overflow:hidden}.sheet-head{flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 12px 8px 18px;display:flex}.sheet-head h2{font-size:18px}.sheet-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;padding:6px 16px calc(var(--safe-bottom) + 20px);flex:auto;overflow-y:auto}@keyframes fade{0%{opacity:0}}@keyframes slide-up{0%{transform:translateY(100%)}}.install-hint{background:color-mix(in srgb, var(--caramel) 16%, var(--card));border-radius:12px;align-items:center;gap:8px;width:calc(100% - 32px);max-width:640px;margin:12px auto 0;padding:10px 8px 10px 14px;font-size:14px;display:flex}.install-hint p{flex:1}.share-icon{vertical-align:-3px}.toast{left:50%;bottom:calc(var(--tabbar-h) + var(--safe-bottom) + 14px);z-index:60;background:var(--espresso);max-width:calc(100% - 32px);color:var(--crema);border-radius:999px;padding:10px 16px;font-size:14px;font-weight:600;animation:.15s ease-out fade;position:fixed;transform:translate(-50%);box-shadow:0 6px 20px #00000040}
