/* Small paper objects inside the reading column; no scroll or media lifecycle. */
.em-micro { margin:36px 0; padding:26px; border:1px solid #b8b1a4; background:#e9e3d7; box-shadow:0 4px 0 #d6ccba; color:#11100f; font-size:17px; line-height:1.5; }
.em-micro .em-kicker { font:700 11px/1.4 'Courier New',monospace; letter-spacing:.06em; text-transform:uppercase; margin:0 0 9px; }
.em-micro h3 { font-size:clamp(24px,3vw,30px); line-height:1.12; letter-spacing:-.025em; margin:0 0 12px; }
.em-micro .em-intro { margin:0 0 22px; }
.em-micro summary { list-style:none; min-height:48px; }
.em-micro summary::-webkit-details-marker { display:none; }
.em-micro summary:focus-visible { outline:3px solid #5b710b; outline-offset:5px; }
.em-record summary { display:flex; align-items:center; gap:24px; padding:8px 0; }
.em-disc { flex:none; width:126px; height:126px; border-radius:50%; display:grid; place-items:center; background:repeating-radial-gradient(circle at center,#252925 0 1px,#111312 2px 5px); border:5px solid #262b26; box-shadow:4px 6px 0 #c3b7a3; transition:transform 180ms ease; }
.em-disc span { display:grid; place-content:center; position:relative; width:62px; height:62px; border-radius:50%; background:#f2eee5; color:#11100f; text-align:center; font:700 10px/1.25 'Courier New',monospace; padding-bottom:7px; }
.em-disc span::after { content:''; position:absolute; left:28px; bottom:7px; width:6px; height:6px; background:#111312; border-radius:50%; }
.em-record[open] .em-disc { transform:rotate(-14deg); }
.em-record-label { display:block; }
.em-record-label strong { display:block; font-size:19px; text-decoration:underline; text-underline-offset:.2em; }
.em-record-label > span { display:block; font-size:14px; margin-top:9px; }
.em-record:not([open]) .em-close-hint, .em-record[open] .em-open-hint { display:none; }
.em-record summary:hover strong, .em-feedback summary:hover { text-decoration-thickness:2px; }
.em-sleeve { margin-top:22px; padding:6px 20px 18px; background:#fbf8f1; border-left:3px solid #a94f3f; }
.em-sleeve dl { margin:0; }
.em-sleeve dl > div { padding:14px 0; border-bottom:1px solid #d8d0c0; }
.em-sleeve dt { font-weight:700; }
.em-sleeve dd { margin:3px 0 0; }
.em-sleeve > p { margin:16px 0 0; }
.em-micro .em-footnote { font-size:13px; line-height:1.5; margin:20px 0 0; color:#504b42; }
.em-shot-controls fieldset { border:0; padding:0; margin:0; display:grid; grid-template-columns:1fr 1fr; gap:8px; min-width:0; }
.em-shot-controls label { display:flex; align-items:center; gap:10px; border:1px solid #8c8579; min-height:64px; padding:10px 14px; cursor:pointer; background:#fbf8f1; }
.em-shot-controls label:has(input:checked) { background:#111312; color:#fbf8f1; border-color:#111312; box-shadow:inset 0 -3px #a9c63a; }
.em-shot-controls label:focus-within { outline:3px solid #5b710b; outline-offset:3px; }
.em-shot-controls input { width:18px; height:18px; min-height:0; margin:0; padding:0; accent-color:#a9c63a; }
.em-shot-controls small { display:block; font-size:13px; }
.em-selected { font:12px/1.5 'Courier New',monospace; margin:12px 0; }
.em-frames figure { margin:0 0 20px; }
.em-frames svg { display:block; width:100%; height:auto; border:5px solid #fbf8f1; box-shadow:0 3px 0 #c8bda8; background:#dbccb0; }
.em-frames figcaption { font-size:14px; line-height:1.5; padding-top:12px; }
.em-frames figcaption strong { display:block; font-size:15px; }
.em-feedback { border-top:1px solid #b8b1a4; margin-top:20px; }
.em-feedback summary { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:14px 0; font-weight:700; text-decoration:underline; text-underline-offset:.2em; }
.em-feedback[open] summary > span { transform:rotate(90deg); }
.em-feedback p { margin:8px 0 16px; }
.em-feedback p:last-child { margin-bottom:4px; }
@media(max-width:480px) {
  .em-micro { padding:18px; margin:28px 0; font-size:16px; }
  .em-record summary { gap:16px; }
  .em-disc { width:98px; height:98px; }
  .em-record-label strong { font-size:17px; }
  .em-record-label > span { font-size:13px; }
  .em-shot-controls label { padding:10px; gap:8px; }
}
@media(prefers-reduced-motion:reduce) { .em-disc { transition:none; } .em-record[open] .em-disc { transform:none; } }
@media(forced-colors:active) { .em-disc { border:3px solid CanvasText; } .em-shot-controls label:has(input:checked) { border:3px solid Highlight; } }
@media print { .em-record > .em-sleeve, .em-feedback > div { display:block !important; } .em-shot-controls { display:none !important; } .em-frames [hidden] { display:block !important; } .em-micro { break-inside:avoid; box-shadow:none; } }
