@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2) format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-600-normal-Br8yIETf.woff2) format("woff2"),url(/assets/nunito-latin-600-normal-Cd0eNu1l.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2) format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2) format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-vietnamese-400-normal-BHkVbP3T.woff2) format("woff2"),url(/assets/nunito-vietnamese-400-normal-DtOtW02z.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-vietnamese-600-normal-BY8O6Cug.woff2) format("woff2"),url(/assets/nunito-vietnamese-600-normal-DO1RqFw5.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-vietnamese-700-normal-Ch8EUCfz.woff2) format("woff2"),url(/assets/nunito-vietnamese-700-normal-C9SQsXvj.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-vietnamese-800-normal-D_CZYdm9.woff2) format("woff2"),url(/assets/nunito-vietnamese-800-normal-Dz0hZPb5.woff) format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/baloo-2-latin-700-normal-CqTg7A15.woff2) format("woff2"),url(/assets/baloo-2-latin-700-normal-Ld3Zm3l2.woff) format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:800;src:url(/assets/baloo-2-latin-800-normal-BbF3Etk1.woff2) format("woff2"),url(/assets/baloo-2-latin-800-normal-B8BXfZF7.woff) format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/baloo-2-vietnamese-700-normal-h4tlcePq.woff2) format("woff2"),url(/assets/baloo-2-vietnamese-700-normal-DoF59Mjc.woff) format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:800;src:url(/assets/baloo-2-vietnamese-800-normal-ConLnEgt.woff2) format("woff2"),url(/assets/baloo-2-vietnamese-800-normal-GQACmpuv.woff) format("woff")}:root{--cream:#fff8ed;--paper:#fffcf7;--ink:#4d1c0d;--muted:#89654d;--red:#e51e19;--red-dark:#a31610;--red-soft:#fff0e8;--line:#e8d9c5;--green:#46774a;font-family:Nunito,sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit;min-width:0}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #d69000;outline-offset:5px}input:focus-visible{outline:2px solid var(--red);outline-offset:2px}img{display:block;max-width:100%}button,a{touch-action:manipulation}::selection{background:#ffc9b3}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:"Baloo 2",Nunito,sans-serif;font-weight:800}.site-header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 44px;border-bottom:1px solid var(--line);gap:18px}.brand{display:inline-flex;gap:11px;align-items:center;color:#d51712;text-decoration:none;white-space:nowrap}.brand img{width:65px;height:65px;object-fit:contain;mix-blend-mode:multiply}.brand span{font:800 44px/1 "Baloo 2",sans-serif;letter-spacing:-1.8px}.group-button{background:transparent;border:1.5px solid var(--ink);border-radius:20px;padding:10px 19px;display:flex;align-items:center;gap:10px;font-size:19px;font-weight:800;transition:background .2s,transform .2s}.group-button:hover{background:#f5e8d4;transform:translateY(-1px)}.group-button:disabled{opacity:.45}.group-button.in-room{border-color:var(--red);color:var(--red)}.member-count{background:var(--red);color:#fff;min-width:25px;height:25px;padding:1px 6px;border-radius:20px;font-size:14px}.main-content{max-width:1440px;margin:auto;position:relative}.play-section{display:flex;flex-direction:column;align-items:center;padding:46px 30px 0;text-align:center}.play-section h1{font-size:clamp(54px,6.1vw,90px);line-height:1.15;letter-spacing:-2.5px}.machine{width:min(860px,100%);aspect-ratio:1914 / 822;position:relative;margin-top:37px;isolation:isolate}.machine-frame{width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}.center-window{position:absolute;left:34.7%;right:34.7%;top:12.2%;bottom:11.3%;z-index:3}.center-window .reel{height:100%}.food-window{position:absolute;left:6.6%;right:6.6%;top:14.8%;bottom:15.5%;display:grid;grid-template-columns:1fr 1.06fr 1fr;overflow:hidden;border-radius:9%/22%;background:#6b2915}.reel{position:relative;min-width:0;overflow:hidden;box-shadow:inset 0 0 18px #622c1b44}.reel-cell{width:100%;overflow:hidden;position:relative;background:#f7e4c6}.reel-cell.idle{height:100%}.reel-cell img{width:100%;height:100%;object-fit:cover}.reel-0 .reel-cell img,.reel-2 .reel-cell img{filter:brightness(.87) saturate(.9)}.reel-1{z-index:1;border:4px solid #ffe185;border-radius:34px;box-shadow:0 0 12px #ffc237,0 0 2px 2px #fff4cb}.reel-strip{will-change:transform}.reel-caption{position:absolute;bottom:10px;left:50%;transform:translate(-50%);border-radius:20px;background:#fff8edf2;color:var(--ink);padding:5px 12px;font-size:14px;font-weight:800;white-space:nowrap;opacity:0;transition:opacity .2s}.machine:hover .reel-caption{opacity:1}.reel.running .reel-strip{filter:blur(1px)}.reel .custom-cell{background:#f6ddba}.custom-cell img{object-fit:contain;padding:8%;height:85%}.custom-cell span{display:block;font-weight:800;font-size:17px;padding:2px 5px;position:absolute;bottom:5%;left:0;right:0}.chef{position:absolute;z-index:3;left:-9%;bottom:-17%;width:19%;pointer-events:none}.sound-button{position:absolute;top:-6%;right:1%;z-index:4}.icon-button{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:var(--paper);display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;transition:background .2s}.icon-button:hover{background:#f3e5d2}.sound-button{width:41px;height:41px;border:1.5px solid #805331;color:#805331;background:var(--cream)}.spin-button{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:27px;width:465px;height:88px;border:1.5px solid #c82418;border-top:4px solid #ff8275;border-radius:52px;background:#f0201a;color:#fff;font:800 43px/1 "Baloo 2",sans-serif;letter-spacing:.5px;box-shadow:inset 0 -7px #bd160e,0 6px #8f2411,0 10px 16px #783b1624;transition:background .2s,opacity .2s;padding:4px 24px 8px}.spin-button:hover:not(:disabled){background:#ff2b21}.spin-button:disabled{opacity:.65}.spin-button.spinning{opacity:1}.spin-icon{animation:rotate 1s linear infinite;flex-shrink:0}@keyframes rotate{to{transform:rotate(360deg)}}.play-hint{display:flex;align-items:center;justify-content:center;gap:9px;color:var(--muted);font-size:19px;font-weight:700;min-height:29px;margin:24px 0 0}.text-button{border:0;background:transparent;padding:0;color:inherit;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:7px;line-height:1.5}.text-button:hover{color:var(--red)}.last-result{margin-top:14px;color:var(--muted);font-size:14px}.last-result strong{color:var(--red)}.page-footer{display:flex;gap:22px;justify-content:center;align-items:center;padding:29px 22px 22px;font-size:12px;color:#987761}.page-footer button{color:#795a45;font-weight:700}.page-footer button:disabled{opacity:.5}.room-status{position:absolute;top:12px;left:20px;right:20px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;font-size:12px}.room-status strong{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.connection-dot{width:7px;height:7px;border-radius:50%;background:#d2b89a;display:inline-block}.connection-dot.online{background:#5d9052}.room-role{border-left:1px solid var(--line);padding-left:8px;color:var(--muted)}.reconnecting{display:inline-flex;align-items:center;gap:4px;color:#986421}.connection-error{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;padding:30px}.connection-error img{height:150px}.connection-error h1{font-size:36px}.connection-error p{color:var(--muted)}.modal{padding:0;border:1px solid #e4cdb1;border-radius:25px;background:var(--paper);color:var(--ink);box-shadow:0 25px 100px #30160638;width:min(680px,calc(100% - 32px));max-height:min(88dvh,900px);overflow:hidden}.modal[open]{display:flex;flex-direction:column;animation:modal-in .22s ease-out}.modal::backdrop{background:#29150775;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}@keyframes modal-in{0%{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:25px 27px 19px;gap:12px;flex-shrink:0}.modal-header h2{font-size:28px;line-height:1.2;letter-spacing:-.5px}.modal-header p{margin-top:8px;font-size:14px;color:var(--muted);line-height:1.5;max-width:470px}.modal-header .icon-button{margin:-5px -7px 0 0;border:0;background:transparent}.modal-body{padding:0 27px 25px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#dcc7ad transparent}.modal-footer{display:flex;gap:15px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:15px 27px;background:var(--paper);flex-shrink:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;min-height:44px;padding:10px 19px;border-radius:13px;font-size:15px;font-weight:800;text-decoration:none;transition:background .2s,transform .2s}.button.primary{background:var(--red);color:#fff;box-shadow:0 2px 0 var(--red-dark)}.button.primary:hover{background:#d91b16}.button.secondary{background:#f4e9d9;border:1px solid #e0ccb3;color:var(--ink)}.button.secondary:hover{background:#ecdbc5}.button:disabled{opacity:.45}.full-width{width:100%}.search-box{border:1px solid #e0ccb3;background:#fff;border-radius:13px;height:46px;padding:0 14px;display:flex;align-items:center;gap:10px;color:var(--muted)}.search-box:focus-within{border-color:var(--red);outline:2px solid #e51e191a}.search-box input{width:100%;border:0;background:transparent;outline:none;color:var(--ink);height:100%;font-size:15px}.search-box input:focus-visible{outline:none}.category-list{display:flex;gap:8px;overflow-x:auto;padding:16px 0;scrollbar-width:none}.category-list button{border:1px solid var(--line);background:transparent;padding:6px 12px;border-radius:20px;font-size:13px;font-weight:800;white-space:nowrap}.category-list button.active{background:var(--red-soft);border-color:#ea9a7c;color:#bd2a15}.food-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px 15px}.food-tile{padding:0;background:transparent;border:0;border-radius:12px;text-align:left;color:var(--ink);transition:opacity .2s}.food-tile:disabled{cursor:default}.food-tile-image{aspect-ratio:1.22;border-radius:13px;position:relative;padding:3px;border:2px solid transparent;transition:border-color .15s}.food-tile-image img{height:100%;width:100%;object-fit:cover;border-radius:9px;transition:filter .2s}.food-tile:not(.selected):hover .food-tile-image img{filter:brightness(1.05)}.food-tile.selected .food-tile-image{border-color:var(--red)}.selection-check{position:absolute;right:10px;top:10px;width:23px;height:23px;border:1.5px solid #fff;background:#fffaf0da;border-radius:50%;display:flex;justify-content:center;align-items:center;box-shadow:0 1px 4px #391c1930}.selected .selection-check{background:var(--red);color:#fff}.food-tile-name{display:block;margin:6px 5px 0;font-size:16px;font-weight:800}.food-tile-category{display:block;margin:2px 5px 0;font-size:12px;color:var(--muted)}.is-custom{background:#f7e3c6}.is-custom img{object-fit:contain;padding:8px}.selected-summary{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:14px}.selected-summary strong{color:var(--red)}.full-input{border:1px solid #ddc8ad;background:#fff;padding:11px 13px;color:var(--ink);border-radius:11px;width:100%;font-size:15px}.inline-notice{display:flex;gap:8px;align-items:center;border-radius:9px;background:#f6ebd7;padding:10px;font-size:12px;margin-bottom:14px}.empty-state{color:var(--muted);padding:30px 0;text-align:center;font-size:14px}.group-modal,.share-modal{max-width:540px}.group-illustration{display:flex;justify-content:center;height:125px;margin-bottom:15px}.group-illustration img{height:100%;width:auto;object-fit:contain}.field-label{display:block;font-size:14px;font-weight:800;margin-bottom:8px}.group-points{display:flex;flex-direction:column;gap:11px;margin:23px 0}.group-points span{display:flex;gap:10px;align-items:center;font-size:14px;color:var(--muted)}.group-points svg{color:var(--ink)}.privacy-note{margin-top:14px;font-size:11px;text-align:center;color:var(--muted);line-height:1.6}.room-summary{border-bottom:1px solid var(--line);padding-bottom:19px;margin-bottom:20px}.room-summary>span:first-child{display:flex;gap:9px;font-size:15px;font-weight:800;align-items:center}.connection-label{display:inline-flex;gap:6px;align-items:center;margin-top:8px;font-size:11px;color:var(--green)}.connection-label.offline{color:var(--muted)}.connection-label.offline .connection-dot{background:#c28e3f}.invite-section{margin:20px 0}.invite-section h3{font:800 16px Nunito,sans-serif;display:flex;align-items:center;gap:8px}.invite-section p{color:var(--muted);font-size:12px;margin:7px 0 9px}.invite-input{display:flex;gap:8px}.invite-input input{flex:1;border:1px solid var(--line);padding:9px 10px;border-radius:10px;font-size:12px;color:var(--muted);background:#fff;width:100%}.invite-input .button{font-size:12px;padding:8px 12px;min-height:39px;white-space:nowrap}.lock-setting{border-top:1px solid var(--line);padding-top:20px;display:flex;gap:15px;justify-content:space-between;align-items:center}.lock-setting strong{display:flex;gap:7px;align-items:center;font-size:14px}.lock-setting p{font-size:12px;color:var(--muted);margin-top:6px}.switch{width:44px;height:26px;border:0;border-radius:20px;background:#cfbfa9;padding:3px;flex-shrink:0;transition:background .2s}.switch span{width:20px;height:20px;background:#fff;border-radius:50%;display:block;transition:transform .2s;box-shadow:0 1px 2px #48231522}.switch.on{background:var(--red)}.switch.on span{transform:translate(18px)}.leave-room{border-top:1px solid var(--line);width:100%;margin-top:23px;padding-top:18px;font-size:13px}.guest-room-info p{font-size:14px;line-height:1.7;color:var(--muted);margin-bottom:15px}.loading-message{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:14px}.reveal-modal{max-width:530px}.reveal-modal .modal-header{padding-bottom:17px}.reveal-modal .modal-header h2{font-size:23px}.reveal-modal .modal-body{padding:0 0 24px}.winner-image{width:100%;display:grid;place-items:center;background:var(--cream);overflow:hidden;position:relative}.winner-image>img{width:auto;height:auto;max-width:100%;max-height:min(44svh,420px);object-fit:contain;object-position:center}.winner-image.custom-winner{background:#f6e2c6}.winner-image.custom-winner>img{object-fit:contain;padding:16px}.winner-copy{padding:22px 32px 0;text-align:center}.winner-eyebrow{display:inline-flex;gap:5px;color:var(--green);align-items:center;font-size:11px;font-weight:800;letter-spacing:1px}.winner-copy h3{color:var(--red);font-size:44px;line-height:1.2;margin-top:5px}.winner-copy p{font-size:14px;color:var(--muted);line-height:1.7;margin-top:10px}.winner-confirm{width:100%;margin-top:22px}.retry-button{font-size:12px;margin-top:15px;color:var(--muted)}.sparkles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.sparkles span{position:absolute;color:#ffe789;filter:drop-shadow(0 0 5px #b87907)}.history-modal{max-width:490px}.history-row{display:flex;align-items:center;gap:14px;padding:12px 0;background:transparent;border:0;border-bottom:1px solid var(--line);width:100%;text-align:left}.history-row:hover{color:var(--red)}.history-row>img{height:56px;width:66px;object-fit:cover;border-radius:10px}.history-row>span{flex:1}.history-row strong{font-size:15px}.history-row small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.empty-history{text-align:center;color:var(--muted);padding:22px 0}.empty-history>svg{margin-bottom:12px}.empty-history h3{font-size:24px;color:var(--ink)}.empty-history p{font-size:14px;margin:7px 0 20px}.toast{position:fixed;inset:auto;bottom:25px;left:50%;margin:0;border:0;transform:translate(-50%)!important;z-index:100;border-radius:13px;background:var(--ink);color:#fff;display:flex;align-items:center;gap:8px;padding:13px 18px;box-shadow:0 5px 25px #22120526;font-size:13px;width:max-content;max-width:calc(100vw - 30px)}.toast.error{background:#9d281b}.food-tile-name,.winner-copy h3,.custom-cell span,.history-row strong,.modal-header h2{overflow-wrap:anywhere}.custom-management>div>span{min-width:0;overflow-wrap:anywhere}.last-result{max-width:90%}.last-result strong{min-width:0;overflow-wrap:anywhere}@media(min-width:1600px){.play-section{padding-top:60px}}@media(max-width:1000px){.site-header{padding:0 27px;height:85px}.brand span{font-size:37px}.brand img{width:57px;height:57px}.group-button{font-size:16px;padding:9px 14px;border-radius:16px}.play-section{padding-top:48px}.play-section h1{font-size:65px}.intro{font-size:22px}.machine{width:min(780px,91%)}.spin-button{height:77px;width:410px;font-size:37px}.play-hint{font-size:16px}}@media(max-width:600px){.site-header{height:76px;padding:0 17px;gap:10px}.brand{gap:6px}.brand img{width:44px;height:47px}.brand span{font-size:29px;letter-spacing:-1.3px}.group-button{font-size:0;border-radius:13px;padding:9px;min-width:43px;height:42px;gap:0}.group-button>span:not(.member-count){display:none}.member-count{font-size:11px;min-width:19px;height:19px;margin-left:4px}.main-content{min-height:calc(100dvh - 76px);display:flex;flex-direction:column}.play-section{padding:51px 15px 0;flex:1}.play-section h1{font-size:43px;letter-spacing:-1.4px;line-height:1.2}.intro{font-size:16px;margin-top:4px}.machine{margin-top:38px;width:calc(100% - 8px)}.reel-1{border-width:2px;border-radius:14px;box-shadow:0 0 7px #ffc237}.chef{width:23%;left:-3%;bottom:-27%}.sound-button{width:31px;height:31px;top:-19%;right:1%}.sound-button>svg{width:18px;height:18px}.reel-caption{font-size:9px;padding:3px 6px;bottom:6px}.spin-button{margin-top:49px;width:min(285px,88%);height:64px;font-size:29px;border-top-width:3px;padding-bottom:7px;gap:10px;box-shadow:inset 0 -5px #bd160e,0 4px #8f2411,0 8px 12px #783b1624}.spin-button>svg{width:23px;height:23px}.play-hint{margin-top:22px;font-size:13px;gap:6px;min-height:23px}.play-hint>svg{width:16px;height:16px}.page-footer{padding:35px 16px 22px;gap:15px;font-size:10px;margin-top:15px}.page-footer svg{width:14px}.room-status{top:12px;font-size:10px;gap:6px}.room-status strong{max-width:155px}.room-role{padding-left:6px}.last-result{font-size:12px;margin-top:12px}.modal{width:calc(100% - 20px);max-height:90dvh;border-radius:20px}.modal-header{padding:22px 20px 18px;gap:6px}.modal-header h2{font-size:25px}.modal-header p{font-size:12px}.modal-header .icon-button{width:34px;height:34px}.modal-body{padding:0 20px 20px}.modal-footer{padding:13px 20px}.food-grid{grid-template-columns:repeat(2,1fr);gap:17px 10px}.food-tile-name{font-size:15px}.food-tile-category{font-size:11px}.category-list{padding:13px 0;gap:6px}.category-list button{font-size:11px;padding:6px 10px}.button{font-size:13px;padding:9px 14px}.selected-summary{font-size:12px}.group-illustration{height:110px}.group-points span{font-size:12px}.reveal-modal .modal-header{padding:19px 20px}.reveal-modal .modal-header h2{font-size:20px}.winner-copy{padding:20px 24px 0}.winner-copy h3{font-size:36px}.winner-copy p{font-size:13px}.connection-error h1{font-size:28px}.custom-cell span{font-size:10px;bottom:1%}}@media(max-width:360px){.brand span{font-size:25px}.brand img{width:39px}.play-section h1{font-size:38px}.intro{font-size:14px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reel-strip{filter:none!important}}.play-section{padding-top:34px}.where-switch{display:inline-flex;padding:3px;border-radius:30px;background:#f6e9d6;border:1px solid var(--line);margin-bottom:14px}.where-switch button{border:0;background:transparent;border-radius:26px;padding:7px 16px;font-size:15px;font-weight:800;display:inline-flex;align-items:center;gap:7px;color:var(--muted);min-height:38px;transition:background .2s,color .2s}.where-switch button.active{background:var(--paper);color:var(--ink);box-shadow:0 1px 3px #4d1c0d26}.where-switch button:disabled:not(.active){opacity:.5}.slot-list{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap;justify-content:center}.slot-list button{position:relative;border:1.5px solid var(--line);background:var(--paper);border-radius:30px;min-width:76px;min-height:44px;padding:6px 16px;font-size:17px;font-weight:800;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background .2s,border-color .2s,color .2s}.slot-list button:hover:not(:disabled):not(.active){background:#f8ead8}.slot-list button.active{background:var(--ink);border-color:var(--ink);color:#fff8ed}.slot-list button:disabled:not(.active){opacity:.5}.now-dot{width:8px;height:8px;border-radius:50%;background:#5d9052;box-shadow:0 0 0 3px #5d905233;flex-shrink:0}.slot-list button.active .now-dot{background:#a9e39c;box-shadow:0 0 0 3px #a9e39c40}.filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:10px;background:var(--red);color:#fff;font-size:11px}.food-emoji{display:flex;align-items:center;justify-content:center;width:100%;height:100%;line-height:1}.food-emoji>span{font-size:54px;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;filter:drop-shadow(0 3px 4px #4d1c0d30)}.reel{container-type:size}.emoji-cell .food-emoji{padding-bottom:16%}.emoji-cell .food-emoji>span{font-size:64px;font-size:46cqh}.emoji-cell .cell-name{display:block;position:absolute;left:4px;right:4px;bottom:6%;font-weight:800;font-size:15px;font-size:max(9px,8.5cqh);line-height:1.15;color:var(--ink);text-align:center;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.reel-0 .emoji-cell,.reel-2 .emoji-cell{filter:brightness(.9) saturate(.9)}.food-tile-image .food-emoji{border-radius:9px}.winner-image.emoji-winner .food-emoji>span{font-size:120px}.winner-meta{display:block;margin-top:2px;font-size:12px;font-weight:700;color:var(--muted)}.winner-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.winner-actions .winner-confirm{margin-top:0}.winner-note{display:block;margin-top:9px;font-size:11px;color:var(--muted)}.history-art{width:66px;height:56px;flex:none!important;border-radius:10px;overflow:hidden;display:block;background:#f7e4c6}.history-art img{width:100%;height:100%;object-fit:cover}.history-art .food-emoji>span{font-size:30px}.bulk-row{display:flex;align-items:center;gap:6px 16px;flex-wrap:wrap;margin:-4px 0 14px;font-size:12px;color:var(--muted)}.bulk-row>span{flex:1 1 180px}.bulk-row button{color:var(--red);font-size:13px;min-height:30px}.filters-modal{max-width:560px}.filter-section{margin-bottom:22px}.filter-section h3{font:800 16px Nunito,sans-serif}.filter-section p{font-size:12px;color:var(--muted);margin:4px 0 11px}.chip-list{display:flex;flex-wrap:wrap;gap:8px}.chip-list button{border:1.5px solid var(--line);background:transparent;border-radius:22px;padding:8px 14px;min-height:40px;font-size:14px;font-weight:800;transition:background .15s,border-color .15s}.chip-list button.active{background:var(--red-soft);border-color:#ea9a7c;color:#bd2a15}.chip-list.avoid button.active{background:var(--ink);border-color:var(--ink);color:#fff8ed;text-decoration:line-through;text-decoration-thickness:1.5px}.chip-list button:disabled{opacity:.6}.filters-modal .lock-setting{border-top:1px solid var(--line)}.clear-filters{margin-top:18px;color:var(--red);font-size:13px}@media(max-width:1000px){.play-section{padding-top:36px}}@media(max-width:600px){.play-section{padding-top:38px}.where-switch{margin-bottom:10px}.where-switch button{font-size:13px;padding:6px 12px;min-height:36px}.slot-list{gap:6px;margin-top:14px}.slot-list button{min-width:0;flex:1 1 0;padding:6px 8px;font-size:14px;min-height:42px;gap:4px}.slot-list{width:100%;max-width:360px;flex-wrap:nowrap}.machine{margin-top:30px}.spin-button{font-size:25px}.emoji-cell .cell-name{font-size:9px;font-size:max(8px,9cqh)}.food-emoji>span{font-size:46px}.winner-image.emoji-winner .food-emoji>span{font-size:96px}.winner-actions{grid-template-columns:1fr}.chip-list button{font-size:13px;padding:7px 12px}}.category-list button{flex:none}.category-list{scrollbar-width:thin;scrollbar-color:#dcc7ad transparent;padding-bottom:12px}@media(max-width:600px){.play-hint{text-align:center;padding:0 6px}.play-hint>svg{display:none}}.page-footer{flex-wrap:wrap;gap:8px 14px}.photo-credit-link{color:inherit;text-decoration:none;white-space:nowrap}.photo-credit-link:hover{color:var(--red);text-decoration:underline}.food-tile-image{overflow:hidden}.food-tile-image img{position:absolute;top:3px;right:3px;bottom:3px;left:3px;width:calc(100% - 6px);height:calc(100% - 6px);object-fit:cover}.food-tile-wrap{position:relative;min-width:0}.food-tile{width:100%;display:flex;flex-direction:column;align-items:stretch}.food-tile-image{width:100%;flex:0 0 auto}.food-tile-actions{position:absolute;top:11px;left:11px;display:flex;gap:5px}.food-card-action{width:30px;height:30px;border:0;background:#fffaf0f2;box-shadow:0 2px 6px #321e1526}.delete-food-button{color:#a62c1e}.delete-food-button:hover{background:#ffe1d6}.empty-food-image{border:1.5px dashed #cba47f;background:#faf1e2;color:#a15b35;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;transition:background .2s,border-color .2s}.empty-food-tile:hover .empty-food-image{background:#ffead7;border-color:var(--red);color:var(--red)}.empty-food-image>span{font-size:15px;font-weight:800}.empty-food-image>small{font-size:10px;color:var(--muted)}.empty-food-tile:disabled{opacity:.5}.editor-modal{max-width:510px}.food-editor{padding-bottom:2px}.photo-field-label{margin-top:22px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.photo-upload{width:100%;min-height:210px;padding:22px;border:1.5px dashed #c9a783;border-radius:15px;background:#faf1e2;color:var(--muted);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;overflow:hidden;position:relative}.photo-upload:hover{border-color:var(--red)}.photo-upload strong{font-size:17px;color:var(--ink)}.photo-upload>span{font-size:12px}.photo-upload>small{font-size:11px}.photo-upload.has-preview{padding:0;border-style:solid;aspect-ratio:1.7;min-height:0}.photo-upload.has-preview>img{width:100%;height:100%;object-fit:cover;position:absolute;top:0;right:0;bottom:0;left:0}.photo-upload .change-photo{position:absolute;bottom:12px;right:12px;display:flex;align-items:center;gap:6px;border-radius:20px;padding:7px 12px;background:#fffaf2ed;color:var(--ink);font-size:12px;font-weight:800}.photo-upload:disabled{opacity:.65}.photo-filename{color:var(--muted);margin-top:7px;font-size:11px;overflow-wrap:anywhere}.food-error{font-size:13px;line-height:1.5;color:#b22318;background:#fff0e9;border-radius:8px;padding:10px;margin-top:13px}.editor-note{margin-top:13px;color:var(--muted);font-size:11px;line-height:1.6}.food-tile-wrap,.empty-food-tile{align-self:start}@media(max-width:600px){.empty-food-image{gap:4px}.empty-food-image>span{font-size:13px}.photo-upload{min-height:185px}}.find-food-section{margin-top:16px;text-align:left}.city-choice{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted)}.city-choice select{max-width:65%;border:1px solid var(--line);border-radius:9px;padding:6px 9px;background:var(--paper);color:var(--ink);font:700 12px Nunito,sans-serif}.food-destinations{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:11px}.destination{display:flex;align-items:center;justify-content:center;gap:9px;padding:12px 10px;border-radius:12px;text-decoration:none;min-width:0;transition:background .2s,transform .2s}.destination:hover{transform:translateY(-1px)}.destination>svg{flex-shrink:0}.destination>svg:last-child{width:14px;margin-left:auto}.destination span{min-width:0}.destination strong{display:block;font-size:14px}.destination small{display:block;font-size:9px;margin-top:3px;white-space:nowrap}.destination.shopee{background:#ee4d2d;color:#fff}.destination.shopee:hover{background:#d9381b}.destination.grab{background:#007c3e;color:#fff}.destination.grab:hover{background:#006532}.destination.maps{grid-column:1 / -1;color:#25634d;background:#edf4ea;border:1px solid #bdd1ba}.destination.maps:hover{background:#dfecd9}.winner-copy .external-search-note{color:var(--muted);margin-top:8px;font-size:10px;line-height:1.5;text-align:center}.reveal-modal .modal-header{padding-top:18px;padding-bottom:15px}.reveal-modal .modal-header h2{font-size:22px}.reveal-modal .winner-image{height:auto;aspect-ratio:auto}.winner-copy{padding-top:16px}.winner-copy h3{font-size:38px}.winner-copy>p{font-size:13px;line-height:1.5;margin-top:7px}.winner-actions{display:block;width:100%;text-align:center;margin-top:0}.winner-actions .winner-confirm{margin-top:0;min-height:43px}.winner-actions .retry-button{margin-top:9px}.reveal-modal .modal-footer{padding-top:12px;padding-bottom:12px}.reveal-modal .modal-body{padding-bottom:17px}.recipe-destination{width:100%;margin-top:16px}@media(max-width:600px){.destination{padding:10px 8px;gap:6px}.destination strong{font-size:12px}.destination small{font-size:8px}.destination>svg:first-child{width:20px}.destination>svg:last-child{display:none}.food-destinations{gap:8px}.winner-copy{padding-left:12px;padding-right:12px}.winner-copy h3{font-size:34px}}.header-actions{display:flex;align-items:center;gap:18px;min-width:0}.header-clock{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;color:var(--muted);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.selection-toolbar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px 15px;margin-top:18px;color:var(--muted)}.selection-label{font-size:14px}.selection-label strong{color:var(--ink)}.edit-selection{position:static;display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 11px;border:1px solid var(--line);border-radius:18px;background:var(--paper);color:var(--ink);font-size:13px;font-weight:800}.edit-selection:hover{border-color:#c7a384;color:var(--red)}.edit-selection:disabled{opacity:.5}@media(max-width:600px){.header-actions{gap:3px;flex-direction:column;align-items:flex-end}.header-clock{font-size:11px;gap:3px}.header-clock svg{display:none}.selection-toolbar{margin-top:14px;gap:6px 10px}.selection-label{font-size:12px}.edit-selection{font-size:12px;min-height:36px}}:root{--game-header-height:72px}.site-header{height:var(--game-header-height);padding:0 28px}.brand img{width:49px;height:49px}.brand span{font-size:34px;letter-spacing:-1.4px}.group-button{padding:8px 14px;font-size:15px;border-radius:17px}.main-content{width:100%;height:calc(100svh - var(--game-header-height));min-height:calc(100svh - var(--game-header-height));display:flex;flex-direction:column}.play-section{flex:1 0 auto;min-height:0;padding:clamp(10px,2svh,20px) 30px 12px}.play-heading{display:flex;flex-direction:column;align-items:center;gap:8px;flex:0 0 auto}.play-section h1{font-size:clamp(34px,5.5svh,58px);line-height:1.12;letter-spacing:-1.5px}.slot-list{width:auto;max-width:none;margin:0;gap:5px;flex-wrap:nowrap}.slot-list button{flex:none;min-width:0;min-height:28px;padding:3px 11px;border-width:1px;border-radius:16px;font-size:12px;line-height:1.4;gap:4px}.now-dot{width:5px;height:5px;box-shadow:0 0 0 2px #5d905222}.slot-list button.active .now-dot{box-shadow:0 0 0 2px #a9e39c30}.machine-stage{width:100%;flex:1 1 0;min-height:160px;max-height:440px;display:grid;place-items:center;container-type:size;margin-top:4px}.machine{width:min(820px,calc(100cqw - 100px),185cqh);flex:none;margin:0}.chef{width:18%;left:-6%;bottom:-14%}.sound-button{top:-4%;right:1%;width:34px;height:34px}.sound-button>svg{width:20px;height:20px}.spin-button{flex:none;width:min(430px,85vw);height:clamp(56px,8svh,72px);margin-top:8px;font-size:clamp(28px,4.2svh,38px)}.selection-toolbar{flex:none;margin-top:14px;gap:8px 12px}.selection-label{font-size:12px}.edit-selection{min-height:32px;padding:4px 10px;font-size:12px}.play-hint{flex:none;margin-top:8px;min-height:0;font-size:12px;line-height:1.5}.play-hint:empty{display:none}.last-result{flex:none;margin-top:7px;font-size:12px}.page-footer{flex:none;margin:0;padding:8px 16px;font-size:10px;line-height:1.5}@media(max-width:600px){:root{--game-header-height:68px}.site-header{padding:0 15px}.brand{gap:6px}.brand img{width:40px;height:44px}.brand span{font-size:28px}.group-button{font-size:0;padding:8px;height:38px;min-width:39px;border-radius:12px}.play-section{padding:12px 14px 10px}.play-section h1{font-size:clamp(31px,5.2svh,39px);line-height:1.14;letter-spacing:-1px}.play-heading{gap:7px}.slot-list{width:auto;max-width:100%;gap:4px}.slot-list button{flex:none;min-height:30px;padding:4px 9px;font-size:11px}.machine-stage{min-height:155px;max-height:300px;margin-top:6px}.machine{width:min(560px,calc(100cqw - 18px),185cqh);margin:0}.chef{width:20%;left:-2%;bottom:-14%}.sound-button{top:-10%;right:1%;width:30px;height:30px}.sound-button>svg{width:18px;height:18px}.spin-button{width:min(340px,92%);height:58px;margin-top:8px;font-size:29px}.selection-toolbar{margin-top:12px;gap:6px 10px}.selection-label{font-size:11px}.edit-selection{font-size:11px;min-height:32px}.page-footer{padding:7px 12px;gap:7px 12px;font-size:9px}}@media(max-height:600px)and (min-width:601px){:root{--game-header-height:60px}.brand img{width:42px;height:42px}.brand span{font-size:30px}.play-section{padding-top:8px;padding-bottom:8px}.play-section h1{font-size:32px}.play-heading{gap:5px}.machine-stage{min-height:110px}.spin-button{height:52px;font-size:28px}.selection-toolbar{margin-top:10px}}.reveal-modal{width:min(1040px,calc(100vw - 48px));max-width:1040px;max-height:min(90dvh,880px)}.reveal-modal .modal-header{padding:22px 26px 18px;border-bottom:1px solid var(--line)}.reveal-modal .modal-header h2{font-size:25px}.reveal-modal .modal-body{padding:24px 26px}.reveal-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:28px;align-items:start}.result-dish,.result-options{min-width:0}.reveal-modal .winner-image{width:100%;height:auto;border-radius:15px;background:var(--cream)}.reveal-modal .winner-image>img{max-width:100%;width:auto;height:auto;max-height:min(36dvh,320px);object-fit:contain;object-position:center}.reveal-modal .winner-copy{padding:18px 0 0;text-align:left}.reveal-modal .winner-copy h3{font-size:36px;line-height:1.15;margin-top:5px}.reveal-modal .winner-meta{margin-top:4px}.reveal-modal .winner-copy>p{margin-top:10px;font-size:13px;line-height:1.6}.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.result-actions>:only-child{grid-column:1 / -1}.result-actions .button{min-width:0;min-height:46px;padding:10px 12px;font-size:14px}.result-actions .button svg{flex-shrink:0}.result-options{border-left:1px solid var(--line);padding-left:26px}.result-options-heading h3{font-size:22px;line-height:1.2}.result-options-heading>p{margin-top:6px;font-size:12px;color:var(--muted);line-height:1.5}.reveal-modal .city-choice{margin:18px 0 12px;font-size:12px;gap:10px}.reveal-modal .city-choice select{max-width:70%;padding:7px 9px;font-size:12px}.reveal-modal .food-destinations{grid-template-columns:1fr;gap:10px;margin:0}.reveal-modal .destination{justify-content:flex-start;min-height:66px;padding:13px 15px;gap:12px;border-radius:12px}.reveal-modal .destination.maps{grid-column:auto}.reveal-modal .destination strong{font-size:15px;line-height:1.3}.reveal-modal .destination small{font-size:11px;line-height:1.4;white-space:normal;overflow-wrap:anywhere}.reveal-modal .destination>svg:first-child{width:24px;height:24px}.reveal-modal .destination>svg:last-child{display:block;width:16px;height:16px;margin-left:auto}.reveal-modal .external-search-note{color:var(--muted);font-size:10px;line-height:1.6;margin-top:10px}.result-recipe{border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.result-recipe h3{font-size:17px;margin-bottom:10px}.destination.recipe{color:var(--ink);background:#f8ecd9;border:1px solid #e5cfae}.destination.recipe:hover{background:#f2e1c5}.destination.recipe>svg:first-child{color:#a35e27}.result-recipe>p{font-size:10px;line-height:1.5;color:var(--muted);margin-top:7px}@media(max-width:780px){.reveal-modal{width:calc(100vw - 24px);max-height:92dvh}.reveal-modal .modal-header{padding:19px 19px 16px}.reveal-modal .modal-header h2{font-size:21px}.reveal-modal .modal-body{padding:18px}.reveal-layout{grid-template-columns:minmax(0,1fr);gap:24px}.reveal-modal .winner-image>img{max-height:min(32svh,280px)}.reveal-modal .winner-copy{padding-top:15px}.reveal-modal .winner-copy h3{font-size:31px}.result-actions{margin-top:16px}.result-actions .button{font-size:13px;padding:10px 9px;gap:6px}.result-options{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:22px}.result-options-heading h3{font-size:20px}.reveal-modal .destination{min-height:62px}}.picker-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.filter-toggle{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:18px;background:var(--paper);padding:7px 12px;min-height:36px;font-size:13px;font-weight:800}.filter-toggle[aria-expanded=true]{background:var(--red-soft);border-color:#e8a98f}.clear-picker-filters{font-size:12px;color:var(--red)}.picker-filter-panel{background:#faf1e4;border:1px solid var(--line);border-radius:14px;padding:16px;margin-top:12px}.picker-filter-panel .filter-section{margin-bottom:17px}.picker-filter-panel .filter-section h3{font-size:13px;margin-bottom:10px}.picker-filter-panel .chip-list{gap:6px}.picker-filter-panel .chip-list button{font-size:12px;padding:6px 11px;min-height:34px}.vegetarian-filter{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;font-weight:800;padding-top:12px;border-top:1px solid var(--line);cursor:pointer}.vegetarian-filter>span{display:flex;align-items:center;gap:7px}.vegetarian-filter input{width:19px;height:19px;accent-color:var(--red);cursor:pointer}.picker-filter-note{font-size:11px;color:var(--muted);line-height:1.6;margin-top:10px}.picker-filter-status{font-size:12px;line-height:1.5;color:var(--muted);margin-top:12px}.picker-filter-status strong{color:var(--ink)}.filtered-out .food-tile-image img{opacity:.45}.filtered-out .food-tile-category{color:#9c622c}.picker-modal .selected-summary{flex-wrap:wrap;line-height:1.5}
