/* One interactive portrait at a time, with a full-window transparent stage. */
.student-gallery{min-width:0;width:100%}
.student-pagination:not([hidden]){display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line,#d8d7cf)}
.student-pagination>button{width:44px;height:44px;border:1px solid #cecec6;border-radius:50%;background:transparent;font-size:22px;color:var(--ink)}
.student-pagination>button:hover:not(:disabled){background:var(--red);color:white;border-color:var(--red)}
.student-pagination>button:disabled{opacity:.3;cursor:default}
.student-page-picker{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted)}
.student-page-picker select{max-width:110px;padding:8px;border:1px solid #cecec6;border-radius:4px;background:transparent;color:var(--ink);font:inherit;min-height:44px}
.student-page-count{font-variant-numeric:tabular-nums;white-space:nowrap}
.student-cards[aria-busy=true]{opacity:.6}
@media(max-width:1000px){.student-gallery{max-width:720px}}
@media(max-width:600px){.student-page-picker{gap:8px}.student-page-picker label{display:none}.student-pagination:not([hidden]){margin-top:16px;padding-top:12px}}
.student-card--static{cursor:default}
.student-card--static:hover img{transform:none}
.student-caption>span{font-size:16px;white-space:normal}
#student-dialog{
  position:fixed;inset:0;margin:0;width:100%;height:100vh;height:100dvh;
  max-width:none;max-height:none;border:0;border-radius:0;box-shadow:none;
  padding:24px clamp(20px,4vw,72px);overflow:hidden;background:transparent;
}
#student-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px}
#student-dialog::backdrop{background:rgba(241,239,232,.94);backdrop-filter:blur(16px)}
#student-dialog .student-dialog-head{padding-right:60px}
#student-dialog .student-dialog-head .eyebrow{font-size:16px;line-height:1.6;margin:0 0 4px}
#student-dialog h2{font-size:28px;line-height:1.4}
#student-dialog .student-close{
  top:20px;right:24px;width:48px;height:48px;background:#ffffffdf;
  color:#252a27;border:1px solid #d8d7cf;border-radius:50%;font-size:32px;
}
#student-dialog .student-stage{
  height:auto;min-height:0;width:100%;margin:0;border:0;border-radius:0;
  background:transparent;overflow:visible;
}
#student-dialog model-viewer{background:transparent;--poster-color:transparent;outline-offset:-4px}
#student-dialog .student-poster{padding:12px;object-fit:contain}
#student-dialog .student-viewer-bottom{padding:0;gap:12px 24px;align-items:center}
#student-dialog .student-status{font-size:16px;line-height:1.6;color:#4f5851;margin:0}
#student-dialog .student-tools{gap:10px}
#student-dialog .student-tools button{
  font-size:17px;line-height:1.5;min-height:48px;padding:10px 20px;
  border-radius:28px;background:#ffffffd9;border-color:#bcbeb5;
}
#student-dialog .student-retry{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  margin:0;font-size:17px;min-height:48px;padding:12px 24px;background:#fff;
  border-radius:26px;box-shadow:0 4px 24px #25332620;
}
@media(max-width:600px){
  #student-dialog{padding:max(16px,env(safe-area-inset-top)) 12px max(16px,env(safe-area-inset-bottom))}
  #student-dialog[open]{gap:8px}
  #student-dialog .student-dialog-head{padding-left:4px;padding-right:54px}
  #student-dialog .student-dialog-head .eyebrow{font-size:16px;letter-spacing:0}
  #student-dialog h2{font-size:22px}
  #student-dialog .student-close{right:12px;top:max(12px,env(safe-area-inset-top));width:44px;height:44px}
  #student-dialog .student-viewer-bottom{display:flex;flex-direction:column;gap:10px;text-align:center}
  #student-dialog .student-tools{justify-content:center}
  #student-dialog .student-tools button{padding:10px 22px;font-size:16px}
}
@media(max-height:500px) and (min-width:601px){
  #student-dialog{padding:10px 18px}
  #student-dialog .student-dialog-head .eyebrow{display:none}
  #student-dialog h2{font-size:21px}
  #student-dialog .student-close{top:8px;right:16px}
  #student-dialog .student-tools button{min-height:44px;padding:7px 18px}
}
