@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg-primary: #1a1d21;--bg-secondary: #24282e;--bg-tertiary: #2e3339;--text-primary: #e6edf3;--text-secondary: rgba(255, 255, 255, .7);--text-muted: rgba(255, 255, 255, .5);--border-color: rgba(255, 255, 255, .1);--accent: #f97316;--accent-hover: #ea580c;--canvas-bg: linear-gradient(135deg, #38414f 0%, #3f4a5c 50%, #323c4b 100%)}[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f6f8fa;--bg-tertiary: #eaeef2;--text-primary: #1f2328;--text-secondary: rgba(0, 0, 0, .7);--text-muted: rgba(0, 0, 0, .5);--border-color: rgba(0, 0, 0, .1);--canvas-bg: linear-gradient(135deg, #e8ecf0 0%, #d8dce0 50%, #c8ccd0 100%)}*{margin:0;padding:0;box-sizing:border-box}html{height:100%;background:#1a1d21;color-scheme:dark;touch-action:manipulation;overscroll-behavior:none}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#1a1d21;color:var(--text-primary);height:100%;max-height:100%;display:flex;flex-direction:column;overflow:hidden;overscroll-behavior:none;visibility:visible;padding-top:env(safe-area-inset-top,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);-webkit-user-select:none;user-select:none}input,textarea,.message-content,[contenteditable=true]{-webkit-user-select:text;user-select:text}header{background:var(--bg-primary);padding:6px 20px;display:flex;align-items:center;gap:16px;border-bottom:none;position:relative;z-index:400}[data-theme=light] header{background:#1a1d21}.header-logo{height:44px;width:auto}h1{font-size:2.2rem;font-weight:500;letter-spacing:-.01em;display:inline-flex;align-items:center}h1 .part-maker{color:#f97316}h1 .ai{color:#fff;font-weight:600;margin-left:.15em;text-shadow:0 0 10px #f97316,0 0 20px #f97316,0 0 30px #f97316,0 0 40px #f97316}[data-theme=light] h1 .ai,[data-theme=light] .auth-modal-brand .ai{color:#fff;text-shadow:0 0 8px #f97316,0 0 16px #f97316,0 0 24px #ea580c,0 0 32px #ea580c}.beta-badge{padding:4px 10px;font-size:.65rem;font-weight:600;background:#f9731626;border:1px solid rgba(249,115,22,.4);color:#f97316;border-radius:6px;text-transform:uppercase;letter-spacing:.5px}h1 .beta-badge{margin-left:8px;vertical-align:middle}.conversation-bar{display:flex;align-items:stretch;gap:8px;padding:12px 16px;border-bottom:2px solid rgba(255,255,255,.1);box-shadow:0 6px 20px #00000080;z-index:1;position:relative;background:#2a2f36!important}[data-theme=light] .conversation-bar{border-bottom-color:#0000001a;box-shadow:0 4px 12px #00000026;background:#e8eaed!important}.conversation-dropdown{position:relative;flex:1;min-width:0}.conversation-btn{display:flex;align-items:center;gap:8px;width:100%;background:#4a525c;border:1px solid var(--border-color);border-radius:8px;padding:10px 14px;color:var(--text-primary);font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .2s ease}[data-theme=light] .conversation-btn{background:#fff}.conversation-btn:hover{border-color:var(--accent);background:var(--bg-secondary)}.conversation-btn .conv-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;text-align:left}.conversation-btn .conv-arrow{font-size:10px;opacity:.6;transition:transform .2s ease}.conversation-dropdown.open .conv-arrow{transform:rotate(180deg)}.new-conv-btn{background:#f97316;border:none;border-radius:8px;width:42px;color:#fff;font-size:30px;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;align-self:stretch}.new-conv-btn:hover{background:#dd7826}.new-conv-dropdown{position:relative;display:flex;flex-shrink:0}.new-conv-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:160px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 24px #0000004d;z-index:1000;display:none;overflow:hidden}.new-conv-dropdown.open .new-conv-menu{display:block}.new-conv-option{display:flex;align-items:center;padding:12px 16px;cursor:pointer;color:var(--text-primary);font-size:15px;transition:background .15s ease;white-space:nowrap}.new-conv-option:hover{background:#ed893626;color:var(--accent)}.new-conv-option .option-icon{width:20px;margin-right:8px;text-align:center;opacity:.7}.new-conv-option .option-text{display:flex;flex-direction:column}.new-conv-option .option-subtitle{font-size:13px;color:var(--text-secondary);opacity:.7;margin-top:2px}.conversation-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 24px #0000004d;z-index:1000;display:none;overflow:hidden}.conversation-dropdown.open .conversation-menu{display:block}.conversation-list{max-height:300px;overflow-y:auto}.conversation-item{display:flex;align-items:center;padding:10px 12px;cursor:pointer;transition:background .15s ease;border-bottom:1px solid var(--border-color)}.conversation-item:last-child{border-bottom:none}.conversation-item:hover{background:var(--bg-tertiary)}.conversation-item.active{background:#ed893626;border:2px solid var(--accent);border-radius:6px;margin:2px 4px;padding:8px 10px}.conversation-item .conv-icon{font-size:14px;margin-right:10px;opacity:.7}.conversation-item .conv-thumbnail{width:36px;height:36px;margin-right:10px;border-radius:4px;background:var(--bg-tertiary);object-fit:contain;flex-shrink:0}.conversation-item .conv-thumbnail-placeholder{width:36px;height:36px;margin-right:10px;border-radius:4px;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;font-size:16px;opacity:.5;flex-shrink:0}.conversation-item .conv-info{flex:1;overflow:hidden}.conversation-item .conv-title{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-item .conv-date{font-size:11px;color:var(--text-muted);margin-top:2px}.conversation-item .conv-rename,.conversation-item .conv-delete{opacity:0;padding:6px 8px;border-radius:4px;transition:all .15s ease;cursor:pointer;font-size:16px;margin-left:4px}.conversation-item:hover .conv-rename,.conversation-item:hover .conv-delete{opacity:.5}.conversation-item .conv-rename:hover{opacity:1;background:#a8a29e33;color:#a8a29e}.conversation-item .conv-delete:hover{opacity:1;background:#f8717133;color:#f87171}.conversation-new{display:flex;align-items:center;padding:10px 12px;cursor:pointer;background:var(--bg-tertiary);color:var(--accent);font-weight:500;font-size:13px;transition:background .15s ease}.conversation-new:hover{background:#ed893626}.conversation-new .conv-icon{margin-right:10px}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#1a1d21;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;z-index:10002;transition:opacity .3s ease}.loading-overlay.hidden{opacity:0;pointer-events:none}.loading-title{font-size:2.2rem;font-weight:600;margin:0;color:#e6edf3}.loading-overlay>.beta-badge{margin-top:-16px}#loading-logo-canvas{display:block}.loading-text{color:var(--accent);font-size:14px;font-weight:400;letter-spacing:2px;text-transform:uppercase;margin-top:12px;opacity:.8}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:flex-start;justify-content:center;z-index:10000;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;overflow-y:auto;padding:20px 0}.modal-overlay.open{opacity:1;visibility:visible}.modal-content{background:var(--bg-secondary);border:1px solid rgba(249,115,22,.3);border-radius:12px;padding:24px;max-width:500px;width:90%;box-shadow:0 20px 60px #00000080,0 0 20px #f9731626,0 0 40px #f973161a;margin:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal-title{font-size:18px;font-weight:600;color:var(--text-primary)}.modal-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;font-size:20px;line-height:1}.modal-close:hover{color:var(--text-primary)}.share-url-container{display:flex;gap:8px;margin-bottom:16px}.share-url-input{flex:1;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;padding:10px 12px;color:var(--text-primary);font-size:13px;font-family:monospace}.share-url-input:focus{outline:none;border-color:var(--accent)}.copy-btn{background:var(--accent);border:none;border-radius:6px;padding:10px 16px;color:#fff;font-weight:500;cursor:pointer;transition:background .15s ease;white-space:nowrap}.copy-btn:hover{background:var(--accent-hover)}.copy-btn.copied{background:#22c55e}.share-note{font-size:12px;color:var(--text-secondary);margin:0}.auth-modal-content{max-width:420px;min-height:580px;display:flex;flex-direction:column}.auth-modal-brand{display:flex;align-items:center;justify-content:center;padding:20px 0 16px;font-size:24px;font-weight:500;position:relative}.auth-modal-brand .part-maker{color:var(--accent)}.auth-modal-brand .ai{color:var(--text-primary);text-shadow:0 0 10px #f97316,0 0 20px #f97316}.auth-modal-brand .modal-close{position:absolute;right:-8px;top:-8px;transform:none;font-size:28px;padding:8px}.auth-modal-logo{display:flex;justify-content:center;margin-bottom:20px}.auth-modal-logo img{width:64px;height:64px;object-fit:contain}.auth-tabs{display:flex;gap:4px;background:var(--bg-primary);padding:4px;border-radius:8px;margin-bottom:20px}.auth-tab{flex:1;padding:10px 16px;border:none;background:transparent;color:var(--text-secondary);font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;border-radius:6px;transition:all .15s ease}.auth-tab:hover{color:var(--text-primary)}.auth-tab.active{background:var(--bg-secondary);color:var(--text-primary);box-shadow:0 2px 4px #0003}.auth-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:16px;display:none}.auth-error.visible{display:block}.auth-google-section{margin-top:8px}.btn-google{display:flex;align-items:center;justify-content:center;width:100%;padding:12px 16px;background:#fff;color:#374151;border:1px solid var(--border-color);border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s,border-color .2s,box-shadow .2s}.btn-google:hover{background:#f9fafb;border-color:#9ca3af;box-shadow:0 1px 3px #0000001a}.btn-google:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.btn-google .google-icon{flex-shrink:0;margin-right:8px}#google-error-message{margin-top:8px;text-align:center}.auth-divider{display:flex;align-items:center;margin:16px 0 8px;color:var(--text-muted);font-size:12px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border-color)}.auth-divider span{padding:0 12px;white-space:nowrap}.auth-form{display:flex;flex-direction:column;gap:16px;flex:1}#login-form{justify-content:flex-start;padding-top:20px}#login-form .auth-submit-btn{margin-top:auto}.auth-form-row{display:flex;gap:12px}.auth-form-row .auth-input-group{flex:1}.auth-input-group{display:flex;flex-direction:column;gap:6px}.auth-input-group label{font-size:13px;font-weight:500;color:var(--text-primary)}.auth-input-group input{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:12px 14px;color:var(--text-primary);font-size:14px;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease}.auth-input-group input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #ed893626}.auth-input-group input::placeholder{color:var(--text-secondary);opacity:.7}.auth-input-group input.error{border-color:#ef4444}.auth-hint{font-size:11px;color:var(--text-secondary)}.auth-submit-btn{background:var(--accent);border:none;border-radius:8px;padding:16px 20px;color:#fff;font-size:18px;font-weight:700;font-family:inherit;cursor:pointer;transition:background .15s ease,transform .15s ease;margin-top:12px}.auth-submit-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed}.auth-switch{text-align:center;margin-top:16px;font-size:14px;color:var(--text-secondary)}.auth-switch a{color:var(--accent);text-decoration:none;font-weight:500}.auth-switch a:hover{text-decoration:underline}.auth-success{text-align:center;padding:20px 0}.auth-success-icon{color:#22c55e;margin-bottom:16px}.auth-success h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.auth-success p{color:var(--text-secondary);font-size:14px;margin:0 0 20px}.auth-text-btn{background:none;border:none;color:var(--accent);font-size:14px;font-family:inherit;cursor:pointer;padding:0}.auth-text-btn:hover{text-decoration:underline}[data-theme=light] .auth-modal-content{background:#24282e;border-color:#ffffff1a}[data-theme=light] .auth-modal-brand .ai{color:#e6edf3}[data-theme=light] .auth-modal-brand .modal-close{color:#ffffffb3}[data-theme=light] .auth-modal-brand .modal-close:hover{color:#fff}[data-theme=light] .auth-tabs{background:#1a1d21}[data-theme=light] .auth-tab{color:#ffffffb3}[data-theme=light] .auth-tab:hover{color:#e6edf3}[data-theme=light] .auth-tab.active{background:#24282e;color:#e6edf3}[data-theme=light] .auth-input-group label{color:#e6edf3}[data-theme=light] .auth-input-group input{background:#1a1d21;border-color:#ffffff1a;color:#e6edf3}[data-theme=light] .auth-input-group input::placeholder{color:#ffffff80}[data-theme=light] .auth-input-group input:focus{border-color:var(--accent)}[data-theme=light] .auth-hint,[data-theme=light] .auth-divider{color:#ffffff80}[data-theme=light] .auth-divider:before,[data-theme=light] .auth-divider:after{background:#ffffff1a}[data-theme=light] .auth-switch{color:#ffffffb3}[data-theme=light] .auth-success h3{color:#e6edf3}[data-theme=light] .auth-success p{color:#ffffffb3}.verification-notification{position:fixed;top:80px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:14px 20px;border-radius:10px;font-size:14px;z-index:10001;animation:slideDown .3s ease;box-shadow:0 8px 24px #0006}.verification-notification.success{background:#22c55e26;border:1px solid rgba(34,197,94,.4);color:#22c55e}.verification-notification.error{background:#ef444426;border:1px solid rgba(239,68,68,.4);color:#ef4444}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.logout-item{display:flex;align-items:center;gap:10px;border-top:1px solid var(--border-color);margin-top:8px;padding-top:12px;color:var(--text-secondary)!important;cursor:pointer}.logout-item svg{width:16px;height:16px}.logout-item:hover{background:var(--bg-tertiary);color:var(--text-primary)!important}.theme-toggle{display:flex;align-items:center;gap:8px;margin-left:auto}.theme-switch{position:relative;width:44px;height:24px;background:var(--bg-tertiary);border-radius:12px;border:1px solid var(--border-color);cursor:pointer;transition:all .3s ease}.theme-switch:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background:var(--accent);border-radius:50%;transition:transform .3s ease;box-shadow:0 2px 4px #0000004d}.theme-switch.light:after{transform:translate(20px);background:#f59e0b}.theme-switch:hover{border-color:var(--accent)}.theme-icon{font-size:14px}.header-spacer{flex:1}.signup-btn{padding:8px 16px;background:transparent;border:1.5px solid var(--accent);border-radius:8px;color:var(--accent);font-size:.9rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all .2s ease}.signup-btn:hover{background:var(--accent);color:#fff;transform:translateY(-1px)}.mobile-menu{display:none;position:relative;z-index:1001}.hamburger-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.hamburger-btn:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--accent)}[data-theme=light] .hamburger-btn{color:#ffffffb3;border-color:#fff3}[data-theme=light] .hamburger-btn:hover{background:#ffffff1a;color:#fff;border-color:var(--accent)}[data-theme=light] .settings-btn{color:#ffffffb3;border-color:#fff3}[data-theme=light] .settings-btn:hover{background:#ffffff1a;color:#fff;border-color:var(--accent)}[data-theme=light] .signup-btn{color:var(--accent);border-color:var(--accent)}[data-theme=light] .signup-btn:hover{background:var(--accent);color:#fff}[data-theme=light] .user-btn{color:#ffffffb3;border-color:#fff3}[data-theme=light] .user-btn:hover{background:#ffffff1a;color:#fff;border-color:var(--accent)}.mobile-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:8px;box-shadow:0 8px 24px #0000004d;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .2s ease;z-index:1002}.mobile-menu.open .mobile-menu-dropdown{opacity:1;visibility:visible;transform:translateY(0)}.mobile-menu-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:8px;font-size:.9rem;color:var(--text-primary);cursor:pointer;transition:background .2s ease}.mobile-menu-item:hover{background:var(--bg-tertiary)}.mobile-menu-item.logout-item{color:var(--text-secondary)}.mobile-menu-item.logout-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.mobile-menu-item.mobile-signup-item{color:var(--accent)}.mobile-menu-item.mobile-signup-item:hover{background:#f973161a}.mobile-menu-divider{height:1px;background:var(--border-color);margin:8px 0}.mobile-menu-item .theme-toggle{margin-left:auto}.user-dropdown{position:relative;margin-right:8px}.user-btn{display:flex;align-items:center;gap:8px;padding:6px 12px;background:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-size:.85rem}.user-btn:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--accent)}.user-icon{flex-shrink:0}.user-label{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-caret{flex-shrink:0;opacity:.6;transition:transform .2s ease}.user-dropdown.open .user-caret{transform:rotate(180deg)}.user-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:160px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:8px;box-shadow:0 8px 24px #0000004d;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .2s ease;z-index:1000}.user-dropdown.open .user-menu{opacity:1;visibility:visible;transform:translateY(0)}.user-menu-item{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;font-size:.85rem;color:var(--text-primary);cursor:pointer;transition:background .2s ease}.user-menu-item:hover{background:var(--bg-tertiary)}.user-menu-item.logout-item{color:var(--text-secondary)}.user-menu-item.logout-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.settings-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;margin-right:12px}.settings-btn:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--accent)}.settings-modal-content{width:400px;max-width:90vw}.settings-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color)}.settings-modal-header h2{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.settings-modal-body{padding:16px 24px 24px}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0}.settings-row-label{display:flex;flex-direction:column;gap:2px}.settings-row-title{font-size:.95rem;font-weight:500;color:var(--text-primary)}.settings-row-description{font-size:.8rem;color:var(--text-muted)}.settings-select{padding:8px 12px;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);font-size:.9rem;cursor:pointer;min-width:120px}.settings-select:hover{border-color:var(--accent-color)}.settings-select:focus{outline:none;border-color:var(--accent-color)}.account-modal-content{width:420px;max-width:90vw}.account-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color)}.account-modal-header h2{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.account-modal-body{padding:20px 24px 24px}.account-email-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;margin-bottom:16px;border-bottom:1px solid var(--border-color)}.account-email-label{font-size:.9rem;color:var(--text-muted)}.account-email-value{font-size:.9rem;color:var(--text-primary);font-weight:500}.account-form{display:flex;flex-direction:column;gap:12px}.account-form-row{display:flex;gap:12px}.account-form-row .auth-input-group{flex:1}.account-form-actions{display:flex;align-items:center;justify-content:space-between;margin-top:4px;gap:12px}.account-feedback{font-size:.85rem;color:var(--accent-color);flex:1}.account-feedback.error{color:#ef4444}.account-feedback.success{color:#4ade80}.account-save-btn{background:var(--accent-color);border:none;border-radius:6px;padding:10px 16px;color:#fff;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .15s ease,opacity .15s ease;white-space:nowrap}.account-save-btn:hover{background:var(--accent-hover)}.account-save-btn:disabled{opacity:.6;cursor:not-allowed}.account-password-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--border-color)}.account-section-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 16px}.rename-modal-content{width:360px;max-width:90vw}.rename-modal-body{padding:20px 24px 24px}.rename-modal-actions{display:flex;gap:12px;margin-top:20px}.rename-cancel-btn,.rename-save-btn{flex:1;padding:12px 16px;border-radius:8px;font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s ease}.rename-cancel-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary)}.rename-cancel-btn:hover{background:var(--bg-quaternary, var(--border-color));color:var(--text-primary)}.rename-save-btn{background:var(--accent);border:none;color:#fff}.rename-save-btn:hover{background:var(--accent-hover)}.delete-modal-content{width:360px;max-width:90vw}.delete-modal-body{padding:20px 24px 24px}.delete-modal-message{color:var(--text-secondary);font-size:14px;line-height:1.5;margin:0 0 20px}.delete-modal-actions{display:flex;gap:12px}.delete-cancel-btn,.delete-confirm-btn{flex:1;padding:12px 16px;border-radius:8px;font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s ease}.delete-cancel-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary)}.delete-cancel-btn:hover{background:var(--bg-quaternary, var(--border-color));color:var(--text-primary)}.delete-confirm-btn{background:#ef4444;border:none;color:#fff}.delete-confirm-btn:hover{background:#dc2626}.stale-geometry-modal-content{width:400px;max-width:90vw}.stale-geometry-modal-body{padding:20px 24px 24px;text-align:center}.stale-geometry-warning-icon{color:#f59e0b;margin-bottom:16px}.stale-geometry-message{color:var(--text-primary);font-size:14px;font-weight:500;line-height:1.5;margin:0 0 12px}.stale-geometry-explanation{color:var(--text-muted);font-size:13px;line-height:1.5;margin:0 0 20px}.stale-geometry-actions{display:flex;gap:12px}.stale-geometry-delete-btn,.stale-geometry-close-btn{flex:1;padding:12px 16px;border-radius:8px;font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s ease}.stale-geometry-delete-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary)}.stale-geometry-delete-btn:hover{background:#ef4444;border-color:#ef4444;color:#fff}.stale-geometry-close-btn{background:var(--accent);border:none;color:#fff}.stale-geometry-close-btn:hover{background:var(--accent-hover)}.sketch-warning{background:none;border:none;padding:4px;cursor:pointer;border-radius:4px;flex-shrink:0;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.sketch-warning svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.sketch-warning:hover svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));transform:scale(1.1)}.sketch-item.sketch-stale{border-color:#f59e0b80}.sketch-item.sketch-stale:hover{border-color:#f59e0b}.restore-modal-content{width:400px;max-width:90vw}.restore-modal-body{padding:20px 24px 24px}.restore-modal-message{color:var(--text-secondary);font-size:14px;line-height:1.5;margin:0 0 20px}.restore-modal-actions{display:flex;gap:12px}.restore-cancel-btn,.restore-confirm-btn{flex:1;padding:12px 16px;border-radius:8px;font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s ease}.restore-cancel-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary)}.restore-cancel-btn:hover{background:var(--bg-quaternary, var(--border-color));color:var(--text-primary)}.restore-confirm-btn{background:var(--accent);border:none;color:#fff}.restore-confirm-btn:hover{background:var(--accent-hover)}.status-chip{position:absolute;top:12px;left:50%;transform:translate(-50%);padding:8px 18px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:20px;font-size:.8rem;font-weight:500;color:var(--text-secondary);z-index:100;opacity:0;pointer-events:none;transition:opacity .3s ease;box-shadow:0 4px 12px #0000004d}.status-chip.visible{opacity:1}.status-chip.loading{color:#fbbf24;border-color:#fbbf244d}.status-chip.success{color:#34d399;border-color:#34d3994d}.status-chip.error{color:#f87171;border-color:#f871714d}[data-theme=light] .status-chip.loading{color:#b45309;border-color:#b453094d}[data-theme=light] .status-chip.success{color:#059669;border-color:#0596694d}[data-theme=light] .status-chip.error{color:#dc2626;border-color:#dc26264d}@media (min-width: 769px){#canvas-container.face-view-mode .status-chip{top:70px}}footer{display:flex;justify-content:center;align-items:center;padding:6px 20px;background:var(--bg-primary);border-top:1px solid var(--border-color);font-size:.75rem;position:relative}[data-theme=light] footer{background:#1a1d21;border-top-color:#ffffff1a}[data-theme=light] .footer-copyright,[data-theme=light] .footer-info-btn{color:#ffffff80}[data-theme=light] .footer-info-btn:hover{color:#fffc}.footer-copyright{color:var(--text-muted)}.footer-info-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:color .2s;position:absolute;right:20px}.footer-info-btn:hover{color:var(--text-primary)}.about-modal-content{max-width:400px}.about-branding{text-align:center;padding:24px 0;border-bottom:1px solid var(--border-color);margin-bottom:20px}.about-logo{font-size:32px;font-weight:700;margin-bottom:8px}.brand-partwork{color:#f97316}.brand-ai{color:#fff;text-shadow:0 0 8px #f97316,0 0 16px #f97316}.about-version{font-size:14px;color:var(--text-secondary);margin-bottom:4px}.about-copyright{font-size:12px;color:var(--text-muted)}.about-links{display:flex;justify-content:center;gap:24px;padding:16px 0;border-bottom:1px solid var(--border-color);margin-bottom:20px}.about-links a{color:var(--accent);text-decoration:underline;text-underline-offset:2px;font-size:13px;transition:opacity .2s}.about-links a:hover{opacity:.8}.about-section{margin-bottom:16px}.about-section-title{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.license-item{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:12px;margin-bottom:10px}.license-item:last-child{margin-bottom:0}.license-name{font-weight:600;font-size:14px;color:var(--text-primary);margin-bottom:4px}.license-type{font-size:11px;font-weight:500;color:var(--accent);background:#f973161a;padding:2px 8px;border-radius:4px;display:inline-block;margin-bottom:6px}.license-item a{font-size:12px;color:var(--text-secondary);text-decoration:none;transition:color .2s}.license-item a:hover{color:var(--accent)}.main-container{flex:1;display:flex;overflow:hidden;background:var(--bg-primary)}.content-area{flex:1;display:flex;overflow:hidden}.mobile-conversation-bar{display:none}.chat-panel{width:400px;min-width:280px;background:var(--bg-primary);display:flex;flex-direction:column;flex-shrink:0}.resize-handle{width:4px;background:var(--bg-secondary);cursor:col-resize;position:relative;transition:background .2s ease}.resize-handle:hover,.resize-handle.dragging{background:#f97316}.resize-handle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:40px;background:#fff3;border-radius:1px}.resize-handle:hover:after,.resize-handle.dragging:after{background:#ffffff80}.chat-messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:10px}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.message{max-width:100%;animation:messageIn .3s ease-out}.message.assistant{display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;gap:6px 10px;align-items:start}.message.assistant .message-avatar{grid-column:1;grid-row:1}.message.assistant .message-content{grid-column:2;grid-row:1}.message.assistant .message-timestamp{grid-column:2;grid-row:2}.message-avatar{width:28px;height:28px;border-radius:6px;flex-shrink:0;margin-top:2px}@keyframes messageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message.user{display:grid;grid-template-columns:1fr 28px;grid-template-rows:auto auto;gap:6px 10px;align-items:start;align-self:flex-end}.message.user .message-content{grid-column:1;grid-row:1;background:#2e3238;border:1px solid var(--border-color);border-radius:16px 16px 4px;padding:12px 16px;font-size:.9rem}.message.user .user-avatar{grid-column:2;grid-row:1;width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}[data-theme=light] .message.user .message-content{background:var(--bg-secondary)}.message.system{align-self:center;width:100%}.message.system .message-content{background:#64748b26;border:1px solid rgba(100,116,139,.3);color:#94a3b8;border-radius:8px;padding:8px 12px;font-size:.8rem;font-style:italic;text-align:center}[data-theme=light] .message.system .message-content{background:#64748b1a;color:#64748b}.message.assistant .message-content{background:#f973161f;border:1px solid rgba(249,115,22,.4);color:#fdba74;border-radius:16px 16px 16px 4px;padding:12px 16px;font-size:.9rem}[data-theme=light] .message.assistant .message-content{color:#9a3412}.message.assistant .message-content h2{font-size:1em;font-weight:600;color:#f97316;margin:1em 0 .5em;border-bottom:1px solid rgba(237,137,54,.3);padding-bottom:.25em}.message.assistant .message-content h2:first-child{margin-top:0}.message.assistant .message-content h3{font-size:.95em;font-weight:600;color:#f6ad55;margin:.75em 0 .4em}.message.assistant .message-content p{margin:0 0 .75em}.message.assistant .message-content p:last-child{margin-bottom:0}.message.assistant .message-content strong{color:#f97316;font-weight:600}.message.assistant .message-content ul,.message.assistant .message-content ol{margin:.5em 0;padding-left:1.5em}.message.assistant .message-content li{margin:.25em 0}.message.assistant .message-content code{background:#0000004d;padding:2px 6px;border-radius:4px;font-family:Monaco,Menlo,monospace;font-size:.85em}.message.assistant .message-content pre{background:#0000004d;padding:12px;border-radius:8px;overflow-x:auto;margin:.75em 0}.message.assistant .message-content pre code{background:none;padding:0}.message.error .message-content{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:16px;padding:12px 16px;color:#fca5a5}.message.warning .message-content{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:16px;padding:12px 16px;color:#fcd34d}[data-theme=light] .message.warning .message-content{background:#f59e0b1a;color:#92400e}.message-code{margin-top:10px;background:var(--bg-tertiary);border-radius:10px;overflow:hidden;border:1px solid var(--border-color)}.code-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--bg-secondary);font-size:.7rem;color:var(--text-muted);cursor:pointer;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.code-header:hover{background:var(--bg-tertiary)}.code-content{padding:12px;font-family:JetBrains Mono,SF Mono,Monaco,monospace;font-size:.75rem;white-space:pre-wrap;color:var(--accent);max-height:200px;overflow-y:auto;display:none}.code-content.expanded{display:block}.dimensions-info{margin-top:10px;font-size:.85rem;color:var(--text-muted)}.dimensions-info span{color:var(--accent);font-weight:600}.cost-info{margin-top:8px;font-size:.7rem;color:var(--text-muted);opacity:.7}.message-timestamp{display:flex;align-items:center;font-size:.65rem;color:var(--text-muted);margin-top:2px}.message.user .message-timestamp{grid-column:1;grid-row:2;text-align:right;justify-content:flex-end}.view-history-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:6px;padding:0;background:transparent;border:none;border-radius:3px;cursor:pointer;transition:all .15s ease;vertical-align:middle}.view-history-icon:hover{background:#ffffff1a}.view-history-icon:hover svg{color:#f97316}.view-history-icon:active{transform:scale(.9)}.view-history-icon svg{color:var(--text-secondary)}[data-theme=light] .view-history-icon:hover{background:#0000000d}.feedback-buttons{display:inline-flex;align-items:center;gap:2px;margin-left:8px;vertical-align:middle}.feedback-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;background:transparent;border:none;border-radius:4px;cursor:pointer;transition:all .15s ease}.feedback-btn:hover{background:#ffffff1a}.feedback-btn:active{transform:scale(.9)}[data-theme=light] .feedback-btn:hover{background:#0000000d}#canvas-container.historical-mode .toolbar,#canvas-container.historical-mode .status-chip,#canvas-container.historical-mode #dimensions-panel,#canvas-container.historical-mode #geometry-panel,#canvas-container.historical-mode #geometry-icon,#canvas-container.historical-mode .sketches-panel,#canvas-container.historical-mode .geometry-info-panel{display:none!important}.historical-viewing-overlay{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:100}.historical-header{position:absolute;top:16px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:8px 10px 8px 14px;background:#f97316;border-radius:100px;box-shadow:0 2px 12px #f9731666;pointer-events:auto}.historical-icon{color:#fff;opacity:.9;flex-shrink:0}.historical-text{color:#fff;font-size:.85rem;font-weight:600;white-space:nowrap}.historical-exit-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;color:#f97316;background:#fff;border:none;border-radius:50%;cursor:pointer;transition:all .15s ease;flex-shrink:0}.historical-exit-btn:hover{background:#fff8f5;transform:scale(1.08)}.historical-exit-btn:active{transform:scale(.95)}.historical-restore-btn{display:flex;align-items:center;gap:6px;padding:4px 12px;color:#f97316;background:#fff;border:none;border-radius:14px;cursor:pointer;transition:all .15s ease;font-size:12px;font-weight:600;flex-shrink:0}.historical-restore-btn:hover{background:#fff8f5;transform:scale(1.03)}.historical-restore-btn:active{transform:scale(.97)}.historical-restore-btn svg{width:14px;height:14px}[data-theme=light] .historical-restore-btn{color:#f97316;background:#fff}[data-theme=light] .historical-restore-btn:hover{background:#fff8f5}[data-theme=light] .historical-header{background:#f97316;box-shadow:0 2px 12px #f973164d}[data-theme=light] .historical-exit-btn{color:#f97316;background:#fff}[data-theme=light] .historical-exit-btn:hover{background:#fff8f5}.chat-input-area{padding:16px 20px;border-top:2px solid rgba(255,255,255,.1);box-shadow:0 -6px 20px #00000080;display:flex;flex-direction:column;gap:8px;background:#2a2f36!important;position:relative;z-index:1}[data-theme=light] .chat-input-area{border-top-color:#0000001a;box-shadow:0 -4px 12px #00000026;background:#e8eaed!important}.chat-input-row{display:flex;gap:10px;align-items:stretch}#selection-tags-container{display:none;flex-wrap:wrap;gap:8px;margin-bottom:8px}#selection-tags-container.has-tags{display:flex}#face-tag-container,#feature-tag-container{display:none;flex-wrap:wrap;gap:8px}#face-tag-container.has-tags,#feature-tag-container.has-tags{display:flex}.face-tag{display:inline-flex;align-items:center;gap:6px;background:#ffa5004d;border:2px solid #ffa500;color:orange;padding:6px 12px;border-radius:6px;font-size:.85rem;font-weight:600;width:fit-content}.face-tag .remove{cursor:pointer;opacity:.7;font-size:14px}.face-tag .remove:hover{opacity:1}.chat-input{flex:1;background:#4a525c;border:2px solid var(--border-color);border-radius:12px;padding:14px 20px;color:var(--text-primary);font-size:1rem;resize:none;font-family:inherit;transition:border-color .3s ease,box-shadow .3s ease,height .1s ease;min-height:52px;max-height:150px;overflow-y:auto;line-height:1.5;height:auto}.chat-input:focus{outline:none;border-color:#f97316;box-shadow:0 0 0 2px #ed893640,0 0 12px #ed893626;animation:border-pulse 2s ease-in-out infinite}@keyframes border-pulse{0%,to{box-shadow:0 0 0 2px #ed893640,0 0 12px #ed893626}50%{box-shadow:0 0 0 3px #ed893659,0 0 18px #ed893640}}.chat-input::placeholder{color:var(--text-muted)}[data-theme=light] .chat-input{background:#fff;border-color:#d0d5dd}.send-btn{background:linear-gradient(135deg,#f97316,#dd6b20);color:#fff;border:none;border-radius:12px;padding:12px 20px;cursor:pointer;font-weight:600;font-size:1rem;transition:all .2s ease;box-shadow:0 4px 12px #fb923c4d}.send-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #fb923c66}.send-btn:active:not(:disabled){transform:translateY(0)}.send-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.send-btn-icon{display:block;width:24px;height:24px}.send-btn-text{display:none}.char-counter{font-size:.75rem;color:var(--text-muted);text-align:right;padding:4px 8px 0;transition:color .2s ease}.char-counter.warning{color:#f59e0b}.char-counter.limit{color:#ef4444;font-weight:600}.typing-indicator{display:flex;align-items:center;gap:6px;padding:14px 18px;background:var(--bg-tertiary);border:1px solid rgba(237,137,54,.2);border-radius:16px;width:fit-content}.typing-indicator span,.typing-dots span{width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fbd38d,#f97316,#dd6b20);box-shadow:0 0 8px #ed893680;animation:dot-bounce 1.4s ease-in-out infinite}.typing-indicator span:nth-child(2),.typing-dots span:nth-child(2){animation-delay:.15s}.typing-indicator span:nth-child(3),.typing-dots span:nth-child(3){animation-delay:.3s}@keyframes dot-bounce{0%,60%,to{transform:translateY(0) scale(1);box-shadow:0 0 8px #ed893680}30%{transform:translateY(-8px) scale(1.1);box-shadow:0 0 16px #ed8936cc}}.typing-dots{display:flex;gap:6px}.streaming-cursor{display:inline-block;width:2px;height:1em;background:#f97316;margin-left:2px;animation:cursor-blink .8s infinite;vertical-align:text-bottom}@keyframes cursor-blink{0%,50%{opacity:1}51%,to{opacity:0}}#canvas-container{flex:1;position:relative;background:var(--canvas-bg);overflow:hidden;opacity:0;box-shadow:inset 0 0 50px #ed893626;transition:opacity .3s ease}#canvas-container.ready{opacity:1}#canvas-container.face-view-mode{background:#6b7280;box-shadow:none}canvas{display:block}.info-panel{position:absolute;bottom:20px;left:20px;background:var(--bg-secondary);padding:16px 20px;border-radius:16px;font-size:.8rem;border:1px solid var(--border-color);box-shadow:0 8px 32px #0000004d;max-width:220px;transition:all .3s ease;z-index:11}.info-panel.minimized{display:none}.info-panel p{margin:4px 0;color:var(--text-muted)}.info-panel strong{color:var(--text-primary);font-weight:600}.controls-desktop{display:block}.controls-mobile{display:none}@media (hover: none) and (pointer: coarse){.controls-desktop{display:none}.controls-mobile{display:block}}.info-toggle{position:absolute;top:8px;right:8px;background:var(--bg-tertiary);border:none;border-radius:6px;padding:4px;cursor:pointer;color:var(--text-muted);transition:all .2s ease;display:flex;align-items:center;justify-content:center}.info-toggle:hover{background:var(--bg-secondary);color:var(--accent)}.info-icon{position:absolute;bottom:20px;left:20px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;padding:10px;cursor:pointer;color:var(--text-secondary);transition:all .2s ease;display:none;box-shadow:0 4px 16px #0000004d;z-index:10;align-items:center;justify-content:center}.info-icon:hover{background:var(--bg-tertiary);color:var(--accent);transform:scale(1.05)}.info-icon.visible{display:flex}.geometry-panel{position:absolute;bottom:20px;left:20px;background:var(--bg-secondary);padding:16px 20px;border-radius:16px;font-size:.8rem;border:1px solid var(--border-color);box-shadow:0 8px 32px #0000004d;max-width:320px;min-width:280px;max-height:calc(100vh - 100px);display:none;flex-direction:column;transition:all .3s ease;z-index:10}.geometry-panel.visible{display:flex}#geometry-content{overflow-y:auto;flex:1;min-height:0}.geometry-panel.minimized{display:none}.geometry-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.geometry-panel-title{color:var(--text-primary);font-weight:600;font-size:.85rem}.geometry-toggle{background:var(--bg-tertiary);border:none;border-radius:6px;padding:4px;cursor:pointer;color:var(--text-muted);transition:all .2s ease}.geometry-toggle:hover{background:var(--bg-secondary);color:var(--accent)}.geometry-panel-row{display:flex;justify-content:space-between;margin:6px 0;color:var(--text-muted)}.geometry-panel-row strong{color:var(--text-primary)}.geometry-panel-features{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color)}.geometry-panel-features-title{display:flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:.75rem;margin-bottom:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.geometry-panel-features-title:hover{color:var(--text-primary)}.feature-section-chevron{font-size:.6rem;transition:transform .2s ease}.geometry-panel-features:not(.expanded) .feature-section-chevron{transform:rotate(-90deg)}.feature-section-count{margin-left:auto;font-size:.65rem;color:var(--text-muted);background:var(--bg-tertiary);padding:1px 6px;border-radius:8px}.geometry-panel-features-list{overflow-x:hidden;overflow-y:auto;transition:max-height .2s ease,opacity .2s ease;max-height:200px;opacity:1}.geometry-panel-features-list::-webkit-scrollbar{width:6px}.geometry-panel-features-list::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:3px}.geometry-panel-features-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.geometry-panel-features-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.geometry-panel-features:not(.expanded) .geometry-panel-features-list{max-height:0;opacity:0;margin-bottom:0;overflow:hidden}.geometry-tabs{display:none}.geometry-feature-item{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;border-radius:6px;margin-bottom:4px;cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.geometry-feature-item:hover{filter:brightness(1.2)}.geometry-feature-item:active{filter:brightness(.9)}.geometry-feature-item.hole{background:#ed893626}.geometry-feature-item.hole.selected{background:#ed893666;box-shadow:inset 0 0 0 2px #ed8936}.geometry-feature-item.boss{background:#8b5cf626}.geometry-feature-item.boss.selected{background:#8b5cf666;box-shadow:inset 0 0 0 2px #8b5cf6}.geometry-feature-item.dome{background:#3b82f626}.geometry-feature-item.dome.selected{background:#3b82f666;box-shadow:inset 0 0 0 2px #3b82f6}.geometry-feature-item.counterbore{background:#10b98126}.geometry-feature-item.counterbore.selected{background:#10b98166;box-shadow:inset 0 0 0 2px #10b981}.geometry-feature-item.face.planar{background:#4169e126}.geometry-feature-item.face.planar.selected{background:#4169e166;box-shadow:inset 0 0 0 2px #4169e1}.geometry-feature-item.face.cylindrical{background:#f59e0b26}.geometry-feature-item.face.cylindrical.selected{background:#f59e0b66;box-shadow:inset 0 0 0 2px #f59e0b}.geometry-feature-item.face.conical{background:#ec489926}.geometry-feature-item.face.conical.selected{background:#ec489966;box-shadow:inset 0 0 0 2px #ec4899}.geometry-feature-id{color:var(--accent);font-weight:600}.geometry-feature-size{color:var(--text-secondary)}.geometry-icon{position:absolute;bottom:80px;left:20px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;padding:10px;cursor:pointer;color:var(--text-secondary);transition:all .2s ease;display:none;box-shadow:0 4px 16px #0000004d;z-index:10;align-items:center;justify-content:center}.geometry-icon:hover{background:var(--bg-tertiary);color:var(--accent);transform:scale(1.05)}.geometry-icon.visible{display:flex}.sketches-panel{position:fixed;bottom:20px;right:20px;width:280px;max-height:calc(100vh - 100px);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 32px #0000004d;z-index:200;display:none;flex-direction:column;overflow:hidden}.sketches-panel.visible{display:flex!important}.sketches-panel-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.sketches-title-group{display:flex;align-items:center;gap:8px}.sketches-panel-title{font-weight:600;font-size:14px;color:var(--text-primary)}.sketches-close{background:none;border:none;color:var(--text-muted);font-size:20px;cursor:pointer;padding:0;line-height:1}.sketches-close:hover{color:var(--text-primary)}.sketches-list{flex:1;overflow-y:auto;padding:8px;max-height:240px}.sketches-empty{text-align:center;color:var(--text-muted);font-size:13px;padding:24px 16px}.sketch-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;margin-bottom:6px;cursor:pointer;transition:all .15s ease}.sketch-item:hover{background:var(--bg-tertiary);border-color:var(--accent)}.sketch-item.selected{background:#06b6d426;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.sketch-item.selected .sketch-delete{opacity:1}.sketch-item:last-child{margin-bottom:0}.sketch-icon{width:24px;height:24px;color:var(--accent);flex-shrink:0}.sketch-icon svg{width:100%;height:100%}.sketch-info{flex:1;min-width:0}.sketch-name{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sketch-details{font-size:11px;color:var(--text-muted);margin-top:2px}.sketch-edit,.sketch-delete{background:none;border:none;color:var(--text-muted);padding:4px;cursor:pointer;border-radius:4px;opacity:0;transition:all .15s ease;flex-shrink:0}.sketch-item:hover .sketch-edit,.sketch-item:hover .sketch-delete,.sketch-item.selected .sketch-edit,.sketch-item.selected .sketch-delete{opacity:1}.sketch-edit:hover{background:var(--accent);color:#fff}.sketch-delete:hover{background:var(--error);color:#fff}.sketches-add-btn{display:flex;align-items:center;justify-content:center;background:var(--accent);color:var(--bg-primary);border:none;border-radius:6px;font-size:18px;font-weight:600;cursor:pointer;transition:all .15s ease;width:28px;height:28px;line-height:1}.sketches-add-btn:hover{filter:brightness(1.1)}#sketches-create-view{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.sketches-create-content{flex:1;overflow-y:auto;padding:12px}.sketches-create-content .operation-section{margin-bottom:12px}.sketches-create-content .operation-section:last-child{margin-bottom:0}#sketches-create-view>.operation-actions{flex-shrink:0;padding:12px;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.sketch-type-buttons{display:flex;flex-wrap:wrap;gap:6px}.sketch-type-btn{flex:1 1 calc(33.33% - 4px);min-width:60px;max-width:calc(33.33% - 4px);display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .15s ease;color:var(--text-secondary)}.sketch-type-btn svg{width:24px;height:24px}.sketch-type-btn span{font-size:11px;font-weight:500}.sketch-type-btn:hover{background:var(--bg-tertiary);border-color:var(--text-muted)}.sketch-type-btn.active{background:var(--accent);color:var(--bg-primary);border-color:var(--accent)}.sketch-name-input{width:100%;padding:8px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:13px}.sketch-name-input:focus{outline:none;border-color:var(--accent)}.sketch-name-input::placeholder{color:var(--text-muted)}.sketch-create-hint{font-size:12px;color:var(--text-muted);font-style:italic;margin:8px 0 0;text-align:center}#sketches-edit-view{display:flex;flex-direction:column;flex:1;overflow:hidden}.sketches-edit-content{flex:1;overflow-y:auto;padding:12px}.sketches-edit-content .operation-section{margin-bottom:12px;padding:12px;background:var(--bg-secondary);border-radius:8px}.sketches-edit-content .operation-section:last-child{margin-bottom:0}.sketch-edit-actions{display:flex;gap:8px;flex-shrink:0;border-top:1px solid var(--border-color);padding:12px;background:var(--bg-tertiary)}.sketch-shapes-list{display:flex;flex-direction:column;gap:4px;max-height:200px;overflow-y:auto;overflow-x:hidden}.sketch-shapes-empty{font-size:12px;color:var(--text-muted);text-align:center;padding:12px;font-style:italic}.sketch-shape-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .15s ease}.sketch-shape-item:hover{background:var(--bg-tertiary)}.sketch-shape-item.selected{border-color:var(--accent);background:#06b6d41a}.sketch-shape-item .shape-op{width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:var(--text-muted);background:var(--bg-secondary);border-radius:4px}.sketch-shape-item .shape-op.add{color:var(--success, #22c55e)}.sketch-shape-item .shape-op.subtract{color:var(--error, #ef4444)}.sketch-shape-item .shape-op.intersect{color:var(--accent)}.sketch-shape-item .shape-type{flex:1;font-size:13px;color:var(--text-primary);text-transform:capitalize;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.sketch-shape-item .shape-delete{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:4px;font-size:16px;transition:all .15s ease}.sketch-shape-item .shape-delete:hover{background:var(--error, #ef4444);color:#fff}.face-grid-label{font-size:10px;font-weight:500;color:var(--text-muted);background:var(--bg-secondary);padding:1px 4px;border-radius:3px;pointer-events:none;white-space:nowrap}#canvas-container.face-view-mode .face-grid-label{color:var(--sketch-grid-label);background:var(--sketch-grid-label-bg)}.face-grid-unit{font-size:11px;font-weight:600;color:var(--accent);background:var(--bg-tertiary);padding:2px 6px}#canvas-container.face-view-mode .face-grid-unit{color:var(--sketch-grid-label);background:var(--sketch-grid-label-bg)}.face-view-indicator{position:absolute;top:16px;left:16px;display:flex;align-items:center;gap:8px;background:var(--bg-secondary);border:2px solid var(--accent);padding:8px 16px;border-radius:24px;font-size:13px;font-weight:600;color:var(--accent);z-index:1000;box-shadow:0 4px 16px #06b6d44d;animation:face-view-pulse 2s ease-in-out infinite;pointer-events:auto}@keyframes face-view-pulse{0%,to{box-shadow:0 4px 16px #06b6d44d}50%{box-shadow:0 4px 24px #06b6d480}}.face-view-indicator svg{width:16px;height:16px}.face-view-hint{font-size:11px;font-weight:400;color:var(--text-muted);margin-left:4px}.face-view-exit-btn{background:var(--accent);color:var(--bg-primary);border:none;padding:6px 14px;border-radius:14px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}.face-view-exit-btn:hover{filter:brightness(1.1);transform:scale(1.02)}.face-view-indicator-mobile{top:8px;left:8px;right:auto;transform:none;padding:4px 8px;gap:4px;font-size:11px;border-radius:16px;border-width:1px;animation:none;box-shadow:0 2px 8px #0000004d}.face-view-indicator-mobile svg{width:12px;height:12px}.face-view-indicator-mobile .face-view-exit-btn{padding:3px 8px;font-size:10px;border-radius:10px}.face-view-close-btn{position:absolute;top:16px;right:16px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#1e1e32e6;border:1px solid rgba(255,255,255,.2);border-radius:50%;cursor:pointer;z-index:1000;transition:all .15s ease;pointer-events:auto}.face-view-close-btn svg{width:20px;height:20px;stroke:#ffffffb3}.face-view-close-btn:hover{background:#ef4444cc;border-color:#ef444480}.face-view-close-btn:hover svg{stroke:#fff}@media (max-width: 768px){.face-view-close-btn{top:8px;right:8px;width:44px;height:44px;background:#ef4444e6;border-color:#ef444480}.face-view-close-btn svg{width:24px;height:24px;stroke:#fff}}.face-view-save-btn{position:absolute;top:16px;right:64px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#1e1e32e6;border:1px solid rgba(255,255,255,.2);border-radius:50%;cursor:pointer;z-index:1000;transition:all .15s ease;pointer-events:auto}.face-view-save-btn svg{width:20px;height:20px;stroke:#ffffffb3}.face-view-save-btn:hover{background:#22c55ecc;border-color:#22c55e80}.face-view-save-btn:hover svg{stroke:#fff}@media (max-width: 768px){.face-view-save-btn{top:8px;right:60px;width:44px;height:44px;background:#22c55ee6;border-color:#22c55e80}.face-view-save-btn svg{width:24px;height:24px;stroke:#fff}}.toolbar{position:absolute;top:16px;right:16px;display:flex;gap:4px;background:var(--bg-secondary);padding:5px;border-radius:12px;border:1px solid var(--border-color);box-shadow:0 4px 24px #0003;z-index:300}.tool-btn{background:transparent;color:var(--text-muted);border:none;padding:8px;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;position:relative}.tool-btn svg{width:20px;height:20px}.tool-btn:after{content:attr(data-tooltip);position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:8px;padding:6px 10px;background:var(--bg-primary);color:var(--text-primary);font-size:11px;font-weight:500;white-space:nowrap;border-radius:6px;border:1px solid var(--border-color);box-shadow:0 4px 12px #0000004d;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;pointer-events:none;z-index:100}.tool-btn:hover:after{opacity:1;visibility:visible}.tool-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.tool-btn.active{background:linear-gradient(135deg,#f97316,#dd6b20);color:#fff;box-shadow:0 2px 8px #fb923c4d}.tool-btn:disabled{opacity:.4;cursor:not-allowed}.toolbar-dropdown{position:relative}.toolbar-dropdown-btn{display:flex;align-items:center;gap:6px;background:transparent;color:var(--text-secondary);border:none;padding:8px 12px;border-radius:8px;cursor:pointer;transition:all .2s ease;font-family:inherit;font-size:13px;font-weight:500}.toolbar-dropdown-btn svg:first-child{width:18px;height:18px}.toolbar-dropdown-btn .dropdown-label{display:inline}.toolbar-dropdown-btn .dropdown-caret{width:12px;height:12px;opacity:.6;transition:transform .2s ease}.toolbar-dropdown.open .toolbar-dropdown-btn .dropdown-caret{transform:rotate(180deg)}.toolbar-dropdown-btn:hover,.toolbar-dropdown.open .toolbar-dropdown-btn{background:var(--bg-tertiary);color:var(--text-primary)}.toolbar-dropdown-btn:disabled{opacity:.4;cursor:not-allowed}.toolbar-dropdown-btn:disabled:hover{background:transparent;color:var(--text-secondary)}.toolbar-btn{display:flex;align-items:center;gap:6px;background:transparent;color:var(--text-secondary);border:none;padding:8px 12px;border-radius:8px;cursor:pointer;transition:all .2s ease;font-family:inherit;font-size:13px;font-weight:500}.toolbar-btn svg{width:18px;height:18px}.toolbar-btn .dropdown-label{display:inline}.toolbar-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.toolbar-btn.active{background:var(--bg-tertiary);color:var(--accent-cyan)}@media (hover: hover) and (pointer: fine){.toolbar-btn[data-tooltip],.toolbar-dropdown-btn[data-tooltip]{position:relative}.toolbar-btn[data-tooltip]:after,.toolbar-dropdown-btn[data-tooltip]:after{content:attr(data-tooltip);position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:8px;padding:6px 10px;background:var(--bg-primary);color:var(--text-primary);font-size:12px;white-space:nowrap;border-radius:6px;border:1px solid var(--border-color);box-shadow:0 4px 12px #0000004d;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;pointer-events:none;z-index:10000}.toolbar-btn[data-tooltip]:hover:after,.toolbar-dropdown-btn[data-tooltip]:hover:after{opacity:1;visibility:visible}.toolbar-dropdown.open .toolbar-dropdown-btn[data-tooltip]:after{opacity:0;visibility:hidden}}.toolbar-dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:180px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;box-shadow:0 8px 24px #0006;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .2s ease;z-index:1000;overflow:hidden}.toolbar-dropdown.open .toolbar-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}#export-dropdown .toolbar-dropdown-menu{left:auto;right:0}.toolbar-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:transparent;border:none;color:var(--text-secondary);font-size:13px;font-family:inherit;cursor:pointer;transition:all .15s ease;text-align:left}.toolbar-dropdown-item svg{width:18px;height:18px;flex-shrink:0}.toolbar-dropdown-item span:first-of-type{flex:1}.toolbar-dropdown-item .shortcut{font-size:11px;color:var(--text-muted);background:var(--bg-tertiary);padding:2px 6px;border-radius:4px;font-family:JetBrains Mono,monospace}.toolbar-dropdown-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.toolbar-dropdown-item.active{background:#f9731626;color:var(--accent)}.toolbar-dropdown-item.active:hover{background:#f9731640}.toolbar-dropdown-item.active svg{color:var(--accent)}.toolbar-dropdown-divider{height:1px;background:var(--border-color);margin:4px 0}.dropdown-divider{height:1px;background:var(--border-color);margin:4px 8px}.advanced-panel-hint{font-size:.75rem;color:var(--text-muted);margin:0 0 12px;padding:8px 12px 0}.advanced-prompts-list{display:flex;flex-direction:column;gap:12px;padding:0 12px}.advanced-prompt-group{display:flex;flex-direction:column;gap:6px}.advanced-prompt-group-title{font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}.advanced-prompt-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:10px 12px;text-align:left;font-size:.8rem;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.advanced-prompt-btn:hover{background:var(--bg-secondary);border-color:#ed893666;color:var(--text-primary)}.dimension-label{background:#60a5faf2;color:#fff;padding:5px 10px;border-radius:6px;font-size:11px;font-weight:600;font-family:JetBrains Mono,monospace;white-space:nowrap;pointer-events:none;box-shadow:0 2px 8px #0000004d}.dimension-label.x-axis{background:#f87171f2}.dimension-label.y-axis{background:#34d399f2}.dimension-label.z-axis{background:#60a5faf2}.dimension-label-hidden{display:none!important}.face-label{color:#fff;padding:5px 12px;border-radius:6px;font-size:10px;font-weight:600;font-family:Inter,-apple-system,sans-serif;white-space:nowrap;pointer-events:none;opacity:.9;text-transform:uppercase;letter-spacing:.08em;box-shadow:0 2px 8px #0000004d}.face-label-hidden{display:none!important}.feature-label{background:#ed8936f2;color:#fff;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:500;font-family:Inter,-apple-system,sans-serif;white-space:nowrap;pointer-events:none;box-shadow:0 2px 8px #0006;display:flex;flex-direction:column;align-items:center;gap:2px}.feature-label .feature-id{font-weight:700;font-size:10px}.feature-label .feature-size{font-size:12px;opacity:.9}.feature-label-hidden{display:none!important}.feature-label-selected{outline:3px solid #fff;outline-offset:2px;transform:scale(1.05);z-index:10}.feature-tag{display:inline-flex;align-items:center;gap:6px;background:#ed89364d;border:2px solid #ed8936;color:#ed8936;padding:6px 12px;border-radius:6px;font-size:.85rem;font-weight:600;width:fit-content}.feature-tag .remove{cursor:pointer;opacity:.7;font-size:14px}.feature-tag .remove:hover{opacity:1}.measurement-label{background:#a855f7f2;color:#fff;padding:5px 10px;border-radius:6px;font-size:11px;font-weight:600;font-family:JetBrains Mono,monospace;white-space:nowrap;pointer-events:none;box-shadow:0 2px 8px #0000004d}.welcome-message{text-align:center;color:var(--text-muted);padding:50px 24px}.welcome-message h2{color:var(--text-primary);font-size:1.2rem;font-weight:600;margin-bottom:12px;letter-spacing:-.02em}.welcome-message p{margin:8px 0;font-size:.9rem;line-height:1.5}.welcome-message code{background:var(--bg-tertiary);padding:2px 8px;border-radius:6px;font-size:.85rem}.example-prompts{margin-top:28px;display:flex;flex-direction:column;gap:10px}.example-prompt{background:var(--bg-tertiary);border:1px solid var(--border-color);border-left:3px solid rgba(249,115,22,.5);border-radius:12px;padding:14px 18px;cursor:pointer;text-align:left;font-size:.85rem;color:var(--text-secondary);transition:all .2s ease}.example-prompt:hover{background:var(--bg-secondary);border-color:#ed893666;color:var(--text-primary);transform:translate(4px)}.show-more-examples-btn{margin-top:16px;padding:8px 16px;background:transparent;border:1px solid var(--border-color);border-radius:20px;font-size:.8rem;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.show-more-examples-btn:hover{border-color:var(--accent);color:var(--text-primary)}.example-prompts.advanced{margin-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.example-prompts.advanced.hidden{display:none}.example-prompts.advanced .example-prompt{background:var(--bg-tertiary);border:1px solid var(--border-color);border-left:3px solid rgba(249,115,22,.5);padding:10px 14px;font-size:.8rem;border-radius:10px;color:var(--text-secondary)}.example-prompts.advanced .example-prompt:hover{background:var(--bg-secondary);border-color:#ed893666;color:var(--text-primary);transform:translateY(-2px)}@media (max-width: 500px){.example-prompts.advanced{grid-template-columns:1fr}}.toolbar-divider{width:1px;height:24px;background:var(--border-color);margin:0 4px;align-self:center}.mobile-wizard{display:none}.mobile-wizard.open{display:block;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg-secondary);border-radius:12px;box-shadow:0 8px 32px #0000004d;z-index:1000;min-width:320px;max-width:400px;animation:wizardFadeIn .2s ease-out}@keyframes wizardFadeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.mobile-wizard .wizard-drag-handle{display:none}.mobile-wizard .wizard-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color)}.mobile-wizard .wizard-header-center{display:flex;flex-direction:column;align-items:center;gap:4px;font-weight:600;font-size:16px}.mobile-wizard .wizard-step-indicator{opacity:.6;font-size:14px;font-weight:400}.mobile-wizard .wizard-header-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;border:none;background:var(--bg-tertiary);color:var(--text-primary);border-radius:6px;cursor:pointer;font-size:14px;transition:background .2s}.mobile-wizard .wizard-header-btn:hover{background:var(--bg-hover)}.mobile-wizard .wizard-header-btn.apply{background:var(--success, #22c55e);color:#fff}.mobile-wizard .wizard-header-btn.apply:hover{background:#16a34a}.mobile-wizard .wizard-header-btn svg{width:16px;height:16px}.mobile-wizard .wizard-header-btn.icon-only span{display:none}.mobile-wizard .wizard-content{padding:12px 20px 20px}.mobile-wizard .wizard-step-title{font-size:14px;font-weight:500;margin-bottom:12px;color:var(--text-secondary)}.mobile-wizard .wizard-input-row{display:flex;align-items:center;gap:12px;margin-bottom:16px}.mobile-wizard .wizard-dimension-input{flex:1;padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:16px;font-family:inherit}.mobile-wizard .wizard-dimension-input:focus{outline:none;border-color:var(--accent-color)}.mobile-wizard .wizard-unit-toggle{display:flex;border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.mobile-wizard .wizard-unit-btn{padding:10px 14px;border:none;background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;font-size:14px;transition:all .2s}.mobile-wizard .wizard-unit-btn.active{background:var(--accent-color);color:#fff}.mobile-wizard .wizard-quick-picks{display:flex;flex-wrap:wrap;gap:8px}.mobile-wizard .wizard-quick-pick{padding:8px 14px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;font-size:14px;transition:all .2s}.mobile-wizard .wizard-quick-pick:hover{background:var(--bg-hover)}.mobile-wizard .wizard-quick-pick.active{border-color:var(--accent-color);background:var(--accent-color);color:#fff}.operation-backdrop{display:none}.operation-panel{position:fixed;top:60px;right:20px;bottom:20px;width:260px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 32px #0006;z-index:300;display:none}.operation-panel.open{display:flex;flex-direction:column;animation:panelSlideIn .2s ease-out}@keyframes panelSlideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.operation-panel-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);flex-shrink:0}.operation-panel-content{flex:1;overflow-y:auto;min-height:0}.operation-panel-title{font-size:14px;font-weight:600;color:var(--text-primary)}.operation-close{background:none;border:none;color:var(--text-muted);font-size:20px;cursor:pointer;padding:0;line-height:1;transition:color .15s ease}.operation-close:hover{color:var(--text-primary)}.operation-section{padding:12px 16px;border-bottom:1px solid var(--border-color);overflow:visible}.operation-section:last-of-type{border-bottom:none}.operation-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:8px}.unit-toggle{display:flex;gap:4px;background:var(--bg-primary);padding:3px;border-radius:6px}.unit-btn{flex:1;padding:6px 12px;border:none;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;border-radius:4px;transition:all .15s ease}.unit-btn:hover{color:var(--text-primary)}.unit-btn.active{background:var(--accent);color:#fff}.operation-face-display{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;padding:10px 12px;font-size:13px;color:var(--text-muted);text-align:center}.operation-face-display.selected{color:var(--accent);border-color:var(--accent);background:#ed89361a;font-weight:500}.operation-select{width:100%;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;padding:10px 30px 10px 12px;font-size:13px;color:var(--text-primary);cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23999' d='M3 4.5L6 8l3-3.5H3z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.operation-select.compact{width:auto;min-width:70px;padding:8px 28px 8px 10px}.operation-select:hover{border-color:var(--text-muted)}.operation-select option{background:var(--bg-secondary);color:var(--text-primary);padding:8px}.operation-select optgroup{background:var(--bg-primary);color:var(--text-secondary);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.hole-type-buttons{display:flex;flex-wrap:wrap;gap:8px}.hole-type-btn{flex:1 1 calc(33.333% - 6px);min-width:60px;max-width:calc(33.333% - 6px);display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 8px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.hole-type-btn svg{width:24px;height:24px}.hole-type-btn span{font-size:10px;font-weight:500}.hole-type-btn:hover{border-color:var(--accent);color:var(--text-primary)}.hole-type-btn.active{background:#ed893626;border-color:var(--accent);color:var(--accent)}.drill-point-buttons{display:flex;gap:8px}.drill-point-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 6px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.drill-point-btn svg{width:20px;height:20px}.drill-point-btn span{font-size:10px;font-weight:500}.drill-point-btn:hover{border-color:var(--accent);color:var(--text-primary)}.drill-point-btn.active{background:#ed893626;border-color:var(--accent);color:var(--accent)}.hole-fit-toggle{display:flex;gap:8px}.fit-type-btn{flex:1;padding:8px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:12px;font-weight:500;transition:all .15s ease}.fit-type-btn:hover{border-color:var(--accent);color:var(--text-primary)}.fit-type-btn.active{background:#ed893626;border-color:var(--accent);color:var(--accent)}.readonly-input{background:var(--bg-secondary)!important;color:var(--text-secondary)!important;cursor:default!important}.operation-input-group{margin-bottom:10px;overflow:visible}.operation-input-group:last-child{margin-bottom:0}.operation-position-inputs{display:flex;gap:8px;margin-top:10px;max-width:220px}.operation-input-group.inline{flex:1;min-width:0;margin-bottom:0}.operation-input-group.inline label{color:#0f8;font-weight:600;font-size:11px}.operation-input-group.inline .input-with-unit{width:100%}.operation-input-group.inline .input-with-unit input{min-width:0;flex:1;width:60px}.operation-input-row{display:flex;gap:10px;margin-bottom:12px}.operation-input-row:last-child{margin-bottom:0}.operation-input-group.compact{flex:1;margin-bottom:0}.operation-input-group.compact input{width:100%;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;padding:8px 10px;color:var(--text-primary);font-size:13px;font-family:JetBrains Mono,monospace}.operation-input-group.compact input:focus{outline:none;border-color:var(--accent)}.operation-input-group label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:4px}.operation-section .operation-input-group,.operation-section .operation-checkbox{margin-left:12px}.operation-section .operation-input-group .input-with-unit,.operation-section .operation-input-group .input-with-dropdown,.operation-section .operation-input-group .operation-select{width:100%}.input-with-unit,.input-with-dropdown{display:flex;align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;position:relative}.input-with-unit{overflow:hidden}.input-with-unit input,.input-with-dropdown input{flex:1;background:transparent;border:none;padding:8px 10px;color:var(--text-primary);font-size:13px;font-family:JetBrains Mono,monospace;min-width:0;text-align:right;-moz-appearance:textfield}.input-with-unit input::-webkit-outer-spin-button,.input-with-unit input::-webkit-inner-spin-button,.input-with-dropdown input::-webkit-outer-spin-button,.input-with-dropdown input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input-with-unit input:focus,.input-with-dropdown input:focus{outline:none}.input-with-unit:focus-within,.input-with-dropdown:focus-within{border-color:var(--accent)}.hole-unit-label,.boss-unit-label{padding:8px 0;font-size:12px;color:var(--text-muted);width:36px;flex-shrink:0;text-align:center;background:var(--bg-tertiary);border-left:1px solid var(--border-color)}#boss-hole-options{padding-top:10px}#boss-hole-depth-group{margin-top:10px}.dropdown-toggle{background:var(--bg-secondary);border:none;border-left:1px solid var(--border-color);padding:8px 10px;color:var(--text-muted);cursor:pointer;transition:all .15s ease;border-radius:0 5px 5px 0}.input-with-dropdown .hole-unit-label,.input-with-dropdown .boss-unit-label{border-radius:0}.input-with-dropdown .dropdown-toggle{border-radius:0 5px 5px 0}.dropdown-toggle:hover{background:var(--accent);color:var(--text-primary)}.input-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 8px 24px #0000004d;max-height:200px;overflow-y:auto;z-index:1000;display:none;margin-top:4px}.input-dropdown.open{display:block}.input-dropdown.open-up{bottom:100%;top:auto;margin-top:0;margin-bottom:4px}.dropdown-item{padding:8px 12px;font-size:12px;color:var(--text-secondary);cursor:pointer;transition:all .1s ease}.dropdown-item:hover{background:#ed893626;color:var(--accent)}.operation-checkbox{display:flex;align-items:center;gap:8px;margin-top:10px}.operation-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.operation-checkbox label{font-size:13px;color:var(--text-secondary);cursor:pointer}.operation-actions{display:flex;gap:8px;padding:12px 16px;background:var(--bg-tertiary);border-top:1px solid var(--border-color);flex-shrink:0}.operation-btn{flex:1;padding:10px 16px;border:none;border-radius:6px;font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s ease}.operation-btn.cancel{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color)}.operation-btn.cancel:hover{background:var(--bg-primary);color:var(--text-primary)}.operation-btn.ok{background:var(--accent);color:#fff}.operation-btn.ok:hover:not(:disabled){background:var(--accent-hover)}.operation-btn.ok:disabled{opacity:.5;cursor:not-allowed}.operation-edge-display{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;padding:10px 12px;font-size:13px;color:var(--text-muted);min-height:42px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.operation-edge-display .no-selection{color:var(--text-muted);font-style:italic}.edge-tag{display:inline-flex;align-items:center;gap:4px;background:#ed893626;border:1px solid var(--accent);color:var(--accent);padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500}.edge-remove{background:none;border:none;color:var(--accent);font-size:14px;line-height:1;cursor:pointer;padding:0 0 0 2px;opacity:.7;transition:opacity .15s ease}.edge-remove:hover{opacity:1}.edge-selection-hint{font-size:11px;color:var(--text-muted);margin-top:6px}.clear-selection-btn{margin-top:8px;padding:6px 12px;background:transparent;border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);font-size:11px;font-family:inherit;cursor:pointer;transition:all .15s ease}.clear-selection-btn:hover{border-color:var(--text-muted);color:var(--text-primary)}.fillet-unit-label,.chamfer-unit-label{padding:8px 10px;font-size:12px;color:var(--text-muted);background:var(--bg-tertiary);border-left:1px solid var(--border-color)}.edge-tag.chamfer-edge-tag{background:#3b82f626;border-color:#3b82f6;color:#3b82f6}.edge-tag.chamfer-edge-tag .edge-remove{color:#3b82f6}.extrude-unit-label{padding:8px 0;font-size:12px;color:var(--text-muted);width:36px;flex-shrink:0;text-align:center;background:var(--bg-tertiary);border-left:1px solid var(--border-color)}.input-with-dropdown .extrude-unit-label{border-radius:0}.direction-toggle{display:flex;gap:8px}.direction-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease;font-family:inherit;font-size:13px;font-weight:500}.direction-btn .direction-icon{font-size:16px;font-weight:600}.direction-btn:hover{border-color:var(--accent);color:var(--text-primary)}.direction-btn.active[id=extrude-dir-add]{background:#22c55e26;border-color:#22c55e;color:#22c55e}.direction-btn.active[id=extrude-dir-cut]{background:#ef444426;border-color:#ef4444;color:#ef4444}.source-toggle{display:flex;gap:8px}.source-btn{flex:1;padding:8px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease;font-family:inherit;font-size:13px;font-weight:500}.source-btn:hover{border-color:var(--accent);color:var(--text-primary)}.source-btn.active{background:var(--accent);border-color:var(--accent);color:var(--bg-primary)}.operation-select{width:100%;padding:10px 32px 10px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-family:inherit;font-size:13px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239ca3af' d='M3 4.5L6 7.5L9 4.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.operation-select:focus{outline:none;border-color:var(--accent)}.operation-select option{background:var(--bg-secondary);color:var(--text-primary)}.shell-unit-label{padding:8px 10px;font-size:12px;color:var(--text-muted);background:var(--bg-tertiary);border-left:1px solid var(--border-color)}.edge-tag.shell-face-tag{background:#f59e0b26;border-color:#f59e0b;color:#f59e0b}.edge-tag.shell-face-tag .edge-remove{color:#f59e0b}.mobile-nav{display:none;background:var(--bg-primary);padding:0;gap:0}.mobile-nav-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 16px;background:var(--bg-tertiary);border:none;border-radius:0;color:var(--text-muted);font-size:16px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s ease;position:relative}.mobile-nav-btn:hover{color:var(--text-secondary)}.mobile-nav-btn.active{background:var(--bg-secondary);color:var(--accent)}.mobile-nav-btn svg{width:20px;height:20px}.mobile-nav-dots{display:flex;align-items:center;gap:4px}.mobile-nav-dots span{width:8px;height:8px;border-radius:50%;background:var(--text-muted);box-shadow:none;animation:dot-bounce 1.4s ease-in-out infinite}.mobile-nav-dots span:nth-child(2){animation-delay:.15s}.mobile-nav-dots span:nth-child(3){animation-delay:.3s}@media (max-width: 1024px){.chat-panel{width:320px;min-width:280px}.toolbar{gap:2px;padding:4px}.tool-btn{width:36px;height:36px}.conversation-item .conv-rename,.conversation-item .conv-delete{opacity:.6}}@media (max-width: 768px){.mobile-nav{display:flex}header{padding:4px 12px;gap:8px}.header-logo{height:32px}h1{font-size:2.1rem}.header-spacer{flex:1}.signup-btn,.settings-btn,.user-dropdown,header h1 .beta-badge{display:none}.mobile-menu{display:block}.main-container{flex-direction:column}.mobile-conversation-bar{display:flex;align-items:stretch;gap:8px;padding:10px 12px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);z-index:200;position:relative;flex-shrink:0}.content-area{flex:1;position:relative;z-index:25}.chat-panel .conversation-bar{display:none}.chat-panel{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;min-width:unset;z-index:20;transform:translate(-100%);transition:transform .3s ease}.chat-panel.mobile-active{transform:translate(0)}.resize-handle{display:none}#canvas-container{position:absolute;top:0;left:0;right:0;bottom:0}#canvas-container.mobile-hidden{visibility:hidden}#canvas-container.mobile-mini-viewport{visibility:visible;position:fixed;top:33%;left:50%;transform:translate(-50%,-50%);width:120px;height:120px;border-radius:16px;box-shadow:0 8px 32px #0006;border:2px solid var(--accent);overflow:hidden;z-index:100;animation:miniViewportFadeIn .3s ease;cursor:pointer;pointer-events:auto}#canvas-container.mobile-mini-viewport.animate-position{transition:top .4s ease-out}.mini-viewport-close{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;background:#0009;border:none;color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;padding:0;line-height:1}.mini-viewport-close:hover{background:#000c}.mini-viewport-drag{position:absolute;bottom:6px;left:50%;transform:translate(-50%);width:36px;height:5px;background:#ffffff80;border:none;border-radius:3px;cursor:grab;z-index:10}.mini-viewport-drag:active{cursor:grabbing;background:#ffffffb3}#canvas-container.mobile-mini-viewport canvas{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.3);transform-origin:center center}#canvas-container.mobile-mini-viewport .toolbar,#canvas-container.mobile-mini-viewport .status-chip,#canvas-container.mobile-mini-viewport .geometry-info-panel,#canvas-container.mobile-mini-viewport .face-view-indicator,#canvas-container.mobile-mini-viewport #dimensions-panel,#canvas-container.mobile-mini-viewport #geometry-panel,#canvas-container.mobile-mini-viewport #geometry-icon,#canvas-container.mobile-mini-viewport #info-icon,#canvas-container.mobile-mini-viewport .info-icon,#canvas-container.mobile-mini-viewport>div:not(.toolbar):not(.status-chip):not(.mini-viewport-drag),#canvas-container.mobile-mini-viewport>button:not(.mini-viewport-close){display:none!important}@keyframes miniViewportFadeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.85)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.chat-messages{padding:12px}.message{max-width:95%;padding:10px 12px;font-size:14px}.message-timestamp{font-size:.75rem}.view-history-icon{width:28px;height:28px}.view-history-icon svg{width:16px;height:16px}.feedback-btn{width:32px;height:32px}.feedback-btn svg{width:18px;height:18px}.chat-input-area{padding:12px}.chat-input{font-size:16px;padding:12px}.send-btn{padding:12px;min-width:44px;display:flex;align-items:center;justify-content:center}.toolbar{top:8px;right:8px;left:auto;justify-content:flex-end;flex-wrap:nowrap;gap:4px;padding:6px}.tool-btn{width:40px;height:40px;min-width:40px}.toolbar .toolbar-divider{display:none}.toolbar-dropdown-btn{padding:8px 10px}.toolbar-dropdown-btn .dropdown-label,.toolbar-dropdown-btn .dropdown-caret{display:none}.toolbar-btn{padding:8px 10px}.toolbar-btn .dropdown-label{display:none}.toolbar-dropdown-btn svg:first-child,.toolbar-btn svg{width:22px;height:22px}.toolbar-dropdown-menu{right:0;left:auto}.info-panel{position:fixed;top:auto;bottom:0;left:0;right:0;max-width:none;border-radius:20px 20px 0 0;padding:12px 16px 16px;font-size:12px;animation:geometrySlideUp .3s ease-out;border-top:2px solid var(--accent);box-shadow:0 -4px 20px #f973164d}.info-panel.minimized+.info-icon{bottom:12px;left:8px}.geometry-panel{position:fixed;top:auto;bottom:0;left:0;right:0;max-width:none;min-height:220px;max-height:33vh;border-radius:20px 20px 0 0;padding:12px 16px 16px;animation:geometrySlideUp .3s ease-out;border-top:2px solid var(--accent);box-shadow:0 -4px 20px #f973164d}.geometry-panel.visible{display:flex}.geometry-panel.minimized{display:none}@keyframes geometrySlideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.geometry-panel.minimized+.geometry-icon{bottom:70px;left:8px}.geometry-tabs{display:flex;gap:4px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -16px 12px;padding:0 16px 8px;border-bottom:1px solid var(--border-color);flex-shrink:0}.geometry-tabs::-webkit-scrollbar{display:none}.geometry-tab{flex-shrink:0;padding:6px 12px;border:none;background:var(--bg-tertiary);color:var(--text-muted);font-size:12px;font-weight:500;border-radius:16px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.geometry-tab:active{transform:scale(.95)}.geometry-tab.active{background:var(--accent);color:#fff}.geometry-tab[style*="display: none"],.geometry-panel .geometry-tab-content{display:none!important}.geometry-panel .geometry-tab-content.active{display:block!important}.geometry-panel .geometry-panel-features-title{display:none}.geometry-panel .geometry-panel-features{border-top:none;margin-top:0;padding-top:0}.geometry-panel .geometry-panel-features.geometry-tab-content.active .geometry-panel-features-list{max-height:none;opacity:1;overflow-y:auto}.status-chip{top:auto;bottom:calc(80px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);z-index:150}.operation-panel{position:fixed!important;top:auto!important;bottom:0!important;left:0!important;right:0!important;width:100%!important;max-height:70vh;overflow-y:auto;border-radius:16px 16px 0 0;padding-bottom:env(safe-area-inset-bottom,0px);z-index:10000!important;box-shadow:0 -4px 20px #0000004d;pointer-events:auto!important}.operation-panel:before{content:"";display:block;width:40px;height:4px;background:var(--border-color);border-radius:2px;margin:8px auto 4px}.operation-panel .operation-section{padding:12px 16px}.operation-panel .unit-btn{min-height:44px;font-size:15px}.operation-panel .hole-type-btn,.operation-panel .drill-point-btn{min-height:54px;padding:10px 8px}.operation-panel input[type=number]{min-height:44px;font-size:16px}.operation-panel .operation-btn{min-height:48px;font-size:16px}.operation-panel .operation-actions{padding:12px 16px 16px;gap:12px}.operation-panel .operation-face-display{min-height:44px;display:flex;align-items:center;font-size:15px}.operation-panel.open~.operation-backdrop,.operation-backdrop.visible{display:block}.operation-backdrop{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;z-index:250}.mobile-wizard{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--bg-secondary);border-radius:20px 20px 0 0;border-top:2px solid var(--accent);box-shadow:0 -4px 20px #f973164d;z-index:1000;padding-bottom:env(safe-area-inset-bottom,0px);animation:wizardSlideUp .3s ease-out}.mobile-wizard.open{display:block;top:auto;left:0;right:0;transform:none;min-width:unset;max-width:none;animation:wizardSlideUp .3s ease-out}@keyframes wizardSlideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.wizard-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--border-color)}.wizard-header:before{content:"";position:absolute;top:8px;left:50%;transform:translate(-50%);width:40px;height:4px;background:var(--border-color);border-radius:2px}.wizard-header-compact{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;gap:8px}.wizard-header-btn{display:flex;align-items:center;gap:4px;border:none;border-radius:20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;flex-shrink:0}.wizard-header-btn svg{width:18px;height:18px}.mobile-wizard .wizard-drag-handle{width:100%;height:16px;display:flex;align-items:center;justify-content:center;cursor:grab;touch-action:none}.mobile-wizard .wizard-drag-handle:after{content:"";width:40px;height:4px;background:var(--border-color);border-radius:2px}.mobile-wizard .wizard-drag-handle:active{cursor:grabbing}.wizard-header-btn.left{padding:8px 14px;background:var(--bg-tertiary);color:var(--text-secondary)}.wizard-header-btn.left.icon-only{width:36px;height:36px;padding:0;justify-content:center}.wizard-header-btn.left:active{background:var(--bg-quaternary, var(--border-color))}.mobile-wizard .wizard-header-btn.right{padding:8px 14px;background:var(--accent)!important;color:#fff}.mobile-wizard .wizard-header-btn.right:active{opacity:.9}.mobile-wizard .wizard-header-btn.right:disabled{opacity:.5;cursor:not-allowed}.mobile-wizard .wizard-header-btn.right.apply{background:var(--success, #22c55e)!important}.wizard-header-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;flex:1;min-width:0}.wizard-header-center .wizard-title{font-size:15px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wizard-header-center .wizard-step-dots{padding:0}.wizard-close{width:32px;height:32px;border:none;background:var(--bg-tertiary);color:var(--text-secondary);border-radius:50%;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center}.wizard-title{font-size:16px;font-weight:600;color:var(--text-primary)}.wizard-step-indicator{font-size:12px;color:var(--text-muted)}.wizard-step{padding:4px 16px}.wizard-step-dots{display:flex;justify-content:center;gap:6px;padding:2px 0}.wizard-dot{width:8px;height:8px;border-radius:50%;background:var(--border-color);transition:all .2s ease}.wizard-dot.active{background:var(--accent);transform:scale(1.2)}.wizard-dot.completed{background:var(--accent);opacity:.5}.wizard-step-title{font-size:15px;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.wizard-input-row{display:flex;align-items:center;gap:8px}.wizard-input-row input{flex:1;height:40px;padding:0 10px;font-size:16px;font-weight:500;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);text-align:right;min-width:0;max-width:100px}.wizard-dimension-select{flex:1;height:40px;padding:0 28px 0 10px;font-size:16px;font-weight:500;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);min-width:0;max-width:120px;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.wizard-custom-input{display:none;align-items:center;gap:8px;margin-top:8px}.wizard-custom-input.visible{display:flex}.wizard-custom-input input{flex:1;height:36px;padding:0 10px;font-size:15px;font-weight:500;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);text-align:right;max-width:100px}.wizard-unit-label-sm{font-size:14px;color:var(--text-muted)}.wizard-unit-toggle{display:flex;background:var(--bg-tertiary);border-radius:10px;padding:4px;gap:2px}.wizard-unit-btn{padding:8px 12px;border:none;background:transparent;color:var(--text-muted);font-size:14px;font-weight:600;border-radius:6px;cursor:pointer;transition:all .15s ease}.wizard-unit-btn.active{background:var(--accent);color:#fff}.wizard-options{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.wizard-options::-webkit-scrollbar{display:none}.wizard-option-btn{flex:1;padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:20px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:6px}.wizard-option-btn svg{width:18px;height:18px;flex-shrink:0}.wizard-option-btn.active{border-color:var(--accent);background:#f973161a}.wizard-option-label{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap}.wizard-option-sub{font-size:13px;color:var(--text-muted)}.wizard-hint{font-size:12px;color:var(--text-muted);margin-top:6px;text-align:center}.wizard-selection-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;background:var(--bg-tertiary);border-radius:8px}.wizard-selection-row .selection-count{font-size:14px;font-weight:500;color:var(--text-primary)}.wizard-quick-actions{display:flex;gap:8px}.wizard-action-btn{padding:8px 16px;font-size:13px;font-weight:500;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.wizard-action-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.wizard-action-btn.compact{padding:6px 12px;font-size:12px}.wizard-options-section{padding:0}.wizard-face-row{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-tertiary);border-radius:10px}.wizard-face-icon{flex-shrink:0;width:36px;height:36px;background:var(--bg-secondary);border-radius:8px;display:flex;align-items:center;justify-content:center}.wizard-face-icon svg{width:20px;height:20px;color:var(--accent)}.wizard-face-content{flex:1;min-width:0}.wizard-face-label{font-size:13px;color:var(--text-muted);margin-bottom:2px}.wizard-face-value{font-size:16px;font-weight:500;color:var(--text-secondary)}.wizard-face-value.selected{color:var(--accent)}.wizard-face-selector,.wizard-feature-selector{display:flex;flex-direction:column;gap:6px;padding:12px;background:var(--bg-tertiary);border-radius:10px}.wizard-face-hint{font-size:12px;color:var(--text-muted);line-height:1.4}.wizard-select{width:100%;padding:10px 14px;font-size:16px;font-family:inherit;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.wizard-select:focus{outline:none;border-color:var(--accent-color)}.wizard-pattern-params{display:flex;flex-direction:column;gap:8px;padding:8px}.wizard-pattern-section{background:var(--bg-tertiary);border-radius:8px;padding:10px 12px}.wizard-pattern-section-last{margin-bottom:-8px}.wizard-pattern-section-header{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.wizard-pattern-inputs{display:flex;gap:10px}.wizard-pattern-field{flex:1;display:flex;flex-direction:column;gap:4px}.wizard-pattern-field label{font-size:11px;color:var(--text-muted)}.wizard-pattern-field input{width:100%;padding:8px;font-size:14px;font-family:inherit;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;text-align:center}.wizard-pattern-field input:focus{outline:none;border-color:var(--accent-color)}.wizard-input-with-unit{display:flex;align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.wizard-input-with-unit input{flex:1;min-width:0;border:none;border-radius:0;background:transparent;padding:8px 4px}.wizard-input-with-unit input:focus{border:none}.wizard-unit-toggle-inline{display:flex;border-left:1px solid var(--border-color)}.wizard-unit-btn-sm{padding:8px 6px;font-size:11px;font-weight:500;color:var(--text-muted);background:var(--bg-tertiary);border:none;cursor:pointer;transition:all .15s ease}.wizard-unit-btn-sm:first-child{border-right:1px solid var(--border-color)}.wizard-unit-btn-sm.active{color:#fff;background:var(--accent-color)}.wizard-unit-toggle-mini{display:flex;border-radius:4px;overflow:hidden;border:1px solid var(--border-color);flex-shrink:0}.wizard-unit-btn-mini{padding:4px 6px;font-size:10px;font-weight:500;color:var(--text-muted);background:var(--bg-tertiary);border:none;cursor:pointer;transition:all .15s ease;min-width:24px}.wizard-unit-btn-mini:first-child{border-right:1px solid var(--border-color)}.wizard-unit-btn-mini.active{color:#fff;background:var(--accent-color)}.wizard-direction-row{display:flex;flex-direction:column;gap:8px;padding:0}.wizard-direction-label{font-size:14px;color:var(--text-muted);font-weight:500}.wizard-direction-buttons{display:flex;gap:10px}.wizard-direction-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:10px;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.wizard-direction-btn svg{width:28px;height:28px;stroke-width:2.5}.wizard-direction-btn.active{background:#22c55e26;border-color:#22c55e;color:#22c55e}.wizard-direction-btn[data-direction=cut].active{background:#ef444426;border-color:#ef4444;color:#ef4444}.wizard-direction-btn:active{transform:scale(.98)}.wizard-checkbox-row{display:flex;align-items:center;gap:10px;padding:12px 0;margin-top:8px;cursor:pointer;-webkit-tap-highlight-color:transparent}.wizard-checkbox-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent-color);cursor:pointer}.wizard-checkbox-row span{font-size:14px;color:var(--text-secondary)}.wizard-source-selector{padding:0}.wizard-source-toggle{display:flex;gap:8px;margin-bottom:8px}.wizard-source-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:10px;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.wizard-source-btn svg{width:20px;height:20px;stroke-width:2}.wizard-source-btn.active{background:#3b82f626;border-color:#3b82f6;color:#3b82f6}.wizard-source-btn:disabled{opacity:.4;cursor:not-allowed}.wizard-source-btn:not(:disabled):active{transform:scale(.98)}.wizard-sketch-section{padding:0}.wizard-sketch-select{width:100%;padding:12px 16px;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:10px;color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:20px;margin-bottom:8px}.wizard-sketch-select:focus{outline:none;border-color:#3b82f6}.wizard-position-row{display:flex;gap:8px;margin-top:12px;padding:12px 16px;background:var(--bg-tertiary);border-radius:8px}.wizard-position-input{flex:1;display:flex;align-items:center;gap:6px;min-width:0}.wizard-position-input label{color:#0f8;font-weight:600;font-size:14px;flex-shrink:0}.wizard-position-input input{width:70px;min-width:0;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:8px;color:var(--text-primary);font-size:13px;font-family:JetBrains Mono,monospace}.wizard-position-input input:focus{outline:none;border-color:#0f8}.wizard-unit{font-size:11px;color:var(--text-muted);flex-shrink:0}.wizard-edge-tag{display:inline-block;padding:2px 8px;margin:2px;background:var(--bg-tertiary);border-radius:4px;font-size:12px;color:var(--text-primary)}.wizard-drill-point-options{display:flex;gap:12px}.wizard-option-btn.small{padding:12px;flex:1}.wizard-option-btn.small svg{width:28px;height:28px}.wizard-input-label{font-size:14px;color:var(--text-secondary);white-space:nowrap}.wizard-unit-label{font-size:16px;font-weight:500;color:var(--text-secondary);padding:0 8px}.wizard-input-with-dropdown{position:relative;display:flex;align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:2px 4px}.wizard-input-with-dropdown input{flex:1;background:transparent;border:none;color:var(--text-primary);font-size:18px;font-weight:500;text-align:center;padding:10px 4px;min-width:0}.wizard-input-with-dropdown input:focus{outline:none}.wizard-input-with-dropdown .wizard-unit-label{font-size:14px;font-weight:400;padding:0 4px}.wizard-input-with-dropdown.readonly{background:var(--bg-primary);opacity:.7}.wizard-input-with-dropdown.readonly input{color:var(--text-muted);cursor:default}.wizard-dropdown-toggle{background:none;border:none;color:var(--text-muted);font-size:12px;padding:8px 10px;cursor:pointer;border-left:1px solid var(--border-color);transition:color .2s ease}.wizard-dropdown-toggle:hover{color:var(--accent)}.wizard-input-dropdown{position:absolute;bottom:100%;left:0;right:0;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin-bottom:4px;box-shadow:0 -4px 16px #0000004d;z-index:1000;display:none;max-height:200px;overflow-y:auto}.wizard-input-dropdown.show{display:block}.wizard-dropdown-item{padding:12px 16px;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s ease;border-bottom:1px solid var(--border-color)}.wizard-dropdown-item:last-child{border-bottom:none}.wizard-dropdown-item:hover{background:var(--bg-tertiary);color:var(--accent)}.wizard-input-group{display:flex;align-items:center;gap:8px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;padding:4px}.wizard-input-group input{flex:1;background:transparent;border:none;color:var(--text-primary);font-size:24px;font-weight:500;text-align:center;padding:12px;min-width:0}.wizard-input-group input:focus{outline:none}.wizard-input-unit{font-size:16px;color:var(--text-muted);padding-right:16px}.wizard-quick-picks{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;justify-content:center}.wizard-quick-pick{padding:10px 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:20px;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s ease}.wizard-quick-pick:hover,.wizard-quick-pick.active{border-color:var(--accent);color:var(--accent);background:#f973161a}.wizard-quick-picks-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.wizard-quick-pick-sm{padding:6px 10px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:14px;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .2s ease}.wizard-quick-pick-sm:hover,.wizard-quick-pick-sm.active{border-color:var(--accent);color:var(--accent);background:#f973161a}.wizard-selected-list{display:flex;flex-direction:column;gap:6px;margin-top:12px;max-height:150px;overflow-y:auto}.wizard-selected-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px}.wizard-selected-item-label{font-size:14px;color:var(--text-primary)}.wizard-remove-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.wizard-remove-btn svg{width:16px;height:16px}.wizard-remove-btn:hover{background:#ef444426;color:#ef4444}.wizard-remove-btn:active{transform:scale(.9)}.wizard-clear-all-btn{display:block;width:100%;margin-top:8px;padding:10px 16px;background:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-muted);font-size:13px;cursor:pointer;transition:all .2s ease}.wizard-clear-all-btn:hover{border-color:#ef4444;color:#ef4444;background:#ef44441a}.wizard-toggle-row{margin-bottom:16px}.wizard-toggle{display:flex;align-items:center;gap:12px;cursor:pointer;padding:16px;background:var(--bg-tertiary);border-radius:12px}.wizard-toggle input[type=checkbox]{width:24px;height:24px;accent-color:var(--accent)}.wizard-toggle-label{font-size:16px;color:var(--text-primary)}.wizard-nav{display:flex;justify-content:space-between;padding:16px 20px 20px;border-top:1px solid var(--border-color)}.wizard-nav-btn{display:flex;align-items:center;gap:8px;padding:14px 24px;border:none;border-radius:12px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease}.wizard-nav-btn svg{width:20px;height:20px}.wizard-nav-btn.back{background:var(--bg-tertiary);color:var(--text-secondary)}.wizard-nav-btn.next{background:var(--accent);color:#fff}.wizard-nav-btn.next:disabled{opacity:.5;cursor:not-allowed}.wizard-nav-btn.apply{background:var(--success, #22c55e);color:#fff}.wizard-type-grid{display:flex;gap:8px;padding:4px 0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.wizard-type-grid::-webkit-scrollbar{display:none}.wizard-type-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 12px;min-width:64px;flex-shrink:0;border:2px solid var(--border-color);border-radius:10px;background:var(--bg-tertiary);cursor:pointer;transition:all .2s ease}.wizard-type-btn:hover{border-color:var(--accent);background:#f973160d}.wizard-type-btn.active{border-color:var(--accent);background:#f9731626}.wizard-type-btn .type-icon{font-size:24px;margin-bottom:4px;line-height:1}.wizard-type-btn .type-label{font-size:11px;color:var(--text-secondary);text-align:center}.wizard-type-btn.active .type-label{color:var(--accent);font-weight:600}.wizard-param-group{display:flex;align-items:center;gap:10px;margin:0 0 10px}.wizard-param-group label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;width:70px;flex-shrink:0}.wizard-param-group .wizard-input-with-dropdown{flex:1;min-width:0}.wizard-param-group.compact{flex:1;margin-bottom:0}.wizard-hint{display:none}.wizard-spline-compact{text-align:center;padding:8px 0}.wizard-spline-compact .wizard-spline-status{display:flex;justify-content:center;align-items:center;gap:8px;font-size:15px;margin-bottom:4px}.wizard-spline-compact .point-count{font-weight:600;color:var(--text-primary)}.wizard-spline-compact .point-count.ready{color:var(--success, #4caf50)}.wizard-spline-compact .need-more{color:var(--text-muted);font-size:13px}.wizard-spline-compact .ready-indicator{color:var(--success, #4caf50)}.wizard-spline-hint{font-size:12px;color:var(--text-muted);margin:0}.wizard-param-group label .optional{font-weight:400;text-transform:none;letter-spacing:0;opacity:.6}.wizard-name-group{margin-bottom:8px}.wizard-text-input{width:100%;padding:10px 12px;font-size:16px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-tertiary);color:var(--text-primary)}.wizard-text-input::placeholder{color:var(--text-muted);opacity:.6}.wizard-param-row{display:flex;gap:12px;margin-bottom:10px;max-width:320px;margin-left:auto;margin-right:auto}.wizard-param-row.single{justify-content:center}.wizard-unit-row{display:flex;justify-content:center;margin-top:10px}.wizard-unit-label{padding:12px 8px;color:var(--text-muted);font-size:14px;min-width:30px;text-align:center}.wizard-instruction{padding:12px;background:var(--bg-tertiary);border-radius:10px;margin-bottom:10px}.wizard-instruction p{margin:0 0 8px;font-size:14px;color:var(--text-secondary)}.wizard-instruction p:last-child{margin-bottom:0}.wizard-icon{width:48px;height:48px;margin:0 auto 8px;color:var(--text-muted)}.wizard-icon svg{width:100%;height:100%}.wizard-spline-status{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--bg-secondary);border-radius:8px;margin-bottom:10px}.wizard-spline-status .point-count{font-size:14px;color:var(--text-secondary)}.wizard-spline-status .point-count.ready,.wizard-spline-status .ready-indicator{color:var(--success, #22c55e);font-weight:600}.wizard-spline-status .need-more{color:var(--text-muted);font-size:13px}.wizard-btn{width:100%;padding:12px;background:var(--accent);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.wizard-btn:hover:not(:disabled){background:var(--accent-hover, #ea580c)}.wizard-btn:disabled{opacity:.5;cursor:not-allowed}.mobile-sketch-list-panel{position:fixed;bottom:0;left:0;right:0;background:var(--bg-secondary);border-radius:20px 20px 0 0;z-index:1000;display:flex;flex-direction:column;animation:slideUp .3s ease;border-top:2px solid var(--accent);box-shadow:0 -4px 20px #f973164d}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.mobile-sketch-list-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid var(--border-color);font-weight:600;font-size:18px}.mobile-sketch-title-group{display:flex;align-items:center;gap:10px}.mobile-sketch-add-btn{background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:24px;font-weight:600;cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;line-height:1}.mobile-sketch-list-close{background:none;border:none;font-size:24px;color:var(--text-muted);cursor:pointer;padding:4px 8px}.mobile-sketch-list-content{padding:10px 12px;overflow-x:auto;overflow-y:hidden;display:flex;gap:8px;-webkit-overflow-scrolling:touch}.mobile-sketch-empty{display:flex;align-items:center;padding:0 24px;color:var(--text-muted);white-space:nowrap}.mobile-sketch-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:100px;width:100px;padding:10px 8px 8px;background:var(--bg-tertiary);border-radius:10px;flex-shrink:0;border:2px solid transparent}.mobile-sketch-item.selected{border-color:var(--accent-color);background:#6366f126}.mobile-sketch-icon{width:32px;height:32px;color:var(--accent);flex-shrink:0}.mobile-sketch-icon svg{width:100%;height:100%}.mobile-sketch-info{text-align:center;width:100%}.mobile-sketch-type{font-weight:500;font-size:11px;text-transform:capitalize;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-sketch-face{font-size:10px;color:var(--text-muted)}.mobile-sketch-actions{display:flex;gap:6px;width:100%}.mobile-sketch-action{flex:1;padding:8px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;font-size:10px;cursor:pointer;text-align:center}.mobile-sketch-action.edit{display:flex;align-items:center;justify-content:center;color:var(--text-primary)}.mobile-sketch-action.edit svg{width:20px;height:20px}.mobile-sketch-action.delete{display:flex;align-items:center;justify-content:center;color:var(--error, #ef4444);font-size:20px;padding:8px}.mobile-sketch-warning-badge{position:absolute;top:-6px;right:-6px;z-index:10;display:flex;align-items:center;justify-content:center;background:transparent;border:none;padding:0;cursor:pointer}.mobile-sketch-warning-badge svg{width:24px;height:24px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.mobile-sketch-item.mobile-sketch-stale{border-color:#f59e0b80}#hole-panel{display:none!important}.welcome-message h2{font-size:1.3rem}.welcome-message p{font-size:14px}.example-prompts{gap:8px}.example-prompt{padding:10px 14px;font-size:13px}footer{display:none}.loading-overlay .loading-text{font-size:14px}}@media (max-width: 480px){.auth-form-row{flex-direction:column}header{padding:4px 10px;gap:6px}.header-logo{height:34px}h1{font-size:1.6rem}.toolbar{top:6px;right:6px;left:auto;padding:4px}.tool-btn{width:36px;height:36px;min-width:36px}.tool-btn svg{width:18px;height:18px}.chat-input{font-size:16px}.message{font-size:13px}.operation-panel{max-height:60vh}.info-panel{font-size:11px;padding:12px 14px 14px;z-index:20}.info-panel.minimized{display:none}.geometry-panel{font-size:11px;padding:12px 14px 14px;z-index:20}.geometry-panel.minimized{display:none}.info-icon.visible{display:flex;bottom:12px;left:8px}.geometry-icon.visible{display:flex;bottom:70px;left:8px}.auth-modal-content{min-height:auto;max-width:100%;padding:16px}.auth-modal-brand{padding:0 0 8px;font-size:20px}.auth-modal-logo{margin-bottom:12px}.auth-modal-logo img{width:48px;height:48px}.auth-tabs{margin-bottom:12px}.auth-tab{padding:8px 12px;font-size:13px}.auth-form{gap:10px}.auth-input-group{gap:3px}.auth-input-group label{font-size:12px}.auth-input-group input{padding:10px 12px;font-size:16px}.auth-hint{font-size:10px}.auth-submit-btn{padding:12px 16px;font-size:16px;margin-top:8px}.auth-switch{margin-top:12px;font-size:13px}.auth-divider{margin:12px 0 6px}.auth-google-section{margin-top:6px}.btn-google{padding:10px 14px;font-size:14px}.auth-error{padding:8px 12px;font-size:12px;margin-bottom:12px}#login-form{padding-top:12px}#login-form .auth-submit-btn{margin-top:8px}#advanced-panel{max-height:85vh}.conversation-item .conv-rename,.conversation-item .conv-delete{opacity:.6}}@media (hover: none) and (pointer: coarse){.tool-btn{min-width:44px;min-height:44px}.conversation-btn,.new-conv-btn{min-height:44px}.send-btn{min-height:44px;min-width:70px}.tool-btn:hover{background:transparent}.tool-btn.active:hover{background:var(--accent)}}@media (max-width: 768px) and (orientation: landscape){.mobile-nav-btn{padding:6px 12px}.operation-panel{max-height:40vh}header{padding:4px 12px}.header-logo{height:28px}h1{font-size:1.25rem}}@media all and (display-mode: standalone){html{height:100%}body{height:100dvh;height:-webkit-fill-available;min-height:unset;max-height:100dvh;max-height:-webkit-fill-available;padding:0 env(safe-area-inset-right,0px) 0 env(safe-area-inset-left,0px);overflow:hidden}header{padding-top:calc(6px + env(safe-area-inset-top,0px))}.mobile-nav{padding:0}footer{padding-bottom:calc(6px + env(safe-area-inset-bottom,0px))}}:root{--sketch-bg: #f1f5f9;--sketch-face-highlight: #f0f4f8;--sketch-line: #1e293b;--sketch-line-drawing: #2563eb;--sketch-line-selected: #3b82f6;--sketch-fill: #fb923c;--sketch-fill-selected: #f97316;--sketch-handle-start: #22c55e;--sketch-handle: #f97316;--sketch-handle-close: #ef4444;--sketch-grid-major: #64748b;--sketch-grid-minor: #94a3b8;--sketch-grid-label: #475569;--sketch-grid-label-bg: #e2e8f0;--sketch-trim-marker: #3b82f6;--sketch-trim-hover: #60a5fa;--sketch-trim-remove: #dc2626;--sketch-extend-marker: #16a34a;--sketch-extend-hover: #eab308;--sketch-extend-preview: #22c55e;--sketch-handle-border: #1e293b;--sketch-dimension: #64748b;--sketch-dimension-arc: #d97706;--sketch-subtract: #1e293b;--sketch-join-highlight: #8b5cf6;--sketch-join-selected: #7c3aed;--sketch-join-preview: #a78bfa}
