@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap";:root{--bg-primary: #1a1a2e;--bg-secondary: #16213e;--bg-tertiary: #0f3460;--accent: #e94560;--accent-hover: #ff6b6b;--text-primary: #eaeaea;--text-secondary: #a0a0a0;--success: #00d68f;--warning: #ffaa00;--error: #ff4757;--border-radius: 8px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,sans-serif;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);color:var(--text-primary);min-height:100vh;overflow:hidden;-webkit-user-select:none;user-select:none}.app-container{display:flex;height:100vh}.panel-left{width:360px;background:#16213ef2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:12px 24px 24px;display:flex;flex-direction:column;gap:20px;overflow-y:auto;border-right:1px solid rgba(255,255,255,.05)}.language-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:-8px}.mode-toggle{display:flex;align-items:center;gap:8px}.mode-label{font-size:12px;color:var(--text-secondary);transition:color .2s}.mode-toggle:has(#modeToggle:not(:checked)) .mode-label:first-child,.mode-toggle:has(#modeToggle:checked) .mode-label:last-child{color:var(--accent);font-weight:500}.toggle-switch{position:relative;width:40px;height:20px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background:#0f3460cc;border:1px solid rgba(255,255,255,.2);border-radius:20px;transition:.3s}.toggle-slider:before{position:absolute;content:"";height:14px;width:14px;left:2px;bottom:2px;background:var(--text-secondary);border-radius:50%;transition:.3s}.toggle-switch input:checked+.toggle-slider{background:var(--accent);border-color:var(--accent)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px);background:#fff}.language-bar select{height:28px;padding:0 8px;background:#0f346080;border:1px solid rgba(255,255,255,.1);border-radius:var(--border-radius);color:var(--text-primary);font-family:inherit;font-size:12px;outline:none;cursor:pointer}.language-bar select:hover{border-color:var(--accent)}.panel-header h1{font-size:24px;font-weight:600;background:linear-gradient(90deg,var(--accent),#ff8a80);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:4px}.subtitle{font-size:12px;color:var(--text-secondary)}.section{display:flex;flex-direction:column;gap:12px}.section-title{font-size:11px;font-weight:600;letter-spacing:2px;color:var(--text-secondary)}.file-drop-zone{background:#0f346080;border:2px dashed rgba(233,69,96,.3);border-radius:var(--border-radius);padding:32px 16px;text-align:center;cursor:pointer;transition:all .3s ease}.file-drop-zone:hover,.file-drop-zone.drag-over{border-color:var(--accent);background:#e945601a}.file-drop-zone.has-file{border-color:var(--success);border-style:solid}.file-icon{font-size:32px;margin-bottom:8px}.file-text{font-size:13px;color:var(--text-secondary)}.setting-row{display:flex;align-items:center;gap:12px}.setting-row label{flex:0 0 110px;font-size:13px;color:var(--text-secondary)}.setting-row input[type=number],.setting-row input[type=text],.setting-row select{flex:1;height:36px;padding:0 12px;background:#0f346080;border:1px solid rgba(255,255,255,.1);border-radius:var(--border-radius);color:var(--text-primary);font-family:inherit;font-size:13px;outline:none;transition:border-color .2s}.setting-row input:focus,.setting-row select:focus{border-color:var(--accent)}.setting-row select{cursor:pointer}.rotation-inputs{display:flex;gap:4px;flex:1}.rotation-inputs input[type=number]{flex:1;width:50px;height:36px;padding:0 8px;background:#0f346080;border:1px solid rgba(255,255,255,.1);border-radius:var(--border-radius);color:var(--text-primary);font-family:inherit;font-size:13px;text-align:center;outline:none;transition:border-color .2s}.rotation-inputs input[type=number]:focus{border-color:var(--accent)}.checkbox{width:24px;height:24px;background:#0f346080;border:1px solid rgba(255,255,255,.1);border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.checkbox.checked{background:var(--accent);border-color:var(--accent)}.checkbox-check{color:#fff;font-size:14px;opacity:0;transition:opacity .2s}.checkbox.checked .checkbox-check{opacity:1}.checkbox-label{font-size:13px;color:var(--text-secondary)}.action-buttons{display:flex;gap:12px}.hidden{display:none!important}.convert-button{flex:2;height:48px;background:var(--accent);border:none;border-radius:var(--border-radius);color:#fff;font-family:inherit;font-weight:600;font-size:14px;cursor:pointer;position:relative;overflow:hidden;transition:all .2s}.convert-button:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.convert-button:disabled{background:#0f346080;cursor:not-allowed;color:#ffffff4d}.save-button{flex:2;height:48px;background:var(--success);border:none;border-radius:var(--border-radius);color:#fff;font-family:inherit;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s;animation:popIn .3s cubic-bezier(.175,.885,.32,1.275)}.save-button:hover{background:#219a52;transform:translateY(-1px)}.reset-button{flex:0 0 48px;height:48px;background:#0f346080;border:1px solid rgba(255,255,255,.1);border-radius:var(--border-radius);color:var(--text-secondary);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;animation:popIn .3s ease-out}.reset-button:hover{background:#e945601a;color:var(--text-primary);border-color:var(--accent)}@keyframes popIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.button-text{position:relative;z-index:1}.button-progress{position:absolute;top:0;left:0;height:100%;background:#fff3;width:0%;transition:width .3s}.status-box{background:#0f346080;border-radius:var(--border-radius);padding:16px;min-height:80px}.status-text{font-size:13px;color:var(--text-secondary);line-height:1.6}.status-text.success{color:var(--success)}.status-text.error{color:var(--error)}.panel-right{flex:1;padding:24px;display:flex;flex-direction:column;gap:16px;overflow-y:auto}.preview-container{background:#16213e99;border-radius:var(--border-radius);padding:16px;display:flex;flex-direction:column;gap:12px}.preview-header{font-size:14px;font-weight:600;color:var(--text-primary)}.preview-canvas-wrapper{position:relative;width:100%;height:280px;background:#0f346080;border-radius:var(--border-radius);overflow:hidden}.preview-canvas-wrapper canvas{width:100%!important;height:100%!important;display:block}.preview-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--text-secondary);font-size:13px;pointer-events:none}.preview-hint.hidden{display:none}.preview-controls{display:flex;align-items:center;gap:12px}.preview-btn{padding:6px 12px;background:#0f346080;border:1px solid rgba(255,255,255,.1);border-radius:var(--border-radius);color:var(--text-primary);font-family:inherit;font-size:12px;cursor:pointer;transition:all .2s}.preview-btn:hover{border-color:var(--accent);background:#e945601a}.preview-tip{font-size:11px;color:var(--text-secondary)}.info-container{background:#16213e99;border-radius:var(--border-radius);padding:24px}.info-header{font-size:14px;font-weight:600;margin-bottom:16px;color:var(--text-primary)}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.info-item{background:#0f346080;border-radius:var(--border-radius);padding:16px;text-align:center}.info-label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.info-value{font-size:24px;font-weight:600;color:var(--accent)}.instructions{background:#16213e99;border-radius:var(--border-radius);padding:24px}.instructions h3{font-size:14px;font-weight:600;margin-bottom:16px}.instructions ol{padding-left:20px}.instructions li{font-size:13px;color:var(--text-secondary);line-height:2}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#0003}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#fff3}.slider-container{flex:1;display:flex;align-items:center;gap:12px}.slider-container input[type=range]{flex:1;cursor:pointer}.slider-container span{font-size:13px;color:var(--text-primary);min-width:60px;text-align:right;font-variant-numeric:tabular-nums}#maxColorsNumber{width:50px;background:#0003;border:1px solid rgba(255,255,255,.1);color:var(--text-primary);border-radius:4px;padding:4px;text-align:center}.mode-content{display:flex;flex-direction:column;gap:20px}.mode-content.hidden{display:none}.step-indicator{display:flex;align-items:center;justify-content:center;gap:4px;padding:12px 0;margin-bottom:8px}.step{display:flex;flex-direction:column;align-items:center;gap:4px;opacity:.4;transition:opacity .3s}.step.active,.step.completed{opacity:1}.step-number{width:28px;height:28px;border-radius:50%;background:#0f3460cc;border:2px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--text-secondary);transition:all .3s}.step.active .step-number{background:var(--accent);border-color:var(--accent);color:#fff}.step.completed .step-number{background:var(--success);border-color:var(--success);color:#fff}.step.completed .step-number:after{content:"✓"}.step-label{font-size:10px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.step.active .step-label{color:var(--accent)}.step-line{width:24px;height:2px;background:#ffffff1a;margin-bottom:16px}.step-panel{display:none}.step-panel.active{display:block}.step-actions{display:flex;justify-content:space-between;gap:12px;margin-top:16px}.step-button{flex:1;padding:12px 20px;border:1px solid rgba(255,255,255,.1);border-radius:var(--border-radius);background:#0f346080;color:var(--text-primary);font-family:inherit;font-size:14px;cursor:pointer;transition:all .2s}.step-button:hover{background:#0f3460cc;border-color:#fff3}.step-button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.step-button.primary:hover{background:#1aa3ff}.step-button:disabled{opacity:.5;cursor:not-allowed}.parts-table{width:100%;border-collapse:collapse;font-size:13px}.parts-table th,.parts-table td{padding:8px 12px;text-align:left;border-bottom:1px solid rgba(255,255,255,.05)}.parts-table th{background:#0f346080;color:var(--text-secondary);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.parts-table td{color:var(--text-primary)}.parts-table td input[type=number]{width:60px;padding:4px 8px;background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:var(--text-primary);text-align:center}.color-assignment-row{display:flex;align-items:center;gap:12px;padding:12px;background:#0f34604d;border-radius:var(--border-radius);margin-bottom:8px}.color-assignment-row .part-name{flex:1;font-weight:500}.color-assignment-row .color-picker{width:36px;height:36px;border:2px solid rgba(255,255,255,.2);border-radius:4px;cursor:pointer;padding:0}.color-assignment-row .auto-toggle{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}
