:root{--paper:#f5f1e8;--ink:#233a32;--muted:#56655b;--line:#c9d0c2;--accent:#b54426;--card:#fffcf5}*{box-sizing:border-box}body{margin:0 auto;max-width:1200px;padding:0 28px;background:var(--paper);color:var(--ink);font:17px/1.55 system-ui,sans-serif}nav,.actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center}nav{padding:22px 0;border-bottom:1px solid var(--line)}a{color:inherit}nav a{min-height:44px;display:inline-flex;align-items:center}header{max-width:850px;padding:42px 0 10px}h1{font:normal clamp(40px,6vw,76px)/1.08 Georgia,serif;margin:16px 0}em,.eyebrow{color:var(--accent)}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.12em}h2{font:normal 30px/1.2 Georgia,serif}fieldset,section.page,.instructions{border:1px solid var(--line);background:var(--card);margin:22px 0;padding:22px;min-width:0}legend{font-weight:700}p{overflow-wrap:anywhere}.fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}label{display:block;font-size:14px}input,select,textarea,button{font:inherit;color:inherit;border:1px solid var(--line);border-radius:3px;background:white;min-height:44px;padding:9px;width:100%}textarea{font-family:monospace;margin-top:8px;resize:vertical}button{width:auto;cursor:pointer;background:var(--ink);color:white;padding:10px 18px}.check{display:flex;align-items:center;gap:10px}.check input{width:24px}.actions{margin:18px 0}a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}#error{background:#fff0e9;border:2px solid var(--accent);padding:20px}.release-meta{font-size:12px;color:var(--muted)}.views{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}figure{margin:0;min-width:0}svg{display:block;width:100%;height:auto;background:#fff}figcaption{font-size:12px}table{width:100%;border-collapse:collapse;font-size:13px}td,th{padding:7px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.contours{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contour{break-inside:avoid;border-top:1px solid var(--line);padding-top:12px}.coordinates{font-size:12px;overflow-wrap:anywhere}dialog{width:95vw;max-width:1200px;max-height:95vh;border:1px solid var(--ink);padding:16px}#zoomView{overflow:auto;max-height:75vh}#zoomView svg{min-width:600px}.sheet-svg{max-width:750px;margin:auto}summary{min-height:44px;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}[hidden]{display:none!important}@media(max-width:700px){body{padding:0 16px}.fields,.views,.contours{grid-template-columns:1fr}fieldset,section.page,.instructions{padding:15px}table,tbody,tr,td{display:block}thead{display:none}td:before{content:attr(data-label) ': ';font-weight:700}tr{border-bottom:2px solid var(--line);padding:8px 0}td{border:0;padding:3px}.views svg{max-height:420px}}
@media print{@page{size:A4;margin:14mm 12mm 22mm}body{max-width:none;padding:0;background:white;color:black;font:10pt/1.35 system-ui,sans-serif}nav,body>header,#editor,button,dialog,details{display:none!important}.release-meta{position:fixed;bottom:-14mm;left:0;right:0;border-top:1px solid #555;background:white;font-size:8pt;margin:0;padding-top:2mm}section.page{border:0;background:white;padding:0;margin:0;break-before:page}section.page:first-child{break-before:auto}h2{font-size:20pt;margin:0 0 5mm}h3{font-size:12pt}p{margin:3mm 0}figure,.contour,tr{break-inside:avoid}table{font-size:9pt}td,th{padding:2mm}.views{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3mm}.contours{display:grid;grid-template-columns:1fr 1fr;gap:5mm}.coordinates{font-size:8pt}.sheet-svg{max-height:170mm}.instructions{break-before:page;border:0;padding:0;margin:0}.instructions h2{margin-top:0}#error{break-inside:avoid}svg{max-height:180mm}figcaption{font-size:8pt}}

@media print{.release-meta{display:none!important}@page{size:A4;margin:14mm 12mm 22mm;@bottom-center{content:"Schrankplaner 1.1.1 · Build 13.10.2026 12:55:22 CEST (Europe/Berlin)";font:8pt Arial;color:#233a32}}}

@media print{#result:empty + .instructions{break-before:auto}}
/* Shared visual language with the Würfelregal workshop planner. */
:root{--paper:#eef1ed;--ink:#202d31;--muted:#53656b;--line:#bdc9c8;--accent:#195f89;--card:#fff}
body{max-width:1050px;padding:0 25px;font-size:16px;line-height:1.5}header{max-width:none;border-top:6px solid var(--accent);padding:20px 0 0;margin-top:20px}h1{font:700 44px/1.15 system-ui,sans-serif;letter-spacing:-1.5px;margin:0 0 14px}h2{font:700 23px/1.3 system-ui,sans-serif;color:var(--accent)}fieldset,section.page,.instructions,.construction-editor{border-radius:8px;background:white}legend{color:var(--accent)}input,select{font-weight:600;border-color:#a5b4b8;border-radius:4px}button{background:var(--accent);border:0;border-radius:5px;font-weight:600}figure{border:1px solid var(--line);border-radius:5px;padding:10px}th{background:#eaf0f1}.note{font-size:13px;color:var(--muted)}.construction-editor{padding:20px;border:1px solid var(--line);margin:22px 0}#stair-picture{max-width:700px;margin:20px auto}#stair-picture svg{overflow:visible}#stair-picture text{font:14px system-ui;fill:var(--accent)}.dimension-hit,.vertex-hit{cursor:pointer}.dimension-hit rect{fill:#edf5f8;stroke:#85a9bb}.vertex-hit circle{fill:#195f89;stroke:white;stroke-width:2}.vertex-hit text{fill:white!important;font-weight:700!important}.dimension-hit:focus,.vertex-hit:focus{outline:none}.dimension-hit:focus rect,.dimension-hit:hover rect{stroke:#195f89;stroke-width:3;fill:#dbeef8}.vertex-hit:focus circle{stroke:#d68620;stroke-width:4}#dimension-dialog{max-width:470px;border-radius:12px}#dimension-dialog::backdrop{background:#14241ccc}#dimension-error{color:#a52a20}#orbit-view{display:block;width:100%;height:460px;border:1px solid var(--line);border-radius:12px;touch-action:none;cursor:grab;background:#f5f7f3}#orbit-view:active{cursor:grabbing}#orbit-view:focus-visible{outline:3px solid var(--accent)}#model-panel .check{width:auto}#model-panel .actions{gap:10px}#orbit-status{font-size:13px;color:var(--muted)}
@media(max-width:640px){body{padding:0 12px}h1{font-size:34px}.construction-editor{padding:12px}#orbit-view{height:340px}#stair-picture svg{min-height:330px}#stair-picture{margin-left:-8px;margin-right:-8px}fieldset{padding:12px}#preset-apply{width:100%}}
@media print{#model-panel{display:none!important}body{padding:0}figure{border:0;padding:0}h2{font-size:20pt}.instructions{border:0}}
@media screen and (max-width:640px){#stair-picture .dimension-hit rect{y:-36px;height:72px}#stair-picture .vertex-hit circle{r:36px}#stair-picture .dimension-hit text,#stair-picture .vertex-hit text{font-size:22px}#stair-picture>svg>text{font-size:18px}}
@media screen and (max-width:360px){#stair-picture .dimension-hit rect{y:-44px;height:88px}#stair-picture .vertex-hit circle{r:44px}#stair-picture .dimension-hit text,#stair-picture .vertex-hit text{font-size:24px}}
