.prototype-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.prototype-card { overflow:hidden; border:1px solid var(--line); border-radius:24px; background:var(--panel); }
.prototype-heading { padding:24px; }
.prototype-card [hidden] { display:none !important; }
.prototype-card h3 { margin:8px 0 12px; font:650 28px/1.1 var(--font-display); }
.prototype-card header p:last-child { margin:0; color:var(--ink-2); font-size:15px; }
.model-stage { position:relative; height:auto; aspect-ratio:3 / 2; background:radial-gradient(ellipse at center,#344842,#14201e 75%); }
.model-stage > img, .model-stage model-viewer { position:absolute; inset:0; width:100%; height:100%; display:block; object-fit:contain; }
.model-stage model-viewer { --poster-color:transparent; touch-action:pan-y; }
.model-load { position:absolute; left:50%; bottom:24px; transform:translateX(-50%); white-space:nowrap; }
.model-load:hover { transform:translateX(-50%); }
.model-controls { display:flex; flex-wrap:wrap; gap:8px; padding:16px 24px; }
.model-controls button { min-height:44px; padding:10px 14px; border:1px solid var(--line); border-radius:12px; background:var(--panel); color:var(--ink); cursor:pointer; }
.model-controls button:hover { border-color:var(--accent-ink); }
.model-controls button:focus-visible { outline:2px solid var(--accent-ink); outline-offset:3px; }
.model-hint { margin:0; padding:16px 24px 24px; color:var(--muted); font-size:13px; }
.print-workflow { margin-top:24px; padding:28px; border:1px solid var(--line); border-radius:20px; background:var(--panel); }
.print-workflow summary { cursor:pointer; font:600 22px/1.3 var(--font-display); min-height:44px; }
.print-workflow p { color:var(--ink-2); margin-top:24px; }
.printer-timeline { list-style:none; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin:24px 0 0; }
.printer-timeline > div { padding-top:16px; border-top:1px solid var(--line); }
.printer-timeline time { display:block; color:var(--accent-ink); font-size:13px; margin-bottom:8px; }
.printer-timeline span { display:block; color:var(--muted); font-size:13px; margin-top:6px; }
@media(max-width:760px) { .prototype-grid {grid-template-columns:1fr;} .model-stage {height:auto;} .printer-timeline {grid-template-columns:1fr;} .print-workflow {padding:22px;} }
