body{font-family:Segoe UI,Arial,sans-serif;display:flex;overflow:hidden;gap:4px;background:#f7f8fa;margin:0;height:100vh;min-height:100vh;color:#222;justify-content:space-between;align-items:flex-start;flex-direction:column}.left-toolbar{display:flex;flex-direction:column;gap:12px;align-items:stretch}.left-toolbar .tool-group{display:flex;flex-direction:column;gap:8px}.tool-btn{display:inline-flex;align-items:center;gap:10px;background:#2563eb;border:none;padding:8px 10px;border-radius:8px;cursor:pointer;color:#fff;font-weight:600;transition:background .12s ease,color .12s ease,transform .05s ease}.tool-btn:hover{background:#f1f5f9;color:#2563eb;transform:translateY(-1px)}.tool-btn .icon{position:relative;width:18px;height:18px;min-width:18px;min-height:18px;stroke:currentColor}.tool-btn[data-tooltip]:hover:after{position:absolute;content:attr(data-tooltip);bottom:-3em;right:-1em;padding:.25em .5em;border-radius:4px}.tool-label{font-size:.95rem}.tool-btn[aria-pressed=true]{background:#eef2ff;color:#2563eb;box-shadow:0 2px 8px #2563eb14}#toolbar,#properties,#layers-panel{display:flex;flex-direction:column;gap:18px;background:#fff;padding:24px 18px;border-radius:12px;box-shadow:0 2px 12px #0001;min-width:220px;font-size:1rem;font-weight:500;margin:0 4px 5px}#toolbar label,#properties label{display:flex;flex-direction:column;gap:4px}#properties button,#promptForm button{background:#2563eb;color:#fff;border:none;border-radius:6px;padding:8px 16px;font-size:1rem;cursor:pointer;transition:background .2s;margin-top:4px}#toolbar button:hover,#properties button:hover,#promptForm button:hover{background:#1e40af}#svgCanvas{border:2px solid #d1d5db;background:#fff;border-radius:12px;box-shadow:0 2px 12px #0001;margin:0 5px;flex:1;max-width:100vw;height:calc(100vh - 80px);min-width:0;display:block}.resize-handle,.horizontal-handle,.vertical-handle,.translation-handle{stroke:transparent;fill:#2563eb;cursor:grab;vector-effect:non-scaling-stroke}.rotation-handle{stroke:transparent;fill:#2563eb;stroke-width:2;cursor:grab;vector-effect:non-scaling-stroke}.point-handle{fill:#fff;stroke:#1a439c;stroke-width:2;cursor:pointer;vector-effect:non-scaling-stroke}.point-handle.selected{fill:#f39c12}.point-handle.control-handle{fill:#fff;stroke:#f39c12;stroke-width:2;cursor:pointer;vector-effect:non-scaling-stroke}.control-line{stroke:#f39d1265;stroke-width:1;pointer-events:none;vector-effect:non-scaling-stroke}input[type=color],input[type=number],select,input[type=text],input[type=range]{border:1px solid #d1d5db;border-radius:4px;padding:4px 8px;font-size:1rem;background:#f9fafb;margin-top:2px}input[type=range]{width:100%}#promptModal{display:none;position:fixed;left:0;top:0;width:100vw;height:100vh;background:#0008;z-index:1000;align-items:center;justify-content:center}#promptForm{background:#fff;padding:28px 24px;border-radius:14px;min-width:340px;box-shadow:0 4px 24px #0002}#advancedSettings{margin-top:12px;background:#f3f4f6;border-radius:8px;padding:10px}#guidanceInput{margin-top:6px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{display:inline-block;width:32px;height:32px;border:4px solid #ccc;border-top:4px solid #0078d7;border-radius:50%;animation:spin 1s linear infinite}.prevent-select{-webkit-user-select:none;-ms-user-select:none;user-select:none}#gcodeSettingsModal{position:fixed;left:0;top:0;width:100vw;height:100vh;background:#0008;z-index:2000;display:flex;align-items:center;justify-content:center}#gcodeSettingsForm{background:#fff;padding:32px 28px;border-radius:14px;min-width:320px;box-shadow:0 4px 24px #0002;display:flex;flex-direction:column;gap:12px}#workingAreaModal{position:fixed;left:0;top:0;width:100vw;height:100vh;background:#0008;z-index:2000;display:flex;align-items:center;justify-content:center}#workingAreaForm{background:#fff;padding:32px 28px;border-radius:14px;min-width:320px;box-shadow:0 4px 24px #0002;display:flex;flex-direction:column;gap:12px}#workingAreaForm label{display:flex;align-items:center;gap:8px}.top-bar{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:4px 20px;box-shadow:0 1px 4px #0000000d}.btn-icon{background:none;border:none;padding:6px;cursor:pointer}.btn-icon:hover{background:#0000000d;border-radius:6px}.icon{width:20px;height:20px}.shape-btn{background:#2563eb;border-radius:6px;border:none;transition:background .12s ease,color .12s ease,transform .05s ease}.shape-btn:hover{background:#447bf1;transform:translateY(-1px)}.shape-svg{fill:#fff9;stroke:transparent;width:40px;height:40px}.main-content{display:flex;gap:2px;justify-content:space-between;align-items:flex-start;padding-top:4px;flex:1 1 auto;box-sizing:border-box;width:100%}.top-bar{width:100%;box-sizing:border-box;z-index:100}.bounding-box{stroke:#0078d7;stroke-dasharray:4,4;fill:none;pointer-events:none;vector-effect:non-scaling-stroke}#authModal,#contactModal{position:absolute;display:none;z-index:2000;min-width:320px;background:#fff;box-shadow:0 4px 24px #0002;border-radius:12px;padding:24px 18px}#contactForm label{display:flex;flex-direction:column;margin-bottom:12px}#contactForm textarea{min-height:100px;resize:vertical;border:1px solid #d1d5db;border-radius:4px;padding:4px 8px;font-size:1rem;background:#f9fafb;margin-top:2px}#cookieBanner{display:none;position:fixed;bottom:0;left:0;width:100%;background:#333;color:#fff;padding:5px;text-align:center;z-index:1001;justify-content:center;align-items:center;gap:20px}#cookieBanner p{margin:0}#cookieBanner button{background:#4caf50;color:#fff;border:none;padding:10px 15px;border-radius:5px;cursor:pointer}#cookieBanner button:hover{background:#45a049}#accountSettingsModal{position:fixed;left:0;top:0;width:100vw;height:100vh;background:#0008;z-index:2000;display:flex;align-items:center;justify-content:center}#accountSettingsModal>div{background:#fff;border-radius:14px;width:75vw;height:50vw;box-shadow:0 4px 24px #0002;display:flex}#accountSettingsContent{display:flex;flex-direction:row}#accountSettingsMenu{flex:0 0 200px;padding:20px;border-right:1px solid #eee}#accountSettingsMenu .menu-btn{display:block;width:100%;padding:10px;margin-bottom:10px;background:none;border:none;text-align:left;font-size:1rem;cursor:pointer}#accountSettingsMenu .menu-btn.active{background-color:#eef2ff;color:#2563eb;font-weight:700}#accountSettingsDisplay{padding:20px;flex-grow:1;overflow-y:auto;max-height:100%}#accountSettingsModal>button{position:absolute;top:10px;right:10px;background:none;border:none;font-size:1.5rem;cursor:pointer}#layer-selector{display:flex;gap:6px;align-items:center}.color-btn{width:24px;height:24px;border-radius:4px;border:2px solid #fff;cursor:pointer;transition:all .2s;box-shadow:0 0 0 1px #ccc}.color-btn.selected{box-shadow:0 0 0 2px #2563eb}#layers-panel h4{margin:0 0 10px}#layer-list{display:flex;flex-direction:column;gap:8px}.layer-item{display:flex;flex-direction:column;gap:8px;padding:8px;border:1px solid #eee;border-radius:8px}.layer-info{display:flex;align-items:center;gap:8px}.layer-controls{display:flex;flex-direction:column;gap:4px}.layer-controls label{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.layer-controls input{width:60px;padding:2px 4px}.layer-item .layer-name{margin-right:6px;min-width:24px}.layer-item .layer-color-display{width:24px;height:24px;border-radius:6px;margin-right:8px;border:1px solid #ccc;order:1}.layer-item .visibility-toggle{margin-left:auto;order:2;background:none;border:none;cursor:pointer;padding:0 4px;display:flex;align-items:center}.layer-item .visibility-toggle svg{width:20px;height:20px;color:#555}.layer-item .visibility-toggle:hover svg{color:#000}.layer-item.hidden .layer-name{text-decoration:line-through;color:#999}.layer-item.hidden .visibility-toggle svg{color:#999}
