:root{--cream:#f8f0df;--ink:#201813;--orange:#fa5725;--yellow:#ffcf39;--wood:#8d4827;--wood-dark:#432116}*{box-sizing:border-box}body{margin:0;background:#120e0c;font-family:Rubik,Arial,sans-serif;color:var(--cream);overflow:hidden;touch-action:none}.game{height:100dvh;min-height:580px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 15%,#fcf4df 0 16%,#dcc9a6 42%,#47362d 100%);user-select:none}.game:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(35,17,10,.38),transparent 24%,transparent 76%,rgba(35,17,10,.38)),repeating-linear-gradient(90deg,transparent 0 9.8%,rgba(77,48,30,.08) 10% 10.3%);pointer-events:none}.hud{z-index:10;position:absolute;top:0;left:0;width:100%;padding:24px clamp(18px,5vw,70px);display:flex;align-items:center;gap:18px}.brand{margin-right:auto;font-family:Oswald,sans-serif;font-size:clamp(25px,3.3vw,45px);font-weight:700;letter-spacing:-1px;line-height:.75;color:#2d201a;text-shadow:0 2px 0 rgba(255,255,255,.7)}.brand span{background:var(--orange);color:white;padding:2px 5px;border-radius:3px}.brand small{display:block;font-family:Rubik,sans-serif;font-size:9px;letter-spacing:2.1px;margin:10px 0 0 2px;color:#6f4c39}.score-card,.time-card{min-width:94px;padding:9px 14px 8px;border:2px solid #31211a;background:rgba(255,250,235,.78);box-shadow:3px 3px 0 #31211a;text-align:center;color:#2c201b}.score-card span,.time-card span{display:block;font-size:9px;font-weight:800;letter-spacing:1.3px}.score-card strong,.time-card strong{font-family:Oswald,sans-serif;font-size:28px;line-height:1;color:var(--orange);letter-spacing:1px}.time-card strong{color:#2c201b}.stage{position:absolute;inset:0;perspective:850px}.shop-sign{position:absolute;top:13.5%;left:50%;transform:translateX(-50%);z-index:2;background:#312019;border:4px solid #633a25;padding:7px 24px;color:#ffce39;font-family:Oswald,sans-serif;font-size:clamp(13px,1.7vw,20px);letter-spacing:1.8px;text-align:center;box-shadow:0 5px 0 rgba(42,23,13,.5);white-space:nowrap}.shop-sign b{color:white}.shelf{position:absolute;z-index:3;left:-3%;width:106%;height:clamp(21px,3vw,36px);background:linear-gradient(#bd7144 0 18%,#713719 20% 55%,#32180e 58% 100%);box-shadow:0 7px 10px rgba(41,22,12,.58)}.shelf:after{content:"";position:absolute;bottom:-14px;width:100%;height:14px;background:repeating-linear-gradient(90deg,#542811 0 46px,#783817 48px 50px)}.shelf-one{top:38%}.shelf-two{top:59%}.shelf-three{top:80%}.targets{position:absolute;inset:0;z-index:2}.target{position:absolute;width:clamp(68px,9.5vw,142px);height:clamp(76px,11vw,160px);display:flex;align-items:flex-end;justify-content:center;cursor:crosshair;transform-origin:50% 92%;filter:drop-shadow(0 9px 5px rgba(36,18,11,.32));will-change:transform}.target img{width:100%;max-height:100%;object-fit:contain;pointer-events:none}.target.bad:after{content:"";position:absolute;inset:15% 12%;border-radius:50%;background:#ff4e1b;z-index:-1;filter:blur(17px);opacity:.23}.target.good{align-items:center;padding:5px 6px 0;background:linear-gradient(135deg,#ffefb8 0 18%,#fff 19% 52%,#f6d75e 53% 55%,#fff 56%);border-radius:12px 12px 8px 8px;border:2px solid #e0bb39;box-shadow:inset 0 -13px #f4cf42}.target.good:before{content:"ONE\A ROLL";white-space:pre;text-align:center;font-family:Oswald,sans-serif;font-size:clamp(14px,2.2vw,26px);line-height:.72;font-weight:700;color:#d34124;position:absolute;z-index:2;text-shadow:1px 1px white}.target.good img{opacity:.22;transform:scale(1.14);mix-blend-mode:multiply}.target.hit{animation:fall .64s cubic-bezier(.2,.75,.34,1) forwards;pointer-events:none}.target.pop{animation:appear .3s cubic-bezier(.2,1.45,.48,1)}@keyframes appear{from{transform:scale(.2) translateY(25px);opacity:0}to{transform:scale(1);opacity:1}}@keyframes fall{25%{transform:rotate(12deg) translateY(-6px)}100%{transform:rotate(var(--fall,22deg)) translate(var(--fall-x,45px),270px);opacity:0}}.crosshair{position:absolute;width:44px;height:44px;border:2px solid rgba(255,255,255,.94);border-radius:50%;transform:translate(-50%,-50%);z-index:8;pointer-events:none;box-shadow:0 0 0 2px rgba(38,21,13,.45),0 0 13px rgba(255,255,255,.55);display:none}.crosshair:before,.crosshair:after{content:"";position:absolute;background:#fff;filter:drop-shadow(0 1px 1px #23150e)}.crosshair:before{width:2px;height:54px;left:19px;top:-7px}.crosshair:after{height:2px;width:54px;top:19px;left:-7px}.crosshair i{display:block;width:6px;height:6px;background:var(--orange);border-radius:50%;position:absolute;left:17px;top:17px}.feedback{z-index:9;position:absolute;pointer-events:none;font-family:Oswald,sans-serif;font-weight:700;font-size:44px;letter-spacing:1px;text-shadow:2px 2px 0 #fff;opacity:0;transform:translate(-50%,-50%)}.feedback.show{animation:scorepop .8s ease-out forwards}.feedback.positive{color:#2c9d48}.feedback.negative{color:#e34226}@keyframes scorepop{0%{opacity:0;transform:translate(-50%,-30%) scale(.4)}20%{opacity:1;transform:translate(-50%,-70%) scale(1.1)}100%{opacity:0;transform:translate(-50%,-155%) scale(1)}}.hand{z-index:7;position:absolute;bottom:-27px;right:clamp(3%,13vw,16%);width:clamp(150px,21vw,310px);height:clamp(190px,29vw,390px);transform:rotate(-11deg);pointer-events:none}.hand img{position:absolute;width:69%;right:10%;bottom:42%;transform:rotate(14deg);filter:drop-shadow(8px 12px 5px rgba(35,19,13,.5))}.sleeve{position:absolute;right:-7%;bottom:-8%;width:57%;height:76%;background:linear-gradient(100deg,#f55b2b,#9e241e);border-radius:55% 10% 0 0;transform:rotate(-10deg)}.palm{position:absolute;right:25%;bottom:8%;width:45%;height:52%;background:#e5a078;border-radius:55% 50% 38% 60%;transform:rotate(23deg);box-shadow:inset -12px -8px rgba(129,63,39,.22)}.shot-roll{z-index:12;position:fixed;width:clamp(60px,9vw,126px);left:calc(50% - 55px);bottom:100px;opacity:0;pointer-events:none}.shot-roll img{width:100%;filter:drop-shadow(5px 7px 3px rgba(36,19,12,.5))}.shot-roll.throw{animation:throw .42s ease-out forwards}@keyframes throw{0%{opacity:1;transform:translate(0,0) rotate(0) scale(.7)}90%{opacity:1}100%{opacity:0;transform:translate(var(--tx),var(--ty)) rotate(380deg) scale(.32)}}.hint{z-index:7;position:absolute;bottom:12px;left:50%;transform:translateX(-50%);margin:0;width:max-content;max-width:92vw;background:#281a15d9;border:1px solid #80624b;border-radius:20px;padding:8px 16px;color:#fff7e6;font-size:11px;font-weight:700;letter-spacing:.3px;text-align:center}.hint b{color:#80e676;margin-left:8px}.hint em{font-style:normal;color:#ff886f;margin-left:7px}.mobile-only{display:none}.overlay{z-index:30;position:absolute;inset:0;display:grid;place-items:center;padding:20px;background:rgba(21,13,10,.45);backdrop-filter:blur(3px);transition:opacity .3s}.overlay.hidden{opacity:0;pointer-events:none}.overlay-card{width:min(470px,94vw);padding:clamp(26px,5vw,52px);background:#fff6e7;color:#291c16;text-align:center;border:5px solid #342018;box-shadow:10px 10px 0 rgba(48,27,16,.7)}.eyebrow{margin:0 0 13px;color:#d74625;font-size:11px;font-weight:800;letter-spacing:2px}.intro-card h1,.result-card h2{margin:0;font-family:Oswald,sans-serif;font-size:clamp(38px,6vw,62px);line-height:.9;letter-spacing:-1px}.intro-card h1 span{color:var(--orange)}.intro-card>p:not(.eyebrow),.result-card>p:not(.eyebrow){font-size:14px;line-height:1.5;color:#664735;margin:22px auto}.rules{display:flex;justify-content:center;gap:13px;margin:25px 0}.rules div{display:grid;gap:3px;min-width:105px;padding:9px 13px;background:#f1e3d0}.rules b{font-family:Oswald,sans-serif;font-size:28px;line-height:.8;color:#2da352}.rules div:nth-child(2) b{color:#ec4d2a}.rules span{font-size:10px;font-weight:800;text-transform:uppercase;color:#705343}button{border:0;cursor:pointer;padding:16px 25px;background:var(--orange);color:white;font:700 16px Oswald,sans-serif;letter-spacing:1px;box-shadow:4px 4px 0 #41231a;transition:transform .12s,box-shadow .12s}button:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 #41231a}button span{font-size:21px;margin-left:14px}.final-score{font:700 clamp(72px,13vw,120px)/1 Oswald,sans-serif;color:var(--orange);text-shadow:3px 3px 0 #f2c245;margin:10px 0}.result-card h2{font-size:31px}.result-card>p:not(.eyebrow){margin:6px auto 26px}@media(max-width:600px){.game{min-height:100dvh}.hud{padding:18px 14px;gap:9px;align-items:flex-start}.brand{font-size:25px;margin-top:6px}.brand small{font-size:7px;letter-spacing:1.25px;margin-top:8px}.score-card,.time-card{min-width:67px;padding:7px 5px}.score-card span,.time-card span{font-size:7px}.score-card strong,.time-card strong{font-size:23px}.shop-sign{top:16%;font-size:12px;padding:6px 11px;max-width:92vw;white-space:normal}.shelf-one{top:37%}.shelf-two{top:58%}.shelf-three{top:79%}.target{width:22vw;height:19vw;max-width:105px;max-height:110px}.hand{right:-5px;bottom:4px;width:175px;height:235px}.hint{bottom:6px;font-size:9px;padding:7px 10px}.desktop-only{display:none}.mobile-only{display:inline}.crosshair{display:none!important}.overlay-card{padding:30px 20px}.intro-card h1{font-size:43px}.intro-card>p:not(.eyebrow){font-size:13px;margin:18px auto}.rules{margin:20px 0}.feedback{font-size:35px}}
