@font-face{font-family:Display;src:url(./display-CpTN5hF5.woff2) format("woff2");font-weight:100 900;font-display:swap}:root{--c-page-bg: #f2f2f2;--c-outside-bg: #4a4a4a;--c-header-bg: #8a8a8a;--c-header-text: #ffffff;--c-accent: #777777;--c-shelf-bg: #999999;--c-table-bg: #999999;--c-button: #d0d0d0;--c-button-glyph: #444444;--c-arrow: #ffffff;--c-text: #444444;--c-bubble-bg: #444444;--c-bubble-text: #f2f2f2;--c-modal-bg: #f2f2f2;--c-modal-edge: #c4c4c4;--c-food-shadow: rgb(0 0 0 / .25);--c-scrim: rgb(20 16 10 / .5);--font: "Display", system-ui, sans-serif;--grow: 1;--foot-pad: 3cqw;--btn: max(14cqw, 44px);--btn-header: max(12cqw, 44px);--arrow-hit-w: 16cqw;--arrow-hit-h: 24cqw;--arrow-img-w: 8cqw;--radius-panel: 4cqw;--radius-control: 2.4cqw;--radius-button: 24%;--z-content: 2;--z-drag: 40;--z-modal: 60;--ease-out: cubic-bezier(.2, .8, .2, 1);--slide-ms: .26s}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden;overscroll-behavior:none;background:var(--c-outside-bg);color:var(--c-text);font-family:var(--font);font-synthesis:none;-webkit-tap-highlight-color:transparent}#app{display:flex;justify-content:center;height:100dvh}.stage{position:relative;display:flex;flex-direction:column;width:min(100vw,calc(100dvh * var(--stage-aspect)));height:100dvh;container-type:inline-size;overflow:hidden;background:var(--c-page-bg);user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}img{-webkit-user-drag:none}.header{position:relative;flex:none;display:grid;place-items:center;height:calc(var(--header-h) + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);border-bottom:var(--line) solid var(--c-accent);background:var(--c-header-bg);color:var(--c-header-text)}.title{margin:0;padding-left:var(--title-spacing);font-size:var(--title-size);font-weight:400;letter-spacing:var(--title-spacing);line-height:1.2;white-space:nowrap}.header .icon-btn{position:absolute;top:calc(env(safe-area-inset-top) + (var(--header-h) - var(--btn-header)) / 2);width:var(--btn-header);height:var(--btn-header)}.header .btn-theme{right:var(--foot-pad)}.screen-host{display:flex;flex:1;flex-direction:column;min-height:0}.status{display:grid;gap:4cqw;justify-items:center;margin:auto;font-size:4.4cqw;line-height:1.6;text-align:center}.status p{margin:0}.icon-btn{display:grid;place-items:center;padding:0;border:0;border-radius:var(--radius-button);background:var(--c-button);color:var(--c-button-glyph);cursor:pointer;touch-action:manipulation;transition:transform 90ms var(--ease-out)}.icon-btn:active:not(:disabled){transform:scale(.94)}.glyph{display:block;width:100%;height:100%;background-color:currentColor;-webkit-mask:var(--glyph) center / contain no-repeat;mask:var(--glyph) center / contain no-repeat;pointer-events:none}.icon-btn:disabled,.carousel-arrow:disabled{cursor:default;opacity:.45;filter:grayscale(.7)}:is(.icon-btn,.carousel-arrow,.modal-btn,.theme-option):focus-visible{outline:.8cqw solid var(--c-accent);outline-offset:.6cqw;border-radius:var(--radius-control)}.modal-backdrop{position:absolute;inset:0;z-index:var(--z-modal);display:grid;place-items:center;background:var(--c-scrim)}.modal{display:grid;gap:4.5cqw;width:78cqw;padding:6cqw;border:.4cqw solid var(--c-modal-edge);border-radius:var(--radius-panel);background:var(--c-modal-bg);color:var(--c-text);animation:modal-pop .2s var(--ease-out)}@keyframes modal-pop{0%{opacity:0;transform:scale(.94)}}.modal-title{margin:0;font-size:6cqw;font-weight:400;line-height:1.3;text-align:center}.modal-text{margin:0;font-size:4.6cqw;line-height:1.6;text-align:center}.modal-actions{display:flex;gap:3cqw;justify-content:center}.modal-btn,.theme-option{display:flex;gap:3cqw;align-items:center;justify-content:center;min-width:24cqw;min-height:12cqw;padding:0 5cqw;border:0;border-radius:var(--radius-control);background:var(--c-modal-edge);color:var(--c-text);font:inherit;font-size:4.4cqw;line-height:1.4;cursor:pointer;touch-action:manipulation;transition:transform 90ms var(--ease-out)}.modal-btn-primary,.theme-option.is-current{background:var(--c-button);color:var(--c-button-glyph)}:is(.modal-btn,.theme-option):active{transform:scale(.96)}.theme-list{display:grid;gap:3cqw}@media(prefers-reduced-motion:reduce){*{transition-duration:0ms!important;animation-duration:0ms!important}}.screen{display:flex;flex:1;flex-direction:column;min-height:0}.mid{position:relative;flex:1;min-height:0;overflow:hidden;border-bottom:var(--line) solid var(--c-accent)}.buffet .mid{background:var(--c-shelf-bg)}.dining .mid{border-bottom:0}.foot{position:relative;flex:none;padding-bottom:env(safe-area-inset-bottom)}.foot-buffet{height:calc(var(--foot-buffet-h) + env(safe-area-inset-bottom))}.carousel{position:absolute;inset:0;overflow:hidden;touch-action:none}.carousel-track{display:flex;height:100%;transform:translate(calc(var(--index, 0) * -100cqw + var(--drag, 0px)));transition:transform var(--slide-ms) var(--ease-out);will-change:transform}.carousel-track.is-dragging,.carousel-track.is-still{transition:none}.carousel-slot{display:grid;flex:none;grid-template:minmax(0,1fr) / minmax(0,1fr);place-items:center;width:100cqw;height:100%}.tray{position:relative;width:auto;height:min(100%,var(--tray-h));aspect-ratio:var(--tray-aspect)}.tray-canvas{position:absolute;inset:0;display:block;width:100%;height:100%}.carousel-arrow{position:absolute;top:50%;z-index:var(--z-content);display:grid;place-items:center;width:var(--arrow-hit-w);height:var(--arrow-hit-h);padding:0;border:0;background:none;cursor:pointer;translate:0 -50%;touch-action:manipulation}.carousel-prev{left:0}.carousel-next{right:0}.carousel-arrow .glyph{width:var(--arrow-img-w);height:auto;aspect-ratio:192 / 256;color:var(--c-arrow);transition:transform 90ms var(--ease-out)}.carousel-arrow:active:not(:disabled) .glyph{transform:scale(.88)}.plate-box{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom) + var(--foot-pad));display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr);place-items:center;width:var(--plate-w);height:var(--plate-area-h);transform:translate(-50%)}.plate-canvas{display:block;width:var(--plate-w);height:auto;aspect-ratio:1 / .88;touch-action:none}.counter{position:absolute;left:var(--foot-pad);bottom:calc(env(safe-area-inset-bottom) + var(--foot-pad) + var(--btn) + 3.4cqw);display:flex;gap:1.2cqw;align-items:center;min-width:var(--btn);padding:1.3cqw 2.2cqw 1.3cqw 1.6cqw;border-radius:2.6cqw;background:var(--c-bubble-bg);color:var(--c-bubble-text);font-size:4.6cqw;line-height:1.2}.counter:after{position:absolute;top:100%;left:calc(var(--btn) / 2);width:3cqw;height:2cqw;background:var(--c-bubble-bg);clip-path:polygon(0 0,100% 0,50% 100%);content:"";translate:-50% -1px}.counter-icon{width:5cqw;height:5cqw}.foot-buffet .btn-add,.foot-buffet .btn-confirm{position:absolute;bottom:calc(env(safe-area-inset-bottom) + var(--foot-pad));width:var(--btn);height:var(--btn)}.foot-buffet .btn-add{left:var(--foot-pad)}.foot-buffet .btn-confirm{right:var(--foot-pad)}.drag-layer{position:fixed;inset:0;z-index:var(--z-drag);pointer-events:none}.drag-item{position:absolute;top:0;left:0;will-change:transform}.drag-food{position:absolute;top:0;left:0;display:block;height:auto;filter:drop-shadow(0 1.4cqw 1cqw var(--c-food-shadow))}.drag-tongs{position:absolute;top:0;left:0;width:var(--tongs-w);height:var(--tongs-h);object-fit:contain;transform:translate(-50%,-100%)}.foot-dining{display:flex;align-items:center;justify-content:space-between;height:calc(var(--foot-dining-h) + env(safe-area-inset-bottom));padding-right:var(--foot-pad);padding-left:var(--foot-pad)}.foot-dining .icon-btn{width:var(--btn);height:var(--btn)}.table-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:manipulation}
