.cad-canvas[data-v-1b1d64fb]{width:100vw;height:100vh;display:block;background:#f8fafc;cursor:crosshair}.canvas-container[data-v-1b1d64fb]{position:relative;width:100vw;height:100vh;overflow:hidden}.coordinate-hud[data-v-1b1d64fb]{position:absolute;bottom:20px;left:20px;background:#0f172ae6;color:#22c55e;padding:8px 16px;font-family:JetBrains Mono,monospace;border-radius:6px;pointer-events:none;font-size:13px;z-index:10}.zoom-label[data-v-1b1d64fb]{margin-left:15px;color:#94a3b8;border-left:1px solid #334155;padding-left:15px}.vertex-popup[data-v-eb09786e]{background:#1e293b;border:1px solid #3b82f6;border-radius:6px;padding:10px;box-shadow:0 10px 15px -3px #0006;width:140px;pointer-events:all}.popup-title[data-v-eb09786e]{font-size:10px;color:#94a3b8;text-transform:uppercase;margin-bottom:8px;font-weight:700}.input-row[data-v-eb09786e]{display:flex;align-items:center;gap:8px;margin-bottom:6px}.input-row label[data-v-eb09786e]{font-size:11px;width:12px;color:#64748b}.input-row input[data-v-eb09786e]{background:#0f172a;border:1px solid #334155;color:#f8fafc;font-size:12px;padding:3px 6px;width:100%;border-radius:3px}.popup-actions[data-v-eb09786e]{display:flex;gap:6px;margin-top:8px}button[data-v-eb09786e]{flex:1;border:none;padding:4px;border-radius:3px;cursor:pointer;color:#fff;font-weight:700}.btn-confirm[data-v-eb09786e]{background:#22c55e}.btn-confirm[data-v-eb09786e]:hover{background:#16a34a}.btn-cancel[data-v-eb09786e]{background:#475569}.btn-cancel[data-v-eb09786e]:hover{background:#334155}.btn-delete[data-v-eb09786e]{background:#ef4444;flex:1}.btn-delete[data-v-eb09786e]:hover{background:#dc2626}.app-container{position:relative;width:100vw;height:100vh;background:#0f172a;overflow:hidden;color:#fff;font-family:sans-serif}.toolbar{position:absolute;left:20px;top:50%;transform:translateY(-50%);display:grid;gap:10px;background:#1e293b33;padding:10px;border:#919191 1px solid;border-radius:8px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10}.sidebar{position:absolute;top:20px;right:20px;width:240px;background:#1e293be6;padding:20px;border-radius:12px;border:1px solid rgba(255,255,255,.1)}.btn{background:#3341556b;color:#fff;border:1px solid transparent;padding:4px 6px 0;border-radius:4px;cursor:pointer;transition:all .2s;fill:#474747}.btn.active{background:#22c45e;box-shadow:0 0 8px 2px #22c45e}.btn.active:focus-visible{outline:none!important;border:1px solid #45ec82}.btn.active:focus{outline:none!important;border:1px solid #45ec82}.btn.active>svg{fill:#fff}.btn:disabled{opacity:.5;cursor:not-allowed}.stat-row{display:flex;justify-content:space-between;margin:10px 0;font-size:14px}.hint{font-size:12px;color:#94a3b8;line-height:1.5}.status-badge{position:absolute;bottom:20px;right:20px;color:#22c45e;z-index:9}.reset-btn{padding:6px 12px;color:#474747}.specs-panel{position:absolute;top:20px;right:20px;background:#fff;padding:15px;border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:100;width:200px}.input-group{margin-bottom:10px}.input-group label{display:block;font-size:12px;color:#fff}.input-group input{background:#0f172a;border:1px solid #334155;color:#f8fafc;font-size:12px;padding:3px 6px;width:100%;border-radius:3px}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.card{padding:2em}#app{text-align:center}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
