/* The Fair (Events modal): Lundgren's fair — night carnival with sliding panes */
#events-modal{align-items:center;--fp:#ff3d7f;--fy:#ffd23f;}
#events-modal::before{content:"";position:fixed;inset:0;background:rgba(6,2,18,.8);backdrop-filter:blur(5px);z-index:-1;}
.fair-shell{position:relative;width:min(960px,96vw);height:min(86vh,680px);display:flex;flex-direction:column;overflow:hidden;border-radius:20px;border:3px solid var(--fp);
  background:radial-gradient(ellipse at 50% 120%,rgba(255,61,127,.28),transparent 55%),linear-gradient(180deg,#0b0b2e 0%,#1b1245 55%,#2a1450 100%);
  box-shadow:0 0 0 3px #000,0 0 30px rgba(255,61,127,.45);}
.fair-shell::after{content:"";position:absolute;left:0;right:0;bottom:0;height:20px;z-index:2;pointer-events:none;background:linear-gradient(180deg,#3a2a1c,#251a12);border-top:3px solid #6b4a2a;}
/* bulb string */
.fair-lights{height:22px;flex:0 0 22px;position:relative;z-index:3;
  background:radial-gradient(circle at 10px 10px,#ffd23f 0 4px,transparent 5px) 0 0/40px 22px,radial-gradient(circle at 30px 12px,#ff3d7f 0 4px,transparent 5px) 0 0/40px 22px;
  border-bottom:0;animation:fair-bulbs 1.4s steps(2) infinite;}
.fair-lights::before{content:"";position:absolute;left:0;right:0;top:9px;height:2px;background:#1a1a1a;z-index:-1}
@keyframes fair-bulbs{50%{filter:hue-rotate(60deg) brightness(1.25)}}
.fair-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 16px 4px;position:relative;z-index:3}
.fair-sign{font-family:'Arial Black',sans-serif;font-size:clamp(18px,4vw,28px);letter-spacing:3px;color:var(--fy);padding:5px 18px 6px;background:#14102a;border:3px solid #b9bcc4;border-radius:6px;
  text-shadow:0 0 8px rgba(255,210,63,.7),2px 2px 0 #b8860b;box-shadow:0 0 0 2px #000,0 4px 10px rgba(0,0,0,.5);}
.fair-sign small{display:block;font:700 9px sans-serif;letter-spacing:3px;color:#fff;text-shadow:none;text-align:center}
.fair-wallet{display:flex;align-items:center;gap:8px;padding:5px 12px;border-radius:999px;background:#000;border:1px solid var(--fy);color:var(--fy);font-family:'Arial Black',sans-serif;font-size:14px}
.fair-wallet small{font-size:8px;letter-spacing:1px;opacity:.7}
.fair-coin{width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff3b0,#e0a516);box-shadow:inset 0 0 0 2px #a8740e}
.fair-x{width:34px;height:34px;border-radius:8px;border:1px solid #b9bcc4;background:#14102a;color:#fff;cursor:pointer;font-size:14px}
.fair-x:hover{border-color:var(--fp)}
.fair-nav{display:flex;justify-content:center;gap:8px;padding:6px 16px 10px;position:relative;z-index:3}
.fair-navbtn{font-family:'Arial Black',sans-serif;font-size:11px;letter-spacing:2px;padding:8px 20px;border-radius:999px;border:1px solid #5b5b78;background:#14102a;color:#c9c7de;cursor:pointer}
.fair-navbtn.on{color:var(--fy);border-color:var(--fy);box-shadow:0 0 10px rgba(255,210,63,.5)}
.fair-arrow{position:absolute;top:50%;z-index:6;width:38px;height:56px;margin-top:-20px;border:0;border-radius:10px;background:rgba(20,16,42,.85);color:#fff;font-size:22px;cursor:pointer;box-shadow:0 0 10px rgba(255,210,63,.35)}
.fair-arrow.l{left:6px}.fair-arrow.r{right:6px}
.fair-track{flex:1;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;cursor:grab;position:relative;z-index:1}
.fair-track::-webkit-scrollbar{display:none}
.fair-pane{flex:0 0 100%;scroll-snap-align:start;overflow-y:auto;padding:4px 58px 30px;box-sizing:border-box;scrollbar-width:thin;color:#fff}
.fair-title{font-family:'Arial Black',sans-serif;letter-spacing:3px;color:#fff;font-size:15px;text-align:center;margin:2px 0 14px}
.fair-title small{display:block;margin-top:5px;font:10px sans-serif;letter-spacing:.5px;color:#b5b0d6;font-weight:normal}
/* booths */
.fair-rides{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;padding:4px 0 10px}
.fair-booth{--cc:#ffd23f;position:relative;width:188px;display:flex;flex-direction:column;align-items:center;gap:7px;padding:34px 12px 14px;border:0;cursor:pointer;color:#fff;font-family:sans-serif;border-radius:4px 4px 8px 8px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--cc) 30%,#1a1236),#120c28 70%);box-shadow:0 0 0 2px color-mix(in srgb,var(--cc) 70%,#000),0 10px 20px rgba(0,0,0,.55);transition:transform .15s,box-shadow .15s}
.fair-booth:hover:not(:disabled){transform:translateY(-4px);box-shadow:0 0 0 2px var(--cc),0 0 24px color-mix(in srgb,var(--cc) 60%,transparent),0 14px 22px rgba(0,0,0,.55)}
.fair-tent{position:absolute;left:-6px;right:-6px;top:-4px;height:30px;border-radius:6px 6px 0 0;background:repeating-linear-gradient(90deg,var(--cc) 0 22px,#fff6e0 22px 44px);
  -webkit-mask:linear-gradient(#000,#000) 0 0/100% 14px no-repeat,radial-gradient(circle at 11px 0,#000 10px,transparent 11px) 0 14px/22px 16px repeat-x;
  mask:linear-gradient(#000,#000) 0 0/100% 14px no-repeat,radial-gradient(circle at 11px 0,#000 10px,transparent 11px) 0 14px/22px 16px repeat-x;filter:drop-shadow(0 3px 2px rgba(0,0,0,.5))}
.fair-booth-ico{font-size:44px;filter:drop-shadow(0 0 8px var(--cc));animation:fry-bob 2.6s ease-in-out infinite}
.fair-booth-name{font-family:'Arial Black',sans-serif;font-size:13px;letter-spacing:1px;text-align:center;color:var(--cc)}
.fair-booth-name em{display:block;font:italic 10px sans-serif;letter-spacing:0;color:#d8d4f2}
.fair-booth-hint{font-size:10px;line-height:1.35;color:#cfcbe8;min-height:27px;text-align:center}
.fair-booth-meta{display:flex;flex-direction:column;gap:2px;font-size:10px;color:var(--fy)}
.fair-booth-meta em{font-style:normal}
.fair-booth.soon{cursor:default;filter:saturate(.35) brightness(.8)}
.fair-booth.soon .fair-booth-ico{animation:none;opacity:.6}
/* store & pass panes: keep their old inner styles readable on the night background */
#events-tab-store #event-modal-content{max-width:620px;margin:0 auto;border-radius:12px;overflow:hidden;background:rgba(12,8,28,.75);border:1px solid #3a2a60}
#events-tab-pass{max-width:100%}
#pass-tiers-container{max-width:620px;margin:0 auto;width:100%}
#pass-header{max-width:620px;margin:0 auto 10px}
/* running minigame */
.fair-stage{position:absolute;inset:0;z-index:20;display:none;align-items:center;justify-content:center;background:#07041a}
.fair-stage-box{position:relative;width:min(470px,94%);display:flex;flex-direction:column;gap:10px}
.fair-hud{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#fff;font:12px 'Arial Black',sans-serif}
.fair-hud b{color:var(--cc);letter-spacing:1.5px}.fair-hud span{color:var(--fy);font-size:11px;min-width:100px;text-align:right}
.fair-back{background:none;border:1px solid #5b5b78;color:#ccc;border-radius:8px;padding:6px 10px;cursor:pointer;font-size:10px}
.fair-play{position:relative;border:2px solid var(--cc);border-radius:10px;overflow:hidden;background:#0b0724;min-height:300px;box-shadow:0 0 18px color-mix(in srgb,var(--cc) 50%,transparent)}
.fair-over{position:absolute;inset:34px 0 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:rgba(7,4,26,.97);border-radius:10px;text-align:center;color:#fff;font:13px/1.5 sans-serif;padding:20px}
.fair-over-ico{font-size:44px}.fair-over p{margin:0;font:13px 'Arial Black',sans-serif;color:var(--cc)}.fair-over b{color:#fff}
.fair-start{padding:10px 28px;border-radius:999px;border:2px solid var(--cc,#ffd23f);background:#000;color:var(--cc,#ffd23f);font:bold 12px 'Arial Black',sans-serif;letter-spacing:2px;cursor:pointer}
.fair-start:hover{background:var(--cc,#ffd23f);color:#000}
/* Height Check */
.fh{display:flex;gap:18px;align-items:stretch;justify-content:center;padding:18px}
.fh-track{position:relative;width:70px;height:280px;border-radius:8px;background:repeating-linear-gradient(0deg,#2a2150 0 1px,#16102f 1px 28px);border:3px solid #b9bcc4;box-shadow:inset 0 0 14px #000}
.fh-line{position:absolute;left:-14px;right:-14px;height:4px;background:#ff3d7f;box-shadow:0 0 10px #ff3d7f;margin-bottom:-2px}
.fh-mark{position:absolute;left:6px;right:6px;height:12px;margin-bottom:-6px;border-radius:6px;background:linear-gradient(90deg,#ffe27a,#ffd23f);box-shadow:0 0 8px #ffd23f}
.fh-sign{position:absolute;left:84px;top:6px;width:150px;font:900 9px 'Arial Black',sans-serif;letter-spacing:1px;color:#ffd23f;border:2px solid #ffd23f;padding:4px 6px;border-radius:4px;text-align:center;background:#14102a}
.fh-side{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:14px;min-width:150px;padding-top:70px}
.fh-info{font:900 16px 'Arial Black',sans-serif;color:#fff;text-align:center;min-height:24px}
@media(max-width:600px){.fair-pane{padding:4px 14px 30px}.fair-shell{height:92vh}.fair-arrow{display:none}.fair-booth{width:160px}.fair-navbtn{padding:8px 12px;letter-spacing:1px}}

/* external event theme (sandboxed iframe replaces the built-in fair) */
.fair-x-theme{display:none;position:absolute;top:10px;right:12px;z-index:30}
.fair-shell.themed .fair-x-theme{display:block}
#fair-theme{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:5;background:#000;visibility:hidden}
.fair-shell.themed #fair-theme{visibility:visible}
.fair-shell.themed>.fair-lights,.fair-shell.themed>.fair-top,.fair-shell.themed>.fair-nav,.fair-shell.themed>.fair-arrow,.fair-shell.themed>.fair-track{display:none!important}
.fair-shell.themed::after{display:none}

/* no active event */
.fair-offseason{max-width:640px;margin:0 auto 12px;padding:8px 14px;border-radius:10px;background:rgba(255,210,63,.1);border:1px dashed var(--fy);color:#ffe9a0;font:12px/1.4 sans-serif;text-align:center}
.fair-closed{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:26px 24px;color:#fff;max-width:420px;margin:0 auto}
.fair-closed-sign{font:900 14px 'Arial Black',sans-serif;letter-spacing:4px;color:#ff6b6b;border:3px solid #ff6b6b;border-radius:6px;padding:4px 16px;transform:rotate(-3deg);background:#14102a;box-shadow:0 0 14px rgba(255,107,107,.5)}
.fair-closed-ico{font-size:54px;filter:drop-shadow(0 0 10px rgba(255,61,127,.6))}
.fair-closed h2{margin:0;font:900 15px/1.3 'Arial Black',sans-serif;color:var(--fy)}
.fair-closed p{margin:0;font:12px/1.5 sans-serif;color:#cfcbe8}
.fair-closed-btn{margin-top:6px;padding:9px 22px;border-radius:999px;border:2px solid var(--fy);background:#000;color:var(--fy);font:bold 11px 'Arial Black',sans-serif;letter-spacing:2px;cursor:pointer}
.fair-closed-btn:hover{background:var(--fy);color:#000}

/* ── Spooky Trailer minigames ── */
.sg{position:relative;height:320px;overflow:hidden;background:radial-gradient(ellipse at 50% 20%,#2f6b22,#10240f 70%);touch-action:none;user-select:none}
.sg-bg{position:absolute;inset:0;pointer-events:none}
.sg-moon{position:absolute;right:8%;top:6%;font-size:54px;opacity:.5;filter:drop-shadow(0 0 14px #ffb347)}
.sg-eyeball{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);font-size:200px;opacity:.9;filter:drop-shadow(0 0 22px #7cff2b)}
.sg-it{position:absolute;left:0;top:0;border:0;background:none;font-size:42px;line-height:1;padding:6px;cursor:pointer;will-change:transform;animation:sgIn .15s ease-out}
.sg-it small{display:block;font:900 9px Arial;letter-spacing:.5px;margin-top:-4px;color:#fff;text-shadow:0 1px 0 #000}
.sg-expired{filter:hue-rotate(60deg) saturate(2.4)}.sg-expired small{color:#ff4d4d}
.sg-fresh small{color:#aef}
.sg-poultry .sg-it{filter:drop-shadow(0 0 8px #bfeaff) saturate(.5) brightness(1.3)}
.sg-pop{transition:transform .2s,opacity .2s;opacity:0;scale:1.6}.sg-bad{opacity:0;scale:.4;transition:all .2s}.sg-gone{opacity:0;transition:opacity .2s}
.sg-hit{box-shadow:inset 0 0 40px rgba(255,0,0,.6)}
@keyframes sgIn{from{scale:.3;opacity:0}to{scale:1;opacity:1}}
/* Hook'd */
.sg-hook{background:linear-gradient(180deg,#240a38,#4a1768)}
.hk-rail{position:absolute;left:4%;right:4%;top:18px;height:6px;border-radius:3px;background:#ffd23f}
.hk-hook{position:absolute;top:18px;left:50%;width:0;transition:top .5s cubic-bezier(.4,0,.6,1)}
.hk-hook i{position:absolute;left:-1px;top:0;width:2px;height:60px;background:#ccc}
.hk-hook b{position:absolute;left:-18px;top:56px;font-size:36px}
.hk-hook.down{top:150px}.hk-hook.down i{height:200px}
.hk-shelf{position:absolute;left:0;right:0;bottom:46px;display:flex;font-size:40px}.hk-shelf span{flex:1;text-align:center}
.hk-btn{position:absolute;left:50%;bottom:8px;transform:translateX(-50%)}
.hk-msg{position:absolute;left:0;right:0;top:46%;text-align:center;font:900 22px Arial;color:#ffe066;text-shadow:0 2px 0 #000;opacity:0}.hk-msg.on{animation:hkMsg .9s ease-out}
@keyframes hkMsg{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-30px)}}
/* Haus of Vings */
.sg-haus{background:linear-gradient(180deg,#1b0a2e,#3a1450)}
.hv-doors{position:absolute;left:0;right:0;top:70px;height:180px}
.hv-door{position:absolute;top:0;width:26%;height:170px;border:0;border-radius:10px 10px 4px 4px;background:linear-gradient(180deg,#7a4a22,#4a2a10);transition:left .3s ease-in-out;cursor:pointer;font-size:30px;color:#fff;box-shadow:inset 0 0 0 4px #2a1508}
.hv-door i{font-style:normal;font-size:64px;display:block;opacity:.85}
.hv-door b{position:absolute;left:0;right:0;top:46px;font-size:56px;opacity:0;transition:opacity .2s}
.hv-door.open i{opacity:.12}.hv-door.open b{opacity:1}.hv-door.open{background:linear-gradient(180deg,#220f33,#10081a)}
.hv-msg{position:absolute;left:0;right:0;top:14px;text-align:center;font:bold 14px Arial;color:#ffe066;text-shadow:0 2px 0 #000}

/* ── Brett Venom MD minigames ── */
.sg-ecg{background:linear-gradient(180deg,#06231f,#0b3b36)}
.ec-screen{position:absolute;left:5%;right:5%;top:64px;height:130px;border:3px solid #00e5c0;border-radius:10px;overflow:hidden;background:#031a17 repeating-linear-gradient(90deg,rgba(0,229,192,.12) 0 1px,transparent 1px 28px),repeating-linear-gradient(0deg,rgba(0,229,192,.12) 0 1px,transparent 1px 28px)}
.ec-zone{position:absolute;top:0;bottom:0;background:rgba(124,255,154,.25);border-left:2px dashed #7cff9a;border-right:2px dashed #7cff9a}
.ec-zone.hit{background:rgba(124,255,154,.7)}
.ec-dot{position:absolute;top:0;bottom:0;width:4px;margin-left:-2px;background:#ff5252;box-shadow:0 0 12px #ff5252}
.ec-msg{position:absolute;left:0;right:0;top:22px;text-align:center;font:900 20px Arial;opacity:0;text-shadow:0 2px 0 #000}.ec-msg.on{animation:hkMsg .9s ease-out}
.ec-btn{position:absolute;left:50%;bottom:16px;transform:translateX(-50%)}
.sg-or{background:radial-gradient(ellipse at 50% 30%,#d9f5f1,#7fc8bf 75%)}
.sg-patient{position:absolute;left:50%;bottom:4px;transform:translateX(-50%);font-size:120px;opacity:.3}
.sg-rx{background:linear-gradient(180deg,#e8fbf8,#a8ddd5)}
.rx-tag{position:absolute;left:0;right:0;top:0;text-align:center;font:900 18px Arial;color:#0d3b3a;background:rgba(255,255,255,.75);padding:6px;letter-spacing:1px}
.sg-theater{background:linear-gradient(180deg,#3a0d0d,#1a0505)}
.th-curt{position:absolute;left:0;right:0;top:0;height:64px;background:repeating-linear-gradient(90deg,#9b1b1b 0 22px,#7a1010 22px 44px);border-bottom:6px solid #ffd23f}
.th-msg{position:absolute;left:0;right:0;top:82px;text-align:center;font:bold 14px Arial;color:#ffe066;text-shadow:0 2px 0 #000}
.th-pads{position:absolute;left:6%;right:6%;bottom:18px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.th-pad{height:96px;border:3px solid #000;border-radius:14px;background:var(--pc);font-size:40px;opacity:.5;cursor:pointer;transition:transform .1s,opacity .1s}
.th-pad.lit{opacity:1;transform:scale(1.08);box-shadow:0 0 22px var(--pc)}

/* ── Galaxy Geeks minigames ── */
.sg-ast,.sg-abduct,.sg-orbit,.sg-glyph{background:radial-gradient(circle at 20% 30%,#fff 0 1px,transparent 2px),radial-gradient(circle at 70% 60%,#fff 0 1px,transparent 2px),radial-gradient(circle at 45% 80%,#fff 0 1px,transparent 2px),radial-gradient(ellipse at 50% 100%,#2a1a6e,#03011a 75%)}
.sg-planet{position:absolute;left:50%;bottom:-72px;transform:translateX(-50%);font-size:150px;filter:drop-shadow(0 0 22px #7cf0ff)}
.sg-ast .sg-it{filter:drop-shadow(0 0 8px #ffb347)}
.ab-field{position:absolute;inset:0;pointer-events:none}
.ab-it{position:absolute;left:0;top:0;font-size:38px;line-height:1;will-change:transform}
.ab-ufo{position:absolute;left:0;bottom:6px;width:52px;font-size:46px;line-height:1;will-change:transform}
.ab-ufo i{position:absolute;left:50%;bottom:34px;width:84px;height:130px;margin-left:-42px;background:linear-gradient(0deg,rgba(124,240,255,.45),transparent);clip-path:polygon(38% 100%,62% 100%,100% 0,0 0)}
.ob-ring{position:absolute;border:2px dashed rgba(124,240,255,.5);border-radius:50%}
.ob-sun{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:44px;filter:drop-shadow(0 0 16px #ffb300)}
.ob-star{position:absolute;font-size:28px;filter:drop-shadow(0 0 10px #ffe066)}
.ob-planet{position:absolute;font-size:32px;line-height:1}
.ob-msg{position:absolute;left:0;right:0;top:10px;text-align:center;font:900 20px Arial;opacity:0;text-shadow:0 2px 0 #000}.ob-msg.on{animation:hkMsg .9s ease-out}
.ob-btn{position:absolute;left:50%;bottom:10px;transform:translateX(-50%)}
.gl-grid{position:absolute;left:6%;right:6%;top:14px;bottom:14px;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,1fr);gap:8px}
.gl-card{position:relative;border:2px solid #7cf0ff;border-radius:10px;background:#12094a;color:#7cf0ff;font:900 26px Arial;cursor:pointer;transition:transform .2s,background .2s}
.gl-card span{display:none;font-size:34px}.gl-card.up span,.gl-card.done span{display:inline}.gl-card.up b,.gl-card.done b{display:none}
.gl-card.up{background:#2a1a6e;transform:scale(1.05)}.gl-card.done{background:#0f5f4d;border-color:#4cd7a0;box-shadow:0 0 14px #4cd7a0}

/* ── Huggle Day · Cold Hard Cash · Street Dogg · Stinkboy minigames (js/features/fair-events2.js) ── */
.sg-hug{background:linear-gradient(180deg,#ffd6dd,#ef7a8c)}
.sg-sleigh{background:linear-gradient(180deg,#0e2a47,#1f5d3a)}
.sg-ice{background:linear-gradient(180deg,#0b2a4a,#4a90b8)}
.sg-street{background:linear-gradient(180deg,#1a0b2e,#5a1a6e),repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 2px,transparent 2px 40px)}
.sg-stink{background:linear-gradient(180deg,#2c3a14,#6a7d2b)}
.sg-planet2{position:absolute;left:50%;bottom:6px;transform:translateX(-50%);font-size:110px;opacity:.28;pointer-events:none}
.sg-hug .sg-it,.sg-sleigh .sg-it,.sg-ice .sg-it,.sg-street .sg-it,.sg-stink .sg-it{font-size:38px}

/* ── Game On: Thumbs-Up Karate + The Lost Frycade Game (js/features/fair-gameon.js) ── */
.sg-karate{background:linear-gradient(180deg,#0e2a0a,#1c4a14 60%,#0a1a07)}
.kr-bars{position:absolute;left:8px;right:8px;top:6px;display:flex;gap:8px}
.kr-bar{flex:1;position:relative;height:16px;border-radius:8px;background:#06100a;border:2px solid #7CFF4F;overflow:hidden}
.kr-bar i{display:block;height:100%;background:linear-gradient(90deg,#7CFF4F,#d7ff9a)}.kr-bar.e{transform:scaleX(-1)}.kr-bar.e i{background:linear-gradient(90deg,#ff4d4d,#ff9a9a)}
.kr-bar span{position:absolute;inset:0;text-align:center;font:bold 9px/12px sans-serif;color:#fff;text-shadow:0 1px 2px #000}.kr-bar.e span{transform:scaleX(-1)}
.kr-thumb{position:absolute;left:8px;right:8px;top:30px;height:14px;border-radius:7px;background:#06100a;border:2px solid #ffe066;overflow:hidden}
.kr-thumb i{display:block;height:100%;background:linear-gradient(90deg,#ffb300,#ffe066)}.kr-thumb span{position:absolute;inset:0;text-align:center;font:bold 8px/10px sans-serif;color:#fff;text-shadow:0 1px 2px #000}
.kr-stage{position:absolute;left:0;right:0;top:50px;bottom:62px}
.kr-fighter{position:absolute;bottom:6px;font-size:76px;line-height:1;transition:transform .12s}
.kr-fighter.p{left:16%}.kr-fighter.e{right:16%;transform:scaleX(-1)}
.kr-fighter.p.atk{transform:translateX(34px) rotate(8deg)}.kr-fighter.e.hit{transform:scaleX(-1) translateX(-10px);filter:brightness(2)}
.kr-fighter.p.hurt{filter:drop-shadow(0 0 10px #f00) brightness(1.4)}
.kr-fighter.e.wind{filter:drop-shadow(0 0 12px #ff4d4d);animation:krWind .2s infinite alternate}
@keyframes krWind{to{transform:scaleX(-1) translateY(-8px)}}
.kr-msg{position:absolute;left:0;right:0;top:6px;text-align:center;font:900 22px Arial;opacity:0;text-shadow:0 2px 0 #000}.kr-msg.on{animation:hkMsg .9s ease-out}
.kr-btns{position:absolute;left:8px;right:8px;bottom:8px;display:flex;gap:8px}
.kr-btns button{flex:1;padding:10px 4px;border:2px solid #7CFF4F;border-radius:10px;background:#0a1a07;color:#d7ff9a;font:bold 12px 'Arial Black',sans-serif;cursor:pointer;touch-action:manipulation}
.kr-btns button small{display:block;font:9px sans-serif;opacity:.7}.kr-btns button:disabled{opacity:.35}
.kr-btns button.ready{border-color:#ffe066;color:#ffe066;animation:cp-pulse .6s infinite alternate}
.sg-lost{background:linear-gradient(180deg,#120a2a,#2a1450 65%,#0b0618)}
.ls-pow{position:absolute;left:8px;right:8px;top:8px;height:14px;border-radius:7px;background:#06030a;border:2px solid #b388ff;overflow:hidden}
.ls-pow i{display:block;height:100%;background:linear-gradient(90deg,#b388ff,#ff6bd6)}.ls-pow span{position:absolute;inset:0;text-align:center;font:bold 8px/10px sans-serif;color:#fff}
.ls-floor{position:absolute;left:0;right:0;bottom:62px;height:6px;background:#3a1f6a}
.ls-p{position:absolute;left:30px;bottom:68px;font-size:56px;line-height:1;transition:transform .08s}.ls-p.punch{transform:translateX(24px) rotate(10deg)}.ls-p.duck{transform:translateY(26px) scale(1,.6)}
.ls-foe{position:absolute;left:0;font-size:44px;line-height:1;will-change:transform}.ls-foe.walk{bottom:68px}.ls-foe.fly{bottom:112px}
.ls-msg{position:absolute;left:0;right:0;top:30px;text-align:center;font:900 20px Arial;opacity:0;text-shadow:0 2px 0 #000}.ls-msg.on{animation:hkMsg .9s ease-out}

.sg-party{background:linear-gradient(180deg,#0a2a3a,#3a1a5a)}
.sg-fowl{background:linear-gradient(180deg,#2a1a00,#5a2a00 70%,#1a0d00)}
.sg-bummer{background:linear-gradient(180deg,#0a0a2e,#2a1a5a)}
.sg-party .sg-it,.sg-fowl .sg-it,.sg-bummer .sg-it{font-size:38px}

.kr-fighter .kr-spr{height:120px;width:auto;max-width:130px;object-fit:contain;image-rendering:pixelated;display:block}
.kr-fighter.p{font-size:76px}
