/* Controls Trainer guided tutorial overlay */
.ct-tutorial-launch{
  position:fixed;right:18px;bottom:18px;z-index:9000;
  border:0;border-radius:999px;padding:11px 16px;
  background:#173b5e;color:#fff;font-weight:900;letter-spacing:.02em;
  box-shadow:0 7px 22px rgba(20,45,70,.28);cursor:pointer
}
.ct-tutorial-launch:hover{background:#214e78}
.ct-tutorial-launch:focus-visible{outline:3px solid #74aee0;outline-offset:3px}
.ct-tutorial-spotlight{
  position:fixed;z-index:9998;border:3px solid #59a4dd;border-radius:12px;
  box-shadow:0 0 0 9999px rgba(8,20,34,.72),0 0 0 5px rgba(89,164,221,.22),0 0 24px rgba(89,164,221,.58);
  pointer-events:none;transition:left .25s ease,top .25s ease,width .25s ease,height .25s ease;
  animation:ctTutorialPulse 1.35s ease-in-out infinite
}
.ct-tutorial-spotlight::after{
  content:"";position:absolute;right:10px;top:10px;width:14px;height:14px;border-radius:50%;
  background:#ffd35a;box-shadow:0 0 0 0 rgba(255,211,90,.65);animation:ctTutorialDot 1.2s ease-out infinite
}
@keyframes ctTutorialPulse{0%,100%{border-color:#59a4dd}50%{border-color:#a5d8ff}}
@keyframes ctTutorialDot{0%{box-shadow:0 0 0 0 rgba(255,211,90,.65)}100%{box-shadow:0 0 0 18px rgba(255,211,90,0)}}
.ct-tutorial-card{
  position:fixed;z-index:9999;width:min(420px,calc(100vw - 28px));
  background:#fff;color:#182b3d;border:1px solid #aebdca;border-radius:14px;
  box-shadow:0 16px 55px rgba(0,0,0,.34);padding:18px
}
.ct-tutorial-card h3{margin:0 34px 8px 0;font-size:1.1rem;color:#173b5e}
.ct-tutorial-card p{margin:0 0 14px;line-height:1.48;color:#445a6e}
.ct-tutorial-kicker{font-size:.7rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#6a7f91;margin-bottom:5px}
.ct-tutorial-progress{height:5px;background:#e7edf2;border-radius:999px;overflow:hidden;margin:0 0 14px}
.ct-tutorial-progress>span{display:block;height:100%;background:#2d78b3;transition:width .25s ease}
.ct-tutorial-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.ct-tutorial-btn{border:1px solid #9aaaba;border-radius:7px;padding:8px 12px;background:#fff;color:#223b50;font-weight:800;cursor:pointer}
.ct-tutorial-btn.primary{border-color:#173b5e;background:#173b5e;color:#fff}
.ct-tutorial-btn.skip{margin-right:auto;border-color:transparent;color:#66798b;background:transparent}
.ct-tutorial-close{position:absolute;right:12px;top:10px;border:0;background:transparent;font-size:1.4rem;color:#687b8c;cursor:pointer}
.ct-tutorial-step-count{font-size:.76rem;color:#708294;margin-bottom:10px}
body.ct-tutorial-open .ct-tutorial-launch{opacity:.35}
@media(max-width:700px){
  .ct-tutorial-launch{right:12px;bottom:14px;padding:10px 14px}
  .ct-tutorial-card{left:14px!important;right:14px!important;bottom:14px!important;top:auto!important;width:auto}
  .ct-tutorial-spotlight{border-radius:9px}
}
@media(prefers-reduced-motion:reduce){
  .ct-tutorial-spotlight,.ct-tutorial-spotlight::after{animation:none}
  .ct-tutorial-spotlight,.ct-tutorial-progress>span{transition:none}
}

/* ============================================================
   v5.26 - tutorial mobile polish
   ============================================================ */
@media(max-width:700px){
  .ct-tutorial-launch{
    right:max(12px,env(safe-area-inset-right));
    bottom:calc(14px + env(safe-area-inset-bottom));
    min-height:44px;
  }
  .ct-tutorial-card{
    left:10px!important;
    right:10px!important;
    bottom:calc(10px + env(safe-area-inset-bottom))!important;
    max-height:min(62vh,520px);
    overflow:auto;
    padding:16px;
  }
  .ct-tutorial-card h3{font-size:1.05rem}
  .ct-tutorial-card p{font-size:.95rem;line-height:1.45}
  .ct-tutorial-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .ct-tutorial-btn{min-height:42px;padding:9px 10px}
  .ct-tutorial-btn.skip{grid-column:1/-1;grid-row:2;margin:0;text-align:center}
}
