/* Generated edits are tangible new prints, with the source visible beneath.
   The existing front print remains the editable/current version. */
.print .version-underlays { position:absolute;inset:0;z-index:0;pointer-events:none; }
.print .print-lift { z-index:1; }
.print .version-underlay { position:absolute;inset:0;padding:var(--edge,12px);background:#fffefa;border:1px solid #e3e5eb;border-radius:2px;box-shadow:0 9px 22px #25324d2b,0 2px 3px #24334719;transform:translate(calc(var(--layer) * -11px),calc(var(--layer) * -8px)) rotate(calc(var(--layer) * -1.2deg));transform-origin:50% 90%; }
.print .version-underlay img { display:block;width:100%;height:100%;object-fit:contain;opacity:.93; }
@keyframes version-leaf { from { opacity:0;transform:translate(0,0) scale(.96); } to { opacity:1;transform:translate(calc(var(--layer) * -11px),calc(var(--layer) * -8px)) rotate(calc(var(--layer) * -1.2deg)); } }
.print .version-current-label { display:none;position:absolute;left:70px;top:-16px;z-index:35;pointer-events:none; }
.print.has-versions:not(.deck-open) .version-current-label { display:block; }
@keyframes filename-arrive { from { opacity:0;transform:translateY(8px) rotate(-4deg); } to { opacity:1;transform:translateY(0) rotate(-2deg); } }
.version-filename { display:inline-flex;align-items:center;gap:7px;min-height:33px;max-width:70%;padding:2px 11px 2px 5px;border:1px solid #d9def0;border-radius:8px;background:#fffefaf5;box-shadow:0 1px 1px #fff inset,0 3px 9px #24345624;color:#263966;font:600 10px/1 var(--mono);letter-spacing:.01em;white-space:nowrap; }
.version-current-label .version-filename { max-width:none; }
.version-filename img { display:block;width:57px;height:27px;object-fit:contain;filter:drop-shadow(0 1px 1px #1e285427); }
.version-filename span { overflow:hidden;text-overflow:ellipsis; }
.print.has-versions .sheet { overflow:visible; }
/* The print itself grows with the deck's FLIP layout. Its surface then changes
   from one card into a horizontal, scroll-snapping contact sheet. */
.print .version-scroll { position:absolute;inset:0;z-index:24;display:flex;overflow-x:auto;overflow-y:hidden;overscroll-behavior:contain;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:2px;background:#fffefa;opacity:0;pointer-events:none;transform:translateY(14px) scale(.98);transition:opacity .26s ease,transform .48s cubic-bezier(.16,1,.3,1);touch-action:pan-x; }
.print .version-scroll::-webkit-scrollbar { display:none; }
.print.deck-open.has-versions .version-scroll { opacity:1;pointer-events:auto;transform:none; }
.print.deck-open.has-versions .version-underlays { opacity:0;transition:opacity .28s; }
.print.deck-open.has-versions .img-wrap { opacity:0;transition:opacity .22s; }
.print.deck-open.has-versions .margin,.print.deck-open.has-versions .sheen { opacity:0;pointer-events:none; }
.print.deck-open.has-versions .sheet { background:#fffefa!important;box-shadow:0 1px 0 #fff inset,0 0 0 1px #fff,1px 2px 0 #e6e4df,0 18px 45px #26324c2a!important; }
.version-slide { position:relative;flex:0 0 100%;height:100%;padding:12px;scroll-snap-align:center;scroll-snap-stop:always;background:#fffefa; }
.version-photo { display:block;width:100%;height:100%;object-fit:contain;background:#f4f5f7; }
.version-slide .version-filename { position:absolute;top:20px;left:20px;max-width:calc(100% - 125px);z-index:3; }
.version-download { position:absolute;right:20px;bottom:20px;z-index:4;border:1px solid #d9dfeb;border-radius:999px;padding:9px 14px;background:#fffffff2;box-shadow:0 2px 10px #1d2c4b21;color:#263966;font:650 11px var(--font);cursor:pointer; }
.version-download:hover { background:#eef2ff; }
.version-download:focus-visible,.version-toolbar button:focus-visible { outline:2px solid #4254e6;outline-offset:2px; }
.version-toolbar { display:none;position:absolute;top:-47px;right:0;z-index:38;align-items:center;gap:7px;padding:5px 6px 5px 12px;border:1px solid #d9dfeb;border-radius:12px;background:#ffffffed;box-shadow:0 3px 13px #26324c1e;color:#31446e;backdrop-filter:blur(12px); }
.print.deck-open.has-versions .version-toolbar { display:flex; }
.version-counter { min-width:40px;font:700 11px var(--mono);font-variant-numeric:tabular-nums; }
.version-toolbar button { border:0;border-radius:7px;padding:7px 10px;background:#edf1fa;color:#263966;font:600 11px var(--font);cursor:pointer; }
.version-toolbar button:hover { background:#dfe6f9; }
.version-toolbar button:disabled { opacity:.35;cursor:default;background:#edf1fa; }
.version-toolbar .version-prev,.version-toolbar .version-next { display:grid;place-items:center;width:27px;height:27px;padding:0;border-radius:50%;font:22px/1 Georgia,serif; }
.version-toolbar .version-close { display:grid;place-items:center;width:27px;height:27px;padding:0;background:transparent;font-size:13px; }
html.version-expanded .deck-rail,html.version-expanded .deck-nav { opacity:0;pointer-events:none; }
html.version-expanded .model-status { z-index:40; }
html[data-theme=dark] .version-toolbar { background:#fdfcf4ed; }
@media(max-width:719px) {
 .print .version-underlay { transform:translate(calc(var(--layer) * -5px),calc(var(--layer) * -6px)) rotate(calc(var(--layer) * -1deg)); }
 .print .version-current-label { top:-14px;left:48px; }
 .version-filename { gap:4px;min-height:27px;padding:2px 7px 2px 3px;font-size:8px;max-width:190px; }
 .version-filename img { width:43px;height:22px; }
 .version-toolbar { top:-43px;right:0;padding:4px 5px 4px 8px;gap:4px; }
 .version-toolbar button { padding:6px 8px;font-size:9px; }
 .version-counter { min-width:31px;font-size:9px; }
 .version-slide { padding:8px; }
 .version-slide .version-filename { top:13px;left:13px;max-width:calc(100% - 78px); }
 .version-download { right:13px;bottom:13px;padding:7px 10px;font-size:9px; }
}
@media(prefers-reduced-motion:reduce) { .version-underlay,.version-current-label { animation:none!important; } .print .version-scroll { transition:none!important; } }

/* Second-generation stack: paper leaves separate into a contact sheet.
   The center card is full-strength; its neighbors remain visible as invitations to move. */
.print.has-versions:not(.deck-open) .version-underlay { transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .26s ease; }
.print.has-versions:not(.deck-open):hover .version-underlay { transform:translate(calc(var(--layer) * -18px),calc(var(--layer) * -14px)) rotate(calc(var(--layer) * -2deg)); }
.print.deck-open.has-versions .version-underlays { opacity:0;transition:opacity .26s ease; }
.print.deck-open.has-versions .version-underlay { opacity:0;transform:translate(calc(var(--layer) * -44px),calc(var(--layer) * -24px)) rotate(calc(var(--layer) * -5deg)) scale(.94);transition:transform .48s cubic-bezier(.2,.8,.2,1),opacity .24s ease; }
.print.deck-open.has-versions .sheet { background:transparent!important;box-shadow:none!important; }
html[data-tool][data-theme] .table .print.deck-front.deck-open.has-versions .sheet { background:transparent!important;box-shadow:none!important;outline:none; }
.print .version-scroll { inset:-8px -8px -8px;gap:14px;padding:12px 14% 18px;scroll-padding-inline:14%;border-radius:0;background:transparent;transform:translateY(18px) scale(.94);transition:opacity .24s ease .1s,transform .58s cubic-bezier(.16,1,.3,1);cursor:grab; }
.print .version-scroll.is-scrubbing { scroll-snap-type:none;cursor:grabbing;user-select:none; }
.print.deck-open.has-versions .version-scroll { transform:none; }
.version-slide { flex:0 0 82%;height:auto;max-height:100%;align-self:center;padding:9px;border:1px solid #e1e4eb;border-radius:3px;box-shadow:0 2px 2px #26324c13,0 18px 34px #26324c2b;background:#fffefa;transform-origin:50% 50%;transition:transform .25s ease,opacity .25s ease;will-change:transform; }
.version-slide.ratio-wide { flex-basis:calc(100% + 30px); }
.version-slide.ratio-landscape { flex-basis:88%; }
.version-slide.ratio-square { flex-basis:68%; }
.version-slide.ratio-portrait { flex-basis:50%; }
.version-scroll.is-scrubbing .version-slide { transition:none; }
.version-slide .version-filename { top:16px;left:16px; }
.version-download { right:16px;bottom:16px; }
.version-slide .version-filename,.version-slide .version-download { transition:opacity .18s ease; }
.version-slide:not([aria-current=true]) .version-filename,.version-slide:not([aria-current=true]) .version-download { opacity:0;pointer-events:none; }
.version-map { display:none;position:absolute;left:50%;bottom:-68px;z-index:38;align-items:center;gap:5px;max-width:calc(100% - 12px);padding:7px;border:1px solid #dce1ea;border-radius:13px;background:#ffffffef;box-shadow:0 4px 16px #26324c1f,0 1px 1px #fff inset;transform:translateX(-50%);overflow-x:auto;scrollbar-width:none;backdrop-filter:blur(16px); }
.version-map::-webkit-scrollbar { display:none; }
.print.deck-open.has-versions .version-map { display:flex; }
.version-map-item { position:relative;flex:0 0 45px;width:45px;height:43px;padding:3px;border:1px solid #d9deea;border-radius:5px;background:#fff;box-shadow:0 1px 2px #1d2b481a;cursor:pointer;transition:transform .24s cubic-bezier(.16,1,.3,1),box-shadow .24s ease,border-color .24s ease; }
.version-map-item img { display:block;width:100%;height:100%;object-fit:cover;border-radius:2px; }
.version-map-item span { position:absolute;right:3px;bottom:3px;padding:1px 3px;border-radius:2px;background:#fffefae8;color:#263966;font:700 8px/1.1 var(--mono); }
.version-map-item[aria-pressed=true] { border-color:#4759d8;box-shadow:0 0 0 2px #4759d855,0 3px 8px #29388d2d;transform:translateY(-3px); }
.version-map-item:hover { transform:translateY(-4px); }
.version-map-item:focus-visible { outline:2px solid #4254e6;outline-offset:3px; }
.print.deck-open.has-versions .version-toolbar { right:7%;top:-54px; }
@media(max-width:719px) {
 .print.has-versions:not(.deck-open):hover .version-underlay { transform:translate(calc(var(--layer) * -8px),calc(var(--layer) * -9px)) rotate(calc(var(--layer) * -1.5deg)); }
 .print .version-scroll { inset:-5px -3px;gap:8px;padding:7px 9% 13px;scroll-padding-inline:9%; }
 .version-slide { padding:5px; }
 .version-slide.ratio-wide { flex-basis:calc(100% + 25px); }
 .version-slide.ratio-landscape { flex-basis:88%; }
 .version-slide.ratio-square { flex-basis:68%; }
 .version-slide.ratio-portrait { flex-basis:52%; }
 .version-slide .version-filename { top:9px;left:9px; }
 .version-download { right:9px;bottom:9px; }
 .print.deck-open.has-versions .version-toolbar { right:3%;top:-44px; }
 .version-map { bottom:-60px;max-width:calc(100% - 4px);padding:5px; }
 .version-map-item { flex-basis:37px;width:37px;height:36px; }
}
@media(prefers-reduced-motion:reduce) { .version-slide,.version-underlay,.version-map-item { transition:none!important; } }
