:root{--bg:#0b0b0c;--panel:#121213;--panel-2:#19191b;--panel-3:#232325;--border:#2c2a28;--border-strong:#3d3833;--text:#f2ede7;--muted:#a89e94;--accent:#f28c28;--accent-rgb:242, 140, 40;--accent-light:#ffb45c;--accent-strong:#d9691c;--accent-deep:#8f300f;--on-accent:#1d0f04;--brand-gradient:linear-gradient(180deg, #ffcf7a 0%, #f7963a 45%, #d9681c 78%, #a8441a 100%);--ok:#36cfa0;--warn:#f5c542;--danger:#ff5d7a;--radius:10px;--header-h:54px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-family:Inter,Segoe UI,system-ui,-apple-system,Roboto,sans-serif;font-size:14px}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;margin:0}button,input,select{font:inherit;color:inherit}button{background:var(--panel-2);border:1px solid var(--border);cursor:pointer;white-space:nowrap;border-radius:8px;padding:6px 11px;transition:background .12s,border-color .12s}button:hover:not(:disabled){background:var(--panel-3);border-color:var(--border-strong)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:linear-gradient(180deg, #ffa94d, var(--accent) 55%, var(--accent-strong));border-color:var(--accent-strong);color:var(--on-accent);box-shadow:0 1px 0 #ffdcaa59 inset, 0 4px 14px rgba(var(--accent-rgb), .22);font-weight:700}button.primary:hover:not(:disabled){background:linear-gradient(180deg, #ffb96a, #f59a3c 55%, var(--accent));border-color:var(--accent)}button.danger{color:var(--danger)}button.wide{width:100%;margin-top:6px;padding:10px}button.on{background:rgba(var(--accent-rgb), .16);border-color:var(--accent);color:#ffd9b0}button.link{color:var(--accent-light);background:0 0;border:none;padding:0;text-decoration:underline}input[type=text],input[type=url],select{background:var(--bg);border:1px solid var(--border);border-radius:7px;min-width:0;padding:6px 8px}select{width:100%}input:focus,select:focus,button:focus-visible{outline:2px solid rgba(var(--accent-rgb), .6);outline-offset:1px}kbd{color:var(--muted);border:1px solid var(--border);border-radius:4px;margin-left:6px;padding:0 4px;font-size:10px}.app{grid-template-rows:var(--header-h) 1fr;height:100vh;display:grid;overflow:hidden}.app-header{border-bottom:1px solid var(--border);background:linear-gradient(#151415,#0d0c0d);align-items:center;gap:18px;min-width:0;padding:0 14px;display:flex;position:relative}.app-header:after{content:"";background:linear-gradient(90deg, rgba(var(--accent-rgb), .85), rgba(var(--accent-rgb), .25) 35%, transparent 80%);pointer-events:none;height:1px;position:absolute;bottom:-1px;left:0;right:0}.brand{align-items:center;gap:8px;min-width:0;display:flex}.brand-emblem{width:auto;height:34px;filter:drop-shadow(0 0 6px rgba(var(--accent-rgb), .35));flex:none}.brand-name{letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;background:var(--brand-gradient);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:17px;font-weight:800}.file-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;border-left:1px solid var(--border);max-width:180px;padding-left:9px;font-size:12px;overflow:hidden}.stages{flex:1;justify-content:safe center;gap:4px;min-width:0;display:flex;overflow-x:auto}.stages button{color:var(--muted);background:0 0;border-color:#0000;align-items:center;gap:7px;display:flex}.stages button.active{color:var(--text);background:var(--panel-2);border-color:var(--border)}.stages .step{background:var(--panel-3);border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;display:inline-grid}.stages button.active .step{background:var(--accent);color:var(--on-accent);font-weight:700}.header-actions{gap:6px;margin-left:auto;display:flex}.workspace{grid-template-columns:250px minmax(0,1fr) 370px;min-height:0;display:grid}.center{border-left:1px solid var(--border);border-right:1px solid var(--border);grid-template-rows:minmax(0,1fr) auto;min-width:0;min-height:0;display:grid}.viewer-host{background:radial-gradient(at 50% 30%,#1a1714,#0b0b0c 70%);min-height:0;position:relative;overflow:hidden}.viewer-host canvas{display:block}.view-controls{pointer-events:none;justify-content:space-between;gap:10px;display:flex;position:absolute;top:10px;left:10px;right:10px}.view-controls>*{pointer-events:auto}.view-buttons{flex-wrap:wrap;gap:4px;display:flex}.view-buttons button{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#141312d9;padding:4px 9px;font-size:12px}.explode{color:var(--muted);border:1px solid var(--border);background:#141312d9;border-radius:8px;align-items:center;gap:8px;padding:4px 10px;font-size:12px;display:flex}.status-bar{color:var(--muted);border-top:1px solid var(--border);background:var(--panel);white-space:nowrap;gap:16px;padding:6px 12px;font-size:12px;display:flex;overflow-x:auto}.ok{color:var(--ok)}.bad{color:var(--danger)}.warn{color:var(--warn)}.parts-panel{background:var(--panel);flex-direction:column;min-height:0;display:flex}.parts-panel header{align-items:center;gap:8px;padding:12px 14px 8px;display:flex}.parts-panel h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0;font-size:13px}.badge{background:var(--panel-3);color:var(--muted);border-radius:999px;padding:1px 8px;font-size:11px}.parts-list{flex:1;margin:0;padding:0 8px;list-style:none;overflow-y:auto}.parts-list li{cursor:pointer;border:1px solid #0000;border-radius:8px;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 8px;display:grid}.parts-list li:hover{background:var(--panel-2)}.parts-list li.selected{background:var(--panel-2);border-color:var(--border)}.parts-list li.hidden-part .part-info{opacity:.45}.parts-list .multi{accent-color:var(--accent);margin:0}.swatch{cursor:pointer;border-radius:5px;flex:none;width:16px;height:16px;position:relative;box-shadow:inset 0 0 0 1px #ffffff2e}.swatch input{opacity:0;cursor:pointer;position:absolute;inset:0}.part-info{flex-direction:column;min-width:0;display:flex}.part-name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.part-info small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.part-info input{width:100%}button.icon{background:0 0;border-color:#0000;padding:2px 6px;font-size:13px}.parts-actions{border-top:1px solid var(--border);flex-wrap:wrap;gap:5px;padding:10px;display:flex}.parts-actions button{padding:4px 8px;font-size:12px}.parts-footer{color:var(--muted);border-top:1px solid var(--border);padding:10px 14px;font-size:12px}.side-panel{background:var(--panel);min-height:0;overflow-y:auto}.panel{flex-direction:column;gap:10px;padding:10px 12px 24px;display:flex}.target{background:var(--panel-2);border-radius:var(--radius);border:1px solid var(--border);flex-direction:column;gap:2px;padding:8px 10px;display:flex}.target small{color:var(--muted);font-size:11px}.section{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius)}.section>summary{cursor:pointer;align-items:center;gap:8px;padding:10px 12px;font-weight:600;list-style:none;display:flex}.section>summary::-webkit-details-marker{display:none}.section>summary:before{content:"▸";color:var(--muted);transition:transform .15s}.section[open]>summary:before{transform:rotate(90deg)}.section>summary>:last-child:not(:first-child){margin-left:auto}.section-body{flex-direction:column;gap:9px;padding:0 12px 12px;display:flex}details.sub{border-top:1px dashed var(--border);padding-top:8px}details.sub>summary{cursor:pointer;color:var(--muted);font-size:13px}details.sub[open]>summary{margin-bottom:8px}details.sub>:not(summary){margin-top:8px}.field{flex-direction:column;gap:5px;display:flex}.field-label{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.hint-dot{border:1px solid var(--border);cursor:help;border-radius:50%;place-items:center;width:15px;height:15px;font-size:10px;display:inline-grid}.slider{align-items:center;gap:10px;display:flex}.slider input{accent-color:var(--accent);flex:1}.slider output{text-align:right;font-variant-numeric:tabular-nums;min-width:64px;color:var(--muted);font-size:12px}.number-input{align-items:center;gap:4px;display:inline-flex}.number-input input{text-align:right;width:74px}.number-input .suffix{color:var(--muted);font-size:12px}.auto-number{align-items:center;gap:6px;display:flex}.chip{border-radius:999px;padding:3px 8px;font-size:11px}.chip-on{border-color:var(--ok);color:var(--ok);background:#36cfa029}.toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:9px;display:flex}.toggle input{opacity:0;width:0;height:0;position:absolute}.toggle-track{background:var(--panel-3);border:1px solid var(--border);border-radius:999px;flex:none;width:32px;height:18px;transition:background .15s;position:relative}.toggle-track:after{content:"";background:var(--muted);border-radius:50%;width:12px;height:12px;transition:transform .15s,background .15s;position:absolute;top:2px;left:2px}.toggle input:checked+.toggle-track{background:rgba(var(--accent-rgb), .38);border-color:var(--accent)}.toggle input:checked+.toggle-track:after{background:#fff;transform:translate(14px)}.toggle input:focus-visible+.toggle-track{outline:2px solid rgba(var(--accent-rgb), .6)}.segmented{background:var(--bg);border:1px solid var(--border);border-radius:8px;gap:2px;padding:2px;display:flex}.segmented button{color:var(--muted);background:0 0;border:none;flex:1;padding:5px 6px;font-size:12px}.segmented button.on{background:var(--panel-3);color:var(--text)}.hint{color:var(--muted);background:#a89e9412;border-radius:7px;margin:0;padding:7px 9px;font-size:12px;line-height:1.45}.hint-aviso{color:#f6dc8a;background:#f5c54217}.hint-erro{color:#ffb3c1;background:#ff5d7a1a}.hint-sucesso{color:#9eecd3;background:#36cfa01a}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:6px;display:grid}.stat{background:var(--bg);border-radius:7px;flex-direction:column;gap:2px;padding:6px 8px;display:flex}.stat span{color:var(--muted);font-size:11px}.stat strong{font-variant-numeric:tabular-nums;font-weight:600}.pill{background:var(--panel-3);color:var(--muted);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:500}.pill.ok{color:var(--ok);background:#36cfa026}.pill.bad{color:var(--danger);background:#ff5d7a24}.issues{flex-direction:column;gap:5px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.issue-erro span{color:var(--danger)}.issue-aviso span{color:var(--warn)}.issue-info span{color:var(--accent-light)}.log{color:var(--muted);font-size:12px}.log ul{margin:4px 0 0;padding-left:18px}.button-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.button-row button{font-size:12px}.button-row.presets span{color:var(--muted);font-size:12px}.rot-pair{gap:3px;display:inline-flex}.bed-dims{align-items:center;gap:6px;display:flex}.bed-dims .number-input input{width:64px}.regions{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.regions li{border:1px solid #0000;border-radius:7px;grid-template-columns:auto minmax(0,1fr) auto auto auto auto;align-items:center;gap:6px;padding:4px 6px;display:grid}.regions li.active{border-color:var(--accent);background:rgba(var(--accent-rgb), .08)}.region-name{width:100%;font-size:13px;padding:3px 6px!important}.regions .area{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.regions .sep{color:var(--muted);align-items:center;gap:3px;font-size:11px;display:flex}.icon-select{width:32px;font-size:12px;padding:2px!important}.tool-grid{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.tool-grid button{justify-content:space-between;align-items:center;font-size:12px;display:flex}.report{flex-direction:column;gap:4px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.report li{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.report li.bad .pill{color:var(--danger)}.interfaces{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.interfaces li{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:8px;flex-direction:column;gap:2px;padding:7px 9px;display:flex}.interfaces li.selected{border-color:#ffd166}.interfaces small{color:var(--muted);font-size:11px}.interfaces small.ok{color:var(--ok)}.interfaces small.warn{color:var(--warn)}.iface-title{font-weight:500}.section-editor{background:var(--bg);border:1px solid var(--border);border-radius:8px;overflow:hidden}.section-editor svg{cursor:crosshair;width:100%;height:230px;display:block}.section-editor .pin{fill:#36cfa0;fill-opacity:.85;stroke:#e9fff7;stroke-width:.2px;pointer-events:none}.section-editor .pin-handle{fill:#0000;cursor:grab}.section-legend{color:var(--muted);border-top:1px solid var(--border);flex-direction:column;gap:2px;padding:6px 8px;font-size:11px;display:flex}.parts-table{border-collapse:collapse;width:100%;font-size:12px}.parts-table th,.parts-table td{border-bottom:1px solid var(--border);text-align:left;padding:5px 4px}.parts-table th{color:var(--muted);font-weight:500}.parts-table td:last-child{text-align:center}.rotate-cell{white-space:nowrap}.rotate-cell button{margin-right:2px;padding:1px 6px;font-size:11px}.dot{border-radius:50%;width:9px;height:9px;margin-right:6px;display:inline-block}.file-list{color:var(--muted);max-height:220px;margin:0;padding:0;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:12px;list-style:none;overflow-y:auto}.landing{background:radial-gradient(760px 420px at 50% 120px, rgba(var(--accent-rgb), .2), transparent 70%), radial-gradient(520px 300px at 88% 75%, #8f300f29, transparent 70%), repeating-linear-gradient(45deg, #ffffff03 0 2px, transparent 2px 7px), var(--bg);flex-direction:column;align-items:center;gap:40px;padding:28px 20px 64px;display:flex;overflow-y:auto}.hero{text-align:center;flex-direction:column;align-items:center;gap:16px;max-width:760px;display:flex}.hero-logo{width:min(330px,72vw);height:auto;filter:drop-shadow(0 10px 40px rgba(var(--accent-rgb), .18))}.hero h1{letter-spacing:-.01em;color:var(--text);margin:0;font-size:clamp(20px,2.6vw,26px);font-weight:600}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hero p{color:var(--muted);margin:0;font-size:15px;line-height:1.6}.drop-zone{border:2px dashed rgba(var(--accent-rgb), .42);cursor:pointer;background:#141312b8;border-radius:16px;flex-direction:column;gap:6px;width:min(560px,100%);padding:34px 20px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.drop-zone:hover,.drop-zone:focus-visible{border-color:var(--accent);background:rgba(var(--accent-rgb), .07);box-shadow:0 0 0 4px rgba(var(--accent-rgb), .08)}.drop-zone strong{font-size:18px}.drop-zone span{color:var(--muted)}.link-button{color:var(--accent-light);background:0 0;border:none;font-weight:600}.link-button:hover:not(:disabled){background:0 0;text-decoration:underline}.features{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;width:min(1040px,100%);display:grid}.features article{background:linear-gradient(180deg, rgba(var(--accent-rgb), .05), transparent 40%), var(--panel);border:1px solid var(--border);border-top-color:rgba(var(--accent-rgb), .35);border-radius:14px;padding:16px 18px}.features h3{color:#ffd9b0;margin:0 0 6px;font-size:15px}.features p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.busy{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#06050480;place-items:center;display:grid;position:fixed;inset:0}.busy-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;align-items:center;gap:14px;min-width:min(420px,92vw);padding:16px 18px;display:flex;box-shadow:0 20px 60px #00000073}.busy-card>div:nth-child(2){flex:1}.progress{background:var(--panel-3);border-radius:999px;height:6px;margin-top:8px;overflow:hidden}.progress div{background:var(--accent);height:100%;transition:width .2s}.spinner{border:3px solid var(--panel-3);border-top-color:var(--accent);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.toasts{z-index:60;flex-direction:column;gap:8px;max-width:min(420px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.toast{background:var(--panel-2);border:1px solid var(--border);border-left:4px solid var(--accent);cursor:pointer;border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.4;box-shadow:0 10px 30px #0006}.toast-sucesso{border-left-color:var(--ok)}.toast-aviso{border-left-color:var(--warn)}.toast-erro{border-left-color:var(--danger)}.drop-overlay{border:3px dashed var(--accent);z-index:70;pointer-events:none;background:#0b0a09d9;border-radius:18px;place-items:center;font-size:20px;font-weight:600;display:grid;position:fixed;inset:12px}@media (max-width:1500px){.app-header{gap:12px}.file-name{display:none}.stages button,.header-actions button{padding:6px 8px}.stages button{gap:6px}}@media (max-width:1180px){.workspace{grid-template-columns:210px minmax(0,1fr) 330px}.file-name{display:none}}@media (max-width:900px){:root{--header-h:auto}.app{height:auto;min-height:100vh;overflow:visible}.app-header{flex-wrap:wrap;gap:8px;padding:8px 12px}.stages{flex-basis:100%;order:3;justify-content:flex-start}.header-actions{flex-wrap:wrap}.workspace{grid-template-columns:1fr}.center{border:none;order:1;height:58vh}.side-panel{order:2;overflow:visible}.parts-panel{order:3;max-height:none}}.brush-tip{pointer-events:none;z-index:5;border:1px solid var(--accent);color:var(--text,#f2f2f2);white-space:nowrap;background:#0b0b0cd9;border-radius:6px;padding:3px 8px;font-size:12px;position:absolute}
