.kiosk-root *,.kiosk-root :after,.kiosk-root :before{box-sizing:border-box}body,html{margin:0;padding:0}.kiosk-root{width:100%;height:100vh;overflow:hidden;background:#1a1a1a}html[data-kiosk-preview="1"],html[data-kiosk-preview="1"] .kiosk-root,html[data-kiosk-preview="1"] .stage-host,html[data-kiosk-preview="1"] body{background:transparent}.stage-host{position:fixed;inset:0;background:#1a1a1a;overflow:hidden}.stage{width:1920px;height:1080px;position:absolute;left:0;top:0;transform-origin:0 0;background:var(--psf-cream-warm);overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.4)}.stage.portrait{width:1080px;height:1920px}.shell{position:absolute;inset:0;display:grid;grid-template-rows:96px 1fr 132px;background:var(--psf-cream-warm)}.stage.portrait .shell{grid-template-rows:120px 1fr 180px}.appbar{justify-content:space-between;padding:0 48px;background:var(--psf-cream);border-bottom:2px solid var(--psf-cream-deep)}.appbar,.appbar .brand{display:flex;align-items:center}.appbar .brand{gap:18px}.appbar .brand img{height:64px;width:auto;display:block}.appbar .step{display:flex;align-items:center;gap:14px;font-family:var(--font-display);font-size:18px;letter-spacing:.1em;color:var(--psf-blue)}.appbar .step .dots{display:inline-flex;gap:8px}.appbar .step .dot{width:14px;height:14px;border-radius:9999px;background:var(--psf-cream-deep)}.appbar .step .dot.on{background:var(--psf-pink)}.appbar .right{display:flex;align-items:center;gap:16px}.lang-pill{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border-radius:9999px;background:var(--psf-cream-warm);border:2px solid var(--psf-cream-deep);font-family:var(--font-body);font-weight:800;font-size:18px;color:var(--psf-blue);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.lang-pill svg{width:22px;height:22px}.rail{display:grid;grid-template-columns:auto 1fr auto;grid-gap:32px;gap:32px;padding:20px 48px;background:var(--psf-cream);border-top:2px solid var(--psf-cream-deep);box-shadow:0 -8px 24px rgba(15,66,141,.06)}.rail,.rail .qr{align-items:center}.rail .qr{display:flex;gap:14px;font-family:var(--font-body);font-weight:700;color:var(--psf-blue);font-size:16px;line-height:1.2}.rail .qr .qrbox{width:64px;height:64px;border-radius:14px;background:linear-gradient(45deg,var(--psf-blue) 25%,transparent 25%) 0 0/14px 14px,linear-gradient(-45deg,var(--psf-blue) 25%,transparent 25%) 0 0/14px 14px,var(--psf-cream-warm);border:3px solid var(--psf-blue)}.rail .totals{display:flex;flex-direction:column;align-items:flex-start}.rail .totals .lab{font-family:var(--font-body);font-weight:700;font-size:16px;color:var(--psf-ink-2);letter-spacing:.03em;text-transform:uppercase}.rail .totals .val{font-family:var(--font-display);font-size:44px;color:var(--psf-blue);line-height:1;margin-top:4px}.rail .actions{display:flex;gap:14px}.btn{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;border:none;cursor:pointer;transition:transform var(--dur-fast) var(--ease-bounce),box-shadow var(--dur-fast) var(--ease-bounce),background var(--dur-fast) var(--ease-out)}.btn:active{transform:scale(.96);box-shadow:var(--shadow-inset)}.btn-primary{background:var(--psf-pink);color:var(--psf-blue);padding:22px 38px;font-size:26px;border-radius:9999px;box-shadow:var(--shadow-md);display:inline-flex;align-items:center;gap:14px}.btn-primary svg{width:28px;height:28px}.btn-primary.lg{padding:28px 56px;font-size:32px}.btn-primary.xl{padding:36px 72px;font-size:38px}.btn-secondary{background:var(--psf-cream-warm);color:var(--psf-blue);padding:18px 32px;font-size:22px;border-radius:9999px;border:2px solid var(--psf-cream-deep);display:inline-flex;align-items:center;gap:12px}.btn-blue{background:var(--psf-blue);color:var(--psf-pink);padding:22px 38px;font-size:26px;border-radius:9999px;box-shadow:var(--shadow-md)}.btn-ghost{background:transparent;padding:14px 24px;font-size:18px;border-radius:9999px;font-family:var(--font-body);font-weight:800}.btn-ghost,.btn-icon{color:var(--psf-blue)}.btn-icon{background:var(--psf-cream-warm);border:2px solid var(--psf-cream-deep);width:56px;height:56px;border-radius:9999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.btn-icon svg{width:24px;height:24px}.idle{position:absolute;inset:0;display:grid;place-items:center;background:var(--psf-pink);overflow:hidden;cursor:pointer}.idle .pattern{position:absolute;inset:0;background-image:var(--pattern-bg);background-size:600px;opacity:.18;animation:drift 60s linear infinite}@keyframes drift{0%{background-position:0 0}to{background-position:600px 600px}}.idle .core{position:relative;z-index:2;text-align:center;display:grid;grid-gap:24px;gap:24px;justify-items:center}.idle .monkey{width:360px;height:360px;object-fit:contain}.idle .greeting{font-family:var(--font-display);color:var(--psf-blue);font-size:140px;line-height:1;letter-spacing:.02em;text-shadow:0 4px 0 var(--psf-cream)}.idle .sub{font-family:var(--font-script);color:var(--psf-cream);font-size:64px;line-height:1}.idle .tap{margin-top:28px;display:inline-flex;align-items:center;gap:16px;background:var(--psf-cream);color:var(--psf-blue);font-family:var(--font-display);font-size:36px;padding:26px 56px;border-radius:9999px;box-shadow:var(--shadow-lg);animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.idle .footer{position:absolute;bottom:28px;left:0;right:0;display:flex;justify-content:space-between;padding:0 48px;z-index:3}.idle .footer .small{background:var(--psf-cream);color:var(--psf-blue);padding:12px 22px;font-family:var(--font-body);font-weight:800}.idle .accessibility,.idle .footer .small{border-radius:9999px;display:inline-flex;align-items:center;gap:10px}.idle .accessibility{background:var(--psf-blue);color:var(--psf-cream);padding:14px 24px;font-family:var(--font-display);font-size:16px;letter-spacing:.06em}.idle .footer-logo{position:absolute;top:36px;left:36px}.idle .footer-logo img{height:90px}.type-select{position:absolute;inset:0;display:grid;grid-template-rows:auto 1fr;padding:80px 96px;grid-gap:64px;gap:64px;background:var(--psf-cream-warm)}.pay-back{position:absolute;top:32px;left:32px;display:inline-flex;align-items:center;gap:10px;padding:12px 22px;border-radius:9999px;background:var(--psf-cream);border:2px solid var(--psf-cream-deep);color:var(--psf-blue);font-family:var(--font-display);font-size:18px;letter-spacing:.06em;cursor:pointer;z-index:10;box-shadow:var(--shadow-sm);transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.pay-back:hover{border-color:var(--psf-pink);background:var(--psf-cream-warm)}.pay-back svg{width:18px;height:18px}.type-select .header{text-align:center}.type-select .header .zh{font-family:var(--font-zh);font-size:44px;color:var(--psf-pink-deep);letter-spacing:.2em}.type-select .header h1{font-family:var(--font-display);color:var(--psf-blue);font-size:88px;line-height:1;margin-top:14px}.type-select .header p{font-family:var(--font-body);color:var(--psf-ink-2);font-size:28px;margin-top:16px}.type-select .opts{display:grid;grid-template-columns:1fr 1fr;grid-gap:48px;gap:48px;align-items:stretch;height:100%}.type-card{background:var(--psf-white);border-radius:40px;padding:56px;box-shadow:var(--shadow-md);display:grid;grid-template-rows:1fr auto auto;grid-gap:24px;gap:24px;cursor:pointer;transition:transform .22s var(--ease-bounce),box-shadow .22s var(--ease-bounce);border:4px solid transparent;position:relative;overflow:hidden}.type-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}.type-card:active{transform:scale(.98)}.type-card .illus{display:grid;place-items:center;background:var(--psf-cream-warm);border-radius:32px;padding:32px;position:relative;overflow:hidden}.type-card .illus svg{width:320px;height:320px}.type-card.pink .illus{background:var(--psf-pink-soft)}.type-card.blue .illus{background:var(--psf-blue-soft)}.type-card .label{font-family:var(--font-display);font-size:80px;color:var(--psf-blue);text-align:center;line-height:1}.type-card .desc{font-family:var(--font-body);font-size:24px;color:var(--psf-ink-2);text-align:center}.menu-grid{position:absolute;inset:0;display:grid;grid-template-columns:280px 1fr}.sidebar{background:var(--psf-cream);padding:28px 16px;overflow-y:auto;border-right:2px solid var(--psf-cream-deep)}.sidebar .sec-label{font-family:var(--font-display);font-size:14px;letter-spacing:.12em;color:var(--psf-pink-deep);padding:0 12px 14px}.cat-row{display:grid;grid-template-columns:88px 1fr;align-items:center;grid-gap:14px;gap:14px;padding:10px 12px;border-radius:22px;cursor:pointer;margin-bottom:6px;transition:background var(--dur-fast) var(--ease-out);position:relative}.cat-row:hover{background:var(--psf-cream-warm)}.cat-row.active{background:var(--psf-pink)}.cat-row.active .cat-label,.cat-row.active .cat-sub{color:var(--psf-blue)}.cat-row .cat-thumb{position:relative;width:88px;height:88px;border-radius:18px;background:var(--psf-cream-warm);overflow:hidden;border:2px solid var(--psf-cream-deep)}.cat-row .cat-thumb img{display:block}.cat-row .cat-label{font-family:var(--font-display);font-size:22px;color:var(--psf-blue);line-height:1}.cat-row .cat-sub{font-family:var(--font-body);font-size:14px;color:var(--psf-ink-3);margin-top:4px}.main{padding:32px 40px;overflow-y:auto}.main h2{font-family:var(--font-display);font-size:44px;color:var(--psf-blue);margin-bottom:8px}.main .sub{font-family:var(--font-body);font-size:18px;color:var(--psf-ink-2);margin-bottom:24px}.main h3{font-family:var(--font-display);font-size:28px;color:var(--psf-blue);margin:12px 0 18px;letter-spacing:.04em}.promo{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;background:var(--psf-blue);color:var(--psf-cream);border-radius:32px;padding:28px 36px;margin-bottom:28px;overflow:hidden;min-height:200px;cursor:pointer}.promo.pink{background:var(--psf-pink);color:var(--psf-blue)}.promo .pattern{position:absolute;inset:0;background-image:var(--pattern-bg-blue);background-size:360px;opacity:.15;pointer-events:none}.promo.pink .pattern{background-image:var(--pattern-bg);opacity:.15}.promo-content{position:relative;z-index:2}.promo-eyebrow{font-size:16px;letter-spacing:.12em;color:inherit;opacity:.8;margin-bottom:6px}.promo-eyebrow,.promo-title{font-family:var(--font-display)}.promo-title{font-size:48px;line-height:1}.promo-copy{font-family:var(--font-body);font-weight:700;font-size:20px;margin-top:8px;max-width:600px}.promo-cta{margin-top:14px;display:inline-flex;align-items:center;gap:10px;background:var(--psf-cream);color:var(--psf-blue);font-family:var(--font-display);font-size:18px;padding:12px 22px;border-radius:9999px}.promo-art{position:relative;z-index:2;width:160px;height:160px;border-radius:24px;overflow:hidden;background:hsla(0,0%,100%,.18)}.promo-art img{width:100%;height:100%;object-fit:cover}.promo-dots{display:flex;gap:8px;justify-content:center;margin-top:14px;margin-bottom:24px}.promo-dots span{width:10px;height:10px;border-radius:9999px;background:var(--psf-cream-deep)}.promo-dots span.on{background:var(--psf-pink);width:28px}.items{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:18px;gap:18px}.item-card{background:var(--psf-white);border-radius:22px;box-shadow:var(--shadow-md);padding:0;display:flex;flex-direction:column;cursor:pointer;position:relative;transition:transform .22s var(--ease-bounce),box-shadow .22s var(--ease-bounce)}.item-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.item-card:active{transform:scale(.98)}.item-card .photo{height:220px;background:var(--psf-cream-warm);position:relative;overflow:hidden;border-radius:22px 22px 0 0}.item-card .photo img{display:block}.item-card .ribbon{position:absolute;top:22px;left:-8px;background:var(--psf-pink);color:var(--psf-blue);font-family:var(--font-display);font-size:18px;font-weight:800;padding:10px 22px 10px 16px;letter-spacing:.06em;text-transform:uppercase;z-index:3;box-shadow:0 6px 14px rgba(0,0,0,.18);-webkit-clip-path:polygon(0 0,100% 0,calc(100% - 14px) 50%,100% 100%,0 100%);clip-path:polygon(0 0,100% 0,calc(100% - 14px) 50%,100% 100%,0 100%)}.item-card .ribbon:before{content:"";position:absolute;bottom:-8px;left:0;border-color:rgba(0,0,0,.45) transparent transparent;border-style:solid;border-width:8px 8px 0 0;z-index:-1}.item-card .sold-out-banner{position:absolute;top:90px;left:50%;transform:translateX(-50%);background:rgba(15,23,42,.78);color:#fff;font-family:var(--font-display);font-size:16px;letter-spacing:.16em;padding:8px 18px;border-radius:9999px;z-index:2;pointer-events:none}.item-card.sold-out{cursor:not-allowed}.item-card.sold-out .photo img{filter:grayscale(.85) brightness(.92)}.item-card.sold-out .add{background:#e6e4dd;color:#999;box-shadow:none;cursor:not-allowed}.item-card .diet-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.item-card .diet-chips span{font-family:var(--font-body);font-size:11.5px;font-weight:700;letter-spacing:.04em;padding:4px 10px;border-radius:9999px}.item-card .pr s{display:inline-block;margin-right:6px;font-size:14px;color:var(--psf-ink-3);opacity:.7}.item-card .pr .now{font-weight:700;color:var(--psf-blue)}.item-card .body{padding:14px 16px 16px;display:flex;flex-direction:column;flex:1 1}.item-card .nm{font-family:var(--font-display);font-size:19px;color:var(--psf-blue);line-height:1.05;letter-spacing:.02em}.item-card .ds{font-family:var(--font-body);font-size:13px;color:var(--psf-ink-2);margin-top:6px;line-height:1.3;flex:1 1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.item-card .row{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.item-card .pr{font-family:var(--font-display);font-size:20px;color:var(--psf-blue)}.item-card .add{width:42px;height:42px;border-radius:9999px;background:var(--psf-pink);color:var(--psf-blue);border:none;cursor:pointer;display:grid;place-items:center;box-shadow:var(--shadow-sm);transition:transform var(--dur-fast) var(--ease-bounce)}.item-card .add:active{transform:scale(.92)}.item-card .add svg{width:22px;height:22px}.detail-overlay{position:absolute;inset:0;background:rgba(15,66,141,.4);display:grid;place-items:center;z-index:50;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.detail-sheet{width:1480px;max-height:920px;background:var(--psf-cream-warm);border-radius:40px;box-shadow:var(--shadow-xl);overflow:hidden;display:grid;grid-template-columns:580px 1fr;animation:pop .3s var(--ease-bounce)}@keyframes pop{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.detail-sheet .photo{background:var(--psf-pink-soft);position:relative}.detail-sheet .photo img{width:100%;height:100%;object-fit:cover}.detail-sheet .photo .close{position:absolute;top:24px;left:24px;width:56px;height:56px;border-radius:9999px;background:var(--psf-cream);display:grid;place-items:center;border:none;cursor:pointer;box-shadow:var(--shadow-md)}.detail-sheet .photo .close svg{width:24px;height:24px;color:var(--psf-blue)}.detail-sheet .info{padding:36px 44px 32px;display:grid;grid-template-rows:auto 1fr auto;overflow:hidden}.detail-sheet .info .head h1{font-family:var(--font-display);font-size:48px;color:var(--psf-blue);line-height:1}.detail-sheet .info .head .desc{font-family:var(--font-body);font-size:20px;color:var(--psf-ink-2);margin-top:12px}.detail-sheet .info .head .price-row{display:flex;align-items:center;justify-content:space-between;margin-top:14px}.detail-sheet .info .head .price{font-family:var(--font-display);font-size:36px;color:var(--psf-pink-deep)}.detail-sheet .info .head .allergens{font-family:var(--font-body);font-size:14px;color:var(--psf-warn);font-weight:700;display:inline-flex;gap:6px;align-items:center}.detail-sheet .options{margin:24px 0;padding-right:8px;overflow-y:auto}.option-group{margin-bottom:22px}.option-group .gh{font-family:var(--font-display);font-size:22px;color:var(--psf-blue);margin-bottom:12px;display:flex;justify-content:space-between;align-items:baseline}.option-group .gh .req{font-family:var(--font-body);font-size:14px;color:var(--psf-pink-deep);text-transform:uppercase;letter-spacing:.08em}.chips{display:flex;flex-wrap:wrap;gap:10px}.chip{background:var(--psf-cream);color:var(--psf-blue);border:2px solid var(--psf-cream-deep);padding:12px 22px;font-family:var(--font-body);font-weight:800;font-size:17px;cursor:pointer;display:inline-flex;align-items:center;gap:10px;transition:all var(--dur-fast) var(--ease-bounce)}.chip,.chip .ind{border-radius:9999px}.chip .ind{width:18px;height:18px;border:2px solid var(--psf-cream-deep);background:var(--psf-white)}.chip.on{background:var(--psf-pink);border-color:var(--psf-pink);color:var(--psf-blue)}.chip.on .ind{background:var(--psf-blue);border-color:var(--psf-blue);box-shadow:inset 0 0 0 3px var(--psf-pink)}.chip .price-add{font-family:var(--font-display);font-size:14px;color:var(--psf-ink-2);margin-left:4px}.chip.on .price-add{color:var(--psf-blue)}.detail-sheet .footer-row{display:grid;grid-template-columns:auto 1fr;grid-gap:18px;gap:18px;align-items:center;padding-top:20px;border-top:2px solid var(--psf-cream-deep)}.qty{display:flex;align-items:center;gap:4px;background:var(--psf-cream);border-radius:9999px;padding:6px;border:2px solid var(--psf-cream-deep)}.qty button{height:56px;border:none;background:var(--psf-pink);border-radius:9999px;cursor:pointer}.qty .n,.qty button{width:56px;color:var(--psf-blue);font-family:var(--font-display);font-size:28px}.qty .n{text-align:center}.order-screen{position:absolute;inset:0;display:grid;grid-template-columns:1fr 480px}.order-list{background:var(--psf-cream-warm);padding:40px 56px;overflow-y:auto}.order-list h1{font-family:var(--font-display);color:var(--psf-blue);font-size:56px;margin-bottom:24px}.order-line{display:grid;grid-template-columns:100px 1fr auto auto;grid-gap:20px;gap:20px;align-items:center;background:var(--psf-white);border-radius:24px;padding:14px 22px;margin-bottom:14px;box-shadow:var(--shadow-sm)}.order-line .img{width:100px;height:100px;border-radius:18px;overflow:hidden;background:var(--psf-pink-soft)}.order-line .img img{width:100%;height:100%;object-fit:cover}.order-line .nm{font-family:var(--font-display);font-size:24px;color:var(--psf-blue)}.order-line .ds{font-family:var(--font-body);font-size:14px;color:var(--psf-ink-2);margin-top:4px}.order-line .price{font-family:var(--font-display);font-size:26px;color:var(--psf-pink-deep)}.order-line .del{width:48px;height:48px;border-radius:9999px;background:var(--psf-cream);border:2px solid var(--psf-cream-deep);color:var(--psf-danger);display:grid;place-items:center;cursor:pointer}.order-line .line-options{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.order-line .line-options li{display:flex;align-items:center;gap:8px;padding-left:14px;border-left:3px solid var(--psf-cream-deep);font-family:var(--font-body);font-size:14px;color:var(--psf-ink-2);flex-wrap:wrap}.order-line .line-options .m-name{font-weight:700;color:var(--psf-blue)}.order-line .line-options .m-edit{display:inline-flex;align-items:center;gap:4px;background:transparent;border:1.5px solid var(--psf-cream-deep);color:var(--psf-pink-deep);border-radius:9999px;padding:2px 9px;font-family:var(--font-body);font-weight:800;font-size:10.5px;letter-spacing:.04em;cursor:pointer;text-transform:uppercase;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.order-line .line-options .m-edit:hover{border-color:var(--psf-pink);background:var(--psf-cream-warm)}.order-line .line-options .m-edit svg{width:10px;height:10px}.option-picker-sheet{width:920px;max-height:720px;background:var(--psf-cream-warm);border-radius:32px;box-shadow:var(--shadow-xl);overflow:hidden;display:grid;grid-template-rows:auto 1fr auto;animation:pop .3s var(--ease-bounce)}.option-picker-sheet .picker-head{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 28px 12px;border-bottom:2px solid var(--psf-cream-deep)}.option-picker-sheet .picker-head .ttl{font-family:var(--font-display);font-size:28px;color:var(--psf-blue)}.option-picker-sheet .picker-head .sub{font-family:var(--font-body);font-size:13px;color:var(--psf-pink-deep);text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin-top:4px}.option-picker-sheet .picker-head .close{width:44px;height:44px;border-radius:9999px;background:var(--psf-cream);border:none;cursor:pointer;display:grid;place-items:center;color:var(--psf-blue)}.option-picker-sheet .picker-body{padding:18px 28px;overflow-y:auto}.option-picker-sheet .option-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:14px;gap:14px;align-items:stretch}.option-picker-sheet .picker-body.shake{animation:shake .3s ease}.option-picker-sheet .picker-foot{display:flex;justify-content:flex-end;gap:10px;padding:16px 28px 22px;border-top:2px solid var(--psf-cream-deep)}.order-empty{display:grid;place-items:center;text-align:center;height:100%;grid-gap:18px;gap:18px}.order-empty img{width:220px}.order-empty h2{font-family:var(--font-display);font-size:48px;color:var(--psf-pink-deep)}.order-summary{background:var(--psf-cream);padding:40px 36px;display:grid;grid-template-rows:1fr auto;grid-gap:18px;gap:18px}.order-summary h2{font-family:var(--font-display);font-size:32px;color:var(--psf-blue);margin-bottom:18px}.summary-line{display:flex;justify-content:space-between;padding:8px 0;font-family:var(--font-body);font-weight:700;font-size:18px;color:var(--psf-ink-2)}.summary-line.total{border-top:2px solid var(--psf-cream-deep);padding-top:16px;margin-top:12px;font-family:var(--font-display);font-size:32px;color:var(--psf-blue)}.center-screen{position:absolute;inset:0;padding:64px 96px;display:grid;grid-template-rows:auto 1fr auto;grid-gap:48px;gap:48px}.center-screen .header{text-align:center}.center-screen .header .zh{font-family:var(--font-zh);font-size:36px;color:var(--psf-pink-deep)}.center-screen .header h1{font-family:var(--font-display);font-size:80px;color:var(--psf-blue);line-height:1;margin-top:12px}.center-screen .header p{font-family:var(--font-body);font-size:24px;color:var(--psf-ink-2);margin-top:12px}.terminal{display:grid;place-items:center;height:100%}.terminal .card{background:var(--psf-white);border-radius:40px;padding:56px;box-shadow:var(--shadow-lg);width:800px;text-align:center}.terminal-image{width:280px;height:280px;background:var(--psf-cream-warm);border-radius:32px;margin:0 auto 32px;display:grid;place-items:center;position:relative}.terminal-image svg{width:180px;height:180px;color:var(--psf-blue)}.terminal-image .pulse{position:absolute;inset:0;border:4px solid var(--psf-pink);border-radius:32px;animation:terminalPulse 2s ease-out infinite}@keyframes terminalPulse{0%{transform:scale(1);opacity:1}to{transform:scale(1.15);opacity:0}}.confirm{position:absolute;inset:0;background:var(--psf-blue);color:var(--psf-cream);overflow:hidden;display:grid;place-items:center}.confirm .pattern{position:absolute;inset:0;background-image:var(--pattern-bg-blue);background-size:600px;opacity:.18}.confirm .core{position:relative;z-index:2;text-align:center;display:grid;grid-gap:16px;gap:16px;justify-items:center}.confirm .monkey{width:280px}.confirm h1{font-family:var(--font-display);font-size:100px;color:var(--psf-pink);line-height:1;letter-spacing:.02em}.confirm .order-num-card{margin-top:18px;background:var(--psf-pink);color:var(--psf-blue);padding:28px 64px;border-radius:32px;display:inline-grid;gap:8px;text-align:center}.confirm .order-num-card .lab{font-family:var(--font-display);font-size:20px;letter-spacing:.12em}.confirm .order-num-card .num{font-family:var(--font-display);font-size:120px;line-height:1}.confirm .holler{font-family:var(--font-body);font-weight:800;font-size:26px;color:var(--psf-cream);margin-top:12px}.beeper-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:16px;gap:16px;max-width:1400px;margin:0 auto}.beeper{aspect-ratio:1;background:var(--psf-white);border:3px solid var(--psf-cream-deep);border-radius:24px;display:grid;place-items:center;cursor:pointer;font-family:var(--font-display);font-size:44px;color:var(--psf-blue);transition:all var(--dur-fast) var(--ease-bounce)}.beeper:hover{transform:scale(1.04);border-color:var(--psf-pink)}.beeper.taken{background:var(--psf-cream);color:var(--psf-ink-3);cursor:not-allowed}.beeper.selected{background:var(--psf-pink);color:var(--psf-blue);border-color:var(--psf-pink)}.upsell{position:absolute;inset:0;padding:48px 64px;display:grid;grid-template-rows:auto 1fr auto;grid-gap:32px;gap:32px;background:var(--psf-cream-warm)}.upsell-cards{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:24px;gap:24px}.upsell-card{background:var(--psf-white);border-radius:32px;padding:0;overflow:hidden;box-shadow:var(--shadow-md);display:grid;grid-template-rows:280px auto auto;cursor:pointer;transition:transform var(--dur-base) var(--ease-bounce)}.upsell-card:hover{transform:translateY(-4px)}.upsell-card .ph{background:var(--psf-cream-warm);overflow:hidden}.upsell-card .ph img{display:block}.upsell-card .body{padding:20px 24px}.upsell-card .nm{font-family:var(--font-display);font-size:28px;color:var(--psf-blue)}.upsell-card .ds{font-family:var(--font-body);font-size:16px;color:var(--psf-ink-2);margin-top:6px}.upsell-card .add-row{padding:0 24px 22px;display:flex;justify-content:space-between;align-items:center}.upsell-card .pr{font-family:var(--font-display);font-size:26px;color:var(--psf-pink-deep);display:inline-flex;align-items:baseline;gap:8px}.upsell-card .pr s{font-size:18px;color:var(--psf-ink-3);opacity:.7}.upsell-card .pr .now{color:var(--psf-pink-deep)}.upsell-card.no-thanks{border:3px dashed var(--psf-cream-deep)}.upsell-card.no-thanks.on{border-color:var(--psf-pink);box-shadow:0 8px 18px rgba(220,60,120,.18)}.upsell-card.no-thanks .ph.placeholder{display:grid;place-items:center;background:var(--psf-cream);font-family:var(--font-display);font-size:36px;color:var(--psf-ink-3);letter-spacing:.04em}.upsell-card.no-thanks .pr .now{color:var(--psf-ink-3)}.allergen-table{background:var(--psf-white);border-radius:32px;overflow:hidden;box-shadow:var(--shadow-md);width:100%}.allergen-table table{width:100%;border-collapse:collapse}.allergen-table td,.allergen-table th{padding:16px 20px;text-align:center;font-family:var(--font-body);font-weight:700;font-size:16px;border-bottom:1px solid var(--psf-cream-deep)}.allergen-table th{background:var(--psf-cream);font-size:14px;letter-spacing:.06em;position:-webkit-sticky;position:sticky;top:0}.allergen-table td:first-child,.allergen-table th{color:var(--psf-blue);font-family:var(--font-display)}.allergen-table td:first-child{text-align:left;font-size:18px}.allergen-table tr:nth-child(2n){background:var(--psf-cream-warm)}.allergen-dot{display:inline-block;width:18px;height:18px;border-radius:9999px;background:var(--psf-pink)}.allergen-dot.no{background:var(--psf-cream-deep);opacity:.4}.detail-sheet .info.modifier-wizard{padding:28px 36px;grid-template-rows:auto 1fr auto}.modifier-wizard .head .desc{margin-top:6px;font-size:16px}.modifier-wizard .head h1{font-size:36px;line-height:1.05}.modifier-wizard .head .price-row{margin-top:10px}.modifier-wizard .head .price{font-size:28px}.modifier-wizard .wiz-progress{display:flex;gap:8px;margin-bottom:12px}.modifier-wizard .wiz-progress .dot{width:12px;height:12px;border-radius:9999px;background:var(--psf-cream-deep);transition:background var(--dur-fast) var(--ease-out),width var(--dur-fast) var(--ease-out)}.modifier-wizard .wiz-progress .dot.on{background:var(--psf-pink);width:28px}.modifier-wizard .wiz-body{margin:18px 0 12px;overflow-y:auto;padding-right:6px}.modifier-wizard .wiz-body.shake{animation:shake .3s ease}@keyframes shake{0%,to{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}.modifier-wizard .wiz-step-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}.modifier-wizard .wiz-step-title{font-family:var(--font-display);font-size:24px;color:var(--psf-blue);letter-spacing:.02em}.modifier-wizard .wiz-step-sub{font-family:var(--font-body);font-size:14px;color:var(--psf-pink-deep);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.modifier-wizard .option-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:14px;gap:14px;align-items:stretch}.option-card{background:var(--psf-white);border:3px solid var(--psf-cream-deep);border-radius:18px;padding:0;cursor:pointer;display:flex;flex-direction:column;text-align:left;position:relative;overflow:hidden;transition:transform var(--dur-fast) var(--ease-bounce),border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.option-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.option-card.on{border-color:var(--psf-pink);box-shadow:0 8px 18px rgba(220,60,120,.18)}.option-card .ph,.option-card .placeholder{height:130px;background:var(--psf-cream-warm);border-radius:14px 14px 0 0;overflow:hidden;position:relative}.option-card .ph img{display:block}.option-card .placeholder{display:grid;place-items:center;font-family:var(--font-display);font-size:18px;color:var(--psf-blue);text-align:center;padding:0 12px;line-height:1.1}.option-card .body{padding:10px 12px 12px;display:flex;flex-direction:column;gap:4px;flex:1 1}.option-card .nm{font-family:var(--font-display);font-size:16px;color:var(--psf-blue);line-height:1.1}.option-card .pr{font-family:var(--font-body);font-weight:800;font-size:14px;color:var(--psf-pink-deep);letter-spacing:.04em}.option-card .check{position:absolute;top:8px;right:8px;width:30px;height:30px;display:grid;place-items:center;background:var(--psf-pink);color:var(--psf-blue);border-radius:9999px;box-shadow:var(--shadow-md)}.option-card .check svg{width:18px;height:18px}.option-card.no-thanks{border-style:dashed}.option-card.no-thanks .placeholder.no-thanks-art{background:var(--psf-cream);color:var(--psf-ink-3);font-size:16px}.option-card.no-thanks .pr{color:var(--psf-ink-3)}.modifier-wizard .wiz-receipt{display:flex;flex-direction:column;background:var(--psf-white);border:1px solid var(--psf-cream-deep);border-radius:14px;padding:14px 18px;gap:6px}.receipt-line{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--font-body);font-size:16px;color:var(--psf-ink-2)}.receipt-line .amt{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;color:var(--psf-blue)}.receipt-line.base{font-size:18px}.receipt-line.base .lbl{font-family:var(--font-display);color:var(--psf-blue);letter-spacing:.02em}.receipt-line.base .amt{font-family:var(--font-display);font-size:20px}.receipt-divider{height:1px;background:repeating-linear-gradient(to right,var(--psf-cream-deep) 0 6px,transparent 6px 12px);margin:10px 0}.modifier-wizard .wiz-edit-list{display:flex;flex-direction:column;gap:8px}.wiz-edit-row{display:grid;grid-template-columns:1fr auto;grid-gap:12px;gap:12px;align-items:center;padding:12px 16px;background:var(--psf-cream);border:1.5px solid var(--psf-cream-deep);border-radius:12px;cursor:pointer;text-align:left;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.wiz-edit-row:hover{border-color:var(--psf-pink);background:var(--psf-cream-warm)}.wiz-edit-row .copy .val{font-family:var(--font-display);font-size:18px;color:var(--psf-blue);line-height:1.1}.wiz-edit-row .edit{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-body);font-weight:800;font-size:13px;color:var(--psf-pink-deep);letter-spacing:.04em;text-transform:uppercase}.wiz-edit-row .edit svg{width:14px;height:14px}.modifier-wizard .wiz-foot{display:grid;grid-template-columns:auto 1fr auto;grid-gap:14px;gap:14px;align-items:center;padding-top:16px;border-top:2px solid var(--psf-cream-deep)}.modifier-wizard .wiz-total{display:flex;align-items:baseline;gap:12px;justify-content:center}.modifier-wizard .wiz-total .lab{font-family:var(--font-body);font-size:13px;font-weight:800;color:var(--psf-ink-3);text-transform:uppercase;letter-spacing:.1em}.modifier-wizard .wiz-total .val{font-family:var(--font-display);font-size:44px;color:var(--psf-pink-deep);line-height:1}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--psf-cream-deep);border-radius:9999px}