:root{--bean:#2b1a12;--roast:#4a3326;--cream:#f7efe2;--foam:#fffaf1;--line:#e4d6c2;--teal:#1f8a8a;--teal-deep:#146767;--teal-ink:#fff;--caramel:#c98a3a;--good:#2f8f4e;--bad:#c1452c;--warn:#b7791f;--shadow:0 10px 30px #2b1a121f;--display:"Fredoka", "Trebuchet MS", sans-serif;--body:"Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", sans-serif;--radius:18px;--tap:48px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bean:#f3eadc;--roast:#cbbba6;--cream:#15100c;--foam:#211812;--line:#3a2c22;--teal:#2aa8a8;--teal-deep:#1d8585;--teal-ink:#0e1a1a;--caramel:#e0a052;--shadow:0 10px 30px #00000073}}:root[data-theme=dark]{--bean:#f3eadc;--roast:#cbbba6;--cream:#15100c;--foam:#211812;--line:#3a2c22;--teal:#2aa8a8;--teal-deep:#1d8585;--teal-ink:#0e1a1a;--caramel:#e0a052;--shadow:0 10px 30px #00000073}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--cream);color:var(--bean);font-family:var(--body);min-height:100dvh;margin:0;font-size:16px;line-height:1.45}h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0;font-weight:600;line-height:1.1}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--teal-deep)}.muted{color:var(--roast)}.num{font-variant-numeric:tabular-nums}.sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:3px solid var(--caramel);outline-offset:2px}.wrap{max-width:600px;padding:0 16px calc(96px + env(safe-area-inset-bottom));margin:0 auto}.wrap.wide{max-width:1200px;padding-bottom:32px}.hero{background:var(--teal);color:var(--teal-ink);padding:calc(18px + env(safe-area-inset-top)) 16px 22px;border-radius:0 0 28px 28px;position:relative;overflow:hidden}.hero:after{content:"";background:repeating-conic-gradient(from 0deg, #ffffff12 0 6deg, transparent 6deg 12deg);pointer-events:none;height:180%;position:absolute;inset:-40% -20% auto}.hero>*{position:relative}.hero-inner{gap:6px;max-width:600px;margin:0 auto;display:grid}.hero .eyebrow{letter-spacing:.08em;text-transform:uppercase;opacity:.9;font-size:13px}.hero h1{font-size:30px}.hero .tag{opacity:.95;max-width:34ch;font-size:15px}.where{background:var(--foam);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);gap:4px;margin:-16px 0 0;padding:14px 16px;display:grid;position:relative}.where .label{letter-spacing:.08em;text-transform:uppercase;color:var(--teal-deep);font-size:12px;font-weight:700}.where .big{font-family:var(--display);font-size:20px}.where .next{color:var(--roast);font-size:14px}.banner{border-radius:14px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:15px;display:flex}.banner.pause{background:color-mix(in srgb, var(--warn) 16%, var(--foam));border:1px solid color-mix(in srgb, var(--warn) 50%, var(--line))}.banner.demo{background:color-mix(in srgb, var(--teal) 12%, var(--foam));border:1px dashed var(--teal);color:var(--bean)}.banner.error{background:color-mix(in srgb, var(--bad) 12%, var(--foam));border:1px solid var(--bad)}.banner.ok{background:color-mix(in srgb, var(--good) 14%, var(--foam));border:1px solid var(--good)}.chips{z-index:5;background:linear-gradient(var(--cream) 80%, transparent);scrollbar-width:none;gap:8px;margin:0 -16px;padding:12px 16px;display:flex;position:sticky;top:0;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{border:1px solid var(--line);background:var(--foam);color:var(--bean);border-radius:999px;flex:none;min-height:38px;padding:8px 14px;font-size:14px;font-weight:700}.chip.on{background:var(--bean);color:var(--cream);border-color:var(--bean)}.section{margin-top:8px}.section h2{padding:14px 0 8px;font-size:22px}.items{gap:10px;display:grid}.item{text-align:left;background:var(--foam);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:1fr auto;align-items:center;gap:12px;width:100%;min-height:72px;padding:14px 16px;display:grid}.item:active{transform:scale(.99)}.item .name{font-family:var(--display);font-size:18px;font-weight:600}.item .desc{color:var(--roast);margin-top:2px;font-size:14px}.item .price{white-space:nowrap;font-weight:700}.item .price small{color:var(--roast);font-weight:400}.item.out{opacity:.55}.item.out .price{color:var(--bad);font-weight:700}.item img{object-fit:cover;border-radius:12px;width:64px;height:64px}.item.has-img{grid-template-columns:64px 1fr auto}.scrim{z-index:20;background:#2b1a1273;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--foam);width:100%;max-width:600px;max-height:92dvh;padding:8px 16px calc(16px + env(safe-area-inset-bottom));box-shadow:var(--shadow);border-radius:24px 24px 0 0;animation:.22s ease-out up;overflow:auto}@keyframes up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.sheet{animation:none}}.sheet .grab{background:var(--line);border-radius:3px;width:44px;height:5px;margin:6px auto 12px}.sheet h2{font-size:24px}.sheet .desc{color:var(--roast);margin-top:4px}.group{margin-top:18px}.group h3{letter-spacing:.04em;text-transform:uppercase;color:var(--roast);justify-content:space-between;font-size:15px;display:flex}.group h3 .rule{text-transform:none;letter-spacing:0;font-weight:400;font-family:var(--body);font-size:13px}.opts{gap:6px;margin-top:8px;display:grid}.opt{border:1.5px solid var(--line);background:var(--cream);min-height:var(--tap);text-align:left;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:10px 12px;display:flex}.opt.on{border-color:var(--teal);background:color-mix(in srgb, var(--teal) 10%, var(--cream))}.opt .mark{border:2px solid var(--line);border-radius:50%;flex:none;place-items:center;width:22px;height:22px;display:grid}.opt.on .mark{background:var(--teal);border-color:var(--teal);color:var(--teal-ink);font-size:14px}.opt.square .mark{border-radius:6px}.opt .n{flex:1}.opt .p{color:var(--roast);white-space:nowrap;font-size:14px}.opt.out{opacity:.5}.field{gap:6px;margin-top:14px;display:grid}.field label{font-size:14px;font-weight:700}.field input,.field textarea,.field select{border:1.5px solid var(--line);background:var(--cream);width:100%;min-height:var(--tap);border-radius:12px;padding:12px 14px}.field textarea{resize:vertical;min-height:72px}.row2{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (max-width:380px){.row2{grid-template-columns:1fr}}.qty{border:1.5px solid var(--line);border-radius:999px;align-items:center;display:inline-flex;overflow:hidden}.qty button{width:var(--tap);height:var(--tap);background:var(--cream);border:0;font-size:22px}.qty span{text-align:center;min-width:36px;font-weight:700}.btn{min-height:52px;font-family:var(--display);background:var(--teal);color:var(--teal-ink);border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;padding:0 20px;font-size:18px;font-weight:600;display:inline-flex}.btn:disabled{opacity:.5;cursor:default}.btn.ghost{border:1.5px solid var(--line);color:var(--bean);background:0 0}.btn.dark{background:var(--bean);color:var(--cream)}.btn.big{border-radius:18px;min-height:64px;font-size:22px}.btn.danger{background:var(--bad);color:#fff}.btn.sm{border-radius:10px;width:auto;min-height:40px;padding:0 14px;font-size:15px}.sheet-actions{background:var(--foam);grid-template-columns:auto 1fr;align-items:center;gap:12px;margin-top:20px;padding-top:10px;display:grid;position:sticky;bottom:0}.cartbar{z-index:10;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(transparent, var(--cream) 30%);position:fixed;bottom:0;left:0;right:0}.cartbar .btn{max-width:600px;box-shadow:var(--shadow);justify-content:space-between;margin:0 auto;display:flex}.cartbar .count{background:var(--teal-ink);color:var(--teal);border-radius:999px;place-items:center;min-width:28px;height:28px;font-size:15px;display:grid}.card{background:var(--foam);border:1px solid var(--line);border-radius:var(--radius);gap:12px;padding:16px;display:grid}.card h2{font-size:20px}.lines{gap:10px;display:grid}.line{grid-template-columns:28px 1fr auto;align-items:start;gap:10px;display:grid}.line .q{color:var(--teal-deep);font-weight:700}.line .mods{color:var(--roast);font-size:14px}.line .edit{gap:10px;margin-top:4px;font-size:14px;display:flex}.line .edit button{color:var(--teal-deep);background:0 0;border:0;padding:0;text-decoration:underline}.totals{border-top:1px dashed var(--line);gap:6px;padding-top:10px;display:grid}.totals div{justify-content:space-between;display:flex}.totals .grand{font-family:var(--display);font-size:22px;font-weight:600}.tips{grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:8px;display:grid}.tip{border:1.5px solid var(--line);background:var(--cream);border-radius:12px;place-items:center;min-height:56px;padding:6px;font-weight:700;line-height:1.1;display:grid}.tip small{color:var(--roast);font-size:12px;font-weight:400}.tip.on{border-color:var(--teal);background:color-mix(in srgb, var(--teal) 12%, var(--cream))}.seg{grid-template-columns:1fr 1fr;gap:8px;display:grid}.seg button{border:1.5px solid var(--line);background:var(--cream);min-height:var(--tap);border-radius:12px;font-weight:700}.seg button.on{border-color:var(--teal);background:color-mix(in srgb, var(--teal) 12%, var(--cream))}#card-container{min-height:48px}.fine{color:var(--roast);font-size:13px}.status-hero{text-align:center;justify-items:center;gap:8px;padding:26px 0 10px;display:grid}.status-hero .num{font-family:var(--display);color:var(--teal-deep);font-size:64px;line-height:1}.status-hero h1{font-size:26px}.steps{grid-template-columns:repeat(4,1fr);gap:6px;margin:8px 0;display:grid}.step{text-align:center;color:var(--roast);gap:6px;font-size:12px;display:grid}.step i{background:var(--line);border-radius:3px;height:6px;display:block}.step.done i{background:var(--teal)}.step.now i{background:var(--caramel)}.step.now{color:var(--bean);font-weight:700}.pulse{animation:1.8s ease-in-out infinite pulse}@keyframes pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--teal) 45%, transparent)}60%{box-shadow:0 0 0 16px #0000}}@media (prefers-reduced-motion:reduce){.pulse{animation:none}}.truck-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.truck-top h1{font-size:24px}.truck-top nav{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pill{border:1.5px solid var(--line);background:var(--foam);border-radius:999px;padding:6px 12px;font-size:14px;font-weight:700}.pill.live{border-color:var(--good);color:var(--good)}.pill.demo{border-color:var(--teal);color:var(--teal-deep);border-style:dashed}.pill.paused{border-color:var(--warn);color:var(--warn)}.cols{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start;gap:14px;display:grid}.col h2{letter-spacing:.06em;text-transform:uppercase;color:var(--roast);justify-content:space-between;padding:0 2px 8px;font-size:16px;display:flex}.col h2 b{color:var(--bean)}.tickets{gap:10px;display:grid}.ticket{background:var(--foam);border:1px solid var(--line);border-left:6px solid var(--line);border-radius:14px;gap:8px;padding:12px 14px;display:grid}.ticket.placed{border-left-color:var(--line)}.ticket.arrived{border-left-color:var(--caramel)}.ticket.making{border-left-color:var(--teal)}.ticket.ready{border-left-color:var(--good)}.ticket .head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.ticket .no{font-family:var(--display);color:var(--teal-deep);font-size:26px}.ticket .who{font-weight:700}.ticket .when{color:var(--roast);font-size:13px}.ticket ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.ticket li{grid-template-columns:24px 1fr;gap:6px;display:grid}.ticket li b{color:var(--teal-deep)}.ticket li .m{color:var(--roast);font-size:13px}.ticket .note{background:color-mix(in srgb, var(--caramel) 15%, var(--foam));border-radius:8px;padding:6px 8px;font-size:14px}.ticket .acts{flex-wrap:wrap;gap:8px;display:flex}.ticket .acts .btn{flex:1}.ticket .acts .btn.ghost{flex:none}.ticket .pay{color:var(--roast);justify-content:space-between;font-size:13px;display:flex}.empty{color:var(--roast);text-align:center;border:1.5px dashed var(--line);border-radius:14px;padding:18px;font-size:14px}.pin{text-align:center;gap:14px;max-width:360px;margin:10vh auto;display:grid}.pin input{letter-spacing:.4em;text-align:center;font-size:32px;font-family:var(--display)}.table{border-collapse:collapse;width:100%;font-size:15px}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 8px}.table th{letter-spacing:.06em;text-transform:uppercase;color:var(--roast);font-size:12px}.toggle-list{gap:8px;display:grid}.toggle-list form{display:contents}.toggle-list .opt{padding:8px 12px}.grid2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:16px;display:grid}
