@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--espresso-950:#181213;--espresso-900:#211a1b;--espresso-800:#2b2224;--espresso-700:#3d3536;--espresso-600:#574d4e;--coffee-700:#4f2a18;--coffee-600:#6b3b24;--coffee-500:#8a4d26;--caramel-400:#b5743c;--caramel-200:#ecd3b4;--gold-400:#e2b04a;--gold-100:#fbf0d6;--maroon-700:#6a1c28;--maroon-600:#7d2230;--cream-50:#fbf8f1;--cream-100:#f5efe4;--cream-200:#ebe2d3;--cream-300:#ddd1bf;--white:#fff;--ink:#2a1f1b;--ink-soft:#4d403a;--muted:#7d6e66;--line:#e6dccd;--line-strong:#d4c6b2;--green-600:#2f7a4e;--green-100:#e3f1e7;--red-600:#b3262f;--red-100:#f9e3e3;--blue-600:#2e5f8c;--blue-100:#e2edf6;--bg:var(--cream-50);--surface:var(--white);--surface-2:var(--cream-100);--font-display:"Fraunces Variable", Georgia, "Times New Roman", serif;--font-ui:"Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--radius-sm:8px;--radius:14px;--radius-lg:22px;--shadow-sm:0 1px 2px #2b22240f, 0 1px 1px #2b22240a;--shadow:0 4px 14px #2b222414, 0 1px 3px #2b22240f;--shadow-lg:0 18px 50px #18121338;--ripple:repeating-linear-gradient(180deg, var(--espresso-800) 0 9px, #352c2e 9px 11px, var(--espresso-800) 11px 14px);--focus:0 0 0 3px #e2b04a8c;--chart-1:#a8521c;--chart-2:#cf9a12;--chart-3:#2b6cb0;--chart-grid:#ece5da}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.5}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-weight:650;line-height:1.15}p{margin:0}a{color:var(--coffee-600)}button,input,select,textarea{font:inherit;color:inherit}img{max-width:100%;display:block}:focus-visible{box-shadow:var(--focus);outline:none}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.tabular{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.small{font-size:13px}.tiny{font-size:12px}.strong{font-weight:650}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.stack{flex-direction:column;gap:12px;display:flex}.stack.tight{gap:6px}.stack.loose{gap:20px}.grow{flex:1;min-width:0}.center{text-align:center}.nowrap{white-space:nowrap}.btn{--b-bg:var(--surface);--b-fg:var(--ink);--b-line:var(--line-strong);border:1px solid var(--b-line);background:var(--b-bg);min-height:42px;color:var(--b-fg);white-space:nowrap;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;line-height:1;text-decoration:none;transition:background-color .15s,border-color .15s,transform 50ms,box-shadow .15s;display:inline-flex}.btn:hover{background:color-mix(in srgb, var(--b-bg) 92%, var(--ink))}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{--b-bg:var(--coffee-600);--b-fg:var(--white);--b-line:var(--coffee-600)}.btn-primary:hover{background:var(--coffee-700)}.btn-dark{--b-bg:var(--espresso-800);--b-fg:var(--cream-50);--b-line:var(--espresso-800)}.btn-dark:hover{background:var(--espresso-950)}.btn-gold{--b-bg:var(--gold-400);--b-fg:var(--espresso-900);--b-line:var(--gold-400)}.btn-gold:hover{background:#d29c32}.btn-green{--b-bg:var(--green-600);--b-fg:var(--white);--b-line:var(--green-600)}.btn-green:hover{background:#256640}.btn-danger{--b-bg:var(--surface);--b-fg:var(--red-600);--b-line:#e7b8bb}.btn-danger.solid{--b-bg:var(--red-600);--b-fg:var(--white);--b-line:var(--red-600)}.btn-ghost{--b-bg:transparent;--b-line:transparent}.btn-ghost:hover{background:#2b22240f}.btn-sm{min-height:34px;padding:0 12px;font-size:13px}.btn-lg{min-height:52px;padding:0 22px;font-size:16px}.btn-block{width:100%}.btn-icon{width:40px;padding:0}.btn-icon.btn-sm{width:34px}.field{flex-direction:column;gap:6px;display:flex}.field>span,.label{color:var(--ink-soft);font-size:13px;font-weight:600}.field .hint{color:var(--muted);font-size:12px;font-weight:400}.input,.select,.textarea{background:var(--white);border:1px solid var(--line-strong);border-radius:var(--radius-sm);width:100%;min-height:44px;padding:10px 12px;transition:border-color .15s,box-shadow .15s}.textarea{resize:vertical;min-height:76px}.input:focus,.select:focus,.textarea:focus{border-color:var(--caramel-400);box-shadow:var(--focus);outline:none}.input-prefix{position:relative}.input-prefix>b{color:var(--muted);font-size:13px;font-weight:600;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.input-prefix>.input{padding-left:48px}.form-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;display:grid}.check{cursor:pointer;align-items:flex-start;gap:10px;font-size:14px;display:flex}.check input{width:18px;height:18px;accent-color:var(--coffee-600);flex:none;margin:2px 0 0}.switch{cursor:pointer;align-items:center;gap:10px;font-size:14px;font-weight:600;display:inline-flex;position:relative}.switch input{opacity:0;pointer-events:none;position:absolute}.switch .track{background:var(--cream-300);border-radius:999px;flex:none;width:44px;height:26px;transition:background .2s;position:relative}.switch .track:after{content:"";background:var(--white);width:20px;height:20px;box-shadow:var(--shadow-sm);border-radius:50%;transition:transform .2s;position:absolute;top:3px;left:3px}.switch input:checked+.track{background:var(--green-600)}.switch input:checked+.track:after{transform:translate(18px)}.switch input:focus-visible+.track{box-shadow:var(--focus)}.error-box{background:var(--red-100);color:#7d1a21;border-radius:var(--radius-sm);border:1px solid #efc4c6;padding:10px 12px;font-size:14px}.info-box{background:var(--gold-100);color:#6b4a0e;border-radius:var(--radius-sm);border:1px solid #f0dcaa;padding:10px 12px;font-size:14px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card-pad{padding:18px}.card-head{justify-content:space-between;align-items:center;gap:12px;padding:16px 18px 0;display:flex}.card-head h3{font-size:17px}.card-body{padding:16px 18px 18px}.divider{background:var(--line);border:0;height:1px;margin:4px 0}.badge{white-space:nowrap;background:var(--cream-100);height:24px;color:var(--ink-soft);border:1px solid var(--line);border-radius:999px;align-items:center;gap:5px;padding:0 9px;font-size:12px;font-weight:650;display:inline-flex}.badge:before{content:"";opacity:.8;background:currentColor;border-radius:50%;width:6px;height:6px}.badge.plain:before{display:none}.badge.gold{background:var(--gold-100);color:#7a520c;border-color:#f0dcaa}.badge.coffee{color:var(--coffee-600);background:#f3e5d8;border-color:#e6cdb6}.badge.green{background:var(--green-100);color:var(--green-600);border-color:#c6e2cf}.badge.red{background:var(--red-100);color:var(--red-600);border-color:#efc4c6}.badge.blue{background:var(--blue-100);color:var(--blue-600);border-color:#c8dbeb}.badge.muted{color:var(--muted)}.badge.dark{background:var(--espresso-800);color:var(--cream-50);border-color:var(--espresso-800)}.empty{text-align:center;color:var(--muted);padding:36px 16px}.empty .empty-art{margin-bottom:6px;font-size:34px}.empty h4{font-family:var(--font-ui);color:var(--ink-soft);margin-bottom:4px;font-size:15px}.spinner{border:3px solid var(--cream-300);border-top-color:var(--coffee-600);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}.page-loading{place-items:center;min-height:40vh;display:grid}@keyframes spin{to{transform:rotate(360deg)}}.overlay{z-index:50;background:#1812138c;justify-content:center;align-items:flex-end;animation:.18s ease-out fade;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:560px;max-height:92dvh;box-shadow:var(--shadow-lg);flex-direction:column;animation:.22s cubic-bezier(.2,.8,.3,1) rise;display:flex}.sheet-head{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:18px 18px 12px;display:flex}.sheet-head h2{font-size:21px}.sheet-body{overscroll-behavior:contain;flex:1;padding:16px 18px;overflow-y:auto}.sheet-foot{padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface);border-radius:0 0 var(--radius-lg) var(--radius-lg)}@media (width>=720px){.overlay{align-items:center;padding:24px}.sheet{border-radius:var(--radius-lg);max-height:88vh}.sheet.wide{max-width:760px}}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:.6;transform:translateY(24px)}}.toasts{z-index:80;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));pointer-events:none;flex-direction:column;gap:8px;width:min(440px,100vw - 32px);display:flex;position:fixed;transform:translate(-50%)}.toast{pointer-events:auto;background:var(--espresso-800);color:var(--cream-50);box-shadow:var(--shadow-lg);border-radius:12px;align-items:center;gap:10px;padding:12px 14px;font-size:14px;animation:.2s ease-out rise;display:flex}.toast.error{background:var(--red-600)}.toast.success{background:var(--green-600)}.brand{color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.brand img{flex:none;width:44px;height:44px}.brand-name{font-family:var(--font-display);font-size:18px;font-weight:700;line-height:1.1}.brand-sub{opacity:.75;font-size:12px}.cust-hero{background:var(--ripple);color:var(--cream-50);padding:18px 16px 64px;position:relative}.cust-hero.has-logo{padding-bottom:116px}@media (width>=720px){.cust-hero.has-logo{padding-bottom:64px}}.cust-hero-inner{max-width:1080px;margin:0 auto}.cust-hero .topline{justify-content:space-between;align-items:center;gap:12px;display:flex}.cust-hero h1{max-width:14ch;margin-top:26px;font-size:clamp(28px,6vw,44px)}.cust-hero h1 em{color:var(--gold-400);font-style:normal}.cust-hero p.lead{color:#d9cfc4;max-width:44ch;margin-top:8px}.cust-hero .hero-logo{filter:drop-shadow(0 10px 24px #00000059);width:88px;position:absolute;bottom:14px;right:16px}@media (width>=720px){.cust-hero .hero-logo{z-index:11;width:clamp(120px,18vw,168px);bottom:-46px;right:max(16px,50vw - 540px)}}.open-pill{background:#ffffff1a;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:7px;height:30px;padding:0 12px;font-size:13px;font-weight:650;display:inline-flex}.open-pill i{background:#67d08f;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #67d08f40}.open-pill.closed i{background:#e47b82;box-shadow:0 0 0 3px #e47b8240}.spot-chip{background:var(--gold-400);color:var(--espresso-900);border-radius:999px;align-items:center;gap:6px;margin-top:14px;padding:6px 12px;font-size:13px;font-weight:650;display:inline-flex}.cust-main{max-width:1080px;margin:0 auto;padding:0 16px 140px}.cust-footer{border-top:1px solid var(--line);text-align:center;flex-direction:column;align-items:center;gap:10px;margin-top:56px;padding-top:28px;display:flex}.cust-footer img{width:min(280px,75%);height:auto}.cust-footer p{color:var(--muted);font-size:12.5px}.cust-footer .staff-link{color:var(--muted);opacity:.7;margin-top:6px;font-size:11.5px;text-decoration:none}.cust-footer .staff-link:hover,.cust-footer .staff-link:focus-visible{opacity:1;text-decoration:underline}.closed-banner{color:#6c2a17;border-radius:var(--radius);background:#f8e9e1;border:1px solid #ecc9b9;align-items:flex-start;gap:12px;margin-top:20px;padding:14px 16px;display:flex}.recent-orders{gap:10px;margin-top:18px;padding-bottom:4px;display:flex;overflow-x:auto}.recent-order{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:inherit;box-shadow:var(--shadow-sm);flex:none;align-items:center;gap:10px;padding:10px 14px;text-decoration:none;display:flex}.recent-order b{font-family:var(--font-display);font-size:18px}.cat-tabs{z-index:10;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);scrollbar-width:none;border-bottom:1px solid var(--line);gap:8px;margin:18px -16px 0;padding:10px 16px;display:flex;position:sticky;top:0;overflow-x:auto}.cat-tabs::-webkit-scrollbar{display:none}.cat-tab{border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;border-radius:999px;flex:none;height:36px;padding:0 14px;font-size:14px;font-weight:600}.cat-tab.active{background:var(--espresso-800);color:var(--cream-50);border-color:var(--espresso-800)}.menu-section{margin-top:26px;scroll-margin-top:70px}.menu-section h2{margin-bottom:12px;font-size:24px}.menu-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;display:grid}@media (width<=400px){.menu-grid{grid-template-columns:1fr}}.menu-card{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:100%;box-shadow:var(--shadow-sm);cursor:pointer;align-items:center;gap:14px;padding:14px;transition:border-color .15s,box-shadow .15s,transform .1s;display:flex}.menu-card:hover{border-color:var(--caramel-400);box-shadow:var(--shadow)}.menu-card:active{transform:scale(.995)}.menu-card[disabled]{cursor:not-allowed;opacity:.6;box-shadow:none}.menu-card[disabled]:hover{border-color:var(--line)}.item-art{background:radial-gradient(circle at 35% 30%, var(--gold-100), var(--caramel-200));border-radius:16px;flex:none;place-items:center;width:64px;height:64px;font-size:32px;display:grid}.menu-card h3{font-family:var(--font-ui);font-size:15.5px;font-weight:650}.menu-card p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:13px;display:-webkit-box;overflow:hidden}.menu-card .price{color:var(--coffee-600);margin-top:6px;font-size:14px;font-weight:700}.add-dot{background:var(--coffee-600);width:36px;height:36px;color:var(--white);border-radius:50%;flex:none;place-items:center;font-size:22px;line-height:1;display:grid}.in-cart{background:var(--gold-400);min-width:26px;height:26px;color:var(--espresso-900);border-radius:999px;flex:none;place-items:center;padding:0 6px;font-size:13px;font-weight:700;display:grid}.opt-group+.opt-group{margin-top:20px}.opt-group-head{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.opt-group-head h4{font-family:var(--font-ui);font-size:15px;font-weight:650}.opt-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}.opt{border:1.5px solid var(--line-strong);background:var(--surface);cursor:pointer;text-align:left;border-radius:12px;flex-direction:column;justify-content:center;gap:1px;min-height:52px;padding:10px 12px;transition:border-color .12s,background .12s;display:flex;position:relative}.opt:hover{border-color:var(--caramel-400)}.opt.on{border-color:var(--coffee-600);box-shadow:inset 0 0 0 1px var(--coffee-600);background:#f6ebe1}.opt b{font-size:14px;font-weight:600}.opt small{color:var(--muted);font-size:12px}.opt.on small{color:var(--coffee-600)}.size-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}.opt.size-card{text-align:center;align-items:center;gap:2px;padding:12px 8px}.size-cup{color:var(--coffee-600);margin-bottom:4px}.size-volume{color:var(--coffee-700);font-size:12px;font-weight:600}.choice-prices{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;padding:10px 12px}.choice-prices-head{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.choice-price-row{grid-template-columns:minmax(0,1fr) 150px 110px 120px;align-items:center;gap:8px;padding:4px 0;display:grid}.choice-price-row+.choice-price-row{border-top:1px dashed var(--line)}.choice-name{overflow-wrap:anywhere;align-items:center;gap:8px;font-size:14px;display:flex}.choice-name input{accent-color:var(--coffee-600);flex:none}.choice-price-row.off .choice-name>span,.choice-price-row.off .choice-total{opacity:.5}.new-size{grid-template-columns:minmax(0,1fr) 90px;gap:6px;display:grid}.new-size .input{background:var(--surface)}.choice-input>.input{background:var(--surface);padding-left:56px}.choice-total{text-align:right;font-size:13px;font-weight:600}.choice-note{text-align:right}.link-btn{font:inherit;color:var(--maroon-600);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}@media (width<=560px){.choice-price-row{grid-template-columns:minmax(0,1fr) 130px}.choice-total{text-align:left}}.qty{border:1px solid var(--line-strong);background:var(--surface);border-radius:999px;align-items:center;display:inline-flex}.qty button{cursor:pointer;background:0 0;border:0;border-radius:999px;width:40px;height:40px;font-size:20px}.qty button:disabled{opacity:.35;cursor:default}.qty span{text-align:center;min-width:28px;font-weight:700}.qty.sm button{width:32px;height:32px;font-size:17px}.cart-bar{z-index:30;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));background:var(--espresso-800);width:min(560px,100vw - 24px);color:var(--cream-50);box-shadow:var(--shadow-lg);cursor:pointer;text-align:left;border:0;border-radius:999px;align-items:center;gap:12px;padding:10px 10px 10px 18px;animation:.2s ease-out rise;display:flex;position:fixed;transform:translate(-50%)}.cart-bar .count{background:var(--gold-400);width:30px;height:30px;color:var(--espresso-900);border-radius:50%;flex:none;place-items:center;font-size:14px;font-weight:800;display:grid}.cart-bar .go{background:var(--gold-400);color:var(--espresso-900);white-space:nowrap;border-radius:999px;margin-left:auto;padding:10px 16px;font-size:14px;font-weight:700}.cart-line{border-bottom:1px solid var(--line);gap:12px;padding:12px 0;display:flex}.cart-line:last-child{border-bottom:0}.opts-text{color:var(--muted);font-size:13px}.pay-choice{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;display:grid}.pay-to{text-align:center;background:var(--cream-100);border:1px dashed var(--line-strong);border-radius:var(--radius-sm);gap:6px;margin-top:10px;padding:12px;display:grid}.pay-to-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700}.pay-code{font-family:var(--font-display);letter-spacing:.04em;color:var(--espresso-800);font-size:32px;font-weight:750;line-height:1}.pay-panel{padding:16px 20px}.pay-state{border-radius:var(--radius-sm);border:1px solid;padding:12px 14px}.pay-state p{margin-top:2px}.pay-state.paid{background:var(--green-100);color:var(--green-600);border-color:#c6e2cf}.pay-state.claimed{background:var(--gold-100);color:#6b4a0e;border-color:#f0dcaa}.total-row{justify-content:space-between;align-items:baseline;font-size:17px;font-weight:700;display:flex}.oc-deliver{color:var(--coffee-700);overflow-wrap:anywhere;background:#f3e5d8;border:1px solid #e6cdb6;border-radius:10px;margin:0 14px 8px;padding:8px 10px;font-size:14px}.sub-row{color:var(--muted);justify-content:space-between;align-items:baseline;font-size:14px;display:flex}.opt:disabled{opacity:.55;cursor:not-allowed}.track-wrap{max-width:560px;margin:0 auto;padding:0 16px 60px}.ticket{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--line);margin-top:-44px;position:relative;overflow:hidden}.ticket-top{text-align:center;padding:22px 20px 18px}.ticket-no{font-family:var(--font-display);letter-spacing:-.02em;color:var(--espresso-800);font-size:64px;font-weight:750;line-height:1}.ticket-perf{border-top:2px dashed var(--line-strong);height:0;margin:0 18px;position:relative}.ticket-perf:before,.ticket-perf:after{content:"";background:var(--bg);border:1px solid var(--line);border-radius:50%;width:22px;height:22px;position:absolute;top:-12px}.ticket-perf:before{left:-30px}.ticket-perf:after{right:-30px}.steps{margin:0;padding:18px 20px 6px;list-style:none}.step{gap:14px;padding-bottom:18px;display:flex;position:relative}.step:not(:last-child):after{content:"";background:var(--line);width:2px;position:absolute;top:32px;bottom:2px;left:15px}.step.done:not(:last-child):after{background:var(--coffee-600)}.step .dot{background:var(--cream-100);border:2px solid var(--line-strong);z-index:1;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:15px;display:grid}.step.done .dot{background:var(--coffee-600);border-color:var(--coffee-600);color:var(--white)}.step.current .dot{background:var(--gold-400);border-color:var(--gold-400);color:var(--espresso-900);animation:1.6s ease-in-out infinite pulse}.step b{font-size:15px;display:block}.step.pending b{color:var(--muted);font-weight:500}@keyframes pulse{50%{box-shadow:0 0 0 7px #e2b04a40}}.ready-banner{background:var(--green-600);color:var(--white);text-align:center;padding:16px 20px}.ready-banner h2{font-size:24px}.cancel-banner{background:var(--red-100);color:#7d1a21;text-align:center;padding:14px 20px}.staff-shell{grid-template-columns:248px 1fr;min-height:100dvh;display:grid}.staff-side{background:var(--ripple);color:var(--cream-50);flex-direction:column;gap:18px;height:100dvh;padding:18px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.staff-nav{flex-direction:column;gap:2px;display:flex}.staff-nav .nav-label{text-transform:uppercase;letter-spacing:.08em;color:#a8988f;padding:12px 10px 6px;font-size:11px;font-weight:650}.staff-nav a{color:#e7ddd3;border-radius:10px;align-items:center;gap:10px;padding:9px 10px;font-size:14px;font-weight:550;text-decoration:none;display:flex}.staff-nav a:hover{background:#ffffff12}.staff-nav a.active{background:var(--cream-50);color:var(--espresso-900)}.staff-nav a .nav-ico{text-align:center;width:20px}.staff-nav a .nav-count{background:var(--gold-400);color:var(--espresso-900);border-radius:999px;margin-left:auto;padding:1px 8px;font-size:12px;font-weight:750}.staff-user{background:#ffffff0f;border:1px solid #ffffff14;border-radius:12px;margin-top:auto;padding:12px;font-size:13px}.staff-user b{font-size:14px;display:block}.staff-main{min-width:0}.staff-top{z-index:20;background:color-mix(in srgb, var(--bg) 94%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 24px;display:flex;position:sticky;top:0}.staff-top h1{font-size:22px}.staff-content{max-width:1400px;padding:22px 24px 60px}.mobile-only{display:none}@media (width<=900px){.staff-shell{grid-template-columns:1fr}.staff-side{z-index:60;width:270px;transition:transform .22s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.staff-side.open{box-shadow:var(--shadow-lg);transform:none}.side-scrim{z-index:55;background:#18121380;position:fixed;inset:0}.mobile-only{display:inline-flex}.staff-top{padding:10px 16px}.staff-top h1{flex:1 0 calc(100% - 56px);font-size:19px}.staff-content{padding:16px 16px 60px}}.store-toggle{background:var(--surface);border:1px solid var(--line);border-radius:999px;align-items:center;gap:10px;padding:5px 6px 5px 12px;display:inline-flex}.live-dot{color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.live-dot i{background:var(--red-600);border-radius:50%;width:8px;height:8px}.live-dot.on i{background:var(--green-600);box-shadow:0 0 0 3px #2f7a4e2e}.tiles{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:14px 16px}.tile .t-label{color:var(--muted);font-size:12.5px;font-weight:600}.tile .t-value{letter-spacing:-.01em;margin-top:4px;font-size:26px;font-weight:650;line-height:1.15}.tile .t-value small{font-family:var(--font-ui);color:var(--muted);margin-right:3px;font-size:13px;font-weight:600}.tile .t-foot{color:var(--muted);margin-top:6px;font-size:12.5px}.trend-up{color:var(--green-600);font-weight:650}.trend-down{color:var(--red-600);font-weight:650}.tile.dark{background:var(--ripple);color:var(--cream-50);border-color:var(--espresso-800)}.tile.dark .t-label,.tile.dark .t-foot{color:#cbbfb5}.tile.dark .trend-up{color:#8fdcab}.tile.dark .trend-down{color:#f2a0a6}.board{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;display:grid}@media (width<=1100px){.board{grid-template-columns:1fr}}.lane{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);min-height:160px;padding:12px}.lane-head{align-items:center;gap:8px;padding:2px 4px 12px;display:flex}.lane-head h2{font-family:var(--font-ui);font-size:15px;font-weight:700}.lane-head .count{background:var(--surface);border:1px solid var(--line);border-radius:999px;place-items:center;min-width:24px;height:24px;padding:0 7px;font-size:12px;font-weight:750;display:grid}.lane-cards{flex-direction:column;gap:10px;display:flex}.order-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);border-left:5px solid var(--gold-400);overflow:hidden}.order-card.preparing{border-left-color:var(--coffee-600)}.order-card.ready{border-left-color:var(--green-600)}.order-card.is-new{animation:1.4s ease-out 2 glow}@keyframes glow{50%{color:#f3cf7e;text-shadow:0 0 6px #f3cf7ed9,0 0 18px #e2b04a99,0 0 32px #e2b04a4d}}.oc-head{align-items:flex-start;gap:10px;padding:12px 14px 8px;display:flex}.oc-no{font-family:var(--font-display);font-size:26px;font-weight:750;line-height:1}.oc-name{font-size:15px;font-weight:650}.oc-timer{text-align:right;color:var(--muted);margin-left:auto;font-size:12px}.oc-timer b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:15px;display:block}.oc-timer.warn b{color:#a0650d}.oc-timer.late b{color:var(--red-600)}.oc-items{flex-direction:column;gap:8px;margin:0;padding:4px 14px 10px;list-style:none;display:flex}.oc-items li{gap:10px;display:flex}.oc-qty{background:var(--espresso-800);min-width:28px;height:28px;color:var(--cream-50);border-radius:8px;flex:none;place-items:center;font-size:14px;font-weight:750;display:grid}.oc-item-name{font-weight:650}.oc-opts{flex-wrap:wrap;gap:4px;margin-top:3px;display:flex}.oc-opt{background:var(--cream-100);color:var(--ink-soft);border:1px solid var(--line);border-radius:6px;padding:1px 7px;font-size:12px}.oc-opt.custom{color:var(--coffee-700);background:#f6ebe1;border-color:#e6cdb6;font-weight:600}.oc-note{background:var(--gold-100);color:#5e420c;border:1px solid #f0dcaa;border-radius:8px;margin:0 14px 10px;padding:8px 10px;font-size:13px}.oc-meta{flex-wrap:wrap;gap:6px;padding:0 14px 10px;display:flex}.oc-actions{border-top:1px solid var(--line);background:var(--cream-50);flex-wrap:wrap;gap:8px;padding:10px 14px 12px;display:flex}.oc-actions .btn{flex:auto}.table-wrap{overflow-x:auto}table.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;background:var(--cream-50);padding:10px 12px;font-size:12px;font-weight:650}.table td{border-bottom:1px solid var(--line);vertical-align:top;padding:11px 12px}.table tr:last-child td{border-bottom:0}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td{background:var(--cream-50)}.table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.seg{background:var(--cream-100);border:1px solid var(--line);border-radius:999px;padding:3px;display:inline-flex}.seg button{cursor:pointer;height:32px;color:var(--ink-soft);background:0 0;border:0;border-radius:999px;padding:0 14px;font-size:13px;font-weight:600}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.grid-3{grid-template-columns:2fr 1fr;gap:16px;display:grid}@media (width<=1000px){.grid-2,.grid-3{grid-template-columns:1fr}}.bar-list{flex-direction:column;gap:10px;display:flex}.bar-row{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;font-size:14px;display:grid}.bar-row .bar{background:var(--cream-100);border-radius:999px;grid-column:1/-1;height:8px;overflow:hidden}.bar-row .bar i{background:var(--chart-1);border-radius:999px;height:100%;display:block}.split{background:var(--surface);border-radius:999px;gap:2px;height:12px;display:flex;overflow:hidden}.split i{height:100%;display:block}.legend{flex-wrap:wrap;gap:8px 16px;margin-top:10px;font-size:13px;display:flex}.legend>span{align-items:center;gap:6px;display:inline-flex}.legend>span:before{content:"";background:var(--c);border-radius:3px;width:10px;height:10px}.chart-box{height:260px;position:relative}.chart-box.sm{height:200px}.avatar{background:var(--caramel-200);width:38px;height:38px;color:var(--coffee-700);border-radius:50%;flex:none;place-items:center;font-size:14px;font-weight:700;display:grid}.avatar.lg{width:48px;height:48px;font-size:17px}.secret{letter-spacing:.06em;background:var(--espresso-800);color:var(--gold-400);border-radius:var(--radius-sm);text-align:center;-webkit-user-select:all;user-select:all;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:20px}.login-page{grid-template-columns:1fr 1fr;min-height:100dvh;display:grid}.login-art{background:var(--ripple);color:var(--cream-50);text-align:center;place-items:center;padding:40px;display:grid}.login-art img{filter:drop-shadow(0 16px 30px #0006);width:min(300px,70%);margin:0 auto 26px}.login-art h2{font-size:30px}.login-form{place-items:center;padding:32px 20px;display:grid}.login-form form{width:100%}.login-ucu{opacity:.9;width:min(240px,70%);height:auto;margin:8px auto 0}@media (width<=800px){.login-page{grid-template-columns:1fr}.login-art{padding:28px 16px}.login-art img{width:120px;margin-bottom:12px}.login-art h2{font-size:22px}.login-art p{display:none}}.qr-poster{background:var(--cream-50);border:1px solid var(--line);width:100%;max-width:380px;box-shadow:var(--shadow);text-align:center;border-radius:22px;margin:0 auto;overflow:hidden}.qr-poster .qp-top{background:var(--ripple);color:var(--cream-50);padding:22px 18px 64px}.qr-poster .qp-top h2{font-size:26px}.qr-poster .qp-logo{width:92px;margin:-46px auto 0;position:relative}.qr-poster .qp-code{background:var(--white);border:1px solid var(--line);border-radius:14px;width:230px;margin:12px auto 0;padding:10px}.qr-poster .qp-code svg{width:100%;height:auto;display:block}.qr-poster .qp-spot{background:var(--gold-400);color:var(--espresso-900);border-radius:999px;margin-top:14px;padding:6px 14px;font-weight:700;display:inline-block}.qr-poster .qp-ucu{border-top:1px solid var(--line);background:var(--white);padding:12px 20px 16px}.qr-poster .qp-ucu img{width:230px;height:auto;margin:0 auto}.qr-poster .qp-steps{color:var(--ink-soft);justify-content:center;gap:14px;padding:16px 14px 20px;font-size:13px;display:flex}.qr-poster .qp-steps b{font-family:var(--font-display);color:var(--coffee-600);font-size:18px;display:block}.qr-poster .qp-eyebrow{letter-spacing:.14em;text-transform:uppercase;margin-bottom:4px;font-size:13px}.glow-text{color:var(--gold-400);text-shadow:0 0 8px #e2b04a59;font-weight:800;animation:2.8s ease-in-out infinite glow}.rec-layout{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:18px;display:grid}.rec-ticket{scroll-margin-top:76px;position:sticky;top:76px}.cart-bar.rec-jump{display:none}@media (width<=1000px){.rec-layout{grid-template-columns:1fr}.rec-ticket{scroll-margin-top:130px;position:static}.cart-bar.rec-jump{display:flex}}.rec-items{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;display:grid}.rec-item{text-align:left;min-height:56px;font:inherit;cursor:pointer;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:8px 12px;display:flex}.rec-item:hover{border-color:var(--caramel-400);background:var(--cream-50)}.rec-item:focus-visible{box-shadow:var(--focus);outline:none}.rec-item b{font-size:14px;display:block}.rec-item small{color:var(--muted);font-size:12.5px}.rec-item.sold-out{opacity:.6}.rec-emoji{font-size:24px}@media print{.glow-text{animation:none}body{background:#fff}body *{visibility:hidden}.print-area,.print-area *{visibility:visible}.print-area{place-items:start center;padding-top:10mm;display:grid;position:absolute;inset:0}.qr-poster{box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;max-width:120mm}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
