:root{color-scheme:light;--yellow:#ffd400;--ink:#111;--muted:#62625e;--slab-width:280px}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:#f3f3f1;color:var(--ink);font-family:"Yu Gothic UI","Meiryo",sans-serif}
.proof{max-width:1240px;margin:auto;padding:32px 24px 20px}
.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:700;color:#6f630a}
h1{font-size:27px;line-height:1.5;margin:8px 0}
.proof-heading>p{font-size:14px;color:var(--muted);margin:0}
.picker{display:flex;align-items:center;gap:10px;font-size:13px;margin:20px 0}
select{font:inherit;max-width:100%;padding:9px 12px;background:#fff;border:1px solid #b8b8b1;border-radius:5px}
.study-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.study-step{margin:0;min-width:0;background:#fff;border:1px solid #deded9;border-radius:10px;padding:20px 14px 14px;box-shadow:0 3px 10px #17171705}
.study-step.is-result{border-color:#cfb200;background:#fffef8}
figcaption{display:grid;grid-template-columns:28px 1fr;column-gap:10px}
figcaption>span{grid-row:1/3;width:28px;height:28px;display:grid;place-items:center;border-radius:5px;background:#171717;color:#ffd400;font-size:12px;font-weight:700}
h2{font-size:18px;line-height:1.4;margin:0}
figcaption p{font-size:12px;line-height:1.6;color:var(--muted);margin:3px 0 0}
.specimen-space{display:flex;justify-content:center;align-items:center;height:516px;padding:18px 0}
.slab-host{width:min(100%,var(--slab-width));flex-shrink:0}
.actual-size{font-size:12px;text-align:center;margin:8px 0 0;line-height:1.7;color:#50504c}
.footnote{font-size:12px;color:#62625e;line-height:1.7;margin:18px 0 0}

/* One geometric contract. Track fractions sum to 800 and 1350 respectively.
   Decoration uses outlines/shadows, never subtracting from the measured tracks. */
.slab{container-type:inline-size;position:relative;isolation:isolate;display:grid;width:100%;aspect-ratio:800/1350;grid-template-columns:minmax(0,65fr) minmax(0,670fr) minmax(0,65fr);grid-template-rows:minmax(0,340fr) minmax(0,938fr) minmax(0,72fr);border-radius:4%;background:linear-gradient(108deg,#fcfdfdee 0%,#dce3e6b8 3%,#ffffffea 5%,#e4eaed7a 9%,#fcfdfdaa 16%,#e5e9eb8a 84%,#fff 94%,#d6dfe2d9 98%,#fff 100%);box-shadow:inset 0 0 0 1px #8d999d,inset 0 0 0 3px #fff,0 4px 9px #1c262816}
.slab::before{content:"";position:absolute;inset:1.2% 2%;border-radius:3%;box-shadow:inset 0 0 0 1px #adb9bd,0 0 0 1px #ffffffbf;pointer-events:none;z-index:-1}
.slab::after{content:"";position:absolute;inset:2.25% 3.65%;border-radius:2.5%;box-shadow:inset 0 0 0 1px #b5c0c488,0 0 0 1px #ffffffd6;pointer-events:none;z-index:-1}
.slab-label-region{grid-column:1/-1;grid-row:1;display:grid;grid-template-rows:minmax(0,58fr) minmax(0,200fr) minmax(0,82fr);padding-inline:7%;min-height:0}
.slab-label{grid-row:2;display:grid;grid-template-columns:minmax(0,1fr) 24%;align-items:center;padding:3.5% 4%;min-height:0;outline:1.05cqw solid #c92230;outline-offset:-1.05cqw;border-radius:1.5cqw;background:#fff;box-shadow:0 0 0 .6cqw #cbd2d6,0 0 0 1cqw #fff}
.label-copy{min-width:0;display:flex;flex-direction:column;gap:1.5cqw}
.label-copy span{font-size:3.7cqw;line-height:1.15;font-weight:700;letter-spacing:.05em}
.label-copy strong{font-size:3.4cqw;line-height:1.15;white-space:nowrap;letter-spacing:-.02em}
.label-copy small{font-size:2.7cqw;line-height:1.15;letter-spacing:.1em;color:#50555a}
.label-grade{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1cqw;min-height:0;box-shadow:-1px 0 #d3d7d9}
.label-grade span{font-family:Arial,sans-serif;font-weight:700;font-size:3.1cqw;line-height:1;white-space:nowrap}
.label-grade strong{font-family:Arial,sans-serif;font-weight:700;font-size:10.2cqw;line-height:1}
.case-neck{grid-row:3;display:grid;grid-template-columns:1fr 16% 1fr;align-items:center;gap:3%;padding-inline:7%}
.case-neck span{height:1.4cqw;box-shadow:0 1px #fff,inset 0 1px #b3bec26b;border-radius:2px;background:#dfe5e752}
.case-neck i{width:100%;aspect-ratio:2.3;border-radius:1cqw;box-shadow:inset 0 0 0 1px #b5c0c455,0 1px #fff;background:linear-gradient(150deg,#fff9,#dce4e74d)}
.card-pocket{grid-column:2;grid-row:2;position:relative;min-height:0;min-width:0;background:#f4f5f4;outline:1px solid #aebbbe;border-radius:1.8cqw;box-shadow:0 0 0 .65cqw #fffffff0,0 0 0 1.2cqw #c3ced2a1,0 0 0 1.65cqw #ffffffad}
.mount{position:relative;width:100%;height:100%;overflow:hidden}
.mount img{position:absolute;display:block;max-width:none;opacity:0}
.mount[data-ready="true"] img{opacity:1}
.card-only{width:calc(var(--slab-width)*670/800);height:auto;aspect-ratio:670/938;max-width:100%;background:#fafaf7}
.slab.is-empty .mount{background:linear-gradient(135deg,#fbfcfc,#e5ebed 45%,#f5f8f8);border-radius:1.8cqw}
.slab.is-empty img{display:none}
.slab.is-empty .mount::after{content:"670 × 938";display:grid;place-items:center;height:100%;color:#7c8a8e;font:500 5cqw/1.4 Arial,sans-serif;letter-spacing:.03em}
@media(max-width:699px){.proof{padding:22px 16px}.study-grid{grid-template-columns:minmax(0,1fr)}h1{font-size:22px}.proof-heading>p{font-size:12px}.picker{align-items:flex-start;flex-direction:column}.specimen-space{height:auto;min-height:475px;padding:20px 0}.study-step{padding:18px 16px}.slab-host{width:min(100%,260px)}.card-only{width:calc(260px*670/800)}}
/* Exact reference-size exports, still native grid geometry, not transform/scale. */
body[data-export]{background:transparent}
body[data-export] .proof{padding:0;margin:0;max-width:none}
body[data-export] .proof-heading,body[data-export] figcaption,body[data-export] .actual-size,body[data-export] .footnote{display:none}
body[data-export] .study-grid{display:block}
body[data-export] .study-step{display:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
body[data-export="filled"] [data-step="filled"],body[data-export="empty"] [data-step="empty"],body[data-export="source"] [data-step="source"]{display:block}
body[data-export] .specimen-space{display:block;height:auto;min-height:0;padding:0}
body[data-export] .slab-host{width:800px;max-width:none}
body[data-export="source"] .card-only{width:670px;max-width:none}
