:root{--paper:#F4EEE2;--paper-2:#EDE5D4;--panel:#FFFDF8;--ink:#17140F;--ink-2:#2B261E;--ink-3:#5A5246;--mute:#8A7F6C;--hair:#D9D0BF;--accent:#C8321A;--accent-2:#A8260F;--rose:#E9A79A;--ok:#0F6B4F;--serif:"Noto Serif SC","Songti SC",Georgia,serif;--sans:"Noto Sans SC","Noto Sans Arabic","PingFang SC",system-ui,sans-serif;--safe-b:env(safe-area-inset-bottom)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px;-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:clip}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,h3,h4{margin:0;line-height:1.25}p{margin:0}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}[dir=rtl] svg.flip{transform:scaleX(-1)}.center-note{min-height:60vh;display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;text-align:center;padding:40px 24px;color:var(--ink-3)}.center-note.small{min-height:0;padding:40px 16px}.center-note h1{font-family:var(--serif);font-weight:900;color:var(--ink);font-size:26px}.cover{position:relative;aspect-ratio:16/9;max-height:46vh;width:100%;background:var(--ink) center/cover no-repeat;display:flex;flex-direction:column;justify-content:space-between;color:var(--paper);isolation:isolate}.cover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(180deg,#17140f73,#17140f00 30%,#17140f00 45%,#17140fe0)}.cover-top{display:flex;justify-content:flex-end;padding:12px 14px}.cover-info{padding:0 16px 14px}.cover-info h1{font-family:var(--serif);font-weight:900;font-size:clamp(24px,6.4vw,38px);letter-spacing:.01em;text-shadow:0 2px 14px rgba(0,0,0,.5)}.cover-info p{display:flex;flex-wrap:wrap;gap:2px 12px;margin-top:4px;font-size:12.5px;color:#ede5d4}.cover-info p span:first-child{font-weight:700;color:var(--rose);letter-spacing:.06em}.lang{display:inline-flex;background:#17140f8c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(244,238,226,.3)}.lang button{padding:6px 11px;font-size:12px;font-weight:700;color:#ede5d4}.lang button[aria-pressed=true]{background:var(--paper);color:var(--ink)}.sticky{position:sticky;top:0;z-index:20;background:#f4eee2f5;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--hair)}.bar{display:flex;gap:10px;padding:10px 14px 8px;max-width:1080px;margin:0 auto}.search{flex:1;display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--hair);padding:0 12px;height:42px;color:var(--ink-3)}.search:focus-within{border-color:var(--ink)}.search input{flex:1 1 0;width:0;min-width:0;border:0;outline:0;background:none;font-size:16px;color:var(--ink)}.ghost-btn{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--hair);background:var(--panel);color:var(--ink-2)}.tabs{display:flex;gap:8px;overflow-x:auto;padding:0 14px 10px;scrollbar-width:none;max-width:1080px;margin:0 auto}.tabs::-webkit-scrollbar{display:none}.tabs a{flex:none;padding:6px 14px;font-size:13.5px;font-weight:500;border:1px solid var(--mute);color:var(--ink-2);white-space:nowrap}.tabs a[aria-current=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}main{max-width:1080px;margin:0 auto;padding:0 14px calc(96px + var(--safe-b))}.cat{padding-top:22px}.cat h2{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-family:var(--serif);font-weight:900;font-size:22px;padding-bottom:8px;border-bottom:3px solid var(--ink);margin-bottom:12px}.cat h2 small{font-family:var(--sans);font-weight:500;font-size:12px;color:var(--ink-3)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media(min-width:720px){.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}@media(min-width:1000px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.card{position:relative;background:var(--panel);border:1px solid var(--hair);display:flex;flex-direction:column;min-width:0}.card.off{opacity:.55}.art{position:relative;display:block;width:100%;aspect-ratio:1/1;background:repeating-linear-gradient(45deg,var(--paper-2) 0 8px,#E3D9C4 8px 16px);overflow:hidden;cursor:zoom-in}.art img{width:100%;height:100%;object-fit:cover}.badge{position:absolute;inset-block-start:8px;inset-inline-start:8px;background:var(--ink);color:var(--paper);font-size:11px;font-weight:700;min-width:22px;height:22px;padding:0 6px;display:grid;place-items:center;border-radius:11px}.card .body{padding:10px 11px 46px;flex:1;cursor:pointer}.card h3{font-size:14.5px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}.card .desc{font-size:12px;color:var(--ink-3);margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card .price{margin-top:6px;font-weight:700;font-size:13.5px;color:var(--accent);font-variant-numeric:tabular-nums}.plus{position:absolute;inset-block-end:9px;inset-inline-end:9px;width:34px;height:34px;display:grid;place-items:center;background:var(--ink);color:var(--paper)}.plus.on{background:var(--accent)}.plus:active{transform:scale(.94)}.card .qty{position:absolute;inset-block-end:9px;inset-inline-end:9px}.stepper{display:inline-flex;align-items:center;border:1.5px solid var(--ink);background:var(--panel);height:34px}.stepper button{width:32px;height:100%;font-size:18px;font-weight:700;line-height:1}.stepper input{width:40px;height:100%;border:0;outline:0;background:none;text-align:center;font-weight:700;font-size:14px;font-variant-numeric:tabular-nums;-moz-appearance:textfield}.foot{margin-top:40px;padding-top:18px;border-top:1px solid var(--hair);font-size:12.5px;color:var(--ink-3);text-align:center;display:grid;gap:6px}.foot a{border-bottom:1px solid var(--accent)}.cartbar{position:fixed;inset-inline:12px;inset-block-end:calc(12px + var(--safe-b));z-index:30;display:flex;align-items:center;gap:10px;background:var(--ink);color:var(--paper);padding:0 16px;height:54px;font-weight:700;box-shadow:6px 6px 0 var(--accent);max-width:560px;margin-inline:auto}.cartbar .n{background:var(--accent);min-width:26px;height:26px;border-radius:13px;display:grid;place-items:center;font-size:13px;padding:0 7px}.cartbar b{margin-inline-start:auto;color:var(--rose);font-variant-numeric:tabular-nums;font-size:14px}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#17140f8c;display:flex;align-items:flex-end;justify-content:center;animation:fade .2s}.drawer{position:relative;background:var(--paper);width:100%;max-width:560px;max-height:88vh;max-height:88svh;overflow-y:auto;padding:8px 16px calc(18px + var(--safe-b));border-top:3px solid var(--ink);animation:up .28s cubic-bezier(.2,.9,.3,1)}.handle{width:38px;height:4px;border-radius:2px;background:var(--mute);margin:0 auto 8px;opacity:.5}.drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.drawer h2{font-family:var(--serif);font-weight:900;font-size:22px}.x{width:40px;height:40px;display:grid;place-items:center;color:var(--ink-3)}.x.float{position:absolute;inset-block-start:10px;inset-inline-end:8px;z-index:2;background:#f4eee2d9;border-radius:50%}@keyframes up{0%{transform:translateY(40px);opacity:.4}}@keyframes fade{0%{opacity:0}}.lines{list-style:none;margin:0;padding:0}.lines li{display:grid;grid-template-columns:54px 1fr auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--hair)}.lines img,.lines li>i{width:54px;height:54px;object-fit:cover;background:var(--paper-2)}.lines b{display:block;font-size:14px;line-height:1.35}.lines small{color:var(--ink-3);font-size:12.5px}.lines.compact li{grid-template-columns:44px 1fr auto}.lines.compact img,.lines.compact li>i{width:44px;height:44px}.lines.compact span{font-weight:700;font-size:13.5px;font-variant-numeric:tabular-nums;white-space:nowrap}.lines li.short{opacity:.5;text-decoration:line-through}.sum{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0 4px;font-weight:700}.sum b{font-family:var(--serif);font-weight:900;font-size:24px;font-variant-numeric:tabular-nums}.sum.thin{padding:6px 0 0;font-weight:500;font-size:14px}.sum.thin b{font-family:var(--sans);font-size:15px;font-weight:700}.sum small{font-weight:400;color:var(--ink-3);font-size:12px}.hint{font-size:13px;color:var(--ink-3);margin:10px 0}.hint.center{text-align:center}.hint a{border-bottom:1px solid var(--accent);color:var(--ink)}.err{color:var(--accent);font-weight:700;font-size:13.5px;margin:10px 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:#fff;font-weight:700;font-size:15.5px;min-height:50px;padding:0 22px;border:2px solid var(--accent)}.btn:disabled{opacity:.5}.btn.wide{width:100%;margin-top:10px}.btn.grow{flex:1}.btn.ghost{background:none;color:var(--ink);border-color:var(--ink)}.btn.small{min-height:36px;font-size:13px;padding:0 12px}.link{display:block;margin:12px auto 0;color:var(--ink-3);font-size:13.5px;text-decoration:underline;text-underline-offset:3px}.sheet .hero{display:block;width:calc(100% + 32px);margin:0 -16px 12px;aspect-ratio:4/3;background:var(--paper-2);overflow:hidden;cursor:zoom-in}.sheet .hero img{width:100%;height:100%;object-fit:cover}.sheet h2{font-size:21px}.sheet .desc{color:var(--ink-2);font-size:14px;margin-top:4px}.sheet h4{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:16px 0 8px}.thumbs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.thumbs button{flex:none;width:76px;text-align:center;font-size:11.5px;color:var(--ink-2);position:relative}.thumbs img,.thumbs i{display:block;width:76px;height:76px;object-fit:cover;background:var(--paper-2);border:2px solid transparent}.thumbs button[aria-pressed=true] img,.thumbs button[aria-pressed=true] i{border-color:var(--accent)}.thumbs button:disabled{opacity:.45}.thumbs em{position:absolute;inset-block-start:28px;inset-inline:0;font-style:normal;font-size:10px;font-weight:700;background:var(--ink);color:var(--paper)}.units{display:grid;gap:8px;margin-top:8px}.units button{display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:start;padding:10px 12px;background:var(--panel);border:1.5px solid var(--hair)}.units button[aria-pressed=true]{border-color:var(--ink);box-shadow:4px 4px 0 var(--accent)}.units b{display:block;font-size:14.5px}.units small{display:block;font-size:12px;color:var(--ink-3)}.units strong{font-variant-numeric:tabular-nums;color:var(--accent);white-space:nowrap;font-size:14.5px}.addrow{display:flex;gap:10px;align-items:center;margin-top:16px;position:sticky;bottom:0;background:var(--paper);padding-top:8px}.addrow .stepper{height:50px}.addrow .stepper button{width:40px}.addrow .stepper input{width:48px;font-size:16px}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0a0805f0;display:grid;place-items:center;padding:16px;cursor:zoom-out;animation:fade .2s}.lightbox img{max-width:100%;max-height:100%;object-fit:contain}.toast{position:fixed;inset-inline:0;inset-block-end:calc(84px + var(--safe-b));z-index:70;margin-inline:auto;width:max-content;max-width:calc(100vw - 32px);background:var(--ink);color:var(--paper);border:1px solid var(--rose);padding:9px 18px;font-weight:700;font-size:14px;animation:up .2s}.page{max-width:560px;margin:0 auto;padding:0 16px calc(40px + var(--safe-b))}.pagehead{display:flex;align-items:center;gap:6px;padding:12px 0;border-bottom:3px solid var(--ink);margin-bottom:8px;position:sticky;top:0;background:var(--paper);z-index:5}.pagehead a{width:40px;height:40px;display:grid;place-items:center;margin-inline-start:-10px}.pagehead h1{font-family:var(--serif);font-weight:900;font-size:22px}.field{display:block;margin-top:16px}.field span{display:block;font-size:13px;font-weight:700;margin-bottom:6px}.field input,.field textarea{width:100%;background:var(--panel);border:1.5px solid var(--hair);padding:12px;font-size:16px;outline:0;border-radius:0;resize:vertical}.field input:focus,.field textarea:focus{border-color:var(--ink)}.field small{display:block;font-size:12px;color:var(--ink-3);margin-top:4px}.choices{border:0;padding:0;margin:18px 0 0;display:grid;gap:8px}.choices legend{font-size:13px;font-weight:700;margin-bottom:6px;padding:0}.choices label{display:flex;align-items:center;gap:10px;padding:12px;background:var(--panel);border:1.5px solid var(--hair);font-weight:500}.choices label:has(input:checked){border-color:var(--ink);box-shadow:4px 4px 0 var(--accent)}.choices input{accent-color:var(--accent);width:18px;height:18px}.status{background:var(--ink);color:var(--paper);padding:18px 16px;margin:8px 0 14px}.status b{font-family:var(--serif);font-weight:900;font-size:22px;display:block}.status.s-READY{background:var(--ok)}.status.s-QUOTED{background:var(--accent)}.status.s-CANCELLED{background:var(--ink-3)}.steps{list-style:none;display:flex;gap:5px;margin:12px 0 0;padding:0}.steps li{flex:1;height:5px;background:#f4eee240}.steps li.on{background:var(--rose)}.status.s-READY .steps li.on{background:#fff}.actions{display:grid;gap:4px;margin-top:20px}.orders{list-style:none;margin:0;padding:0}.orders li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--hair)}.orders b{display:block}.orders small{color:var(--ink-3);font-size:12.5px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.drawer,.scrim,.toast,.lightbox{animation:none}}.kiosk body{font-size:19px}.kiosk .grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}@media(min-width:1000px){.kiosk .grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:700px){.kiosk .grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.kiosk .card h3{font-size:18px}.kiosk .card .price{font-size:17px}.kiosk .card .desc{font-size:14px}.kiosk .plus{width:48px;height:48px}.kiosk .plus svg{width:26px;height:26px}.kiosk .stepper{height:48px}.kiosk .stepper button{width:46px;font-size:24px}.kiosk .stepper input{width:52px;font-size:18px}.kiosk .tabs a{font-size:18px;padding:10px 20px}.kiosk .search{height:54px}.kiosk .search input{font-size:19px}.kiosk .cat h2{font-size:28px}.kiosk .cartbar{height:70px;font-size:20px;max-width:760px}.kiosk .btn{min-height:64px;font-size:20px}.kiosk .drawer,.kiosk .page{max-width:760px}.kiosk .field input,.kiosk .field textarea{font-size:21px;padding:16px}.kiosk .cover{max-height:34vh}.kiosk .lang button{font-size:16px;padding:10px 16px}.kiosk-done{text-align:center;padding-top:10vh}.kiosk-done p{font-size:22px;color:var(--ink-2)}.kiosk-done .lead{font-weight:700;color:var(--ink);margin:6px 0 30px}.bignum{font-family:var(--serif);font-weight:900;font-size:min(34vw,220px);line-height:1.05;color:var(--accent);font-variant-numeric:tabular-nums}.wa-card{background:var(--panel);border:2px solid var(--ink);padding:14px;margin:0 0 16px;box-shadow:5px 5px #1fa855}.wa-card b{display:block;font-size:16px}.wa-card p{font-size:13px;color:var(--ink-3);margin:4px 0 10px}.wa-card pre{margin:0 0 12px;padding:10px 12px;background:#e7f6df;border-radius:10px;font:13px/1.55 var(--sans);white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;overflow-y:auto;text-align:start}.btn.wa{background:#1fa855;border-color:#1fa855}@media(min-width:900px){html.kiosk body{zoom:1.35}}.demo{max-width:980px;margin:0 auto;padding:40px 20px 60px}.demo .kicker{font-size:12px;font-weight:700;letter-spacing:.22em;color:var(--accent)}.demo h1{font-family:var(--serif);font-weight:900;font-size:clamp(32px,6vw,52px);margin:10px 0 12px}.demo header p{max-width:40em;color:var(--ink-2);font-size:17px}.demo header b{color:var(--ink)}.demo .play{display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:center;margin:32px 0;padding:24px;background:var(--ink);color:var(--paper)}.demo .qrbox{background:#fff;padding:12px 12px 8px;text-align:center;box-shadow:8px 8px 0 var(--accent);line-height:0}.demo .qrbox small{display:block;color:var(--ink);font-weight:700;font-size:13px;line-height:1.8}.demo .play ol{margin:0;padding:0;list-style:none;counter-reset:n;display:grid;gap:16px}.demo .play li{counter-increment:n;display:grid;grid-template-columns:40px 1fr;gap:0 12px}.demo .play li:before{content:counter(n);grid-row:1/3;font-family:var(--serif);font-weight:900;font-size:32px;line-height:1;color:var(--rose)}.demo .play b{font-size:18px}.demo .play span{color:#d9d0bf;font-size:15px}.demo .play a{color:#fff;font-weight:700;border-bottom:2px solid var(--accent)}.demo .play span b{color:var(--rose)}.demo .doors{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.demo .doors a{display:flex;flex-direction:column;gap:6px;background:var(--panel);border:1.5px solid var(--ink);padding:18px;min-height:150px}.demo .doors a:hover{box-shadow:6px 6px 0 var(--accent)}.demo .doors b{font-size:19px}.demo .doors span{color:var(--ink-2);font-size:14.5px;flex:1}.demo .doors em{font-style:normal;font-weight:700;color:var(--accent)}.demo footer{margin-top:32px;padding-top:18px;border-top:3px solid var(--ink);font-size:14px;color:var(--ink-3);display:grid;gap:4px}.demo footer a{color:var(--ink);font-weight:700;border-bottom:2px solid var(--accent)}@media(max-width:700px){.demo .play{grid-template-columns:1fr;gap:20px}.demo .qrbox{display:none}}.demostrip{display:block;background:var(--accent);color:#fff;text-align:center;font-size:13px;font-weight:500;padding:7px 12px;line-height:1.4}.demostrip b{margin-inline-start:8px;text-decoration:underline;text-underline-offset:3px}
