/* IMSA Memory Test - panel styles. Scoped to #imsa-mt so nothing leaks. */
#imsa-mt{
  --tile:#1C3468; --gold:#E9B23C; --gold-deep:#C8912A;
  --soft:#B6C6E8; --soft-2:#8AA0CE; --line:rgba(255,255,255,.16);
  --good:#3FBF95; --bad:#E97A6C; --r:14px;
  font-family:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  color:#FFFFFF;
}
#imsa-mt *{box-sizing:border-box}
#imsa-mt .mt-panel{background:rgba(6,16,40,.55);border:1px solid var(--line);
  border-radius:var(--r);overflow:hidden;box-shadow:0 20px 50px rgba(2,8,24,.45)}
#imsa-mt .mt-track{height:4px;background:rgba(255,255,255,.10)}
#imsa-mt .mt-fill{height:100%;width:0%;
  background:linear-gradient(90deg,var(--gold-deep),var(--gold));transition:width .12s linear}
#imsa-mt .mt-head{display:flex;align-items:center;gap:12px;padding:14px 18px;
  border-bottom:1px solid var(--line)}
#imsa-mt .mt-label{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--soft)}
#imsa-mt .mt-clock{margin-left:auto;font-family:"IBM Plex Mono",monospace;
  font-variant-numeric:tabular-nums;font-size:19px;font-weight:600;color:var(--gold)}
#imsa-mt .mt-stage{padding:20px 18px}
#imsa-mt .mt-tiles{display:grid;grid-template-columns:repeat(10,1fr);gap:7px}
@media (max-width:1000px){#imsa-mt .mt-tiles{grid-template-columns:repeat(5,1fr)}}
#imsa-mt .mt-tile{aspect-ratio:1/1.12;display:flex;align-items:center;justify-content:center;
  background:var(--tile);border-radius:8px;font-family:"IBM Plex Mono",monospace;
  font-variant-numeric:tabular-nums;font-size:clamp(16px,2.1vw,20px);font-weight:600;color:#fff}
#imsa-mt .mt-tile.is-blank{color:transparent;background:rgba(255,255,255,.07)}
#imsa-mt .mt-reveal{animation:mt-pop .32s ease both}
@keyframes mt-pop{from{opacity:0;transform:translateY(5px) scale(.94)}to{opacity:1;transform:none}}
#imsa-mt .mt-in{aspect-ratio:1/1.12;width:100%;text-align:center;
  background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;
  font-family:"IBM Plex Mono",monospace;font-variant-numeric:tabular-nums;
  font-size:clamp(16px,2.1vw,20px);font-weight:600;padding:0;-moz-appearance:textfield}
#imsa-mt .mt-in::-webkit-outer-spin-button,
#imsa-mt .mt-in::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
#imsa-mt .mt-in:focus{outline:2px solid var(--gold);outline-offset:2px;background:rgba(233,178,60,.16)}
#imsa-mt .mt-mark{position:relative}
#imsa-mt .mt-mark.ok{background:rgba(63,191,149,.22);box-shadow:inset 0 0 0 1px var(--good)}
#imsa-mt .mt-mark.no{background:rgba(233,122,108,.18);box-shadow:inset 0 0 0 1px var(--bad);color:#FFD9D3}
#imsa-mt .mt-mark small{position:absolute;left:0;right:0;bottom:-16px;text-align:center;
  font-family:"IBM Plex Mono",monospace;font-size:10.5px;color:var(--good);font-weight:600}
#imsa-mt .mt-tiles.has-marks{margin-bottom:20px}
#imsa-mt .mt-score{display:flex;align-items:baseline;gap:14px;margin-bottom:6px}
#imsa-mt .mt-score b{font-family:"Poppins",sans-serif;font-size:46px;line-height:1;font-weight:700;
  color:var(--gold);font-variant-numeric:tabular-nums}
#imsa-mt .mt-score span{font-size:15px;color:var(--soft)}
#imsa-mt .mt-band{font-size:15.5px;color:#DCE5F8;margin:8px 0 0}
#imsa-mt .mt-band b{color:#fff}
#imsa-mt .mt-run{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);
  font-size:13.5px;color:var(--soft)}
#imsa-mt .mt-foot{padding:16px 18px;border-top:1px solid var(--line);background:rgba(4,12,32,.4);
  display:flex;gap:10px;flex-wrap:wrap;align-items:center}
#imsa-mt .mt-btn{font-family:"IBM Plex Sans",sans-serif;font-weight:600;font-size:14.5px;
  border-radius:9px;padding:12px 20px;border:0;cursor:pointer;background:var(--gold);color:#20160A;
  transition:transform .12s ease,filter .12s ease}
#imsa-mt .mt-btn:hover{filter:brightness(1.06);transform:translateY(-1px)}
#imsa-mt .mt-btn.ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.45)}
#imsa-mt .mt-btn.ghost:hover{border-color:#fff}
#imsa-mt .mt-btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
#imsa-mt .mt-hint{font-size:12.5px;color:var(--soft-2)}
#imsa-mt [hidden]{display:none !important}
#imsa-mt .mt-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (prefers-reduced-motion:reduce){
  #imsa-mt *,#imsa-mt *::before,#imsa-mt *::after{animation:none!important;transition:none!important}
}
/* left-column step list, used by the Elementor text widget */
.imsa-mt-steps{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.imsa-mt-steps li{display:grid;grid-template-columns:26px 1fr;gap:12px;align-items:start;
  font-size:14.5px;color:#C3D0EC;font-family:"IBM Plex Sans",system-ui,sans-serif;line-height:1.55}
.imsa-mt-steps b{font-family:"IBM Plex Mono",monospace;font-size:12px;font-weight:600;color:#E9B23C;
  background:rgba(255,255,255,.08);border-radius:6px;text-align:center;padding:3px 0;line-height:1.5}