/* FixMobi 4.3: final arcade pass. All enhancements are scoped to the games. */
/* The real sticky header is intentionally not a scroll target: JS handles top actions. */
/* Precision Lab: preserve the point of contact with the screw while giving the grip more room. */
.hero-lab-wrap .precision-board .precision-tool {
  left:calc(20.5% + 63px) !important;
  width:161px !important;
}
.hero-lab-wrap .precision-board .precision-tool::after {left:-27px !important;width:32px !important;}
/* Hint is inside the PCB, but never captures taps/clicks. */
.hero-lab-wrap .precision-board .precision-guidance {
  position:absolute;right:13px;bottom:12px;z-index:18;
  display:inline-flex;gap:8px;align-items:center;justify-content:center;
  padding:9px 11px;max-width:60%;min-height:33px;
  border:1px solid rgba(99,206,254,.48);border-radius:11px;
  background:linear-gradient(135deg,rgba(12,42,79,.95),rgba(29,65,116,.93));
  box-shadow:0 6px 20px #02162d72,inset 0 1px #a9dfff24;
  color:#c6f4ff;font:800 10px/1.25 inherit;letter-spacing:.075em;
  font-family:inherit;font-size:10px;font-weight:800;
  text-align:center;pointer-events:none;transition:background .35s,border-color .35s,color .35s;
}
.hero-lab-wrap .precision-guide-dot {width:8px;height:8px;border-radius:100%;background:#4ed9e8;flex:none;box-shadow:0 0 0 4px #4ed9e829,0 0 16px #4ed9e8;}
.hero-lab-wrap .precision-lab.is-starting .precision-screw {
  animation:fmScrewBeacon 1.5s ease-in-out infinite !important;
}
@keyframes fmScrewBeacon {
  0%,100% {box-shadow:0 0 0 3px #65e6ff40,0 0 7px #56d8ff74,0 6px 13px #0007;}
  50% {box-shadow:0 0 0 12px #5eddff14,0 0 28px #81dfffdb,0 6px 13px #0007;}
}
.hero-lab-wrap .precision-lab.is-unscrewed .precision-guidance {border-color:#efc67a;color:#ffedc2;background:linear-gradient(135deg,#584622,#2e3550);}
.hero-lab-wrap .precision-lab.is-unscrewed .precision-guide-dot {background:#ffcf80;box-shadow:0 0 14px #f4b554;}
.hero-lab-wrap .precision-lab.is-done .precision-guidance {border-color:#80ebc3;color:#ceffe6;background:linear-gradient(135deg,#126550,#0c4842);}
.hero-lab-wrap .precision-lab.is-done .precision-guide-dot {background:#a1ffd7;box-shadow:0 0 14px #8af8b6;}
/* On completion the entire workbench shifts to green, like DATA LAB. */
.hero-lab-wrap .precision-lab {
  transition:background .7s ease,box-shadow .6s ease,border-color .6s ease !important;
}
.hero-lab-wrap .precision-lab.is-done {
  background:radial-gradient(ellipse at 40% 25%,#126956 0%,#0b493f 46%,#071c29 100%) !important;
  border-color:#70e2b1 !important;
  box-shadow:0 16px 45px #0a5f4240,inset 0 1px 0 #b4ffe746,0 0 27px #3eddab20 !important;
}
.hero-lab-wrap .precision-lab.is-done .precision-board {
  background:radial-gradient(ellipse at 50% 44%,#16745e 0%,#0b403a 49%,#08242c 100%) !important;
  border-color:#4fcaa0 !important;
  box-shadow:inset 0 0 0 2px #76deb4,inset 0 0 48px #39e7a52e !important;
  transition:background .7s ease,border-color .6s ease,box-shadow .6s ease;
}
.hero-lab-wrap .precision-lab.is-done .precision-circuit {filter:drop-shadow(0 0 15px #5af3b077);}
.hero-lab-wrap .precision-lab.is-done .precision-top {color:#bcffe3 !important;}
.hero-lab-wrap .precision-lab.is-done .precision-led {background:#a7ffc9 !important;box-shadow:0 0 16px #85ffbf !important;}
.hero-lab-wrap .precision-lab.is-done #precision-message {color:#cbffea !important;}
/* Phone repair: contextual guidance that takes little vertical space. */
.repair-game .game-guide {
  display:flex;align-items:center;gap:10px;position:relative;z-index:3;
  border:1px solid #609ae866;border-radius:11px;
  padding:8px 12px;margin:7px auto 0;max-width:calc(100% - 12px);width:100%;
  background:linear-gradient(115deg,#204579d9,#16335fd9);
  box-shadow:inset 0 1px 0 #b0d5ff21,0 4px 13px #020e244a;
  color:#e2f3ff;font-size:11px;line-height:1.34;
  transition:background .4s,border-color .4s,color .4s;
}
.repair-game .game-guide-step {
  width:28px;height:28px;flex:0 0 28px;display:grid;place-items:center;
  border-radius:8px;background:#397de1;color:#fff;font-weight:900;font-size:11px;
  box-shadow:0 3px 11px #3888f988;
}
.repair-game .game-guide-copy {flex:1;min-width:0;font-weight:700;}
.repair-game .game-guide-arrow {color:#79dafe;font-size:16px;}
/* Four screws only pulse during the first step; once removed they disappear. */
.repair-game[data-stage="0"] .game-screw:not(.removed) {
  background:radial-gradient(circle at 30% 20%,#4aa9f8,#1d4a86) !important;
  color:#edffff !important;
  border-color:#a2e9ff !important;
  animation:fmRepairScrewPulse 1.65s ease-in-out infinite;
}
.repair-game[data-stage="0"] .game-screw[data-screw="2"]{animation-delay:.23s;}
.repair-game[data-stage="0"] .game-screw[data-screw="3"]{animation-delay:.46s;}
.repair-game[data-stage="0"] .game-screw[data-screw="4"]{animation-delay:.69s;}
@keyframes fmRepairScrewPulse {
  0%,100% {box-shadow:0 0 0 3px #68dbff33,0 0 10px #68ceff44;}
  50% {box-shadow:0 0 0 9px #60daff18,0 0 26px #62d5ffc0;}
}
.repair-game.game-ready #game-action,
.repair-game[data-stage="1"] #game-action,
.repair-game[data-stage="4"] #game-action {
  border-color:#93eeff !important;
  box-shadow:0 0 0 3px #45d8ff1f,0 0 20px #42ddfb42;
  animation:fmGuideButtonGlow 1.85s ease-in-out infinite;
}
@keyframes fmGuideButtonGlow{50%{box-shadow:0 0 0 5px #45d8ff26,0 0 24px #81e1ff73;}}
.repair-game[data-stage="2"] .game-connector {
  animation:fmConnectorBeacon 1.5s ease-in-out infinite;
  box-shadow:0 0 0 5px #f9dba94f,0 0 21px #ffe39bbd !important;
}
@keyframes fmConnectorBeacon{50%{filter:brightness(1.35);box-shadow:0 0 0 9px #f9dba92a,0 0 30px #ffe39b !important;}}
.repair-game[data-stage="3"] .game-battery {box-shadow:0 0 0 4px #62e4ff38,0 0 24px #70d3ffe0 !important;animation:fmBatteryBeacon 1.65s ease-in-out infinite;}
@keyframes fmBatteryBeacon{50%{box-shadow:0 0 0 8px #62e4ff12,0 0 36px #9ae9ff !important;}}
/* The completed phone now gets the same emerald illumination as the backup game. */
.repair-game {transition:background .7s ease,box-shadow .5s ease !important;}
.repair-game.game-celebrate,
.repair-game[data-stage="5"] {
  background:radial-gradient(ellipse at 44% 29%,#147661 0%,#0b493c 50%,#09262d 100%) !important;
  box-shadow:inset 0 0 0 1px #90f9c541,0 22px 50px #0b42395c !important;
}
.repair-game.game-celebrate .game-glow {background:radial-gradient(circle at 48% 50%,#7bffb62d,transparent 65%) !important;}
.repair-game[data-stage="5"] .game-success {
  background:linear-gradient(145deg,#16885e,#093d36) !important;
  box-shadow:inset 0 0 0 1px #a5ffcf7c,0 0 24px #6dfbc555 !important;
}
.repair-game[data-stage="5"] .game-success span {background:#b0ffe1 !important;color:#075343 !important;}
.repair-game[data-stage="5"] .game-guide {background:linear-gradient(115deg,#176e55,#0d4a40);border-color:#7af0b6;color:#d6ffe9;}
.repair-game[data-stage="5"] .game-guide-step {background:#b6ffe1;color:#075343;box-shadow:0 0 17px #78efb188;}
.repair-game[data-stage="5"] .game-guide-arrow {color:#a9ffe0;}
.repair-game[data-stage="5"] #game-action {background:linear-gradient(90deg,#29b788,#7ee4b6) !important;color:#063a32 !important;}
@media(max-width:1050px) and (min-width:761px) {
  .hero-lab-wrap .precision-board .precision-tool {left:calc(20.5% + 60px) !important;width:138px !important;}
}
@media(max-width:760px) {
  .hero-lab-wrap .precision-board .precision-tool {left:calc(19.5% + 55px) !important;width:140px !important;}
  .hero-lab-wrap .precision-board .precision-guidance {font-size:9px;max-width:59%;padding:7px 9px;min-height:29px;}
  .repair-game .game-guide {max-width:100%;font-size:11px;padding:8px 9px;margin-top:9px;}
  .repair-game .game-guide-step {width:25px;height:25px;flex-basis:25px;}
}
@media(max-width:420px) {
  .hero-lab-wrap .precision-board .precision-tool {left:calc(19.5% + 54px) !important;width:126px !important;}
  .hero-lab-wrap .precision-board .precision-guidance {font-size:8px;right:8px;bottom:9px;max-width:62%;}
  .repair-game .game-guide {font-size:10px;}
}
@media(prefers-reduced-motion:reduce) {
  .hero-lab-wrap .precision-screw,.repair-game .game-screw,
  .repair-game .game-battery,.repair-game .game-connector,
  .repair-game #game-action {animation:none !important;}
  .hero-lab-wrap .precision-lab,.repair-game {transition:none !important;}
}
