:root{--primary:#5146e5;--primary-dark:#4037ce;--primary-soft:#f1efff;--mint:#11a89b;--mint-soft:#e9f8f5;--gold:#ffb51b;--gold-soft:#fff4d9;--green:#12b28a;--ink:#17182f;--muted:#73748c;--ground:#fffdf9;--surface:#ffffff;--tint:#f4f3fb;--hairline:#e8e6f2;--radius:16px;--radius-lg:22px;--gutter:20px;--shadow-sm:0 1px 2px rgba(24,20,65,.04);--shadow:0 10px 30px rgba(24,20,65,.08);--shadow-lg:0 20px 50px rgba(24,20,65,.16)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--ground);color:var(--ink);font-family:var(--font-jakarta),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-weight:500;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}h1,h2,h3{font-weight:800;letter-spacing:-.02em;margin:0;text-wrap:balance}button{font-family:inherit}.container{max-width:1120px;margin:0 auto;padding:0 var(--gutter)}.app-main{padding:24px var(--gutter) 96px}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:40;border-bottom:1px solid var(--hairline);background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:saturate(180%) blur(10px);backdrop-filter:saturate(180%) blur(10px)}.card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-sm)}.badge{display:inline-block;font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--mint-soft);color:var(--mint)}.pill{background:var(--primary-soft);color:var(--primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:15px;border-radius:13px;padding:12px 18px;cursor:pointer;border:1.5px solid transparent;transition:transform .08s ease,background .15s ease,box-shadow .15s ease}.btn:active{transform:scale(.985)}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 6px 16px rgba(81,70,229,.28)}.btn-primary:hover{background:var(--primary-dark)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-outline{background:var(--surface);color:var(--primary);border-color:var(--hairline)}.btn-outline:hover{border-color:var(--primary);background:var(--primary-soft)}.cat-nav{position:-webkit-sticky;position:sticky;top:56px;z-index:30;padding:10px 0;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;background:color-mix(in srgb,var(--ground) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.cat-nav::-webkit-scrollbar{display:none}.cat-chip{flex:0 0 auto;padding:8px 15px;border-radius:999px;font-weight:700;font-size:14px;color:var(--muted);background:var(--tint);border:1.5px solid transparent;cursor:pointer;white-space:nowrap}.cat-chip.active{color:var(--primary);background:var(--primary-soft);border-color:var(--primary)}.menu-row{display:flex;gap:14px;align-items:stretch;padding:14px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);cursor:pointer;transition:box-shadow .15s ease,transform .12s ease}.menu-row:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.menu-row.sold-out{opacity:.55;cursor:default}.menu-row.sold-out:hover{box-shadow:var(--shadow-sm);transform:none}.menu-thumb{width:88px;height:88px;border-radius:13px;background-size:cover;background-position:50%;background-color:var(--tint);flex-shrink:0}.order-grid{display:grid;grid-template-columns:1fr;grid-gap:28px;gap:28px;align-items:start}@media (min-width:940px){.order-grid{grid-template-columns:minmax(0,1fr) 340px}.order-aside{position:-webkit-sticky;position:sticky;top:84px}}.order-aside.mobile-hide{display:none}@media (min-width:940px){.order-aside.mobile-hide{display:block}}.sheet-backdrop{position:fixed;inset:0;background:rgba(24,20,65,.38);z-index:100;display:flex;align-items:flex-end;justify-content:center;animation:fade .18s ease both}.sheet{background:var(--surface);width:100%;max-width:560px;max-height:92vh;overflow-y:auto;border-radius:22px 22px 0 0;padding:8px 20px 24px;box-shadow:var(--shadow-lg);animation:slideup .24s cubic-bezier(.2,.8,.2,1) both}.sheet-handle{width:40px;height:4px;border-radius:999px;background:var(--hairline);margin:8px auto 6px}@media (min-width:620px){.sheet-backdrop{align-items:center}.sheet{border-radius:22px;max-height:88vh;animation:pop .2s cubic-bezier(.2,.8,.2,1) both}.sheet-handle{display:none}}.cart-bar{position:fixed;left:0;right:0;bottom:18px;display:flex;justify-content:center;pointer-events:none;z-index:50}@media (min-width:940px){.cart-bar{display:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes slideup{0%{transform:translateY(24px);opacity:.6}to{transform:translateY(0);opacity:1}}@keyframes pop{0%{transform:scale(.96);opacity:.4}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion:reduce){.sheet,.sheet-backdrop{animation:none}.chip,.menu-row,.opt-row,.seg,.slot-card{transition:none}}.sheet-head{display:flex;align-items:flex-start;gap:12px}.sheet-close{background:var(--tint);border:none;border-radius:999px;width:34px;height:34px;font-size:15px;cursor:pointer;color:var(--muted);flex-shrink:0;line-height:1}.sheet-close:hover{background:var(--hairline);color:var(--ink)}.sheet-close:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.sheet-foot{position:-webkit-sticky;position:sticky;bottom:0;margin-top:20px;padding-top:14px;background:var(--surface)}.sheet-foot:before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px;pointer-events:none;background:linear-gradient(to top,var(--surface),transparent)}.mod-group{border:none;margin:0;padding:0}.mod-legend{display:flex;align-items:center;gap:8px;font-weight:800;font-size:15px;padding:0}.mod-opt,.mod-req{font-size:10.5px;font-weight:800;padding:2px 8px;border-radius:999px;letter-spacing:.3px;text-transform:uppercase}.mod-req{color:var(--primary);background:var(--primary-soft)}.mod-opt{color:var(--muted);background:var(--tint)}.opt-row{display:flex;align-items:center;gap:10px;font-size:15px;padding:9px 12px;border-radius:12px;border:1.5px solid var(--hairline);background:var(--surface);cursor:pointer;transition:border-color .12s,background .12s}.opt-row:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--hairline))}.opt-row.on{border-color:var(--primary);background:var(--primary-soft)}.opt-row.out{opacity:.5;cursor:not-allowed}.opt-row.out:hover{border-color:var(--hairline)}.opt-row input{accent-color:var(--primary);width:18px;height:18px;flex-shrink:0}.opt-name{flex:1 1;min-width:0}.opt-price{color:var(--muted);font-weight:700;font-size:13px;white-space:nowrap}.cat-block{border-top:1px solid var(--hairline)}.cat-block:first-child{border-top:0}.cat-head{display:flex;align-items:center;gap:8px;padding:11px 2px 4px;cursor:pointer;list-style:none}.cat-head::-webkit-details-marker{display:none}.cat-name{font-size:13px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--primary)}.cat-name:before{content:"▸ ";color:var(--muted)}details[open]>.cat-head .cat-name:before{content:"▾ "}.cat-count{margin-left:auto;font-size:12px;font-weight:600;color:var(--muted)}.cat-summary{margin-left:auto;max-width:55%;text-align:right;font-size:12.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis}.cat-summary,.opt-tag{color:var(--mint);white-space:nowrap}.opt-tag{font-size:9.5px;letter-spacing:.4px;background:var(--mint-soft);padding:2px 6px;border-radius:6px}.opt-tag,.side-tag{font-weight:800;text-transform:uppercase}.side-tag{font-size:11px;letter-spacing:1px;color:var(--primary)}.chip{padding:6px 12px;border-radius:999px;font-size:12.5px;font-weight:700;cursor:pointer;border:1.5px solid var(--hairline);background:var(--surface);color:var(--ink);transition:all .12s}.chip:hover{border-color:color-mix(in srgb,var(--primary) 30%,var(--hairline))}.chip.removed{border-color:var(--gold);background:var(--gold-soft);color:#8a5a00;text-decoration:line-through}.seg{padding:8px 14px;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;border:1.5px solid var(--hairline);background:var(--surface);color:var(--ink);transition:all .12s}.seg.on{border-color:var(--ink);background:var(--ink);color:#fff}.seg:disabled{opacity:.4;cursor:not-allowed}.seg.sm{padding:6px 10px;font-size:12px;border-radius:9px;font-weight:700}.seg.sm.on{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.qty-pill{min-width:38px;padding:6px 10px;border-radius:9px;font-size:12px;font-weight:800;cursor:pointer;border:none;background:var(--primary);color:#fff}.slot-card{border:1.5px solid var(--hairline);border-radius:var(--radius);padding:14px;transition:border-color .15s}.slot-card.done{border-color:color-mix(in srgb,var(--mint) 50%,var(--hairline))}.slot-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;font-size:12px;font-weight:800;background:var(--tint);color:var(--muted);flex-shrink:0}.slot-card.done .slot-num{background:var(--mint);color:#fff}.combo-progress{height:5px;border-radius:999px;background:var(--tint);overflow:hidden}.combo-progress>span{display:block;height:100%;background:var(--mint);border-radius:999px;transition:width .2s ease}.validate{color:#9a6a00;background:var(--gold-soft);border-radius:10px;padding:8px 11px;font-size:13px;font-weight:700;margin:0 0 10px}.chip:focus-visible,.opt-row:focus-within,a.btn:focus-visible,button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@font-face{font-family:jakarta;src:url(/_next/static/media/5bf0bc3e3e2463b1-s.p.ttf) format("truetype");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:jakarta;src:url(/_next/static/media/705867b8b9ddb6e2-s.p.ttf) format("truetype");font-display:swap;font-weight:600;font-style:normal}@font-face{font-family:jakarta;src:url(/_next/static/media/f4ebbe50b29f7fbf-s.p.ttf) format("truetype");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:jakarta;src:url(/_next/static/media/5efe73decddf7ceb-s.p.ttf) format("truetype");font-display:swap;font-weight:800;font-style:normal}@font-face{font-family:jakarta Fallback;src:local("Arial");ascent-override:96.99%;descent-override:20.74%;line-gap-override:0.00%;size-adjust:107.02%}.__className_eb8175{font-family:jakarta,jakarta Fallback,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.__variable_eb8175{--font-jakarta:"jakarta","jakarta Fallback",-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}