:root{color-scheme:light;font-family:Arial,Helvetica,sans-serif;background:#2b0e0e;color:#fff0da}
*{box-sizing:border-box}body{margin:0}.scene{position:relative;isolation:isolate;height:100svh;min-height:480px;overflow:hidden;background:linear-gradient(#ffeacf 0%,#fff1df 42%,#fff5e8 57%,#2d0e0f 90%)}
.artwork{position:absolute;inset:0}.artwork svg{display:block;width:100%;height:100%}.forest{position:absolute;left:0;bottom:0;width:100%;height:57%!important;mask-image:linear-gradient(transparent,#000 9%);pointer-events:none}
.drift{position:absolute;will-change:transform;transition:translate 1s ease-out;translate:calc(var(--mx,0px)*var(--depth,1)) calc(var(--my,0px)*var(--depth,1))}
.photo-drift{left:8%;top:0;width:18%;height:48%;--depth:.5;transform-origin:60% 0;animation:sway 7s ease-in-out infinite}
.wordmark{position:absolute;left:26%;top:17.8%;width:52%;height:15%;animation:arrive 1.2s cubic-bezier(.16,1,.3,1) both;mask-image:linear-gradient(to right,transparent,#000 1%,#000 99%,transparent)}
.tagline{position:absolute;left:33%;top:35.2%;width:33%!important;height:5%!important;mask-image:radial-gradient(ellipse,#000 65%,transparent 100%);animation:arrive 1.5s .15s both}
.blue-drift{left:73%;top:2%;width:7%;height:12%;--depth:1.2}.black-drift{left:79%;top:13%;width:12%;height:20%;--depth:.8}.orange-drift{left:89%;top:34%;width:9%;height:14%;--depth:1.5}
.star{mask-image:radial-gradient(ellipse,#000 57%,transparent 74%);animation:float 6s ease-in-out infinite}.black{animation-duration:8s;animation-delay:-3s}.orange{animation-duration:7s;animation-delay:-1.5s}
.fireflies{position:absolute;inset:45% 0 5%;overflow:hidden;pointer-events:none}.firefly{position:absolute;width:3px;height:3px;border-radius:50%;background:#ffcb76;box-shadow:0 0 12px 3px #ffa44266;animation:firefly var(--duration) var(--delay) ease-in-out infinite;opacity:0}
footer{position:absolute;bottom:27px;left:36px;right:36px;display:flex;align-items:center;justify-content:space-between;gap:20px}.status{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:2.2px;color:#efc7a0}.status i{width:6px;height:6px;background:#f4a542;border-radius:50%;box-shadow:0 0 12px #ffad4a;animation:pulse 3s ease-in-out infinite}.motion-toggle{display:flex;align-items:center;gap:8px;border:1px solid #ffdbb230;border-radius:40px;color:#efd6bf;background:#2c0c0c60;padding:10px 15px;font:11px Arial;cursor:pointer;backdrop-filter:blur(8px)}.motion-toggle:hover{background:#5c2b21}.motion-toggle:focus-visible{outline:2px solid #f4a542;outline-offset:4px}.pause-icon{font-size:15px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@keyframes sway{0%,100%{rotate:-1deg}50%{rotate:1.2deg}}@keyframes float{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-10px) rotate(5deg)}}@keyframes arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes firefly{0%,100%{opacity:0;transform:translate(0,18px)}35%{opacity:.7}70%{opacity:.2;transform:translate(16px,-35px)}}@keyframes pulse{50%{opacity:.4}}
body.paused *,body.paused *::before{animation-play-state:paused!important}.paused .drift{translate:0 0}
@media(max-width:700px){.scene{min-height:640px}.wordmark{left:5%;top:12%;width:90%;height:12%}.tagline{left:12%;top:25%;width:76%!important;height:5%!important}.photo-drift{left:7%;top:31%;width:39%;height:35%}.blue-drift{left:72%;top:2%;width:17%;height:11%}.black-drift{left:63%;top:37%;width:24%;height:18%}.orange-drift{left:79%;top:54%;width:17%;height:13%}.forest{height:43%!important}.fireflies{top:58%}footer{left:20px;right:20px;bottom:22px}.status{font-size:8px;letter-spacing:1.3px}.button-label{display:none}.motion-toggle{padding:9px 13px}}
@media(prefers-reduced-motion:reduce){body:not(.motion-enabled) *,body:not(.motion-enabled) *::before{animation:none!important;transition:none!important}body:not(.motion-enabled) .drift{translate:0 0}}

.blue{clip-path:polygon(20% 1%,52% 19%,85% 6%,78% 44%,100% 70%,64% 72%,47% 100%,35% 71%,0 62%,25% 39%)}
.black{clip-path:polygon(42% 0,64% 28%,100% 26%,78% 59%,92% 89%,58% 80%,28% 100%,27% 65%,0 47%,34% 36%)}
.orange{clip-path:polygon(25% 0,55% 20%,84% 5%,77% 43%,100% 68%,65% 70%,48% 100%,34% 72%,0 63%,27% 40%)}

/* Wind bends the canopy from a fixed base. Overscan keeps both edges filled. */
.artwork .forest{left:-2%;width:104%;transform-origin:50% 100%;animation:forest-wind 10s ease-in-out infinite;will-change:transform}
@keyframes forest-wind{
  0%,100%{transform:skewX(-.9deg)}
  30%{transform:skewX(1.2deg)}
  55%{transform:skewX(-.3deg)}
  75%{transform:skewX(.6deg)}
}

/* Food-case layout */
.scene{min-height:850px;height:max(100svh,850px);background:linear-gradient(#ffeacf,#fff1df 53%,#fff5e8 83%,#2d0e0f 100%)}
.artwork .tagline{display:none}
.reel-track{position:relative}
.food-emoji,.row-emoji,.winner-emoji{font-family:'Segoe UI Emoji','Apple Color Emoji','Noto Color Emoji',sans-serif}
.case-game .selection-note{display:table;margin:12px auto 5px;padding:4px 12px;border-radius:12px;background:#fff1dfee;min-height:22px}
.case-game .radius-note{padding:3px 8px;border-radius:8px;background:#fff1dfee}
.wordmark{left:27%;top:3%;width:46%;height:12%}.tagline{display:none}.photo-drift{left:3%;width:16%;height:35%}.blue-drift{left:78%;top:2%;width:6%;height:10%}.black-drift{left:85%;top:15%;width:10%;height:16%}.orange-drift{left:2%;top:49%;width:8%;height:11%}.artwork .forest{height:34%!important}.fireflies{top:68%}
.case-game{position:relative;width:min(850px,76%);margin:0 auto;padding-top:155px;color:#2c2019;text-align:center}
.location{display:flex;justify-content:center;align-items:center;gap:9px;font-size:10px;letter-spacing:1.8px;font-weight:800}.location>span:first-child{color:#0575b5;font-size:19px}.location-divider{color:#c39c77;margin:0 3px}
.case-game h2{font-size:clamp(30px,3.6vw,48px);letter-spacing:-2px;margin:12px 0 7px;font-weight:900;line-height:1.12}.case-game h2>span{color:#0575b5}.game-intro{font-size:14px;margin:0 0 24px;color:#806b56}
.case-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.craving-label select{appearance:none;background:#fff7ea url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%2369543c' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 13px center;border:1px solid #d9bea0;border-radius:6px;padding:10px 35px 10px 12px;font:600 12px Arial;color:#473425;max-width:235px;cursor:pointer}.pool-button{border:0;background:transparent;color:#5a422d;font:600 12px Arial;cursor:pointer;padding:8px 0}.pool-button span{display:inline-block;background:#e7d4b8;border-radius:20px;padding:3px 7px;margin:0 4px;font-size:10px}
.reel-frame{position:relative;border:1px solid #7b5b3b;border-radius:12px;overflow:hidden;background:#f7e4c6;box-shadow:0 8px 0 #ceb08a55,0 18px 45px #66330d13}.reel-header,.reel-bottom{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;font-size:9px;font-weight:800;letter-spacing:1.6px;color:#73583c}.reel-header{border-bottom:1px solid #d9b98f}.reel-status{font-size:8px;color:#0575b5}.reel-bottom{font-size:8px;border-top:1px solid #d9b98f;padding-top:10px;padding-bottom:10px}.reel-bottom span:last-child{color:#a16c27}
.reel-window{position:relative;overflow:hidden;height:160px;background:#e7d0ad}.reel-window::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 50px 0 40px -30px #b49366a0,inset -50px 0 40px -30px #b49366a0}.reel-track{display:flex;gap:8px;width:max-content;padding:12px 0;will-change:transform}.food-card{flex:0 0 122px;height:136px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;position:relative;overflow:hidden;border:1px solid #fff9ee;border-radius:6px;background:linear-gradient(160deg,#fffaf0,#f2dfbe);border-bottom:4px solid var(--cuisine-color,#0575b5)}.food-card::before{content:"";position:absolute;width:75px;height:75px;top:12px;background:var(--cuisine-color,#0575b5);opacity:.08;border-radius:50%;filter:blur(10px)}.food-emoji{font-size:48px;line-height:1.2;z-index:1;filter:drop-shadow(0 4px 3px #66330d15)}.food-type{font-size:9px;letter-spacing:.4px;text-transform:uppercase;font-weight:800;color:#705740;max-width:110px}.food-card.is-winner{background:linear-gradient(160deg,#fff9dd,#ffe5a7);box-shadow:inset 0 0 0 2px #e4a62c}.reel-marker{position:absolute;inset:0 auto 0 50%;width:2px;background:#e7a121;translate:-50% 0;z-index:2;box-shadow:0 0 10px #e5a53f44;pointer-events:none}.reel-marker::before,.reel-marker::after{content:"";position:absolute;left:-6px;border-left:7px solid transparent;border-right:7px solid transparent}.reel-marker::before{top:0;border-top:10px solid #e7a121}.reel-marker::after{bottom:0;border-bottom:10px solid #e7a121}
.open-case{display:flex;align-items:center;gap:12px;justify-content:center;margin:15px auto 0;padding:0 24px 0 7px;border:1px solid #d6ac76;border-radius:12px;background:#fff4dfe8;color:#352317;cursor:pointer;min-width:330px;box-shadow:0 5px 0 #c7a47840;transition:background .2s,translate .2s}.open-case:hover{background:#fff9ed;translate:0 -3px}.open-case:active{translate:0 1px}.box-illustration{width:112px;height:108px;display:block;animation:box-bob 3s ease-in-out infinite}.box-illustration svg{width:100%;height:100%;overflow:visible}.box-treats{opacity:0;transform:translateY(20px);transition:transform .6s,opacity .4s}.box-lid{transform-origin:80px 50px;transition:transform .5s cubic-bezier(.2,.8,.3,1),opacity .4s}.opening .box-lid{transform:translateY(-30px) rotate(-24deg);opacity:0}.opening .box-treats{opacity:1;transform:translateY(-12px)}.open-case:disabled{cursor:wait;translate:0;opacity:.9}.open-copy{display:flex;flex-direction:column;text-align:left;gap:5px}.open-eyebrow{font-size:8px;font-weight:800;letter-spacing:1.8px;color:#9e7549}.open-copy strong{font-size:19px;letter-spacing:-.4px}.open-subtitle{font-size:11px;color:#94744e}.open-subtitle>span{color:#0575b5;margin-left:8px}.selection-note{font-size:11px;color:#70553c;min-height:16px;margin:14px 0 6px}.radius-note{font-size:9px;line-height:1.6;color:#80654e;margin:0 auto;max-width:500px}
button:focus-visible,select:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #0575b5;outline-offset:4px}button{font-family:inherit}.case-toolbar select:disabled{opacity:.6}
dialog{border:1px solid #d5b68c;border-radius:20px;padding:38px;background:#fff5e5;color:#342519;box-shadow:0 30px 120px #160b0866;max-height:90svh;max-width:calc(100vw - 28px)}dialog::backdrop{background:#25130cd9;backdrop-filter:blur(8px)}.result-dialog{width:470px;text-align:center}.dialog-close{position:absolute;right:15px;top:11px;font-size:27px;line-height:32px;border:0;background:none;color:#896b4c;cursor:pointer;width:34px;height:34px}.dialog-kicker{font-size:9px;letter-spacing:2.4px;color:#997746;font-weight:800;margin:0 0 18px}.winner-emoji{font-size:80px;line-height:1.3;margin:5px auto 12px;filter:drop-shadow(0 8px 5px #b1743522)}.winner-cuisine{display:inline-block;margin:0;color:#0575b5;font-size:10px;letter-spacing:1.4px;font-weight:800;text-transform:uppercase}.result-dialog h2{font-size:34px;letter-spacing:-1.2px;line-height:1.1;margin:12px 0}.winner-address{font-size:12px;line-height:1.7;color:#82664b;margin:0}.winner-message{font-size:12px;margin:22px 0;color:#6e543d}.result-actions{display:flex;align-items:center;justify-content:center;gap:22px}.result-actions a{color:#725435;text-decoration:none;font-size:12px}.result-actions .primary-link{background:#0575b5;color:white;border-radius:6px;padding:14px 24px;font-weight:800}.again-button{border:0;background:none;border-bottom:1px solid #c9ad88;font-size:11px;color:#846549;padding:4px 0;margin:23px 0 0;cursor:pointer}.result-dialog[open] .winner-emoji{animation:reveal-pop .5s cubic-bezier(.18,1.6,.5,1) both}.pool-dialog{width:780px;padding:30px}.pool-heading{display:flex;align-items:center;justify-content:space-between}.pool-heading .dialog-close{position:static}.pool-heading .dialog-kicker{margin-bottom:8px}.pool-heading h2{font-size:32px;letter-spacing:-1px;margin:0 0 12px}.pool-explanation,.source-note{font-size:11px;line-height:1.8;color:#80694e}.source-note{font-size:9px;margin-bottom:0}.search-label input{width:100%;border:1px solid #cfb18c;background:#fffaf0;border-radius:7px;padding:13px;font:13px Arial;color:#402b19;margin:10px 0}.pool-results{font-size:11px;color:#80694e}.restaurant-row{display:flex;align-items:center;gap:14px;border-top:1px solid #e7d5ba;padding:14px 0}.row-emoji{font-size:30px;width:40px;flex:none;text-align:center}.row-copy{flex:1;min-width:0}.row-copy strong{font-size:13px}.row-copy p{font-size:11px;color:#8c7051;line-height:1.5;margin:5px 0 0}.restaurant-row a{font-size:11px;color:#0575b5;white-space:nowrap}
@keyframes box-bob{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-4px) rotate(2deg)}}@keyframes reveal-pop{from{opacity:0;transform:scale(.5) rotate(-12deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@media(min-width:1500px){.case-game{padding-top:180px}.scene{min-height:900px}.game-intro{margin-bottom:28px}.reel-window{height:180px}.reel-track{padding:22px 0}.open-case{margin-top:22px}}
@media(max-width:700px){.scene{height:max(100svh,950px);min-height:950px}.wordmark{left:9%;top:3%;width:82%;height:8%}.photo-drift{left:2%;top:65%;width:25%;height:22%;opacity:.9}.blue-drift{left:1%;top:11%;width:9%;height:6%}.black-drift{left:87%;top:12%;width:10%;height:7%}.orange-drift{left:87%;top:70%;width:12%;height:9%}.artwork .forest{height:31%!important}.fireflies{top:73%}.case-game{width:calc(100% - 32px);padding-top:132px}.location{font-size:8px;letter-spacing:1.1px;gap:5px}.case-game h2{font-size:32px;letter-spacing:-1.5px;margin-top:14px}.game-intro{font-size:12px;line-height:1.6;margin:8px 10px 23px}.case-toolbar{gap:8px}.craving-label select{font-size:11px;max-width:170px;padding-left:8px}.pool-button{font-size:10px}.pool-button span{margin:0 1px;padding:3px 5px}.reel-header,.reel-bottom{padding-left:11px;padding-right:11px;letter-spacing:1px;font-size:8px}.reel-status{font-size:7px}.reel-bottom{font-size:7px}.reel-window{height:151px}.food-card{flex-basis:105px;height:127px}.food-emoji{font-size:44px}.food-type{font-size:8px;max-width:95px}.open-case{margin-top:22px;min-width:0;width:100%;padding-right:10px;gap:2px}.open-copy strong{font-size:18px}.box-illustration{width:104px;flex:none}.open-eyebrow{font-size:8px}.open-subtitle{font-size:10px}.radius-note{max-width:280px;font-size:9px}.selection-note{margin-top:17px}.pool-dialog{padding:24px 18px}.result-dialog{padding:35px 24px}.result-dialog h2{font-size:30px}.restaurant-row{gap:9px}.row-copy strong{font-size:12px}.row-copy p{font-size:10px}.restaurant-row a{font-size:10px}.location-divider{margin:0 2px}}

/* Keep the playable case above the forest on both layouts. */
.artwork .forest{height:20%!important}
@media(min-width:701px) and (max-width:1499px){
  .case-game{padding-top:140px}
  .game-intro{margin-bottom:16px}
  .reel-window{height:146px}
  .food-card{height:122px}
  .box-illustration{height:94px}
}
.pool-button:disabled{cursor:wait;opacity:.5}

.case-game h2{margin:20px 0 30px}
.open-case{min-width:240px;padding-right:32px}
.open-subtitle:empty{display:none}
.reel-bottom button{border:0;padding:4px 0;background:none;color:#705740;font:600 10px Arial;cursor:pointer;letter-spacing:.3px}
.reel-bottom button[aria-pressed=true]{color:#0575b5}
.reel-bottom button:disabled{opacity:.4;cursor:wait}
.reel-marker{transform-origin:50% 0}
.is-rolling .reel-frame{box-shadow:0 8px 0 #ceb08a55,0 20px 55px #7c490b2b}
.is-rolling .food-card{border-bottom-width:5px}
.food-card.is-winner{box-shadow:inset 0 0 0 2px #e4a62c,0 0 24px #f5ae3c55;animation:card-lock .5s ease-out both}
.result-actions{margin-top:28px}
footer{justify-content:flex-end}
@keyframes card-lock{0%{scale:.96;filter:brightness(1.35)}100%{scale:1;filter:brightness(1)}}
@media(max-width:700px){.case-game h2{margin:18px 0 27px}.open-case{padding-right:25px}}

/* The box opens first; the restaurant reel is a separate action. */
.opener-panel[hidden]{display:none!important}
.opener-panel{position:relative;transform-origin:50% 0;margin-top:18px}
.case-game>.open-case{flex-direction:column;gap:4px;background:transparent;box-shadow:none;border:0;padding:0;margin:32px auto 12px;min-width:220px;min-height:240px}
.case-game>.open-case .box-illustration{width:220px;height:200px}
.case-game>.open-case{transition:margin .55s cubic-bezier(.16,1,.3,1),min-height .55s cubic-bezier(.16,1,.3,1)}
.case-game>.open-case .box-illustration{transition:width .55s cubic-bezier(.16,1,.3,1),height .55s cubic-bezier(.16,1,.3,1)}
.case-game>.open-case .open-copy{text-align:center;align-items:center}
.case-game>.open-case .open-copy strong{font-size:17px}
.case-game.has-opener>.open-case{flex-direction:row;min-width:150px;min-height:72px;margin:12px auto 0;gap:9px}
.case-game.has-opener>.open-case .box-illustration{width:88px;height:78px}
.case-game.has-opener>.open-case .open-copy strong{font-size:12px;color:#7b5b3b;font-weight:500}
.case-game.has-opener .box-treats{opacity:1;transform:translateY(-12px)}
.case-game.has-opener .box-lid{transform:translateY(-30px) rotate(-24deg);opacity:0}
.spin-button{display:block;min-width:160px;margin:17px auto 0;padding:13px 32px;border:1px solid #055f91;border-radius:7px;background:#0575b5;color:#fff;font-size:15px;font-weight:800;box-shadow:0 4px 0 #044d7726;cursor:pointer}
.spin-button:hover{background:#08669b}.spin-button:disabled{cursor:wait;background:#567c90;border-color:#567c90}
.reel-window{height:174px}.food-card{flex-basis:145px;height:150px;gap:6px;padding:9px 7px}
.restaurant-icon{position:relative;flex:none;display:inline-flex;justify-content:center;align-items:center;width:58px;height:58px;border:1px solid #fff;border-radius:12px;background:#fffaf0;box-shadow:0 3px 10px #36200e15;color:var(--cuisine-color,#0575b5)}
.restaurant-initials{font:bold 24px Georgia,serif;letter-spacing:-1px}.brand-logo{position:absolute;inset:4px;width:calc(100% - 8px);height:calc(100% - 8px);object-fit:contain;opacity:0}.has-logo .brand-logo{opacity:1}.has-logo .restaurant-initials{visibility:hidden}
.restaurant-icon.logo-dark{background:#342d25;border-color:#665344}
.cuisine-badge{position:absolute;bottom:-4px;right:-7px;font:18px 'Segoe UI Emoji','Apple Color Emoji',sans-serif;line-height:1.25;filter:drop-shadow(0 1px 1px #0002)}
.restaurant-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-align:center;font-size:11px;font-weight:800;line-height:1.25;min-height:28px;width:100%;color:#382b22}
.food-type{font-size:8px;line-height:1.2;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}
.winner-emoji{display:flex;align-items:center;justify-content:center;min-height:110px;margin:10px auto 15px}.winner-emoji .restaurant-icon{width:100px;height:100px;border-radius:20px}.winner-emoji .restaurant-initials{font-size:40px}.winner-emoji .cuisine-badge{font-size:28px}
.restaurant-row>.restaurant-icon{width:44px;height:44px;border-radius:9px}.restaurant-row .restaurant-initials{font-size:18px}.restaurant-row .cuisine-badge{font-size:14px}
@media(min-width:1500px){.reel-window{height:194px}}
@media(max-width:700px){
  .case-game{padding-top:135px}
  .case-game>.open-case{margin-top:35px;min-height:255px}
  .case-game>.open-case .box-illustration{width:225px;height:210px}
  .case-game.has-opener>.open-case{margin-top:17px;min-height:72px}
  .case-game.has-opener>.open-case .box-illustration{width:82px;height:72px}
  .opener-panel{margin-top:14px}
  .food-card{flex-basis:128px;height:145px}
  .reel-window{height:169px}
  .food-type{max-width:113px}
  .restaurant-name{font-size:10px}
  .spin-button{margin-top:14px}
}
