:root{--bg: #0f1419;--panel: #1a2028;--panel-2: #232b36;--border: #2d3748;--text: #e4e6eb;--text-dim: #9ca3af;--accent: #6366f1;--accent-hover: #7c7fed;--success: #10b981;--warn: #f59e0b;--error: #ef4444;--font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);min-height:100vh}.container{max-width:900px;margin:0 auto;padding:24px}h1{font-size:22px;margin:0 0 8px}h2{font-size:16px;margin:24px 0 12px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:20px;margin-bottom:16px}button{background:var(--panel-2);color:var(--text);border:1px solid var(--border);padding:10px 16px;border-radius:8px;cursor:pointer;font-size:14px;font-family:inherit;transition:all .15s}button:hover{background:var(--border)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:500}button.primary:hover{background:var(--accent-hover)}.orient-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.orient-btn{padding:12px;text-align:center;font-size:13px}.orient-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.flip-row{display:flex;gap:8px;margin-bottom:12px}.flip-btn{flex:1;padding:8px;font-size:13px}.flip-btn.active{background:var(--warn);border-color:var(--warn);color:#000}.slider-row{margin-bottom:16px}.slider-row label{display:flex;justify-content:space-between;font-size:13px;color:var(--text-dim);margin-bottom:6px}.slider-row input[type=range]{width:100%;accent-color:var(--accent)}canvas.preview{width:100%;max-height:400px;background:#000;border-radius:6px;object-fit:contain}.upload-drop{border:2px dashed var(--border);border-radius:10px;padding:40px;text-align:center;color:var(--text-dim);cursor:pointer;transition:border-color .15s}.upload-drop.drag-over{border-color:var(--accent);background:#6366f11a}.upload-drop input{display:none}.warn-banner{background:#f59e0b26;border:1px solid var(--warn);color:var(--warn);padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:12px}.progress{height:6px;background:var(--panel-2);border-radius:3px;overflow:hidden;margin:12px 0}.progress>div{height:100%;background:var(--accent);transition:width .3s}.status-msg{color:var(--text-dim);font-size:14px}.download-list{display:grid;gap:8px}.download-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--panel-2);border-radius:6px;border:1px solid var(--border)}.download-item .name{font-family:monospace;font-size:13px}.download-item .size{color:var(--text-dim);font-size:12px;margin:0 12px}.download-item.zero{opacity:.4}.download-item a{color:var(--accent);text-decoration:none;font-weight:500}model-viewer{width:100%;height:400px;background:#000;border-radius:6px}.custom-toggle.svelte-1h8xysy{margin-top:8px;width:100%}.custom-toggle.active.svelte-1h8xysy{background:#3b82f6;color:#fff}.custom-angle-panel.svelte-1h8xysy{padding:12px 0;display:flex;flex-direction:column;gap:10px}.custom-angle-panel.svelte-1h8xysy .hint:where(.svelte-1h8xysy){font-size:12px;color:#64748b;margin:4px 0 0}
