.modelview{max-width:1000px;margin:0 auto;padding:2rem 1.25rem 4rem}.modelview-heading{margin:0 0 .35rem;font-size:1.9rem}.modelview-intro{margin:0 0 1.5rem;max-width:60ch;color:var(--text-muted)}.modelview-controls{display:flex;flex-wrap:wrap;align-items:start;gap:1rem 1.75rem;margin-bottom:.75rem}.modelview-print{margin-top:1.15rem}.modelview-field{display:flex;flex-direction:column;gap:.2rem}.modelview-field-name{font-size:.8rem;color:var(--text-muted)}.modelview-choices{display:flex;flex-wrap:wrap;gap:.35rem}.modelview-choice{display:flex;flex-direction:column;align-items:start;gap:.1rem;padding:.4rem .7rem;border:1px solid var(--border);border-radius:.5rem;background:var(--surface);color:var(--text);font:inherit;line-height:1.15;cursor:pointer}.modelview-choice:hover{border-color:var(--brand-soft)}.modelview-choice[aria-checked=true]{border-color:var(--brand-soft);background:color-mix(in srgb,var(--brand-soft) 14%,transparent);font-weight:600}.modelview-choice-title{font-size:.95rem}.modelview-choice-note{font-size:.72rem;font-weight:400;color:var(--text-muted)}.modelview-bands{margin-top:-1rem}.modelview-count{margin:0 0 .2rem;font-size:.9rem;color:var(--text-muted)}.modelview-warning{margin:0 0 1.5rem;padding:.5rem .75rem;border-left:3px solid #e8a33d;background:color-mix(in srgb,#e8a33d 12%,transparent);font-size:.9rem}.modelview-missing{color:var(--text-muted)}.preview-frame{position:relative;margin:0 auto;background:#fff;border:1px solid var(--border);border-radius:.5rem}.preview-drawing{display:block;width:100%;height:100%}.preview-tile{position:absolute;border:1px dashed color-mix(in srgb,#2a76ff 65%,transparent);background:color-mix(in srgb,#2a76ff 6%,transparent);pointer-events:none}.preview-tile-number{position:absolute;top:2px;left:4px;color:#2a76ff;font:600 .7rem/1 system-ui,sans-serif}.modelview-sheets-host{display:none}@media print{.modelview-heading,.modelview-intro,.modelview-controls,.modelview-count,.modelview-warning,.modelview-preview-host{display:none!important}.modelview{max-width:none;margin:0;padding:0}.modelview-sheets-host{display:block}html,body{background:#fff;margin:0;padding:0}.sheet{position:relative;box-sizing:border-box;overflow:hidden;page-break-after:always;break-after:page;background:#fff}.sheet:last-child{page-break-after:auto;break-after:auto}.sheet-area{position:relative;overflow:hidden;box-sizing:border-box}.sheet-area>svg{max-width:none;max-height:none;min-width:0}.sheet-seam{position:absolute;background:repeating-linear-gradient(45deg,rgba(0,0,0,.06) 0 3mm,transparent 3mm 6mm);pointer-events:none}.sheet-seam.is-left{top:0;bottom:0;left:0;border-right:.3mm dashed rgba(0,0,0,.45)}.sheet-seam.is-top{left:0;right:0;top:0;border-bottom:.3mm dashed rgba(0,0,0,.45)}.sheet-ruler{position:absolute;left:8mm;bottom:4mm;display:flex;align-items:center;gap:2mm}.sheet-ruler-bar{display:block;width:50mm;height:2mm;border:.3mm solid #000;border-top:none}.sheet-ruler-label,.sheet-caption{font:3mm/1 system-ui,sans-serif;color:#000}.sheet-caption{position:absolute;right:8mm;bottom:4mm}}.modelview-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,22rem);gap:1.5rem;align-items:start}.modelview-main{min-width:0}.modelview-side{position:sticky;top:1rem;display:flex;flex-direction:column;gap:.6rem}.modelview-side-note{margin:0;font-size:.85rem;opacity:.75}.modelview-render{position:relative;aspect-ratio:4 / 3;border:1px solid rgba(128,128,128,.35);border-radius:.75rem;overflow:hidden}.modelview-render.is-full{position:fixed;inset:0;z-index:60;aspect-ratio:auto;border-radius:0;border:0}.modelview-render-frame{display:block;width:100%;height:100%;border:0}.modelview-render-grow{position:absolute;top:.4rem;right:.4rem;z-index:2;padding:.25rem .6rem;font:inherit;font-size:.8rem;border-radius:999px;border:1px solid rgba(0,0,0,.35);background:#ffffffeb;color:#1a1a1a;cursor:pointer}.modelview-laser{display:flex;flex-direction:column;gap:.4rem;align-items:flex-start}.modelview-laser-note{margin:0;font-size:.8rem;opacity:.7}@media(max-width:60rem){.modelview-layout{grid-template-columns:minmax(0,1fr)}.modelview-side{position:static;max-width:28rem}}@media print{.modelview-layout,.modelview-main{display:block}.modelview-side{display:none}}
