@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--bg:#0a0d0f;--panel:#111518;--panel-2:#151a1e;--line:#262d32;--muted:#7c878f;--text:#f1f5f7;--accent:#e7ff45;--accent-soft:#e7ff451c;--blueprint:#8eeaff;--danger:#ff8178}*{box-sizing:border-box}html{background:var(--bg)}body{background:radial-gradient(circle at 50% -20%, #172026 0, var(--bg) 42%);min-height:100vh;color:var(--text);margin:0;font-family:DM Sans,sans-serif}button,input,select{font:inherit}button{color:inherit}:is(button:focus-visible,input:focus-visible,select:focus-visible){outline:2px solid var(--accent);outline-offset:2px}main{min-height:100vh;padding:0 3.2vw}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:74px;display:flex}.brand{align-items:center;gap:13px;display:flex}.brand>div{flex-direction:column;line-height:1;display:flex}.brand strong{letter-spacing:-.7px;font-size:22px}.brand small{color:var(--muted);letter-spacing:1.5px;margin-top:7px;font:500 12px/1 JetBrains Mono}.brand-mark{grid-template-columns:repeat(3,1fr);gap:3px;width:32px;height:32px;display:grid;transform:skew(-9deg)}.brand-mark i{background:var(--accent);display:block}.brand-mark i:first-child{align-self:end;height:50%}.brand-mark i:last-child{align-self:end;height:72%}.status{border:1px solid var(--line);color:#b6c0c5;letter-spacing:.6px;border-radius:100px;padding:9px 14px;font:500 12px/1 JetBrains Mono}.status span,.live-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block;box-shadow:0 0 9px #e7ff4599}.intro{justify-content:space-between;align-items:flex-end;max-width:1540px;margin:0 auto;padding:35px 0 25px;display:flex}.eyebrow{color:var(--accent);letter-spacing:1.8px;font:600 12px/1 JetBrains Mono}.intro h1{letter-spacing:-2.7px;margin:12px 0 11px;font-size:clamp(34px,3.7vw,54px);line-height:.98}.intro h1 em{color:#606970;font-style:normal}.intro p{color:var(--muted);margin:0;font-size:14px}.steps{color:#535c62;letter-spacing:.5px;align-items:center;margin-bottom:8px;font:500 12px/1 JetBrains Mono;display:flex}.steps span{white-space:nowrap}.steps b{color:#68737a;margin-right:5px;font-weight:500}.steps .active{color:#dfe8eb}.steps .active b{color:var(--accent)}.steps i{background:#2c3439;width:38px;height:1px;margin:0 9px}.workspace{border:1px solid var(--line);background:var(--panel);grid-template-columns:minmax(350px,.94fr) minmax(500px,1.35fr) minmax(300px,.74fr);max-width:1540px;min-height:690px;margin:0 auto;display:grid;box-shadow:0 32px 80px #00000047}.panel{min-width:0}.config{border-right:1px solid var(--line);padding:23px}.preview-panel{flex-direction:column;display:flex}.result-panel{border-left:1px solid var(--line);flex-direction:column;padding:23px;display:flex}.panel-title{align-items:flex-start;gap:12px;display:flex}.panel-title>span{color:var(--accent);font:600 12px/1.55 JetBrains Mono}.panel-title h2{letter-spacing:-.2px;margin:0;font-size:16px}.panel-title p{color:var(--muted);margin:5px 0 0;font-size:13px;line-height:1.35}.panel-title.compact{margin-bottom:13px}.shape-library{grid-template-columns:repeat(4,1fr);gap:6px;margin:19px 0 15px;display:grid}.shape-library button{color:#78848a;cursor:pointer;background:#0d1113;border:1px solid #293136;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-width:0;height:64px;padding:6px 3px;transition:all .18s;display:flex}.shape-library button:hover{color:#bac4c8;border-color:#465158;transform:translateY(-1px)}.shape-library button.selected{background:var(--accent-soft);color:var(--text);border-color:#747f2f;box-shadow:inset 0 0 0 1px #e7ff450d}.shape-library svg{fill:#8eeaff0a;stroke:currentColor;stroke-width:1.2px;width:29px;height:22px;overflow:visible}.shape-library button.selected svg{color:var(--accent)}.shape-library span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;overflow:hidden}.missing-shape-link{color:inherit;background:linear-gradient(90deg,#0d1113,#e7ff4509);border:1px solid #30383d;border-radius:7px;justify-content:space-between;align-items:center;gap:12px;margin:-1px 0 15px;padding:10px 12px;text-decoration:none;transition:all .18s;display:flex}.missing-shape-link>span{flex-direction:column;gap:4px;min-width:0;display:flex}.missing-shape-link small{color:#68747a;letter-spacing:.7px;font:500 9px JetBrains Mono}.missing-shape-link strong{color:#aeb8bc;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.missing-shape-link b{color:var(--accent);font-size:20px;transition:transform .18s}.missing-shape-link:hover{background:var(--accent-soft);border-color:#667127}.missing-shape-link:hover strong{color:#edf2f3}.missing-shape-link:hover b{transform:translate(3px)}.selected-shape{border:1px solid var(--line);background:#0d1113;border-radius:7px;margin-bottom:15px;padding:11px 12px}.selected-shape>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.selected-shape span{color:#68747a;letter-spacing:.6px;font:500 11px JetBrains Mono}.selected-shape strong{color:var(--accent);font-size:13px}.selected-shape small{color:#7d888e;margin-top:6px;font-size:12px;line-height:1.35;display:block}.field-grid{grid-template-columns:1fr 1fr;gap:9px 10px;display:grid}.field{color:#9ca6ab;flex-direction:column;gap:6px;min-width:0;font-size:13px;display:flex}.field-heading{justify-content:space-between;align-items:center;gap:7px;min-height:16px;display:flex}.field-heading>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.field-heading small{color:#69732d;letter-spacing:.7px;font:600 8px JetBrains Mono}.input-wrap{background:#0d1113;border:1px solid #30383d;border-radius:6px;align-items:center;width:100%;height:36px;transition:all .2s;display:flex;overflow:hidden}.input-wrap:focus-within{border-color:#879433;box-shadow:0 0 0 3px #e7ff450d}.input-wrap input{color:#eef2f3;background:0 0;border:0;outline:0;width:100%;min-width:0;padding:0 4px 0 10px;font:500 13px JetBrains Mono}.input-wrap em{color:#606b71;padding-right:9px;font:500 12px JetBrains Mono}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none}.dimension-slider{-webkit-appearance:none;appearance:none;cursor:ew-resize;width:100%;height:15px;accent-color:var(--accent);background:0 0;margin:0}.dimension-slider::-webkit-slider-runnable-track{background:linear-gradient(90deg,#536020,#30383d);border-radius:10px;height:3px}.dimension-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--accent);border:2px solid #101416;border-radius:50%;width:13px;height:13px;margin-top:-5px;box-shadow:0 0 0 1px #91a02f,0 0 10px #e7ff452e}.dimension-slider::-moz-range-track{background:#30383d;border-radius:10px;height:3px}.dimension-slider::-moz-range-progress{background:#687629;border-radius:10px;height:3px}.dimension-slider::-moz-range-thumb{background:var(--accent);border:2px solid #101416;border-radius:50%;width:11px;height:11px;box-shadow:0 0 0 1px #91a02f}.subsection{border-top:1px solid var(--line);margin-top:18px;padding-top:17px}.material-section{margin-top:18px}.select-grid{grid-template-columns:1.15fr .85fr;gap:9px;display:grid}.select-grid label,.text-field{color:#758087;letter-spacing:.6px;flex-direction:column;gap:7px;font:500 12px/1 JetBrains Mono;display:flex}.select-grid select,.text-field input{-webkit-appearance:none;appearance:none;color:#e6ecee;background:#0d1113;border:1px solid #30383d;border-radius:7px;outline:0;height:38px;padding:0 10px;font:500 13px JetBrains Mono}.select-grid select:focus,.text-field input:focus{border-color:#879433}.preview-top{border-bottom:1px solid var(--line);color:#657078;letter-spacing:.8px;justify-content:space-between;align-items:center;min-height:52px;padding:0 17px;font:500 12px JetBrains Mono;display:flex}.preview-top>div{color:#aeb8bc}.live-dot{width:5px;height:5px;margin-right:7px}.drawing{background:#0b1012;flex:1;justify-content:center;align-items:center;min-height:565px;display:flex;position:relative;overflow:hidden}.drawing:before{content:"";pointer-events:none;background:radial-gradient(circle,#8eeaff0e,#0000 55%);position:absolute;inset:0}.drawing svg{z-index:1;width:min(100%,660px);position:relative;overflow:visible}.microgrid{fill:none;stroke:#161c1f;stroke-width:.6px}.part-fill{fill:#8eeaff0e;stroke:var(--blueprint);stroke-width:1.4px;filter:drop-shadow(0 0 6px #8eeaff24)}.hole{fill:#0a0e10;stroke:var(--blueprint);stroke-width:1.25px}.dimension,.extension{fill:none;stroke:#6f7c83;stroke-width:.65px}.dimension{marker-start:url(#arrow-start);marker-end:url(#arrow-end)}.arrow{fill:#6f7c83}.dim-text,.feature-label{fill:var(--accent);text-anchor:middle;paint-order:stroke;stroke:#0b1012;stroke-width:5px;font:500 10px JetBrains Mono}.vertical{transform-box:fill-box;transform-origin:50%;transform:rotate(-90deg)}.feature-label{fill:#839097;text-anchor:end;font-size:8px}.corner{fill:none;stroke:#334047;stroke-width:.7px}.zoom-label{color:#48535a;letter-spacing:.8px;font:500 11px JetBrains Mono;position:absolute;bottom:12px;right:14px}.checks{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:center;align-items:center;gap:7px;min-height:55px;padding:7px 14px;display:flex}.checks span{color:#7c898f;background:#151b1e;border:1px solid #242d31;border-radius:100px;align-items:center;gap:5px;padding:5px 8px;font-size:12px;display:flex}.checks svg{fill:none;width:11px;height:11px;stroke:var(--accent);stroke-width:2px}.checks .bad{color:var(--danger);border-color:#ff645a40}.checks .bad svg{stroke:var(--danger)}.model-summary{border:1px solid var(--line);background:#0d1113;border-radius:8px;align-items:center;gap:12px;margin-top:20px;padding:13px;display:flex}.model-summary>svg{fill:#8eeaff0a;width:45px;height:37px;stroke:var(--blueprint);stroke-width:1.2px;flex:none}.model-summary>div{flex-direction:column;min-width:0;display:flex}.model-summary span{color:#68747a;letter-spacing:.6px;font:500 11px JetBrains Mono}.model-summary strong{margin-top:3px;font-size:14px}.model-summary small{color:#68747a;margin-top:3px;font-size:12px}.result-panel .text-field{margin-top:18px}.quantity>div{background:#0d1113;border:1px solid #30383d;border-radius:7px;grid-template-columns:38px 1fr 38px;display:grid;overflow:hidden}.quantity>div input{text-align:center;border:0;border-left:1px solid #272e32;border-right:1px solid #272e32;border-radius:0;width:100%}.quantity button{color:#8e999f;cursor:pointer;background:0 0;border:0;font-size:18px}.quantity button:hover{color:var(--accent)}.summary{border-top:1px solid var(--line);margin-top:20px;padding-top:10px}.summary>div{justify-content:space-between;align-items:baseline;gap:10px;padding:7px 0;display:flex}.summary span{color:#69747a;font-size:12px}.summary strong{color:#bec7cb;text-align:right;font:500 12px JetBrains Mono}.error-message{color:#ff9a93;background:#ff645a0f;border:1px solid #ff645a2e;border-radius:6px;margin:auto 0 10px;padding:10px;font-size:12px;line-height:1.4}.generate{background:var(--accent);color:#111500;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:60px;margin-top:auto;transition:all .2s;display:flex;box-shadow:0 8px 30px #e7ff4514}.generate:hover{background:#efff80;transform:translateY(-1px);box-shadow:0 10px 35px #e7ff4529}.generate:disabled{opacity:.3;cursor:not-allowed;transform:none}.generate svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:19px;height:19px}.generate>span{text-align:left;flex-direction:column;display:flex}.generate strong{font-size:13px}.generate small{opacity:.62;letter-spacing:.3px;margin-top:4px;font:500 11px JetBrains Mono}.privacy-note{color:#58636a;text-align:center;margin:11px 0 0;font-size:12px}.privacy-note span{color:var(--accent);margin-right:4px}footer{color:#3f494f;letter-spacing:.8px;justify-content:space-between;align-items:center;max-width:1540px;min-height:55px;margin:0 auto;font:500 11px JetBrains Mono;display:flex}.brand-link{color:inherit;text-decoration:none}.brand>span:last-child{flex-direction:column;line-height:1;display:flex}.main-nav{border:1px solid var(--line);background:#0c1012;border-radius:9px;align-items:center;gap:3px;padding:4px;display:flex}.main-nav a{color:#7c878f;border-radius:6px;padding:8px 11px;font-size:13px;text-decoration:none;transition:all .18s}.main-nav a:hover{color:#d7dfe2;background:#161c1f}.main-nav a.active{color:#111500;background:var(--accent)}.rules-box p{color:#77838a;margin:8px 0 0 25px;font-size:12px;line-height:1.4}.hole-presets{margin-top:12px}.hole-presets>span{color:#68747a;letter-spacing:.6px;margin-bottom:7px;font:500 11px JetBrains Mono;display:block}.hole-presets>div{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.hole-presets button{color:#929da2;cursor:pointer;background:#0d1113;border:1px solid #30383d;border-radius:5px;min-height:32px;padding:4px;font:500 11px JetBrains Mono}.hole-presets button:hover{color:var(--accent);background:var(--accent-soft);border-color:#6f7b2b}.hole-presets button.selected{background:var(--accent-soft);color:var(--accent);border-color:#747f2f}.toolbox-hero{justify-content:space-between;align-items:flex-end;gap:40px;max-width:1540px;margin:0 auto;padding:58px 0 34px;display:flex}.toolbox-hero h1{letter-spacing:-4px;margin:14px 0 15px;font-size:clamp(42px,5vw,74px);line-height:.95}.toolbox-hero h1 em{color:#616a70;font-style:normal}.toolbox-hero p{color:#8a959b;max-width:580px;margin:0;font-size:17px;line-height:1.5}.workflow-strip{color:#8b959a;white-space:nowrap;align-items:center;padding-bottom:8px;font:500 12px JetBrains Mono;display:flex}.workflow-strip b{color:var(--accent);margin-right:4px;font-weight:500}.workflow-strip i{background:#333c41;width:28px;height:1px;margin:0 8px}.tool-grid{border:1px solid var(--line);background:var(--panel);grid-template-columns:repeat(3,1fr);max-width:1540px;margin:0 auto;display:grid;box-shadow:0 28px 70px #00000038}.tool-card{border-right:1px solid var(--line);min-height:390px;color:inherit;flex-direction:column;padding:24px;text-decoration:none;transition:all .22s;display:flex}.tool-card:last-child{border-right:0}.tool-card:hover{background:#151a1e;transform:translateY(-3px);box-shadow:0 18px 45px #00000047}.tool-card-top{justify-content:space-between;align-items:center;display:flex}.tool-card-top>span{color:#566168;font:500 12px JetBrains Mono}.tool-card-top em{background:var(--accent-soft);color:var(--accent);letter-spacing:.6px;border-radius:4px;padding:5px 7px;font:500 11px JetBrains Mono}.tool-motif{place-items:center;height:125px;display:grid}.tool-motif svg{fill:#8eeaff09;width:88px;height:68px;stroke:var(--blueprint);stroke-width:1.2px;filter:drop-shadow(0 0 12px #8eeaff1f);overflow:visible}.tool-card h2{letter-spacing:-.6px;margin:8px 0;font-size:23px}.tool-card p{color:#7d898f;margin:0;font-size:14px;line-height:1.55}.tool-card>strong{color:#cdd5d8;justify-content:space-between;align-items:center;margin-top:auto;font-size:14px;display:flex}.tool-card>strong span{color:var(--accent);font-size:22px;transition:transform .18s}.tool-card:hover>strong span{transform:translate(4px)}.mydxf-bridge{border:1px solid var(--line);background:linear-gradient(105deg,#111518 0%,#141a1d 65%,#e7ff450f);justify-content:space-between;align-items:center;gap:30px;max-width:1540px;margin:22px auto 0;padding:28px 30px;display:flex}.mydxf-bridge h2{margin:10px 0 6px;font-size:23px}.mydxf-bridge p{color:#7e8a90;margin:0;font-size:14px}.bridge-brand{grid-template-rows:auto auto;grid-template-columns:38px auto;align-items:center;column-gap:12px;min-width:210px;display:grid}.bridge-brand .brand-mark{grid-row:1/3}.bridge-brand strong{font-size:21px}.bridge-brand small{color:var(--accent);letter-spacing:.8px;font:500 11px JetBrains Mono}.tool-page-heading{justify-content:space-between;align-items:flex-end;gap:30px;max-width:1540px;margin:0 auto;padding:42px 0 26px;display:flex}.tool-page-heading h1{letter-spacing:-2px;margin:10px 0 7px;font-size:clamp(32px,3.6vw,50px);line-height:1}.tool-page-heading p{color:#7d898f;margin:0;font-size:14px}.tool-breadcrumb{color:#657078;gap:8px;font:500 12px JetBrains Mono;display:flex}.tool-breadcrumb a{color:#a6b0b4;text-decoration:none}.calculator-shell,.spacing-shell{border:1px solid var(--line);background:var(--panel);grid-template-columns:minmax(320px,.9fr) minmax(470px,1.35fr) minmax(300px,.75fr);max-width:1380px;min-height:590px;margin:0 auto;display:grid;box-shadow:0 28px 70px #00000038}.calculator-controls,.calculator-result{padding:25px}.calculator-controls{border-right:1px solid var(--line)}.calculator-result{border-left:1px solid var(--line);flex-direction:column;display:flex}.calculator-visual,.spacing-preview-panel{flex-direction:column;min-width:0;display:flex}.segmented-control{border:1px solid var(--line);background:#0c1012;border-radius:9px;grid-template-columns:1fr 1fr;gap:4px;margin:20px 0;padding:4px;display:grid}.segmented-control button{color:#717d83;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;min-height:43px}.segmented-control button.selected{color:#edf2f3;background:#191f22;border-color:#394349}.calculator-fields{gap:12px;display:grid}.calculator-fields.two{grid-template-columns:1fr 1fr}.calculator-field{color:#9ba5aa;flex-direction:column;gap:7px;font-size:13px;display:flex}.calculator-field>span:last-child,.mini-number{background:#0d1113;border:1px solid #30383d;border-radius:6px;align-items:center;height:39px;display:flex;overflow:hidden}.calculator-field input,.mini-number input{color:#eef2f3;background:0 0;border:0;outline:0;width:100%;min-width:0;padding:0 5px 0 10px;font:500 13px JetBrains Mono}.calculator-field em,.mini-number em{color:#606b71;white-space:nowrap;padding-right:9px;font:500 11px JetBrains Mono}.control-section{border-top:1px solid var(--line);margin-top:22px;padding-top:19px}.wide-select{color:#758087;flex-direction:column;gap:7px;margin-bottom:12px;font:500 11px JetBrains Mono;display:flex}.wide-select select,.analysis-box select{color:#e6ecee;background:#0d1113;border:1px solid #30383d;border-radius:6px;outline:0;height:39px;padding:0 10px}.weight-preview{background:#0b1012;flex:1;place-items:center;min-height:480px;display:grid;position:relative;overflow:hidden}.weight-preview:before{content:"";opacity:.7;background-image:linear-gradient(#151b1e 1px,#0000 1px),linear-gradient(90deg,#151b1e 1px,#0000 1px);background-size:20px 20px;position:absolute;inset:0}.weight-shape{z-index:1;aspect-ratio:1.7;border:1.5px solid var(--blueprint);width:min(58%,320px);color:var(--accent);filter:drop-shadow(0 0 14px #8eeaff21);background:#8eeaff0e;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.weight-shape.disk{aspect-ratio:1;border-radius:50%;width:min(48%,260px)}.weight-shape span{font:500 14px JetBrains Mono}.weight-shape small{color:#859197;margin-top:8px;font:500 12px JetBrains Mono}.formula-note{z-index:1;color:#59656b;font:500 11px JetBrains Mono;position:absolute;bottom:18px}.primary-result{background:#0d1113;border:1px solid #323c41;border-radius:9px;flex-direction:column;align-items:center;margin-top:24px;padding:22px 15px;display:flex}.primary-result>span{color:#707c82;letter-spacing:.8px;font:500 11px JetBrains Mono}.primary-result strong{color:var(--accent);letter-spacing:-1.5px;margin-top:10px;font:600 32px JetBrains Mono}.primary-result strong em{color:#909b55;letter-spacing:0;margin-left:6px;font-size:13px;font-style:normal}.primary-result small{color:#667177;margin-top:7px;font-size:12px}.result-list{border-top:1px solid var(--line);margin-top:18px;padding-top:8px}.result-list>div{justify-content:space-between;gap:12px;padding:8px 0;display:flex}.result-list span{color:#707b81;font-size:12px}.result-list strong{color:#c2cbce;text-align:right;font:500 12px JetBrains Mono}.result-disclaimer{color:#59646a;margin:auto 0 0;font-size:11px;line-height:1.45}.spacing-preview{background:#0b1012;flex:1;place-items:center;min-height:500px;display:grid;overflow:hidden}.spacing-preview svg{width:100%}.hole-number{fill:#9da9ae;text-anchor:middle;font:500 8px JetBrains Mono}.hole.invalid{stroke:var(--danger)}.inline-warning{color:#d18b85;background:#ff81780d;border:1px solid #ff817833;border-radius:6px;margin:15px 0 0;padding:10px;font-size:12px;line-height:1.45}.secondary-action{background:var(--accent-soft);min-height:46px;color:var(--accent);cursor:pointer;border:1px solid #647026;border-radius:7px;margin-top:auto}.secondary-action:hover{background:#e7ff4529}.secondary-action:disabled{opacity:.3;cursor:not-allowed}.analyzer-shell{border:1px solid var(--line);background:var(--panel);grid-template-columns:340px 1fr;max-width:1380px;min-height:590px;margin:0 auto;display:grid;box-shadow:0 28px 70px #00000038}.upload-panel{border-right:1px solid var(--line);padding:24px}.dxf-dropzone{text-align:center;cursor:pointer;background:#0d1113;border:1px dashed #3a464c;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;min-height:330px;padding:24px;transition:all .2s;display:flex}.dxf-dropzone:hover{background:#101517;border-color:#79852e}.dxf-file-icon{width:64px;height:72px;color:var(--accent);border:1px solid #4a575d;border-radius:4px;place-items:center;font:600 14px JetBrains Mono;display:grid;position:relative}.dxf-file-icon:after{content:"";clip-path:polygon(0 0,100% 100%,0 100%);background:#0d1113;border-bottom:1px solid #4a575d;border-left:1px solid #4a575d;width:18px;height:18px;position:absolute;top:-1px;right:-1px}.dxf-dropzone h2{text-overflow:ellipsis;white-space:nowrap;max-width:260px;margin:20px 0 7px;font-size:15px;overflow:hidden}.dxf-dropzone p{color:#68747a;margin:0;font-size:12px}.dxf-dropzone button{color:#c5ced1;cursor:pointer;background:#181e21;border:1px solid #3b464c;border-radius:6px;margin-top:18px;padding:9px 12px}.analyzer-error{color:#df918b;background:#ff81780d;border:1px solid #ff817833;border-radius:6px;padding:10px;font-size:12px}.local-note{color:#5f6a70;margin:15px 0 0;font-size:11px;line-height:1.45}.local-note span{color:var(--accent)}.analyzer-empty{background:#0b1012;flex-direction:column;justify-content:center;align-items:center;display:flex}.scan-illustration{background-image:linear-gradient(#151b1e 1px,#0000 1px),linear-gradient(90deg,#151b1e 1px,#0000 1px);background-size:15px 15px;border:1px solid #2f393e;width:180px;height:120px;position:relative}.scan-illustration:before{content:"";border:1px solid var(--blueprint);background:#8eeaff0a;border-radius:5px;position:absolute;inset:25px 35px}.scan-illustration span{border:1px solid var(--blueprint);border-radius:50%;width:10px;height:10px;position:absolute}.scan-illustration span:first-child{top:35px;left:45px}.scan-illustration span:nth-child(2){top:35px;right:45px}.scan-illustration span:nth-child(3){bottom:35px;left:85px}.analyzer-empty h2{margin:25px 0 15px;font-size:17px}.empty-checks{flex-wrap:wrap;justify-content:center;gap:7px;max-width:520px;display:flex}.empty-checks span{color:#758188;border:1px solid #283136;border-radius:100px;padding:6px 9px;font-size:12px}.analysis-results{background:#0b1012;padding:24px}.analysis-status-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.analysis-ok,.analysis-alert{background:#e7ff450b;border:1px solid #e7ff452e;border-radius:7px;flex-direction:column;padding:13px;display:flex}.analysis-alert{background:#ff81780d;border-color:#ff817833}.analysis-ok strong{color:var(--accent)}.analysis-alert strong{color:#ff9a93}.analysis-status-row strong{font-size:13px}.analysis-status-row span{color:#69757b;margin-top:4px;font-size:11px}.analysis-duplicate{background:#ffb5540e;border-color:#ffb5543d}.analysis-duplicate strong{color:#ffb554}.dxf-control-preview{background:#080d0f;border:1px solid #273035;border-radius:8px;margin-top:14px;overflow:hidden}.dxf-preview-bar,.dxf-preview-footer{color:#6f7b81;letter-spacing:.65px;border-bottom:1px solid #222b2f;justify-content:space-between;align-items:center;gap:14px;min-height:39px;padding:0 13px;font:500 10px JetBrains Mono;display:flex}.dxf-preview-footer{color:#566268;letter-spacing:.2px;border-top:1px solid #222b2f;border-bottom:0;min-height:32px}.dxf-legend{color:#778389;letter-spacing:0;align-items:center;gap:7px;display:flex}.dxf-legend i{background:#8eeaff;width:16px;height:2px;margin-left:8px;display:inline-block}.dxf-legend .legend-open{background:#ff746b}.dxf-legend .legend-duplicate{background:#ffb554}.dxf-blueprint{background-color:#0a0f11;background-image:linear-gradient(#131a1d 1px,#0000 1px),linear-gradient(90deg,#131a1d 1px,#0000 1px);background-size:20px 20px;place-items:center;min-height:330px;display:grid}.dxf-blueprint svg{width:100%;max-height:430px}.dxf-geometry{fill:none;stroke:#8eeaff;stroke-width:1.7px;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px #8eeaff2b)}.dxf-geometry.is-duplicate{stroke:#ffb554;stroke-width:3.5px;filter:drop-shadow(0 0 6px #ffb55473)}.dxf-projected-gap{stroke:#ff746b;stroke-width:2.7px;stroke-dasharray:10 7;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 6px #ff746b99)}.dxf-open-marker circle:first-child{fill:#ff746b1a;stroke:#ff746b;stroke-width:2px}.dxf-open-marker circle:nth-child(2){fill:#ff746b}.dxf-open-marker text{fill:#ff9a93;paint-order:stroke;stroke:#0a0f11;stroke-width:3px;font:600 12px JetBrains Mono}.analysis-metrics{grid-template-columns:repeat(4,1fr);gap:9px;margin-top:14px;display:grid}.analysis-metric{background:#111619;border:1px solid #273035;border-radius:7px;flex-direction:column;min-width:0;padding:15px 12px;display:flex}.analysis-metric span{color:#69757b;font-size:11px}.analysis-metric strong{color:#d7dfe1;text-overflow:ellipsis;white-space:nowrap;margin-top:8px;font:600 15px JetBrains Mono;overflow:hidden}.analysis-metric small{color:#566269;margin-top:4px;font-size:10px}.analysis-detail-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}.analysis-box{background:#111619;border:1px solid #273035;border-radius:7px;padding:15px}.analysis-box-title{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.analysis-box-title span{color:#69757b;letter-spacing:.7px;font:500 10px JetBrains Mono}.analysis-box-title strong{color:var(--accent);font:600 15px JetBrains Mono}.analysis-box p{color:#bdc7ca;border-top:1px solid #222a2e;justify-content:space-between;margin:0;padding:7px 0;font-size:12px;display:flex}.analysis-box p em{color:#647077;font-style:normal}.analysis-box label{color:#707b81;grid-template-columns:90px 1fr;align-items:center;gap:8px;margin-top:9px;font-size:12px;display:grid}.analysis-box select{width:100%}.analysis-box small{color:#647077;margin-top:10px;font-size:11px;display:block}.contour-repair-panel{background:linear-gradient(110deg,#ff746b11,#111619e6);border:1px solid #ff746b38;border-radius:8px;grid-template-columns:minmax(240px,1fr) 150px auto;align-items:end;gap:12px;margin-top:14px;padding:15px;display:grid}.repair-copy>span{color:#8d6967;letter-spacing:.7px;font:500 10px JetBrains Mono}.repair-copy strong{color:#ffaaa4;margin-top:6px;font-size:15px;display:block}.repair-copy p{color:#6e797f;max-width:550px;margin:5px 0 0;font-size:11px;line-height:1.45}.repair-tolerance{color:#78848a;flex-direction:column;gap:6px;font-size:11px;display:flex}.repair-button{background:var(--accent);color:#101407;cursor:pointer;border:1px solid #94a12e;border-radius:6px;min-height:42px;padding:0 15px;font-weight:700}.repair-button:disabled{opacity:.28;cursor:not-allowed}.contour-repair-panel>small{color:#8e7774;grid-column:1/-1;font-size:11px}.repair-success{color:#cfe476;background:#e7ff450d;border:1px solid #e7ff4533;border-radius:6px;margin:12px 0 0;padding:10px 12px;font-size:12px}.analysis-issues{background:#111619;border:1px solid #2c3539;border-radius:7px;margin-top:14px;padding:15px}.analysis-issues p{color:#bdc7ca;border-top:1px solid #222a2e;justify-content:space-between;gap:14px;margin:0;padding:8px 0;font-size:12px;display:flex}.analysis-issues p span{align-items:center;gap:8px;display:flex}.analysis-issues p em{color:#69757b;text-align:right;font:400 11px JetBrains Mono}.analysis-issues i{border-radius:50%;flex:none;width:7px;height:7px}.issue-red{background:#ff746b;box-shadow:0 0 7px #ff746b80}.issue-orange{background:#ffb554;box-shadow:0 0 7px #ffb55466}.unsupported-note{color:#8a795f;margin:14px 0 0;font-size:11px}.prompt-heading h1 em{color:#616a70;font-style:normal}.prompt-shell{border:1px solid var(--line);background:var(--panel);grid-template-columns:minmax(330px,.88fr) minmax(500px,1.35fr) minmax(300px,.72fr);max-width:1540px;min-height:650px;margin:0 auto;display:grid;box-shadow:0 28px 70px #0000003d}.prompt-input-panel,.prompt-result-panel{min-width:0;padding:24px}.prompt-input-panel{border-right:1px solid var(--line)}.prompt-result-panel{border-left:1px solid var(--line);flex-direction:column;display:flex}.prompt-label{color:#6f7a80;letter-spacing:.7px;margin:24px 0 8px;font:500 11px JetBrains Mono;display:block}.prompt-input-panel textarea{resize:vertical;color:#e7edef;background:#0b0f11;border:1px solid #30383d;border-radius:8px;outline:0;width:100%;min-height:230px;padding:15px;font:500 14px/1.65 JetBrains Mono;transition:all .2s}.prompt-input-panel textarea:focus{border-color:#7f8b31;box-shadow:0 0 0 3px #e7ff450d}.prompt-examples{gap:7px;margin-top:19px;display:grid}.prompt-examples>span{color:#68747a;letter-spacing:.7px;margin-bottom:2px;font:500 11px JetBrains Mono}.prompt-examples button{color:#a7b0b4;text-align:left;cursor:pointer;background:#0d1113;border:1px solid #30383d;border-radius:6px;min-height:38px;padding:0 11px;transition:all .18s}.prompt-examples button:hover{color:var(--accent);background:var(--accent-soft);border-color:#6f7b2b}.prompt-preview-panel{background:#0b1012;flex-direction:column;min-width:0;display:flex}.prompt-drawing{flex:1;place-items:center;min-height:470px;display:grid;overflow:hidden}.prompt-drawing svg{width:100%;height:100%;min-height:430px}.prompt-height-label{fill:var(--accent);text-anchor:middle;transform-box:fill-box;transform-origin:50%;font:500 11px JetBrains Mono;transform:rotate(-90deg)}.prompt-feedback{border-top:1px solid var(--line);flex-direction:column;justify-content:center;gap:5px;min-height:94px;padding:11px 16px;display:flex}.prompt-feedback p{margin:0;font-size:12px;line-height:1.4}.prompt-issue{color:#ff9a93}.prompt-assumption{color:#c1c98b}.prompt-valid{color:var(--accent)}.prompt-part-name{background:#0d1113;border:1px solid #2d363b;border-radius:8px;flex-direction:column;margin-top:22px;padding:15px;display:flex}.prompt-part-name span{color:#68747a;letter-spacing:.7px;font:500 11px JetBrains Mono}.prompt-part-name strong{margin-top:7px;font-size:18px}.prompt-part-name small{color:#7e898f;margin-top:6px;font-size:12px;line-height:1.4}.prompt-summary{margin-bottom:20px}@media (max-width:1240px){main{padding:0 20px}.toolbox-hero{display:block}.workflow-strip{margin-top:28px}.calculator-shell,.spacing-shell{grid-template-columns:minmax(330px,.85fr) minmax(500px,1.15fr)}.calculator-result{border-top:1px solid var(--line);border-left:0;grid-column:1/-1;grid-template-columns:1fr 1fr 1fr;gap:18px;min-height:300px;display:grid}.calculator-result .primary-result,.calculator-result .result-list{margin-top:0}.calculator-result .result-disclaimer,.calculator-result .secondary-action{align-self:end}.workspace{grid-template-columns:minmax(350px,.84fr) minmax(500px,1.16fr)}.prompt-shell{grid-template-columns:minmax(340px,.82fr) minmax(500px,1.18fr)}.prompt-result-panel{border-top:1px solid var(--line);border-left:0;grid-column:1/-1;grid-template-columns:1fr 1fr 1fr;gap:18px;min-height:300px;display:grid}.prompt-result-panel .panel-title,.prompt-part-name{grid-row:span 2}.prompt-part-name,.prompt-result-panel .summary,.prompt-result-panel .generate{margin-top:0}.prompt-result-panel .privacy-note{grid-column:3}.result-panel{border-top:1px solid var(--line);border-left:0;grid-column:1/-1;grid-template-columns:1.1fr .9fr .9fr;gap:18px;display:grid}.result-panel>.panel-title,.model-summary{grid-row:span 2}.model-summary,.result-panel .text-field{margin-top:0}.summary{grid-row:span 2;margin-top:0}.generate{margin-top:0}.privacy-note{grid-column:3}}@media (max-width:850px){main{padding:0 14px}.topbar .status{display:none}.main-nav a{padding:7px 8px;font-size:12px}.toolbox-hero{padding-top:40px}.toolbox-hero h1{letter-spacing:-2.5px}.workflow-strip{padding-bottom:10px;overflow-x:auto}.tool-grid{grid-template-columns:1fr}.tool-card{border-right:0;min-height:320px;border-bottom:1px solid var(--line)!important}.tool-card:last-child{border-bottom:0!important}.mydxf-bridge{flex-direction:column;align-items:flex-start}.tool-page-heading{padding:32px 0 22px;display:block}.tool-breadcrumb{margin-top:18px}.calculator-shell,.spacing-shell{display:block}.calculator-controls,.calculator-result{border:0}.calculator-visual,.spacing-preview-panel,.calculator-result{border-top:1px solid var(--line)}.weight-preview,.spacing-preview{min-height:390px}.calculator-result{min-height:auto;display:flex}.calculator-result .primary-result,.calculator-result .result-list,.calculator-result .result-disclaimer,.calculator-result .secondary-action{margin-top:18px}.analyzer-shell,.prompt-shell{display:block}.prompt-input-panel{border-right:0}.prompt-preview-panel,.prompt-result-panel{border-top:1px solid var(--line)}.prompt-result-panel{min-height:auto;display:flex}.prompt-part-name,.prompt-result-panel .summary,.prompt-result-panel .generate{margin-top:18px}.prompt-drawing{min-height:390px}.prompt-drawing svg{min-height:360px}.upload-panel{border-right:0;border-bottom:1px solid var(--line)}.dxf-dropzone{min-height:270px}.analyzer-empty{min-height:450px;padding:30px}.analysis-metrics{grid-template-columns:1fr 1fr}.dxf-blueprint{min-height:290px}.intro{padding:28px 0 21px}.intro h1{letter-spacing:-1.7px}.intro p{max-width:360px;line-height:1.5}.steps{display:none}.workspace{display:block}.config,.result-panel{border:0}.preview-panel,.result-panel{border-top:1px solid var(--line)}.drawing{min-height:440px}.result-panel{display:flex}.model-summary,.result-panel .text-field,.summary,.generate{margin-top:18px}footer{text-align:center;flex-direction:column;justify-content:center;gap:7px}}@media (max-width:500px){.topbar{height:65px}.brand-mark{width:28px;height:28px}.brand strong{font-size:17px}.brand>span:last-child small{display:none}.main-nav{background:0 0;border:0}.main-nav a{padding:6px 5px;font-size:11px}.main-nav a:first-child{display:none}.status{padding:8px 10px;font-size:11px}.brand small{letter-spacing:1px;font-size:10px}.intro h1{font-size:35px}.config,.result-panel{padding:19px 15px}.shape-library{grid-template-columns:repeat(3,1fr)}.field-grid{grid-template-columns:1fr}.hole-presets>div{grid-template-columns:repeat(3,1fr)}.drawing{min-height:340px}.checks{justify-content:flex-start}.toolbox-hero h1{font-size:42px}.toolbox-hero p{font-size:15px}.workflow-strip{font-size:11px}.workflow-strip i{width:16px;margin:0 5px}.tool-card{padding:20px}.calculator-controls,.calculator-result,.analysis-results,.upload-panel{padding:18px 15px}.calculator-fields.two,.analysis-status-row,.analysis-detail-grid{grid-template-columns:1fr}.analysis-metrics{grid-template-columns:1fr 1fr}.analysis-metric strong{font-size:13px}.contour-repair-panel{grid-template-columns:1fr;align-items:stretch}.dxf-preview-bar{flex-direction:column;align-items:flex-start;padding-top:10px;padding-bottom:10px}.dxf-legend{flex-wrap:wrap}.dxf-preview-footer,.analysis-issues p{flex-direction:column;align-items:flex-start}}
