.archive-dialog .teacher-cover-anchor { position: relative; }
.archive-dialog[data-presentation="file"] .teacher-cover-anchor {
  width: min(100%, 64dvh, 680px);
}
.archive-dialog .record-cover.teacher-record-cover {
  padding: 0;
  border: 0;
  background: #fafaf7;
}
.archive-dialog .teacher-record-cover::after { display: none; }
.teacher-cover-sheet { display: block; width: 100%; height: auto; }
.archive-dialog .teacher-record-cover .record-figure { margin: 0; }
.archive-dialog:not([data-presentation="file"]) .teacher-cover-anchor { max-width: 420px; margin-inline: auto; }
.teacher-badge-layer {
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
}
.teacher-folder-rim { position: absolute; top: 0; left: 0; right: 0; height: 0; pointer-events: none; }
.teacher-folder-rim i { position: absolute; top: 0; width: 0; height: 0; }
.teacher-folder-rim [data-rim="left"] { left: 0; }
.teacher-folder-rim [data-rim="slot"] { left: 58%; }
.teacher-folder-rim [data-rim="right"] { left: 100%; }
.teacher-badge-extraction { position: absolute; inset: 0; pointer-events: none; }
.teacher-badge-lanyard { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; filter: drop-shadow(2px 3px 2px #172a3438); }
.teacher-badge-lanyard path { fill: none; stroke-linecap: butt; }
.lanyard-edge { stroke: #16364e; stroke-width: calc(var(--lanyard-width) + 2px); }
.lanyard-weave { stroke: #335d7a; stroke-width: var(--lanyard-width); }
.lanyard-stitch { stroke: #7693a4; stroke-width: calc(var(--lanyard-width) - 3px); stroke-dasharray: 0.6 2; opacity: 0.55; }
.teacher-badge-motion {
  --badge-width: 200px;
  position: absolute;
  top: 0;
  left: 0;
  width: var(--badge-width);
  padding-top: calc(var(--badge-width) * 0.19);
  transform-origin: center center;
  pointer-events: auto;
  user-select: none;
  filter: drop-shadow(12px 20px 15px #172a343b);
}
.teacher-badge-clip {
  position: absolute;
  z-index: 2;
  top: calc(var(--badge-width) * 0.08);
  left: 43%;
  width: 17%;
  height: calc(var(--badge-width) * 0.17);
  border: 1px solid #737d81;
  border-radius: 3px 3px 6px 6px;
  background: linear-gradient(100deg, #bec7ca, #f9fcfc 38%, #8d9a9f 75%, #d2dadc);
  box-shadow: inset 0 -3px 2px #45565c5c, 2px 3px 2px #19272b42;
}
.teacher-badge-attachment { position: absolute; top: 0; left: 50%; width: 0; height: 0; }
.teacher-badge-frame {
  position: relative;
  padding: 5.5%;
  aspect-ratio: 0.67;
  border: 1px solid #849196;
  border-radius: calc(var(--badge-width) * 0.07);
  background: linear-gradient(125deg, #fcffff 0%, #bdc7cb 22%, #eef3f5 49%, #7e8b90 75%, #d9e1e4 94%);
  box-shadow: inset 2px 2px 2px #ffffffdb, inset -2px -3px 1px #5b69719c, 3px 4px 0 #4f5b62;
}
.teacher-badge-frame::before {
  content: "";
  position: absolute;
  top: 2%;
  left: 40%;
  width: 24%;
  height: 2.8%;
  border-radius: 5px;
  background: #263b44;
  box-shadow: 0 1px 0 white;
}
.teacher-badge-paper {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  border: 1px solid #203441;
  border-radius: calc(var(--badge-width) * 0.035);
  background: #f5f7f7;
}
.teacher-badge-photo-area {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 0;
  flex: 1;
  padding: 8% 12% 6%;
  background: linear-gradient(135deg, #294f6b, #17384f);
}
.teacher-badge-brand {
  width: 100%;
  margin-bottom: 10%;
  color: #e7f0f4;
  font: 600 calc(var(--badge-width) * 0.053)/1.4 var(--sans);
  letter-spacing: 1px;
}
.teacher-badge-brand small {
  display: block;
  font-size: calc(var(--badge-width) * 0.03);
  font-weight: 400;
  letter-spacing: 2px;
  opacity: 0.75;
}
.teacher-badge-photo-area img {
  display: block;
  flex: 1;
  min-height: 0;
  width: 86%;
  object-fit: contain;
  object-position: center;
  background: #e5edf0;
  border: calc(var(--badge-width) * 0.016) solid #e5edf0;
}
.teacher-badge-name {
  flex-shrink: 0;
  padding: 6% 9% 5%;
  color: #1a303e;
}
.teacher-badge-name small,
.teacher-badge-name span { display: block; font: calc(var(--badge-width) * 0.034)/1.5 var(--mono); color: #74838a; }
.teacher-badge-name strong { display: block; margin: 5% 0 4%; font-size: calc(var(--badge-width) * 0.115); font-weight: 600; letter-spacing: 1px; }
@media (max-width: 900px) {
  .archive-dialog[data-presentation="file"] .teacher-cover-anchor { width: min(80vw, 380px); }
  .archive-dialog[data-presentation="file"] .exhibit-record[data-kind="teacher"] { gap: 112px; }
}
