:root{--bg: #f3f1ed;--surface: #ffffff;--surface-2: #e9e6e0;--line: #dcd8d0;--text: #171717;--muted: #645f58;--red: #c0001a;--red-dark: #96000f;--bar: #111111;--faca: #171717;--vinco: #1763c2;--serrilha: #c96a00;--font: "DM Sans Variable", "DM Sans", "Segoe UI", system-ui, sans-serif;--display: "Space Grotesk Variable", "Space Grotesk", "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--font);color:var(--text);background:var(--bg);font-size:15px;line-height:1.5}h1,h2,p,ul,ol,dl{margin:0;padding:0}ul{list-style:none}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--red);outline-offset:2px}.app{display:grid;height:100vh;grid-template-columns:272px minmax(0,1fr) 328px;grid-template-rows:auto minmax(0,1fr);grid-template-areas:"top top top" "models stage panel"}.top{grid-area:top;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:11px 24px;background:var(--bar);color:#f5f5f5}.brand{display:flex;align-items:baseline;gap:14px}.brand-name{font-family:var(--display);font-weight:700;font-size:23px;letter-spacing:-.03em;color:inherit;text-decoration:none}.brand-name:after{content:".";color:#ff3a4f}.brand-tool{font-size:15px;color:#c9c9c9}.top-note{font-size:13.5px;color:#b8b8b8}.step{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:600;font-size:16.5px;line-height:1.25;margin-bottom:14px}.num{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--text);color:#fff;font-size:14px;font-weight:700}.models{grid-area:models;overflow-y:auto;padding:20px 12px 24px;background:var(--surface);border-right:1px solid var(--line)}.models .step{padding:0 8px}.group-title{font-size:12.5px;color:var(--muted);padding:14px 8px 6px}.group-title:first-child{padding-top:0}.model-btn{display:grid;grid-template-columns:52px 1fr;gap:10px;align-items:center;width:100%;background:none;border:1px solid transparent;border-radius:8px;padding:6px 8px;text-align:left;color:var(--text)}.model-btn:hover{background:var(--bg)}.model-btn[aria-current=true]{background:var(--bg);border-color:var(--text)}.model-btn svg{width:52px;height:40px}.model-btn svg path{fill:none;stroke:currentColor;stroke-width:1;vector-effect:non-scaling-stroke;opacity:.7}.model-btn[aria-current=true] svg path{stroke:var(--red);opacity:1}.model-btn span{font-size:14px;font-weight:500;line-height:1.25}.model-btn[aria-current=true] span{font-weight:600}.stage{grid-area:stage;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;min-width:0}.stage-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:18px 24px 14px}.stage-head h1{font-family:var(--display);font-weight:600;font-size:28px;line-height:1.15;letter-spacing:-.02em}.stage-head p{color:var(--muted);max-width:56ch;margin-top:4px}.legend{display:flex;gap:18px;font-size:13.5px;color:var(--muted);white-space:nowrap}.legend li{display:flex;align-items:center;gap:7px}.legend line{stroke-width:2}.lg-faca{stroke:var(--faca)}.lg-vinco{stroke:var(--vinco);stroke-dasharray:6 3}.lg-serrilha{stroke:var(--serrilha);stroke-dasharray:1.5 3.5}.views{display:flex;gap:4px;margin:0 24px}.views button{border:1px solid transparent;border-bottom:0;border-radius:8px 8px 0 0;padding:9px 18px;background:var(--surface-2);color:var(--muted);font-weight:500;font-size:14.5px}.views button:hover{color:var(--text)}.views button[aria-selected=true]{background:var(--surface);border-color:var(--line);color:var(--text);font-weight:600;position:relative;z-index:1;margin-bottom:-1px;padding-bottom:10px}.canvas-wrap{position:relative;margin:0 24px;min-height:0}.mat{position:absolute;inset:0;overflow:hidden;border:1px solid var(--line);border-radius:0 8px 8px;background-color:var(--surface);background-image:linear-gradient(to right,#efede8 1px,transparent 1px),linear-gradient(to bottom,#efede8 1px,transparent 1px);background-size:20px 20px;cursor:grab;touch-action:none}.mat[hidden]{display:none}.mat.dragging{cursor:grabbing}#preview{position:absolute;inset:0;width:100%;height:100%;display:block}#preview path{fill:none;stroke-width:1.4;vector-effect:non-scaling-stroke;stroke-linecap:round}#preview .faca{stroke:var(--faca)}#preview .vinco{stroke:var(--vinco);stroke-dasharray:7 4}#preview .serrilha{stroke:var(--serrilha);stroke-dasharray:1.5 4.5;stroke-width:2}#preview.no-lines path{display:none}#preview .cota line{stroke:#8a857d;stroke-width:1;vector-effect:non-scaling-stroke}#preview .cota text{fill:var(--muted);font-family:var(--display);font-weight:600;text-anchor:middle}.mat-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:16px}.mat-empty[hidden]{display:none}.mat3d{cursor:default;background-image:none;background-color:#f8f7f4}#three{position:absolute;inset:0}#three canvas{display:block;width:100%;height:100%;cursor:grab}#three.three-error{display:grid;place-items:center;padding:32px;text-align:center;color:var(--muted)}.foldbar{position:absolute;left:12px;right:12px;bottom:12px;display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:7px 9px 7px 7px;box-shadow:0 2px 10px #17171714}.foldbar[hidden]{display:none}.foldbar label{font-size:14px;color:var(--muted)}.foldbar input[type=range]{flex:1;min-width:60px;accent-color:var(--red)}.foldbar button{border:0;border-radius:999px;padding:7px 16px;background:var(--red);color:#fff;font-weight:600;min-width:88px}.foldbar button:hover{background:var(--red-dark)}.foldbar button.ghost{background:none;color:var(--text);border:1px solid #b9b4aa;min-width:0}.foldbar button.ghost:hover{border-color:var(--text);background:none}.stage-foot{display:flex;justify-content:space-between;gap:16px;padding:10px 24px 14px;font-size:13.5px}#flat-size{font-family:var(--display);font-weight:600;font-size:15.5px;font-variant-numeric:tabular-nums}.hint{color:var(--muted);text-align:right}.panel{grid-area:panel;background:var(--surface);border-left:1px solid var(--line);overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:26px}#params,#sheet{display:grid;gap:10px}.field{display:grid;grid-template-columns:1fr 104px;align-items:center;gap:10px}.field label{font-size:14.5px}.field input{width:100%;font:600 16px var(--display);font-variant-numeric:tabular-nums;text-align:right;padding:8px 10px;border:1px solid #b9b4aa;border-radius:8px;background:var(--surface);color:var(--text)}.field input:focus{border-color:var(--text);outline:2px solid var(--text);outline-offset:0}.field input[aria-invalid=true]{border-color:var(--red);background:#fdeef0}.errors{margin-top:10px;display:grid;gap:4px;color:var(--red-dark);font-size:14px}.errors:empty{margin-top:0}.link{background:none;border:0;padding:0;margin-top:12px;color:var(--muted);text-decoration:underline;text-underline-offset:3px;font-size:14px}.link:hover{color:var(--text)}.downloads{display:flex;flex-wrap:wrap;gap:8px}.dl{padding:9px 18px;border-radius:999px;border:1px solid #b9b4aa;background:var(--surface);color:var(--text);font-weight:600}.dl:hover{border-color:var(--text)}.dl.primary{background:var(--red);border-color:var(--red);color:#fff}.dl.primary:hover{background:var(--red-dark);border-color:var(--red-dark)}.dl:disabled{opacity:.4;cursor:not-allowed}.dl[hidden]{display:none}.note{margin-top:12px;font-size:13.5px;color:var(--muted)}.howto{margin:0 0 14px;padding-left:20px;display:grid;gap:4px;font-size:14.5px}.art-status{margin-top:10px;font-size:14px}.art-status:empty{margin-top:0}.art-status.warn{color:#8a4b00}.art-status.error{color:var(--red-dark)}.check{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:14px}.check[hidden]{display:none}.check input{accent-color:var(--text);width:16px;height:16px}details{border-top:1px solid var(--line);padding-top:14px}details+details{margin-top:-12px}summary{cursor:pointer;font-family:var(--display);font-weight:600;font-size:15.5px}details[open] summary{margin-bottom:14px}.stats{display:grid;grid-template-columns:1fr auto;gap:6px 12px;font-size:14.5px}.stats dt{color:var(--muted)}.stats dd{margin:0;font-family:var(--display);font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.nest{margin-top:12px;font-family:var(--display);font-weight:600;font-size:16px}@media(max-width:1040px){.app{display:block;height:auto}.top-note{display:none}.models{border-right:0;border-bottom:1px solid var(--line);padding:16px 12px}#model-list{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}.group-title{display:none}.model-btn{grid-template-columns:1fr;width:118px;flex:none;justify-items:start}.stage{grid-template-rows:auto auto 60vh auto}.stage-head{flex-direction:column;align-items:flex-start;gap:10px;padding:16px}.legend{flex-wrap:wrap;gap:8px 16px}.views,.canvas-wrap{margin:0 16px}.stage-foot{padding:10px 16px 14px}.hint{display:none}.panel{border-left:0;border-top:1px solid var(--line)}}#three[hidden]{display:none}#no3d{padding:32px;text-align:center}
