/* Official Frycade games (limited versions) + weekly rotation */
.fry-week{text-align:center;margin:10px 0 2px;color:#fff;font-family:'Arial Black',sans-serif;letter-spacing:2px;font-size:12px}
.fry-week small{display:block;margin-top:3px;font:10px sans-serif;letter-spacing:.4px;color:#ffe9a8}
.fry-week.alt{margin-top:18px;opacity:.9}
.fry-cab.official{position:relative}
.fry-ribbon{position:absolute;top:8px;right:-6px;z-index:3;padding:2px 8px;background:#ffd23f;color:#111;font:900 8px 'Arial Black',sans-serif;letter-spacing:1px;border-radius:2px;box-shadow:0 2px 4px rgba(0,0,0,.5);transform:rotate(4deg)}
/* shared play area for the new engines */
.fr{position:relative;height:320px;overflow:hidden;touch-action:none;user-select:none;background:linear-gradient(180deg,#1a0b2e,#2a0d3f)}
.fr.fr-hit{animation:frShake .16s}@keyframes frShake{0%,100%{transform:none}30%{transform:translateX(-6px)}70%{transform:translateX(6px)}}
.fr-it,.fr-me{position:absolute;left:0;top:0;width:44px;text-align:center;font-size:36px;line-height:44px;will-change:transform;pointer-events:none}
.fr-tip{position:absolute;top:6px;left:0;right:0;text-align:center;font:10px sans-serif;color:#ffffffaa;pointer-events:none}
/* lanes */
.fr-lanes .fr-road{position:absolute;inset:0;pointer-events:none}.fr-lanes .fr-road i{position:absolute;top:0;bottom:0;width:0;border-left:3px dashed #ffffff33}
.fr-lanes .fr-road i:nth-child(1){left:33.33%}.fr-lanes .fr-road i:nth-child(2){left:66.66%}
.fr-ice{background:linear-gradient(180deg,#071a2e,#0d4a66)}.fr-cul{background:linear-gradient(180deg,#0b0b2b,#1a1a5a)}.fr-road2{background:linear-gradient(180deg,#2b2218,#4a3a28)}.fr-peach{background:linear-gradient(180deg,#2e0b24,#5a1a48)}
/* runner */
.fr-run .fr-ground{position:absolute;left:0;right:0;bottom:0;height:84px;background:repeating-linear-gradient(90deg,#3a2a22 0 28px,#4a382c 28px 56px);border-top:4px solid #00000055}
.fr-run .fr-chaser{position:absolute;left:0;top:0;font-size:56px;line-height:1;pointer-events:none;will-change:transform}
.fr-run .fr-fx{position:absolute;left:0;top:0;font-size:30px;pointer-events:none}
.fr-cave{background:linear-gradient(180deg,#5a2d0c,#e9a24a)}.fr-drag{background:linear-gradient(180deg,#0b1f3a,#2a5a8a)}
.fr-btns{position:absolute;left:0;right:0;bottom:8px;display:flex;gap:10px;justify-content:center}
.fr-btns button,.fr-dpad button,.fr-ings button,.fr-pad{cursor:pointer;touch-action:none}
.fr-btns button{min-width:110px;padding:9px 12px;border-radius:10px;border:2px solid #fff6;background:#000a;color:#fff;font:900 11px 'Arial Black',sans-serif}.fr-btns button small{display:block;font:9px sans-serif;opacity:.7}
/* taxes */
.fr-taxes{background:linear-gradient(180deg,#1c2b33,#2e4350);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}
.fr-msg{font:900 14px 'Arial Black',sans-serif;color:#fff;min-height:20px}
.fr-pads{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fr-pad{width:110px;height:84px;border-radius:14px;border:3px solid #fff4;background:color-mix(in srgb,var(--pc) 45%,#101820);color:#fff;font-size:32px;position:relative}.fr-pad small{position:absolute;right:8px;bottom:4px;font:10px sans-serif;opacity:.7}
.fr-pad.on{background:var(--pc);box-shadow:0 0 22px var(--pc);transform:scale(1.06)}
/* sushi */
.fr-sushi{background:linear-gradient(180deg,#3a1a0c,#7a3a1c);display:flex;flex-direction:column;align-items:center;gap:12px;padding-top:16px}
.fr-cust{display:flex;align-items:center;gap:12px}.fr-cust>span{font-size:58px}
.fr-bubble{min-width:140px;padding:10px 14px;border-radius:14px;background:#fff;display:flex;gap:6px;justify-content:center}.fr-bubble b{font-size:28px;filter:grayscale(1) opacity(.55)}.fr-bubble b.done{filter:none;transform:scale(1.15)}
.fr-pat{width:70%;height:8px;border-radius:5px;background:#0006;overflow:hidden}.fr-pat i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#ff5252,#ffd23f,#7cff4f)}
.fr-ings{display:flex;gap:8px;margin-top:auto;margin-bottom:16px}.fr-ings button{width:54px;height:54px;border-radius:12px;border:2px solid #fff5;background:#000a;font-size:30px}
/* chomper + snake */
.fr-dot,.fr-snake{background:linear-gradient(180deg,#0a0a2a,#161650);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}
.fr-grid{display:grid;width:min(92%,360px);aspect-ratio:9/7;gap:2px}.fr-grid i{display:flex;align-items:center;justify-content:center;font-style:normal;font-size:20px;border-radius:4px;background:#ffffff08;color:#ffe9a8}.fr-grid i.w{background:#3a2a6a}.fr-grid i.d{font-size:16px}.fr-grid i.p,.fr-grid i.g{font-size:24px}
.fr-snake canvas{width:min(92%,264px);height:auto;border:2px solid #4cd77a66;border-radius:6px}
.fr-dpad{display:flex;flex-direction:column;align-items:center;gap:3px}.fr-dpad div{display:flex;gap:3px}.fr-dpad button{width:44px;height:34px;border-radius:8px;border:2px solid #fff5;background:#000a;color:#fff;font-size:14px}
/* arena themes for the real games */
.sg.sg-fr-aztec{background:linear-gradient(180deg,#3a2a0c,#8a6a2a)}.sg.sg-fr-glitter{background:linear-gradient(180deg,#3a0c3a,#ff4fa3aa)}
.sg.sg-fr-punch{background:linear-gradient(180deg,#2e0b0b,#5a1a1a)}.sg.sg-fr-cent{background:linear-gradient(180deg,#2e2a0b,#5a4a14)}.sg.sg-fr-zomb{background:linear-gradient(180deg,#0b2e12,#143a1c)}
