/* RegistryReady MRI — Anatomy Lab v2 */
.rr-anat-app{--panel:#0b1526;--panel2:#101e33;--stroke:rgba(130,166,220,.18);--stroke2:rgba(130,166,220,.32);display:grid;gap:1rem}
.rr-anat-top{display:flex;align-items:end;justify-content:space-between;gap:1rem;flex-wrap:wrap}.rr-anat-top h2{font-family:'Fraunces',serif;font-weight:500;font-size:2rem}.rr-kicker{font-size:.72rem;letter-spacing:2.2px;text-transform:uppercase;color:var(--cyan)}
.rr-top-stats{display:flex;gap:.6rem;flex-wrap:wrap}.rr-top-stats span{border:1px solid var(--stroke);background:var(--panel);border-radius:999px;padding:.45rem .75rem;color:var(--mute);font-size:.76rem}.rr-top-stats b{color:var(--ink)}
.rr-control-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.75rem}.rr-control{background:var(--panel);border:1px solid var(--stroke);border-radius:14px;padding:.75rem}.rr-control label{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:1px;color:var(--dim);margin-bottom:.45rem}.rr-seg{display:flex;gap:.35rem}.rr-seg button{flex:1;border:1px solid var(--stroke);background:rgba(255,255,255,.025);color:var(--mute);border-radius:8px;padding:.48rem .55rem;font:500 .8rem Outfit,system-ui;cursor:pointer;text-transform:capitalize}.rr-seg button.on{background:linear-gradient(135deg,#168ee2,#216cc6);border-color:#2e9cf0;color:#fff;box-shadow:0 0 18px rgba(45,155,240,.18)}
.rr-main-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(220px,.62fr) minmax(260px,.72fr);gap:.85rem;align-items:stretch}.rr-view-card,.rr-structure-card,.rr-detail-card{background:var(--panel);border:1px solid var(--stroke);border-radius:16px;overflow:hidden}.rr-view-card{padding:.8rem}.rr-view-head{display:flex;justify-content:space-between;align-items:center;padding:.2rem .25rem .7rem}.rr-view-head b{display:block}.rr-view-head small{display:block;color:var(--dim);font-size:.72rem;margin-top:.15rem}.rr-timer{font-family:'Fraunces',serif;font-size:1.15rem;border:1px solid var(--stroke2);border-radius:10px;padding:.35rem .65rem}.rr-timer.danger{color:var(--red);border-color:rgba(255,107,107,.5)}
.rr-viewer{position:relative;aspect-ratio:1/1;background:#020611;border:1px solid var(--stroke);border-radius:12px;overflow:hidden}.rr-viewer img{width:100%;height:100%;object-fit:contain;display:block}.rr-orient{position:absolute;left:.7rem;bottom:.55rem;background:rgba(2,6,17,.78);border:1px solid var(--stroke);border-radius:7px;padding:.25rem .45rem;font-size:.65rem;color:var(--dim)}
.rr-spot{position:absolute;transform:translate(-50%,-50%);width:32px;height:32px;border-radius:50%;border:2px solid #44a8ff;background:rgba(4,16,34,.78);color:white;display:grid;place-items:center;cursor:pointer;box-shadow:0 0 0 4px rgba(68,168,255,.12);transition:.15s}.rr-spot span{font:600 .74rem Outfit}.rr-spot:hover,.rr-spot.selected{transform:translate(-50%,-50%) scale(1.14);border-color:#fff;box-shadow:0 0 18px #3da4ff}.rr-spot.mastered{border-color:var(--green);box-shadow:0 0 0 4px rgba(52,224,181,.15)}
.rr-view-actions{display:flex;justify-content:space-between;gap:.6rem;padding-top:.7rem}
.rr-panel-title{height:48px;padding:.75rem .9rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--stroke);font-size:.78rem;text-transform:uppercase;letter-spacing:.9px}.rr-panel-title small{color:var(--dim);font-size:.66rem}.rr-structure-list{padding:.5rem;display:grid;gap:.25rem;max-height:640px;overflow:auto}.rr-structure-row{border:1px solid transparent;background:transparent;color:#dbe6f8;border-radius:9px;display:grid;grid-template-columns:25px 1fr auto;gap:.45rem;align-items:center;text-align:left;padding:.55rem .5rem;font:400 .79rem Outfit;cursor:pointer}.rr-structure-row:hover,.rr-structure-row.on{background:rgba(61,164,255,.1);border-color:rgba(61,164,255,.22)}.rr-structure-row i{font-style:normal;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#243a5a;color:#a8d6ff;font-size:.68rem}.rr-structure-row b{color:var(--green)}
.rr-bookmark{border:none;background:none;color:var(--mute);cursor:pointer;font-size:1rem}.rr-bookmark.on{color:var(--gold)}.rr-prompt{padding:1rem;border-bottom:1px solid var(--stroke)}.rr-prompt span{color:#62b5ff;font-size:.68rem;text-transform:uppercase;letter-spacing:1px}.rr-prompt h3{font-family:'Fraunces',serif;font-weight:500;font-size:1.4rem;margin-top:.3rem}.rr-prompt.quiz{background:rgba(33,108,198,.08)}.rr-detail-body{padding:1rem}.rr-detail-body h4,.rr-related h4{font-size:.72rem;text-transform:uppercase;letter-spacing:.8px;margin:.9rem 0 .35rem;color:#d8e6fb}.rr-detail-body h4:first-child{margin-top:0}.rr-detail-body p,.rr-related p{font-size:.82rem;color:var(--mute);line-height:1.55}.rr-tags{display:flex;gap:.35rem;flex-wrap:wrap}.rr-tags span{background:#17385d;border:1px solid rgba(85,166,238,.22);border-radius:6px;padding:.25rem .45rem;font-size:.69rem;color:#b9dcff}.rr-related{border-top:1px solid var(--stroke);padding:0 1rem 1rem}.rr-related a{display:block;color:#58b4ff;font-size:.76rem;padding:.3rem 0;text-decoration:none}.rr-result{border-radius:10px;padding:.9rem}.rr-result.good{background:rgba(52,224,181,.09);border:1px solid rgba(52,224,181,.3)}.rr-result.bad{background:rgba(255,107,107,.09);border:1px solid rgba(255,107,107,.3)}
.rr-thumb-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;background:var(--panel);border:1px solid var(--stroke);border-radius:14px;padding:.7rem}.rr-thumb-strip button{display:grid;grid-template-columns:82px 1fr;align-items:center;gap:.65rem;text-align:left;background:rgba(255,255,255,.02);border:1px solid var(--stroke);border-radius:10px;color:var(--mute);padding:.35rem;cursor:pointer;text-transform:capitalize}.rr-thumb-strip button.on{border-color:#39a8ff;color:#fff}.rr-thumb-strip img{width:82px;height:62px;object-fit:cover;border-radius:7px;background:#020611}
@media(max-width:1050px){.rr-main-grid{grid-template-columns:1fr minmax(220px,.7fr)}.rr-detail-card{grid-column:1/-1}.rr-detail-card{display:grid;grid-template-columns:.8fr 1.2fr 1fr}.rr-detail-card>.rr-panel-title{grid-column:1/-1}.rr-related{border-top:none;border-left:1px solid var(--stroke)}}
@media(max-width:760px){.rr-control-grid{grid-template-columns:1fr}.rr-main-grid{grid-template-columns:1fr}.rr-detail-card{grid-column:auto;display:block}.rr-related{border-left:none;border-top:1px solid var(--stroke)}.rr-thumb-strip{grid-template-columns:1fr}.rr-anat-top h2{font-size:1.6rem}.rr-viewer{aspect-ratio:1/1}.rr-spot{width:28px;height:28px}}

/* v2.0 raster image library + slice navigation */
.rr-viewer img{image-rendering:auto;filter:contrast(1.04)}
.rr-slice-control{display:grid;grid-template-columns:auto 1fr;gap:.45rem .75rem;align-items:center;padding:.72rem .15rem .15rem}
.rr-slice-control span{font-size:.76rem;color:#dce9fb;white-space:nowrap}
.rr-slice-control input{width:100%;accent-color:#39a8ff}
.rr-slice-control small{grid-column:1/-1;color:var(--dim);font-size:.66rem}

/* v2.0.1 hotfix — precise viewer and image centering */
.rr-viewer{
  display:grid;
  place-items:center;
  isolation:isolate;
}
.rr-viewer > img{
  position:absolute;
  inset:0;
  margin:auto;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:50% 50%;
}
.rr-viewer .rr-spot,
.rr-viewer .rr-orient{
  z-index:2;
}


/* =========================================================
   RegistryReady MRI — Anatomy Lab layout v2.4
   Viewer remains visually centered independent of side panels.
   ========================================================= */

.rr-main-grid{
  display:grid;
  grid-template-columns:minmax(240px,.8fr) minmax(300px,1.2fr);
  grid-template-areas:
    "viewer viewer"
    "structures details";
  gap:.9rem;
  align-items:start;
  justify-content:center;
}

.rr-view-card{
  grid-area:viewer;
  width:min(100%,780px);
  justify-self:center;
  padding:.8rem;
}

.rr-structure-card{
  grid-area:structures;
  min-width:0;
}

.rr-detail-card{
  grid-area:details;
  min-width:0;
}

.rr-view-head,
.rr-view-actions,
.rr-representative-level{
  width:min(100%,744px);
  margin-inline:auto;
}

.rr-viewer{
  position:relative;
  width:min(100%,744px);
  aspect-ratio:1 / 1;
  margin-inline:auto;
  display:grid;
  place-items:center;
  background:#020611;
  border:1px solid var(--stroke);
  border-radius:12px;
  overflow:hidden;
  isolation:isolate;
}

.rr-viewer > img{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  margin:auto;
  object-fit:contain;
  object-position:center center;
  transform:none !important;
}

.rr-viewer .rr-spot,
.rr-viewer .rr-orient{
  z-index:2;
}

.rr-representative-level{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:.8rem;
  padding:.72rem .15rem .15rem;
  color:var(--mute);
  font-size:.74rem;
  line-height:1.45;
}

.rr-representative-level strong{
  color:#dce9fb;
  font-weight:600;
  white-space:nowrap;
}

.rr-representative-level small{
  color:var(--dim);
  text-align:right;
}

.rr-slice-control{
  display:none !important;
}

@media(max-width:900px){
  .rr-main-grid{
    grid-template-columns:1fr;
    grid-template-areas:
      "viewer"
      "structures"
      "details";
  }

  .rr-view-card,
  .rr-structure-card,
  .rr-detail-card{
    width:100%;
  }

  .rr-structure-list{
    max-height:420px;
  }
}

@media(max-width:560px){
  .rr-view-card{
    padding:.55rem;
  }

  .rr-viewer{
    width:100%;
  }

  .rr-representative-level{
    display:block;
  }

  .rr-representative-level small{
    display:block;
    margin-top:.25rem;
    text-align:left;
  }
}
