/* GuitarPath consolidated styles — preserving source order from 4.10.0. */

/* ---- arcade-help.css ---- */
/* GuitarArcade 4.6.1: interactive rules and accessible, keyboard-friendly dialog */
#arcade .arcade-game-actions{grid-template-columns:minmax(106px,.8fr) auto minmax(105px,.75fr);align-items:end}
#arcade .arcade-game-actions .arcade-help-trigger{white-space:nowrap;min-height:43px;padding:9px 11px;background:rgba(121,192,255,.09);color:#d5e9ff;border:1px solid rgba(121,192,255,.34)}
#arcade .arcade-game-actions .arcade-help-trigger:hover{background:rgba(121,192,255,.19)}
.ga-help-overlay{position:fixed;inset:0;background:rgba(3,7,14,.84);z-index:11000;display:flex;align-items:center;justify-content:center;padding:16px;backdrop-filter:blur(7px)}
.ga-help-overlay[hidden]{display:none!important}
.ga-help-dialog{position:relative;max-height:min(90vh,850px);overflow:auto;overscroll-behavior:contain;width:min(770px,100%);border:1px solid rgba(184,148,255,.52);border-radius:22px;background:linear-gradient(140deg,#1d1930 0%,#111827 46%,#0d1117 100%);box-shadow:0 25px 100px rgba(0,0,0,.65);padding:clamp(17px,3vw,28px);color:#f0f6fc}
.ga-help-close{position:absolute;top:15px;right:15px;width:38px;height:38px;padding:0;background:#243043;border:1px solid #46546f;font-size:20px}
.ga-help-eyebrow{color:#d9bbff;text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:850;margin-bottom:6px;padding-right:45px}
.ga-help-dialog h2{margin:0 44px 6px 0;font-size:clamp(22px,4vw,31px)}
.ga-help-intro{line-height:1.55;color:#bec6d6;max-width:65ch}
.ga-help-layout{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:19px}
.ga-help-box{padding:14px 16px;border:1px solid #36405c;border-radius:14px;background:rgba(7,12,23,.48)}
.ga-help-box h3{font-size:14px;color:#d5c1ff;margin:0 0 9px}
.ga-help-box p,.ga-help-box li{font-size:13px;line-height:1.6;color:#e0e6f2}
.ga-help-box p{margin:0}.ga-help-box ul,.ga-help-box ol{margin:0;padding-left:20px}.ga-help-box li+li{margin-top:7px}
.ga-help-box.ga-help-full{grid-column:1/-1}
.ga-help-note{margin-top:13px;border-left:3px solid #e6bb61;padding:9px 12px;font-size:12px;line-height:1.55;color:#f4dcac;background:rgba(200,154,68,.09);border-radius:8px}
.ga-help-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:20px}
.ga-help-actions button{min-height:42px}.ga-help-actions .ga-help-play{background:linear-gradient(110deg,#6734ba,#865ce8);border:1px solid #9b7bf0;color:#fff;font-weight:850}
.ga-help-dialog :focus-visible,#arcade .arcade-help-trigger:focus-visible{outline:3px solid #9bd3ff;outline-offset:3px}
@media(max-width:710px){#arcade .arcade-game-actions{grid-template-columns:1fr 1fr}#arcade .arcade-game-actions label{grid-column:1/-1}.ga-help-layout{grid-template-columns:1fr}.ga-help-box.ga-help-full{grid-column:1}.ga-help-actions>*{flex:1}}
@media(prefers-reduced-motion:no-preference){.ga-help-dialog{animation:gaHelpEnter .22s ease-out}@keyframes gaHelpEnter{from{opacity:.6;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}}


/* ---- arcade-470.css ---- */
/* GuitarArcade 4.7.0: three complete game scenes. CSS-only decoration; no remote assets. */
/* MUCHOLAP DELUXE — playful forest and six physical wires. */
#specialMiniStage .arcade-special-wrap:has(.ga-fly-status){background:radial-gradient(ellipse at 50% 36%,rgba(56,173,129,.12),transparent 65%);border-radius:20px}
.ga-fly-status{display:flex;align-items:center;justify-content:space-between;gap:8px 17px;flex-wrap:wrap;border:1px solid #62bf8d75;border-radius:13px;background:linear-gradient(110deg,#12352d,#15352f 60%,#283a26);padding:10px 14px;color:#d5ffdf}
.ga-fly-status strong{font-size:15px}.ga-fly-status span{font-weight:900;font-size:17px}.ga-fly-status small{width:100%;color:#bfead1}
#specialMiniStage .arcade-special-wrap:has(.ga-fly-status) .mini-string-board{border:3px solid #528f7788;border-radius:22px;padding:18px 12px 26px;background:radial-gradient(circle at 20% 14%,#1c7667a8,transparent 30%),radial-gradient(circle at 85% 20%,#31876c66,transparent 29%),linear-gradient(180deg,#122b40,#184a4a 65%,#2d5233 66%,#243922);box-shadow:inset 0 0 32px #0007;position:relative}
#specialMiniStage .arcade-special-wrap:has(.ga-fly-status) .mini-string-board:after{content:'🌿 🌼 🌿 🌻 🌿 🌼 🌿';position:absolute;bottom:0;left:4%;font-size:18px;letter-spacing:13px;opacity:.8;pointer-events:none}
#specialMiniStage .arcade-special-wrap:has(.ga-fly-status) .mini-string-row{border-color:#a0d1aa40;border-radius:14px;background:#12261fae;min-height:61px}
#specialMiniStage .arcade-special-wrap:has(.ga-fly-status) .mini-string-row.target{background:#3d76515e;border-color:#a1ffc8;box-shadow:0 0 19px #63ed9870,inset 0 0 18px #6aee6533}
.ga-fly-status~.arcade-target-timer{height:11px;background:#193626}
.ga-fly-status~.arcade-target-timer span{background:linear-gradient(90deg,#f4ca50,#ed8950,#e9556a)}
.ga-fly{font-size:38px;transform-origin:center;filter:drop-shadow(0 0 8px #a8e4ff)}
.ga-fly.ga-fly-gold{font-size:44px;filter:drop-shadow(0 0 14px #ffe158);animation:gaFlyHover .45s ease-in-out infinite alternate}
.ga-fly.ga-fly-boss{font-size:51px;filter:drop-shadow(0 0 19px #ff4d65);animation:gaBossFly .35s ease-in-out infinite alternate}
@keyframes gaBossFly{to{transform:translateX(12px) rotate(14deg) scale(1.16)}}
/* SIMON TEMPLE — ritual doorway, ancient glowing runes, vertical strings */
.ga-shell.mode-simon{background:radial-gradient(ellipse at 49% -10%,#7846b649,transparent 55%),linear-gradient(150deg,#11132c,#241833 75%,#101a2f)}
.ga-temple-head{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;background:linear-gradient(90deg,#3c246b,#31234e,#203d5c);border:1px solid #a780d066;border-radius:12px;padding:12px 16px;color:#e5d4ff;font-weight:900}
.ga-temple-portal{margin:13px auto 2px;max-width:680px;min-height:109px;border:2px solid #8765ae99;border-radius:90px 90px 14px 14px;background:radial-gradient(ellipse at 50% 105%,#49348ba0,#111c33 70%);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;box-shadow:inset 0 0 35px #090614a8}
.ga-temple-door{border:1px solid #d6bbfc7d;min-width:185px;text-align:center;border-radius:50px;padding:10px 16px;background:#322557a8;box-shadow:0 0 22px #8f61de66;color:#eee2ff;font-size:14px;font-weight:900;transition:transform .2s,filter .2s}
.ga-temple-door.open{transform:scale(1.07);filter:brightness(1.5);background:#165d57}
.ga-temple-runes{display:flex;gap:18px;color:#917caa;font-size:21px}.ga-temple-runes .lit{filter:drop-shadow(0 0 11px #45d7ed)}
.ga-temple-sparkles{text-align:center;font-size:15px;letter-spacing:.14em;color:#ebc679;min-height:25px;animation:gaTempleStars 1.6s linear infinite alternate}
@keyframes gaTempleStars{to{opacity:.52;letter-spacing:.27em}}
.ga-shell.mode-simon .ga-simon-guitar{max-width:680px;gap:7px;margin-top:7px}
.ga-shell.mode-simon .ga-simon-pad{border:1px solid #ae94eb7a;border-left:6px solid #c29cf8;min-height:56px;background:linear-gradient(100deg,#37234d,#26243d 45%,#101c33);box-shadow:inset 0 0 23px #0004,0 4px 10px #08081240}
.ga-shell.mode-simon .ga-simon-pad.lit{background:linear-gradient(90deg,#b99cf0,#433a88);filter:brightness(1.55)}
.ga-shell.mode-simon .ga-simon-pad:before{content:'✦';font-size:20px;color:#c2acfa;text-shadow:0 0 9px #c2acfa}
.ga-shell.mode-simon .ga-simon-pad.ga-bad:before{content:'✕';color:#ff9999}
.ga-shell.mode-simon .ga-simon-pad.ga-success:before{content:'✦';color:#baffc9}
/* CASTLE DEFENDER — scenic battlements, villain classes and paid defenses */
.ga-shell.mode-defender{background:radial-gradient(circle at 80% -20%,#b9548e3b,transparent 60%),linear-gradient(140deg,#161a36,#23162d)}
.ga-castle-top{display:flex;gap:10px 18px;justify-content:space-between;align-items:center;flex-wrap:wrap;border:1px solid #b6a2f068;padding:12px 14px;border-radius:11px;background:linear-gradient(90deg,#313059,#27223e);font-weight:850;color:#f6e7ff}
.ga-castle-field{min-height:290px;background:radial-gradient(circle at 68% 23%,#8d59b65e,transparent 20%),linear-gradient(180deg,#19183d,#40355a 63%,#273b35 64%,#122725)!important}
.ga-castle-field:before{content:'';position:absolute;bottom:14%;left:0;right:0;border:0;height:20%;background:repeating-linear-gradient(90deg,#63526d 0px,#63526d 38px,#564660 39px,#564660 45px);opacity:.65;transform:none;box-shadow:inset 0 5px 6px #1b132f}
.ga-castle-sky{position:absolute;top:8%;right:9%;font-size:23px;opacity:.7;letter-spacing:16px;animation:gaCastleSky 7s ease-in-out infinite alternate}
@keyframes gaCastleSky{to{transform:translateX(-13px);opacity:.3}}
.ga-castle-tower{position:absolute;z-index:3;bottom:15%;left:3%;display:flex;flex-direction:column;align-items:center;font-size:clamp(62px,9vw,100px);filter:drop-shadow(0 8px 6px #1119)}
.ga-castle-tower small{font-size:10px;color:#e9dafe;background:#29213b;border:1px solid #8c7cc1;border-radius:7px;padding:4px 6px;font-weight:900}
.ga-castle-field .ga-enemy{bottom:23%;z-index:4;min-width:120px;text-align:center}
.ga-castle-field .ga-enemy-monster{font-size:clamp(54px,7vw,82px);animation:gaCastleEnemy .75s ease-in-out infinite alternate}
@keyframes gaCastleEnemy{to{transform:translateY(-7px) rotate(8deg)}}
.ga-castle-field .ga-enemy strong{border:1px solid #e49bb0a8;border-radius:20px;background:#30223ecc;color:#fbd8ee;font-size:11px;line-height:1.3;padding:5px 12px;white-space:normal}
.ga-castle-field .ga-enemy small{font-size:11px;color:#ffe9af;font-weight:850;text-shadow:0 0 8px #27153c}
.ga-castle-boss{border:2px solid #df6c92!important;box-shadow:inset 0 0 70px #dd34714d!important}
.ga-castle-boss .ga-enemy-monster{font-size:90px!important;filter:drop-shadow(0 0 22px #ff4c9b)}
.ga-castle-field .ga-shot{bottom:51%;font-size:40px}
.ga-shell.mode-defender .ga-defense-readout{flex-direction:column;align-items:stretch;text-align:center}
.ga-shell.mode-defender .ga-tone-pills{justify-content:center;flex-wrap:wrap;gap:7px}
.ga-shell.mode-defender .ga-tone-pills strong{font-size:22px;min-width:75px;padding:9px 12px;display:flex;flex-direction:column;gap:4px}
.ga-shell.mode-defender .ga-tone-pills strong small{font-size:10px;color:#b9c7db;font-weight:650}
.ga-shell.mode-defender .ga-tone-pills strong.current{border-color:#ffe59b;background:#67475c;box-shadow:0 0 0 2px #ffe59b44,0 0 19px #ffe59b55;animation:gaCastleCurrent .9s ease-in-out infinite alternate}
@keyframes gaCastleCurrent{to{filter:brightness(1.35)}}
.ga-castle-shop{margin:15px 0;padding:13px;border:1px solid #c1a8ec5c;border-radius:14px;background:linear-gradient(130deg,#202a4c,#28213a);display:flex;flex-direction:column;gap:12px;text-align:center}
.ga-shop-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.ga-shop-actions button{min-width:148px;border:1px solid #99cdbd90;background:#23525a55;color:#ddf9ee;min-height:43px;font-weight:850;cursor:pointer;border-radius:12px}
.ga-shop-actions button:not(:disabled):hover{filter:brightness(1.26);transform:translateY(-1px)}
.ga-shop-actions button:disabled{opacity:.37;cursor:not-allowed}
@media(max-width:630px){.ga-fly-status span{font-size:14px}.ga-castle-field{min-height:235px}.ga-castle-field .ga-enemy{min-width:92px}.ga-castle-field .ga-enemy-monster{font-size:50px}.ga-castle-field .ga-enemy strong{font-size:9px}.ga-temple-runes{gap:8px}.ga-shop-actions button{flex:1;min-width:125px}#specialMiniStage .arcade-special-wrap:has(.ga-fly-status) .mini-string-row{min-height:54px}}
@media(prefers-reduced-motion:reduce){.ga-fly.ga-fly-gold,.ga-fly.ga-fly-boss,.ga-temple-sparkles,.ga-castle-sky,.ga-castle-field .ga-enemy-monster,.ga-shell.mode-defender .ga-tone-pills strong.current{animation:none!important}}


/* ---- arcade-482.css ---- */
/* GuitarPath 4.8.2 — Rocksmith-style full six-string colors + Mucholap wave/pause. */
#specialMiniStage .arcade-special-wrap:has(.ga-fly-progress-note){
  background:radial-gradient(ellipse at 50% 36%,rgba(56,173,129,.13),transparent 65%);
  border-radius:20px;
}
#specialMiniStage .arcade-special-wrap:has(.ga-fly-progress-note) .mini-string-board{
  border:2px solid rgba(82,171,125,.5);
  border-radius:18px;
  padding:10px 10px 15px;
  margin:9px 0 10px;
  background:radial-gradient(circle at 18% 15%,rgba(28,118,103,.55),transparent 31%),
    radial-gradient(circle at 86% 20%,rgba(49,135,108,.30),transparent 29%),
    linear-gradient(180deg,#112b3c,#174144 60%,#25402b 66%,#1b2d22);
  box-shadow:inset 0 0 32px rgba(0,0,0,.32);
  position:relative;
  isolation:isolate;
}
#specialMiniStage .arcade-special-wrap:has(.ga-fly-progress-note) .mini-string-row{
  min-height:46px;
  padding:6px 11px;
  border-radius:11px;
  border:1px solid rgba(180,216,188,.24);
  background:rgba(9,25,24,.68);
}
#specialMiniStage .mini-string-row[data-string="6"]{--ga-wire:var(--gp-string-6);--ga-wire-rgb:var(--gp-string-6-rgb)}
#specialMiniStage .mini-string-row[data-string="5"]{--ga-wire:var(--gp-string-5);--ga-wire-rgb:var(--gp-string-5-rgb)}
#specialMiniStage .mini-string-row[data-string="4"]{--ga-wire:var(--gp-string-4);--ga-wire-rgb:var(--gp-string-4-rgb)}
#specialMiniStage .mini-string-row[data-string="3"]{--ga-wire:var(--gp-string-3);--ga-wire-rgb:var(--gp-string-3-rgb)}
#specialMiniStage .mini-string-row[data-string="2"]{--ga-wire:var(--gp-string-2);--ga-wire-rgb:var(--gp-string-2-rgb)}
#specialMiniStage .mini-string-row[data-string="1"]{--ga-wire:var(--gp-string-1);--ga-wire-rgb:var(--gp-string-1-rgb)}
/* Colored WIRE fills entire row, not only the small numerals. */
#specialMiniStage .mini-string-row[data-string]::before{
  background:var(--ga-wire)!important;
  opacity:1!important;
  height:4px;
  border-radius:4px;
  box-shadow:0 0 7px rgba(var(--ga-wire-rgb),.60);
  z-index:0;
  pointer-events:none;
}
#specialMiniStage .mini-string-row[data-string] .ga-fly-track{
  position:relative;
  z-index:2;
}
#specialMiniStage .mini-string-row[data-string] .string-no,
#specialMiniStage .mini-string-row[data-string] .string-name{
  color:var(--ga-wire);
  text-shadow:0 0 7px rgba(var(--ga-wire-rgb),.42);
}
#specialMiniStage .mini-string-row[data-string].target{
  background:rgba(var(--ga-wire-rgb),.18)!important;
  border-color:var(--ga-wire)!important;
  box-shadow:inset 0 0 11px rgba(var(--ga-wire-rgb),.10),0 0 15px rgba(var(--ga-wire-rgb),.20)!important;
}
#specialMiniStage .mini-string-row[data-string].target::before{
  height:6px;
  box-shadow:0 0 11px var(--ga-wire),0 0 23px rgba(var(--ga-wire-rgb),.5);
}
#specialMiniStage .mini-string-row[data-string].correct{outline:2px solid #a2ffb5}
#specialMiniStage .mini-string-row[data-string].wrong{outline:2px solid #ff9d98}
#specialMiniStage .arcade-target-timer{height:9px;margin:8px 0}
#specialMiniStage .arcade-target-timer span{background:linear-gradient(90deg,#ffd465,#f3a03c,#e76b58);box-shadow:0 0 10px rgba(247,176,70,.32)}
.ga-fly-progress-note{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:7px;font-size:12px;font-weight:800;color:#d3fbdc;padding:5px 8px;background:rgba(13,42,34,.55);border:1px solid rgba(94,180,116,.23);border-radius:9px;margin:8px 0 4px}
.ga-fly-progress-note span{color:#9fc8f3}
.ga-fly-pause-btn{background:#22534e;border:1px solid #62bd9a;color:#ecfff5;font-weight:900}
#specialMiniStage.is-paused .mini-string-board{filter:saturate(.62)}
#specialMiniStage.is-paused .ga-fly,
#specialMiniStage.is-paused .mini-string-row.target,
#specialMiniStage.is-paused .ga-fly-escape{animation-play-state:paused!important}
.ga-fly-pause-overlay{position:absolute;z-index:11;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:rgba(5,17,24,.75);backdrop-filter:blur(3px);border-radius:17px;font-size:clamp(28px,5vw,52px);letter-spacing:.08em;font-weight:1000;color:#f8eab4;text-shadow:0 4px 20px #000}
.ga-fly-pause-overlay small{font-size:13px;letter-spacing:0;font-weight:700;color:#eef4ff}
#specialMiniStage .ga-fly-feedback{margin:5px 0;min-height:34px;padding:6px 10px}
#specialMiniStage .special-mini-head{gap:8px}
#specialMiniStage .special-mini-stats{grid-template-columns:repeat(auto-fit,minmax(83px,1fr));gap:6px}
#specialMiniStage .mini-stat{padding:6px 7px}
#specialMiniStage .mini-stat strong{font-size:17px}
#specialMiniStage .mini-message{min-height:38px;padding:8px 11px}
@media(max-width:700px){
 #specialMiniStage .mini-string-row[data-string]{min-height:42px}
 #specialMiniStage .mini-string-board{gap:6px}
 #specialMiniStage .special-mini-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
 #specialMiniStage .mini-stat strong{font-size:16px}
}
@media(prefers-reduced-motion:reduce){#specialMiniStage .mini-string-row.target{animation:none!important}}

/* Tighter landscape fit at 100% browser zoom. */
#specialMiniStage:has(.ga-fly-progress-note) .special-mini-head>div:first-child{min-width:min(225px,100%);flex:0.85}
#specialMiniStage:has(.ga-fly-progress-note) .special-mini-stats{min-width:min(320px,100%);flex:1.35}
#specialMiniStage:has(.ga-fly-progress-note) .ga-fly-status-note{padding:5px 8px;margin-top:4px}
#specialMiniStage:has(.ga-fly-progress-note) .mini-string-board{gap:6px;padding:8px 10px 12px}
#specialMiniStage:has(.ga-fly-progress-note) .mini-string-row{min-height:42px;padding-top:4px;padding-bottom:4px}
#specialMiniStage:has(.ga-fly-progress-note) .ga-fly{font-size:30px}
#specialMiniStage:has(.ga-fly-progress-note) .ga-fly.ga-fly-gold{font-size:35px}
#specialMiniStage:has(.ga-fly-progress-note) .ga-fly.ga-fly-boss{font-size:42px}


/* 4.15.4: grafiki Muchołapa niezależne od fontu emoji */
.ga-fly .ga-fly-svg{display:block;width:52px;height:45px;overflow:visible;filter:drop-shadow(0 2px 4px #030d13a8)}
.ga-fly.ga-fly-boss .ga-fly-svg{width:65px;height:57px}
.ga-fly.ga-fly-gold .ga-fly-svg{width:56px;height:49px}
@media(max-width:650px){.ga-fly .ga-fly-svg{width:45px;height:40px}}
