@font-face{font-family:Anton;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6ced06489fd81a3f-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Anton;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/aa5f74293546f6d0-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Anton;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/62c97acc3aa63787-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Anton Fallback;src:local("Arial");ascent-override:129.70%;descent-override:36.29%;line-gap-override:0.00%;size-adjust:90.69%}.__className_c8e612{font-family:Anton,Anton Fallback;font-weight:400;font-style:normal}.__variable_c8e612{--font-display:"Anton","Anton Fallback"}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b06b356f834173cc-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(/_next/static/media/23d669af23d19c95-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1a4aa50920b5315c-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Archivo Fallback;src:local("Arial");ascent-override:88.96%;descent-override:21.28%;line-gap-override:0.00%;size-adjust:98.70%}.__className_fab2aa{font-family:Archivo,Archivo Fallback;font-style:normal}.__variable_fab2aa{--font-body:"Archivo","Archivo Fallback"}:root{--blue:#1b29eb;--blue-deep:#1420b8;--ink:#16161b;--paper:#f3f1ec;--line:#dedad2;--muted:#6d6b66;--white:#ffffff;--danger:#c4321f}*{box-sizing:border-box}body,html{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body),system-ui,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}.page{max-width:440px;margin:0 auto;padding:20px 16px 48px;min-height:100dvh}.wordmark{display:inline-flex;flex-direction:column;align-items:center;line-height:1;color:inherit}.wordmark b{font-family:var(--font-display);font-weight:400;font-size:34px;letter-spacing:.01em}.wordmark small{font-size:8.5px;letter-spacing:.32em;margin-top:3px;opacity:.85}.topbar{display:flex;justify-content:space-between;align-items:center;color:var(--blue);margin-bottom:28px}.topbar .wordmark{align-items:flex-start}.topbar .wordmark b{font-size:28px}.topbar a{color:var(--muted);font-size:14px;text-decoration:none}h1{font-family:var(--font-display);font-weight:400;font-size:44px;line-height:1;margin:0 0 12px}.lede{font-size:17px;line-height:1.45;color:var(--muted);margin:0 0 28px}.field{display:block;margin-bottom:16px}.field span{display:block;font-size:14px;font-weight:600;margin-bottom:6px}.field input{width:100%;padding:14px;border:1.5px solid var(--line);border-radius:12px;background:var(--white);font-size:17px;color:var(--ink)}.field input:focus{outline:none;border-color:var(--blue)}.btn{display:flex;width:100%;justify-content:center;align-items:center;gap:10px;padding:15px 18px;border-radius:12px;border:0;background:var(--blue);color:var(--white);font-weight:600;font-size:16px;text-decoration:none;cursor:pointer;transition:transform .12s ease,background .15s ease}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:default}.btn.dark{background:var(--ink)}.btn.light{background:var(--white);color:var(--ink);border:1.5px solid var(--line)}.btn.gold{background:#f2b632;color:var(--ink)}.error{color:var(--danger);font-size:14px;margin:-4px 0 14px}.fineprint{font-size:13px;color:var(--muted);line-height:1.5;margin-top:18px}.stampcard{position:relative;background:var(--blue);color:var(--white);border-radius:22px;padding:20px 20px 22px;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 18px 40px -18px rgba(27,41,235,.7);overflow:hidden}.stampcard-head{display:flex;justify-content:space-between;margin-bottom:22px}.stampcard-head,.stampcard-head .wordmark{align-items:flex-start}.stampcard-count{text-align:right;font-size:12px;opacity:.9}.stampcard-count strong{display:block;font-family:var(--font-display);font-weight:400;font-size:30px;line-height:1}.stamps{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.stamp{width:calc((100% - 40px) / 5);aspect-ratio:1;border-radius:50%;border:1.5px dashed rgba(255,255,255,.55);display:grid;place-items:center;font-size:11px;font-weight:700}.stamp svg{width:56%;height:56%}.stamp.filled{border:0;background:var(--white);color:var(--blue)}.stamp.free{border:1.5px solid #f2b632;color:#f2b632;text-transform:lowercase}.stamp.free.ready{background:#f2b632;color:var(--ink)}.stamp.fresh{animation:thump .55s cubic-bezier(.2,1.6,.4,1)}@keyframes thump{0%{transform:scale(1.8) rotate(-14deg);opacity:0}60%{opacity:1}to{transform:scale(1) rotate(0)}}.stampcard-foot{display:flex;justify-content:space-between;margin-top:20px;font-size:13px}.stampcard-foot span:first-child{font-weight:600}.stampcard-foot span:last-child{opacity:.75}.status{text-align:center;font-size:17px;margin:22px 0 18px}.status strong{color:var(--blue)}.qr-panel{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:18px;text-align:center;margin-bottom:16px}.qr-panel img{width:190px;height:190px;display:block;margin:0 auto 8px}.qr-panel p{margin:0;font-size:14px;color:var(--muted)}.qr-panel code{font-size:13px;letter-spacing:.12em;color:var(--ink)}.actions{display:grid;grid-gap:10px;gap:10px}details.howto{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-size:15px}details.howto summary{font-weight:600;cursor:pointer}details.howto ol{margin:10px 0 0;padding-left:20px;line-height:1.6;color:var(--muted)}.staff{background:var(--ink);color:var(--white);min-height:100dvh}.staff .page{max-width:520px}.staff .topbar{color:var(--white)}.staff .field input{background:#24242b;border-color:#34343c;color:var(--white)}.pin-input{text-align:center;letter-spacing:.5em;font-size:26px!important}.scanner{border-radius:18px;overflow:hidden;background:#000;aspect-ratio:1;margin-bottom:14px}.scanner video{object-fit:cover}.lookup{display:flex;gap:8px}.lookup input{flex:1 1;padding:13px 14px;border-radius:12px;border:1.5px solid #34343c;background:#24242b;color:var(--white);font-size:16px}.lookup .btn{width:auto}.customer{background:#202027;border-radius:18px;padding:18px}.customer h2{margin:0 0 2px;font-size:22px}.customer .meta{color:#a4a3a0;font-size:14px}.customer .meta,.customer .stampcard{margin-bottom:16px}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--white);color:var(--ink);padding:12px 18px;border-radius:999px;font-weight:600;font-size:15px;box-shadow:0 10px 30px rgba(0,0,0,.35);max-width:calc(100% - 32px)}.toast.bad{background:#ffd9d2}.switch{display:block;width:100%;margin-top:12px;padding:12px;border:0;background:none;color:var(--blue);font-weight:600;font-size:15px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.counter-pick span{display:block;font-size:14px;color:#a4a3a0;margin-bottom:8px}.counter-pick div{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:8px;gap:8px}.counter-pick button{padding:12px 0;border-radius:12px;border:1.5px solid #34343c;background:#24242b;color:var(--white);font-size:18px;font-weight:700;cursor:pointer}.counter-pick button.picked{background:var(--white);color:var(--ink);border-color:var(--white)}.counter-pick button:disabled{opacity:.25;cursor:default}.demo{max-width:1300px;margin:0 auto;padding:40px 16px 64px}.demo-intro{max-width:620px;margin-bottom:36px}.demo-intro h1{color:var(--blue)}.demo-intro p{font-size:17px;line-height:1.5;color:var(--muted);margin:0 0 10px}.demo-intro .demo-note{color:var(--ink);border-left:3px solid #f2b632;padding-left:12px;font-size:15px}.demo-phones{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:28px;gap:28px;align-items:start}.demo-phones>section>h2{font-size:15px;font-weight:600;color:var(--muted);margin:0 0 10px 4px}.phone{position:relative;max-width:400px;border-radius:34px;border:8px solid var(--ink);background:var(--paper);overflow:hidden;box-shadow:0 30px 60px -30px rgba(22,22,27,.45)}.phone .page{min-height:0;padding-bottom:24px}.phone.staff .page{min-height:640px}.phone .toast{position:absolute;bottom:18px}.phone .owner{max-width:none}.owner-log li.fresh{animation:owner-fresh 1.6s ease-out}@keyframes owner-fresh{0%{background:#fff3cf}}@media (prefers-reduced-motion:reduce){.owner-log li.fresh{animation:none}}.demo-owner-note{font-size:13px;margin-top:10px}.demo-staff-note{color:#a4a3a0;font-size:13px;line-height:1.5;margin-top:18px}.phone.staff{background:var(--ink);min-height:0}.phone.staff .topbar{color:var(--white)}.logout{border:1px solid #34343c;background:none;color:#a4a3a0;border-radius:999px;padding:6px 12px;font-size:13px;cursor:pointer}.owner{max-width:560px}.owner-stats{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-bottom:16px}.owner-stats div{background:var(--blue);color:var(--white);border-radius:16px;padding:16px;font-size:14px}.owner-stats strong{display:block;font-family:var(--font-display);font-weight:400;font-size:40px;line-height:1;margin-bottom:4px}.owner-box{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:16px}.owner-box h2{margin:0 0 6px;font-size:19px}.owner-box>p{margin:0 0 14px;color:var(--muted);font-size:14px;line-height:1.5}.owner-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.owner .logout,.owner .lookup input{border-color:var(--line);color:var(--ink)}.owner .lookup input{background:var(--paper)}.owner-log{list-style:none;margin:0;padding:0;max-height:460px;overflow-y:auto}.owner-log li{display:flex;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.4}.owner-log .when{flex:0 0 96px;color:var(--muted)}.owner-ok{color:#1d7a3e;font-size:14px;margin:10px 0 0}.barista-list{list-style:none;margin:0 0 8px;padding:0}.barista{border-top:1px solid var(--line);padding:12px 0}.barista-line{display:flex;justify-content:space-between;align-items:center;gap:10px}.barista-line small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.barista-actions{display:flex;gap:6px}.barista .lookup{margin-top:10px}.owner .logout.danger{color:var(--danger)}.owner-empty{color:var(--muted);font-size:14px}.barista-add{border-top:1px solid var(--line);margin-top:8px;padding-top:14px}.barista-add h3{margin:0 0 12px;font-size:16px}.barista-add .field input{background:var(--paper)}.opening{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--blue);text-align:center}.opening .wordmark b{font-size:56px}.opening p{color:var(--muted);margin:0;animation:breathe 1.4s ease-in-out infinite}@keyframes breathe{50%{opacity:.4}}