.wizard{background:transparent;max-width:680px;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;padding:0 1.5rem;position:relative;z-index:2;transform:translateY(-10vh)}.wizard-header{text-align:center;margin-bottom:2rem}.wizard-header h2{font-size:2rem;margin-bottom:.5rem;font-weight:600;letter-spacing:-.02em}.wizard-header p{color:var(--text-secondary);font-size:15px}.wizard-content{width:100%}.os-selector{display:flex;gap:.75rem;margin-bottom:1.5rem;justify-content:center}.os-button{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem 1.5rem;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .2s ease;min-width:100px}.os-button:hover{border-color:var(--border-hover);background:var(--bg-tertiary)}.os-button.active{border-color:var(--text-primary);background:var(--bg-tertiary)}.os-icon{width:32px;height:32px;object-fit:contain}.os-name{font-size:13px;color:var(--text-secondary);font-weight:500}.os-button.active .os-name{color:var(--text-primary)}.form-group{position:relative;width:100%}.form-group label{display:none}.form-group textarea{width:100%;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:.875rem 3.5rem .875rem 1rem;color:var(--text-primary);font-family:inherit;font-size:14px;resize:none;transition:all .2s ease;line-height:1.5;min-height:44px;max-height:200px;overflow:hidden}.form-group textarea::-webkit-scrollbar{display:none}.form-group textarea{-ms-overflow-style:none;scrollbar-width:none}.form-group textarea:hover{border-color:var(--border-hover)}.form-group textarea:focus{outline:none;border-color:var(--text-primary);box-shadow:0 0 0 1px var(--text-primary)}.form-group textarea::placeholder{color:var(--text-tertiary)}.wizard-footer{position:absolute;bottom:.8rem;right:.5rem}.wizard .btn{width:40px!important;height:36px!important;border-radius:8px;font-weight:700;font-size:18px;border:none;cursor:pointer;transition:all .1s ease;font-family:inherit;display:flex;align-items:center;justify-content:center;padding:0!important;min-width:40px!important;max-width:40px!important}.wizard .btn:disabled{opacity:.5;cursor:not-allowed}.wizard .btn-primary{background:var(--text-primary);color:var(--bg-primary)}.wizard .btn-primary:hover:not(:disabled){opacity:.9}.wizard .btn-primary:active:not(:disabled){opacity:.8}.wizard .btn-primary:before{content:"↑";display:block;font-weight:700;line-height:1}@media (max-width: 768px){.wizard{padding:1.5rem 1rem}.wizard-header h2{font-size:1.75rem}}.workspace{display:flex;flex-direction:column;height:100vh;background:var(--bg-primary);color:var(--text-primary)}.workspace-empty-state{flex:1;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);padding:2rem}.empty-state-content{text-align:center;max-width:500px;animation:fadeInUp .5s ease-out}.empty-state-icon{margin:0 auto 2rem;color:#444;opacity:.6}.empty-state-title{margin:0 0 1rem;font-size:1.75rem;font-weight:600;color:#fff}.empty-state-description{margin:0 0 2.5rem;font-size:1rem;color:#888;line-height:1.6}.btn-large{padding:1rem 2rem;font-size:1rem;display:inline-flex;align-items:center;gap:.75rem;box-shadow:0 4px 12px #3b82f64d}.btn-large:hover{box-shadow:0 6px 16px #3b82f666;transform:translateY(-2px)}.btn-large svg{flex-shrink:0}.save-warning-banner{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#ef444426,#f59e0b26);border-bottom:1px solid rgba(239,68,68,.3);color:#fbbf24;font-size:.9rem;animation:slideDown .3s ease-out}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.warning-icon{font-size:1.25rem;flex-shrink:0}.warning-text{flex:1}.warning-text code{background:#0000004d;padding:.125rem .375rem;border-radius:4px;font-family:Courier New,monospace;font-size:.85em}.warning-close{background:transparent;border:none;color:#fbbf24;font-size:1.5rem;line-height:1;cursor:pointer;padding:0 .25rem;opacity:.7;transition:opacity .2s}.warning-close:hover{opacity:1}.workspace-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);min-height:60px;z-index:10}.header-left{display:flex;align-items:center;gap:1rem}.project-name{font-size:1.125rem;font-weight:600;margin:0}.os-badges{display:flex;align-items:center;gap:.5rem}.os-badge{width:20px;height:20px;object-fit:contain;opacity:.7}.stack-badge{padding:.25rem .5rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;font-size:11px;font-weight:500;color:var(--text-secondary)}.header-center{flex:1;display:flex;justify-content:center}.status-badge{padding:.375rem .75rem;border-radius:6px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-idle{background:#64646433;color:var(--text-secondary)}.status-generating{background:#3b82f633;color:#60a5fa;animation:pulse 2s infinite}.status-ready{background:#22c55e33;color:#4ade80}.status-building{background:#fbbf2433;color:#fbbf24;animation:pulse 2s infinite}.status-done{background:#22c55e33;color:#4ade80}.status-error{background:#ef444433;color:#f87171}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.header-right{display:flex;align-items:center;gap:.5rem}.btn{padding:.625rem 1.25rem;border-radius:6px;font-size:13px;font-weight:600;border:none;cursor:pointer;transition:all .15s ease;font-family:inherit;white-space:nowrap;min-width:fit-content}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--text-primary);color:var(--bg-primary)}.btn-primary:hover:not(:disabled){opacity:.9}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){border-color:var(--border-hover);background:var(--bg-secondary)}.btn-ghost{background:transparent;color:var(--text-secondary);position:relative;transition:all .2s ease}.btn-ghost:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.btn-ghost.active{background:var(--bg-tertiary);color:var(--text-primary);font-weight:600}.btn-ghost.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--text-primary);border-radius:2px 2px 0 0}.workspace-main{display:flex;flex:1;overflow:hidden;position:relative}.sidebar{display:flex;flex-direction:column;background:var(--bg-secondary);border-right:1px solid var(--border-color);overflow:hidden;flex-shrink:0}.sidebar-left{min-width:250px;max-width:700px}.sidebar-right{min-width:320px;max-width:700px;border-right:none;border-left:1px solid var(--border-color);position:relative}.resize-handle{width:2px;background:var(--border-color);cursor:ew-resize;position:relative;flex-shrink:0;transition:all .2s ease;z-index:100;-webkit-user-select:none;user-select:none}.resize-handle:hover{background:#3b82f699;width:4px}.resize-handle.active{background:#3b82f6e6;width:4px}.resize-handle:before{content:"";position:absolute;top:0;bottom:0;left:-8px;right:-8px;cursor:ew-resize}.resize-handle:after{content:"⋮";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:16px;color:var(--text-secondary);opacity:.5;transition:all .2s ease;pointer-events:none;line-height:1}.resize-handle:hover:after{opacity:1;color:#3b82f6;font-size:18px}.resize-handle.active:after{opacity:1;color:#3b82f6}.sidebar-right.collapsed{width:40px;min-width:40px;transition:width .3s ease,min-width .3s ease}.sidebar-right.collapsed .sidebar-tabs,.sidebar-right.collapsed .sidebar-content{display:none}.sidebar-toggle{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);z-index:10;width:36px;height:36px;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary);border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 2px 8px #0000004d}.sidebar-toggle:hover{background:var(--bg-primary);color:#3b82f6;box-shadow:0 4px 12px #3b82f64d;transform:translate(-50%) scale(1.05)}.sidebar-right.collapsed .sidebar-toggle{left:50%;transform:translate(-50%)}.sidebar-tabs{display:flex;border-bottom:1px solid var(--border-color);background:var(--bg-primary)}.sidebar-tab{flex:1;padding:.75rem;background:transparent;border:none;color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease;border-bottom:2px solid transparent}.sidebar-tab:hover{color:var(--text-primary);background:var(--bg-secondary)}.sidebar-tab.active{color:var(--text-primary);border-bottom-color:var(--text-primary);background:var(--bg-secondary)}.sidebar-content{flex:1;overflow-y:auto;padding:1rem}.sidebar-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin:1.5rem 0 .75rem}.sidebar-title:first-child{margin-top:0}.chat-panel{display:flex;flex-direction:column;height:100%;overflow:hidden}.chat-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.chat-empty{display:flex;align-items:center;justify-content:center;height:100%;text-align:center;color:var(--text-secondary);font-size:13px}.chat-message{display:flex;max-width:65%}.chat-message-user{align-self:flex-end}.chat-message-assistant{align-self:flex-start}.message-bubble{padding:.75rem 1rem;border-radius:12px;font-size:13px;line-height:1.5;word-wrap:break-word;white-space:pre-wrap;overflow-wrap:break-word}.chat-message-user .message-bubble{background:var(--text-primary);color:var(--bg-primary);border-bottom-right-radius:4px}.chat-message-assistant .message-bubble{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-bottom-left-radius:4px}.message-files{margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:.25rem}.chat-message-assistant .message-files{border-top-color:var(--border-color)}.file-change{display:flex;align-items:center;gap:.5rem;font-size:12px;padding:.25rem;border-radius:4px;background:#0000001a}.chat-message-assistant .file-change{background:var(--bg-primary)}.file-icon{font-size:14px}.file-name{font-family:monospace;font-size:11px}.chat-input-wrapper{position:relative;padding:1rem;border-top:1px solid var(--border-color);background:var(--bg-secondary);display:flex;flex-direction:column;gap:.75rem}.model-selector{display:flex;align-items:center;gap:.5rem}.model-select{padding:.5rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease;font-family:inherit}.model-select:hover{border-color:var(--border-hover)}.model-select:focus{outline:none;border-color:var(--text-primary);box-shadow:0 0 0 1px var(--text-primary)}.model-select:disabled{opacity:.5;cursor:not-allowed}.chat-input{width:100%;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:.75rem 3rem .75rem .75rem;color:var(--text-primary);font-family:inherit;font-size:13px;resize:none;transition:all .15s ease;line-height:1.5;max-height:150px}.chat-input:hover{border-color:var(--border-hover)}.chat-input:focus{outline:none;border-color:var(--text-primary);box-shadow:0 0 0 1px var(--text-primary)}.chat-input::placeholder{color:var(--text-tertiary)}.chat-input:disabled{opacity:.5;cursor:not-allowed;background:var(--bg-secondary)}.chat-send-btn{position:absolute;bottom:1.25rem;right:1.25rem;width:28px;height:28px;border-radius:6px;border:none;background:var(--text-primary);color:var(--bg-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;transition:all .15s ease}.chat-send-btn.cancel{background:#ef4444;color:#fff}.chat-send-btn:hover:not(:disabled){opacity:.9;transform:scale(1.05)}.chat-send-btn:disabled{opacity:.3;cursor:not-allowed}.files-panel{display:flex;flex-direction:column;gap:1rem;height:100%}.files-list{display:flex;flex-direction:column;gap:.25rem;overflow-y:auto}.file-item{display:flex;align-items:center;gap:.4rem;padding:.35rem .5rem;background:var(--bg-tertiary, #1a1f2e);border:1px solid var(--border-color, #2a3142);border-radius:4px;cursor:pointer;transition:background .2s,border-color .2s;width:100%;text-align:left;font:inherit;color:inherit;outline:none}.file-item:hover{background:var(--bg-secondary, #151a27);border-color:var(--accent-purple, #8b5cf6)}.file-item:focus-visible{border-color:var(--accent-blue, #58a6ff);box-shadow:0 0 0 2px #58a6ff33}.file-item.active{background:var(--bg-secondary, #151a27);border-color:var(--accent-blue, #58a6ff)}.file-item.active .file-name{color:var(--accent-blue, #58a6ff)}.file-icon{flex-shrink:0;opacity:.6;color:var(--text-tertiary);display:flex;align-items:center;justify-content:center;width:14px;height:14px}.file-info{flex:1;display:flex;flex-direction:column;gap:.25rem;min-width:0}.file-name{font-size:.75rem;color:var(--text-primary, #e5e7eb);font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.file-meta{font-size:.7rem;color:var(--text-tertiary, #6b7280);display:none}.empty-state-small{display:flex;align-items:center;justify-content:center;height:100%;padding:2rem 1rem;text-align:center}.empty-state-small p{color:var(--text-secondary);font-size:13px;margin:0}.properties-section{padding:1.5rem 1rem;border-bottom:1px solid var(--border-color)}.properties-section:last-child{border-bottom:none}.section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin:0 0 1rem}.property-group{margin-bottom:1rem}.property-group:last-child{margin-bottom:0}.property-label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem}.property-input,.property-textarea{width:100%;padding:.625rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:13px;font-family:inherit;transition:all .15s ease}.property-input:hover,.property-textarea:hover{border-color:var(--border-hover)}.property-input:focus,.property-textarea:focus{outline:none;border-color:var(--text-primary);box-shadow:0 0 0 1px var(--text-primary)}.property-textarea{resize:vertical}.permission-item,.build-option{margin-bottom:.75rem}.permission-item:last-child,.build-option:last-child{margin-bottom:0}.permission-label,.option-label{display:flex;align-items:center;gap:.625rem;cursor:pointer;padding:.5rem;border-radius:6px;transition:all .15s ease}.permission-label:hover,.option-label:hover{background:var(--bg-primary)}.permission-label input[type=checkbox],.option-label input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--text-primary)}.permission-label span,.option-label span{font-size:13px;color:var(--text-primary);font-weight:500}.canvas{flex:1;display:flex;flex-direction:column;overflow:hidden}.canvas-tabs{display:flex;gap:0;padding:0;background:var(--bg-primary);border-bottom:1px solid var(--border-color);position:relative;z-index:10}.canvas-tab{padding:.75rem;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease;border-radius:0}.canvas-tab:hover{color:var(--text-primary);background:var(--bg-secondary)}.canvas-tab.active{color:var(--text-primary);background:var(--bg-secondary);border-bottom-color:var(--text-primary)}.canvas-content{flex:1;overflow:auto;padding:2rem;position:relative;z-index:1}.file-viewer{display:flex;flex-direction:column;gap:1rem;height:100%}.file-viewer-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.file-viewer-meta{display:flex;flex-direction:column;gap:.25rem}.file-viewer-name{font-size:1rem;font-weight:600;color:var(--text-primary)}.file-viewer-updated{font-size:.75rem;color:var(--text-tertiary)}.file-viewer-actions{display:flex;gap:.5rem;align-items:center}.file-viewer-code{flex:1;border-radius:12px;overflow:hidden;border:1px solid var(--border-color);box-shadow:inset 0 0 0 1px #00000059}.syntax-highlighter-wrapper{position:relative;width:100%;height:100%;z-index:1}.code-editor-overlay{position:absolute;top:0;left:-.54em;width:calc(100% + .54em);height:100%;margin:0;padding:1em 1em 1em 3.8em;border:none;outline:none;background:transparent;color:transparent;caret-color:#c5c8c6;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:.9rem;line-height:1.5;resize:none;overflow:hidden;white-space:pre;word-wrap:normal;tab-size:4;-moz-tab-size:4;box-sizing:border-box;letter-spacing:normal;text-indent:0}.code-editor-overlay::-webkit-scrollbar{width:0;height:0}.file-viewer-code pre{margin:0!important;background:transparent!important;font-size:.9rem;line-height:1.5}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);text-align:center;gap:1rem}.empty-state h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.empty-state p{margin:0;font-size:14px}.shortcuts{display:flex;align-items:center;gap:.5rem;font-size:13px;margin-top:.5rem}.shortcuts kbd{padding:.25rem .5rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;font-family:monospace;font-size:12px}.preview-container{display:flex;flex-direction:column;height:100%;gap:1rem}.preview-toolbar{display:flex;gap:1rem;align-items:center}.viewport-select,.theme-toggle{padding:.5rem .75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:13px;cursor:pointer}.preview-frame{flex:1;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:auto}.preview-placeholder{text-align:center;color:var(--text-secondary)}.preview-placeholder h2{margin:0 0 .5rem;font-size:1.5rem;color:var(--text-primary)}.output-container{height:100%}.messages{display:flex;flex-direction:column;gap:1rem}.message{padding:1rem;border-radius:8px;font-size:14px;line-height:1.6}.message-user{background:var(--bg-tertiary);border:1px solid var(--border-color)}.message-assistant{background:var(--bg-secondary);border:1px solid var(--border-color)}.message-content{white-space:pre-wrap}.build-logs-container{display:flex;flex-direction:column;height:100%;gap:1rem}.build-os-chips{display:flex;gap:.5rem}.os-chip{padding:.5rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.os-chip:hover{border-color:var(--border-hover)}.os-chip.active{border-color:var(--text-primary);color:var(--text-primary);background:var(--bg-tertiary)}.log-viewer{flex:1;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1rem;overflow:auto;font-family:Courier New,monospace;font-size:13px}.log-viewer pre{margin:0;white-space:pre-wrap;color:var(--text-primary)}.download-container{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:1.5rem;height:100%;width:100%;padding:1.5rem 0;overflow-y:auto}.download-card{width:100%;max-width:500px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:2rem;display:flex;flex-direction:column;gap:1.5rem}.download-card h2{margin:0;font-size:1.5rem;font-weight:600;text-align:center}.download-info{display:flex;flex-direction:column;gap:.75rem}.info-row{display:flex;justify-content:space-between;font-size:14px}.info-row .label{color:var(--text-secondary);font-weight:600}.info-row .value{color:var(--text-primary)}.link-box{display:flex;gap:.5rem}.link-input{flex:1;padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:13px;font-family:monospace}.link-input:focus{outline:none;border-color:var(--text-primary)}.qr-placeholder{display:flex;justify-content:center}.qr-code{width:150px;height:150px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:13px}.download-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.download-notice{padding:.75rem;background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:6px;color:#4ade80;font-size:13px;text-align:center;margin-top:1rem}.build-section{display:flex;flex-direction:column;gap:1.5rem}.build-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.btn-block{width:100%}.platform-display,.framework-display{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary)}.platform-icon{width:24px;height:24px;object-fit:contain}.build-progress{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;margin-top:1rem}.progress-bar{width:100%;height:6px;background:var(--bg-secondary);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-blue),var(--accent-cyan));animation:progressAnimation 1.5s ease-in-out infinite}@keyframes progressAnimation{0%{width:0%}50%{width:70%}to{width:100%}}.progress-text{font-size:.85rem;color:var(--text-secondary);text-align:center;margin:0}.build-success{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#3fb9501a;border:1px solid rgba(63,185,80,.3);border-radius:8px;color:var(--accent-green);margin-top:1rem}.build-success svg{flex-shrink:0}.build-success p{margin:0;font-size:.9rem;font-weight:500}.workspace-notice{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem;padding:1.5rem 1rem;margin:1rem 1rem .5rem;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:12px;animation:fadeInDown .4s ease-out;flex-shrink:0}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.notice-icon{flex-shrink:0;color:#3b82f6;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#3b82f626;border-radius:50%}.notice-content{display:flex;flex-direction:column;gap:.5rem;align-items:center}.notice-title{margin:0;font-size:.95rem;font-weight:600;color:#fff}.notice-text{margin:0;font-size:.85rem;color:#999;line-height:1.4}.notice-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem;justify-content:center}.btn-sm{padding:.5rem 1rem;font-size:.85rem;white-space:nowrap}@media (prefers-color-scheme: dark){.w-tc-editor{--color-fg-default: #c9d1d9;--color-canvas-subtle: #161b22;--color-prettylights-syntax-comment: #8b949e;--color-prettylights-syntax-entity-tag: #7ee787;--color-prettylights-syntax-entity: #d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;--color-prettylights-syntax-constant: #79c0ff;--color-prettylights-syntax-string: #a5d6ff;--color-prettylights-syntax-keyword: #ff7b72;--color-prettylights-syntax-markup-bold: #c9d1d9}}@media (prefers-color-scheme: light){.w-tc-editor{--color-fg-default: #24292f;--color-canvas-subtle: #f6f8fa;--color-prettylights-syntax-comment: #6e7781;--color-prettylights-syntax-entity-tag: #116329;--color-prettylights-syntax-entity: #8250df;--color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;--color-prettylights-syntax-constant: #0550ae;--color-prettylights-syntax-string: #0a3069;--color-prettylights-syntax-keyword: #cf222e;--color-prettylights-syntax-markup-bold: #24292f}}.w-tc-editor[data-color-mode*=dark],[data-color-mode*=dark] .w-tc-editor,[data-color-mode*=dark] .w-tc-editor-var,body[data-color-mode*=dark]{--color-fg-default: #c9d1d9;--color-canvas-subtle: #161b22;--color-prettylights-syntax-comment: #8b949e;--color-prettylights-syntax-entity-tag: #7ee787;--color-prettylights-syntax-entity: #d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;--color-prettylights-syntax-constant: #79c0ff;--color-prettylights-syntax-string: #a5d6ff;--color-prettylights-syntax-keyword: #ff7b72;--color-prettylights-syntax-markup-bold: #c9d1d9}.w-tc-editor[data-color-mode*=light],[data-color-mode*=light] .w-tc-editor,[data-color-mode*=light] .w-tc-editor-var,body[data-color-mode*=light]{--color-fg-default: #24292f;--color-canvas-subtle: #f6f8fa;--color-prettylights-syntax-comment: #6e7781;--color-prettylights-syntax-entity-tag: #116329;--color-prettylights-syntax-entity: #8250df;--color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;--color-prettylights-syntax-constant: #0550ae;--color-prettylights-syntax-string: #0a3069;--color-prettylights-syntax-keyword: #cf222e;--color-prettylights-syntax-markup-bold: #24292f}.w-tc-editor{font-family:inherit;font-size:12px;background-color:var(--color-canvas-subtle);color:var(--color-fg-default)}.w-tc-editor-text,.w-tc-editor-preview{min-height:16px}.w-tc-editor-preview pre{margin:0;padding:0;white-space:inherit;font-family:inherit;font-size:inherit}.w-tc-editor-preview pre code{font-family:inherit}.w-tc-editor code[class*=language-] .token.cdata,.w-tc-editor pre[class*=language-] .token.cdata,.w-tc-editor code[class*=language-] .token.comment,.w-tc-editor pre[class*=language-] .token.comment,.w-tc-editor code[class*=language-] .token.doctype,.w-tc-editor pre[class*=language-] .token.doctype,.w-tc-editor code[class*=language-] .token.prolog,.w-tc-editor pre[class*=language-] .token.prolog{color:var(--color-prettylights-syntax-comment)}.w-tc-editor code[class*=language-] .token.punctuation,.w-tc-editor pre[class*=language-] .token.punctuation{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.w-tc-editor code[class*=language-] .namespace,.w-tc-editor pre[class*=language-] .namespace{opacity:.7}.w-tc-editor code[class*=language-] .token.boolean,.w-tc-editor pre[class*=language-] .token.boolean,.w-tc-editor code[class*=language-] .token.constant,.w-tc-editor pre[class*=language-] .token.constant,.w-tc-editor code[class*=language-] .token.deleted,.w-tc-editor pre[class*=language-] .token.deleted,.w-tc-editor code[class*=language-] .token.number,.w-tc-editor pre[class*=language-] .token.number,.w-tc-editor code[class*=language-] .token.symbol,.w-tc-editor pre[class*=language-] .token.symbol{color:var(--color-prettylights-syntax-entity-tag)}.w-tc-editor code[class*=language-] .token.builtin,.w-tc-editor pre[class*=language-] .token.builtin,.w-tc-editor code[class*=language-] .token.char,.w-tc-editor pre[class*=language-] .token.char,.w-tc-editor code[class*=language-] .token.inserted,.w-tc-editor pre[class*=language-] .token.inserted,.w-tc-editor code[class*=language-] .token.selector,.w-tc-editor pre[class*=language-] .token.selector,.w-tc-editor code[class*=language-] .token.string,.w-tc-editor pre[class*=language-] .token.string,.w-tc-editor code[class*=language-] .style .token.string,.w-tc-editor pre[class*=language-] .style .token.string,.w-tc-editor code[class*=language-] .token.entity,.w-tc-editor pre[class*=language-] .token.entity,.w-tc-editor code[class*=language-] .token.property,.w-tc-editor pre[class*=language-] .token.property,.w-tc-editor code[class*=language-] .token.operator,.w-tc-editor pre[class*=language-] .token.operator,.w-tc-editor code[class*=language-] .token.url,.w-tc-editor pre[class*=language-] .token.url{color:var(--color-prettylights-syntax-constant)}.w-tc-editor code[class*=language-] .token.atrule,.w-tc-editor pre[class*=language-] .token.atrule,.w-tc-editor code[class*=language-] .token.property-access .token.method,.w-tc-editor pre[class*=language-] .token.property-access .token.method,.w-tc-editor code[class*=language-] .token.keyword,.w-tc-editor pre[class*=language-] .token.keyword{color:var(--color-prettylights-syntax-keyword)}.w-tc-editor code[class*=language-] .token.function,.w-tc-editor pre[class*=language-] .token.function{color:var(--color-prettylights-syntax-string)}.w-tc-editor code[class*=language-] .token.important,.w-tc-editor pre[class*=language-] .token.important,.w-tc-editor code[class*=language-] .token.regex,.w-tc-editor pre[class*=language-] .token.regex,.w-tc-editor code[class*=language-] .token.variable,.w-tc-editor pre[class*=language-] .token.variable{color:var(--color-prettylights-syntax-string-regexp)}.w-tc-editor code[class*=language-] .token.bold,.w-tc-editor pre[class*=language-] .token.bold,.w-tc-editor code[class*=language-] .token.important,.w-tc-editor pre[class*=language-] .token.important{color:var(--color-prettylights-syntax-markup-bold)}.w-tc-editor code[class*=language-] .token.tag,.w-tc-editor pre[class*=language-] .token.tag{color:var(--color-prettylights-syntax-entity-tag)}.w-tc-editor code[class*=language-] .token.attr-value,.w-tc-editor pre[class*=language-] .token.attr-value,.w-tc-editor code[class*=language-] .token.attr-name,.w-tc-editor pre[class*=language-] .token.attr-name{color:var(--color-prettylights-syntax-constant)}.w-tc-editor code[class*=language-] .token.selector .class,.w-tc-editor pre[class*=language-] .token.selector .class,.w-tc-editor code[class*=language-] .token.class-name,.w-tc-editor pre[class*=language-] .token.class-name{color:var(--color-prettylights-syntax-entity)}.auth-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.auth-modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:2.5rem;width:90%;max-width:420px;position:relative;animation:slideUp .3s ease;box-shadow:0 20px 60px #0000004d}.auth-modal-close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:var(--text-secondary);font-size:32px;line-height:1;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .15s ease}.auth-modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.auth-modal-header{text-align:center;margin-bottom:2rem}.auth-modal-header h2{margin:0 0 .5rem;font-size:1.75rem;font-weight:600;color:var(--text-primary)}.auth-modal-header p{margin:0;color:var(--text-secondary);font-size:14px}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.auth-error{padding:.875rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#f87171;font-size:13px;text-align:center}.auth-success{padding:.875rem;background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:8px;color:#4ade80;font-size:13px;text-align:center}.auth-input-group{display:flex;flex-direction:column;gap:.5rem}.auth-input-group label{font-size:13px;font-weight:600;color:var(--text-secondary)}.auth-input-group input{width:100%;padding:.875rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;font-family:inherit;transition:all .15s ease}.auth-input-group input:hover{border-color:var(--border-hover)}.auth-input-group input:focus{outline:none;border-color:var(--text-primary);box-shadow:0 0 0 3px #ffffff1a}.auth-input-group input::placeholder{color:var(--text-tertiary)}.auth-submit-btn{margin-top:.5rem;padding:.875rem;background:var(--text-primary);color:var(--bg-primary);border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease;font-family:inherit}.auth-submit-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.auth-submit-btn:active:not(:disabled){transform:translateY(0)}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed}.auth-toggle{margin-top:1.5rem;text-align:center;font-size:13px;color:var(--text-secondary)}.auth-toggle-btn{background:none;border:none;color:var(--text-primary);font-weight:600;cursor:pointer;text-decoration:underline;font-size:13px;font-family:inherit;padding:0}.auth-toggle-btn:hover{opacity:.8}.user-menu{position:fixed;top:2rem;right:2rem;z-index:100}.user-menu.inline{position:static;display:flex;align-items:center;gap:.5rem;z-index:auto}.login-btn{padding:.625rem 1.25rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:inherit}.login-btn:hover{background:var(--bg-tertiary);border-color:var(--border-hover)}.user-profile-container{position:relative}.user-profile-container.compact .user-avatar{width:36px;height:36px;font-size:15px}.user-profile-container.compact .user-avatar-large{width:48px;height:48px}.user-profile-container.compact .user-email{display:none}.user-profile-btn{display:flex;align-items:center;gap:.625rem;padding:.5rem .75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s ease;font-family:inherit}.user-profile-btn:hover{background:var(--bg-tertiary);border-color:var(--border-hover)}.user-profile-btn.compact{padding:.25rem;border-radius:999px;background:transparent;border:none}.user-profile-btn.compact:hover{background:#ffffff14}.user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.user-email{color:var(--text-primary);font-size:14px;font-weight:500;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-dropdown-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:90}.profile-dropdown{position:absolute;top:calc(100% + .5rem);right:0;min-width:280px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 10px 40px #0000004d;padding:.75rem;z-index:100;animation:dropdownSlide .2s ease}.profile-dropdown.compact{top:calc(100% + .75rem)}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.profile-dropdown-header{display:flex;align-items:center;gap:.875rem;padding:.75rem}.user-avatar-large{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:20px;flex-shrink:0}.user-info{flex:1;min-width:0}.user-email-full{color:var(--text-primary);font-size:14px;font-weight:600;margin-bottom:.15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-username{color:var(--text-secondary);font-size:13px;font-weight:500;margin-bottom:.15rem}.user-email-small{color:var(--text-tertiary);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-id{color:var(--text-secondary);font-size:12px;font-family:Courier New,monospace}.profile-dropdown-divider{height:1px;background:var(--border-color);margin:.5rem 0}.profile-menu-item{width:100%;display:flex;align-items:center;gap:.75rem;padding:.75rem;background:transparent;border:none;border-radius:8px;color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;font-family:inherit;text-align:left}.profile-menu-item:hover{background:var(--bg-tertiary)}.profile-menu-item svg{color:var(--text-secondary);flex-shrink:0}@media (max-width: 768px){.user-menu{top:1rem;right:1rem}.user-email{display:none}.user-profile-btn{padding:.5rem}.profile-dropdown{min-width:260px}}.projects-page{min-height:100vh;background:var(--bg-primary);display:flex;flex-direction:column}.projects-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:1rem 2rem;position:sticky;top:0;z-index:100}.projects-header-content{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:2rem}.back-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:.95rem;transition:all .2s ease}.back-btn:hover{background:var(--bg-hover);border-color:var(--border-hover)}.projects-title{flex:1;font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.projects-header-actions{display:flex;align-items:center;gap:1rem}.projects-main{flex:1;padding:2.5rem;overflow-y:auto}.projects-container{max-width:1400px;margin:0 auto}.projects-search{position:relative;margin:0 auto 2rem;max-width:600px}.projects-search .search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#fff6;pointer-events:none;z-index:1}.search-input{width:100%;padding:.875rem 3rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:14px;color:var(--text-primary);font-size:.95rem;outline:none;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.search-input::placeholder{color:#fff6}.search-input:focus{background:#ffffff14;border-color:#fff3;box-shadow:0 4px 20px #00000026}.search-clear{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:#ffffff1a;border:none;border-radius:8px;padding:.4rem;cursor:pointer;color:#fff9;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.search-clear:hover{background:#ffffff26;color:#ffffffe6}.projects-loading,.projects-error,.projects-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;gap:1rem;color:var(--text-secondary)}.spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--accent-blue);border-radius:50%;animation:spin .8s linear infinite}.projects-empty svg{opacity:.3;margin-bottom:1rem}.projects-empty h2{font-size:1.5rem;color:var(--text-primary);margin:0}.projects-empty p{font-size:1rem;margin:0 0 1.5rem}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:2rem;padding:.5rem}.project-card{background:linear-gradient(135deg,#1e1e2399,#14141966);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:2rem;display:flex;flex-direction:column;gap:1.25rem;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 4px 16px #0000001a}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#ffffff05;opacity:0;transition:opacity .4s ease;pointer-events:none}.project-card:hover{border-color:#ffffff26;box-shadow:0 12px 40px #0000004d;transform:translateY(-4px)}.project-card:hover:before{opacity:1}.project-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.project-card-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.03em;background:linear-gradient(135deg,var(--text-primary),rgba(255,255,255,.7));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.project-status{padding:.4rem 1rem;border-radius:20px;font-size:.7rem;font-weight:700;text-transform:uppercase;white-space:nowrap;letter-spacing:.05em;border:1px solid;flex-shrink:0}.status-waiting{background:#d9770626;color:#f59e0b;border-color:#d9770666}.status-generating{background:#3b82f626;color:#60a5fa;border-color:#3b82f666}.status-building{background:#8b5cf626;color:#a78bfa;border-color:#8b5cf666}.status-completed{background:#22c55e26;color:#4ade80;border-color:#22c55e66}.status-error{background:#f8514926;color:#f87171;border-color:#f8514966}.project-card-description{color:#fff9;font-size:.975rem;line-height:1.65;margin:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:3.3em;font-weight:400}.project-card-meta{display:flex;flex-wrap:wrap;gap:.75rem;padding-top:1rem;padding-bottom:.5rem;border-top:1px solid rgba(255,255,255,.06)}.project-meta-item{display:flex;align-items:center;gap:.6rem;color:#ffffff8c;font-size:.875rem;background:#ffffff0a;padding:.5rem 1rem;border-radius:12px;transition:all .3s ease;border:1px solid rgba(255,255,255,.06);font-weight:500}.project-card:hover .project-meta-item{background:#ffffff14;border-color:#ffffff1a;color:#ffffffb3}.project-meta-item svg{opacity:.8;flex-shrink:0;width:15px;height:15px}.project-card-actions{display:flex;gap:.875rem;margin-top:auto;padding-top:1rem}.project-card-actions .btn{flex:1;font-weight:600;letter-spacing:.02em;padding:.75rem 1.5rem;font-size:.95rem;border-radius:12px}.btn{padding:.625rem 1.25rem;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:none;outline:none}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;position:relative;overflow:hidden;box-shadow:0 4px 14px #3b82f64d;border:1px solid rgba(255,255,255,.1)}.btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transition:left .6s ease}.btn-primary:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(255,255,255,.3),transparent);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s ease}.btn-primary:hover:before{left:100%}.btn-primary:hover:after{opacity:1}.btn-primary:hover{box-shadow:0 8px 28px #3b82f680;transform:translateY(-2px)}.btn-primary span{position:relative;z-index:1}.btn-secondary{background:#ffffff0d;color:var(--text-primary);border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-secondary:hover{background:#ffffff1a;border-color:#fff3;transform:translateY(-2px);box-shadow:0 4px 16px #0003}.btn-danger{background:#ef44441f;color:#f87171;border:1px solid rgba(239,68,68,.3);position:relative;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-danger:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ef444433;transform:translate(-50%,-50%);transition:width .4s ease,height .4s ease;z-index:0}.btn-danger:hover:before{width:350px;height:350px}.btn-danger:hover{background:#ef444433;border-color:#ef444480;color:#fca5a5;transform:translateY(-2px);box-shadow:0 4px 16px #ef44444d}.btn-danger span{position:relative;z-index:1}.projects-page-embedded{min-height:auto;height:100%;background:transparent}.projects-main-embedded{padding:1.5rem;height:100%}@media (max-width: 768px){.projects-header-content{flex-direction:column;align-items:stretch}.projects-title{text-align:center}.projects-grid{grid-template-columns:1fr}}.cloud-build-card{max-width:640px;gap:1.25rem}.cloud-build-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.cloud-build-header h2{margin:0;font-size:1.5rem;font-weight:600}.cloud-build-description{margin:.35rem 0 0;color:var(--text-secondary);font-size:.9rem;line-height:1.4}.cloud-build-chip{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid transparent}.cloud-build-chip-queued{background:#58a6ff1f;color:var(--accent-blue);border-color:#58a6ff59}.cloud-build-chip-running{background:#bc8cff1f;color:var(--accent-purple);border-color:#bc8cff59}.cloud-build-chip-success{background:#3fb9501f;color:var(--accent-green);border-color:#3fb95059}.cloud-build-chip-failure,.cloud-build-chip-cancelled{background:#f851491f;color:var(--accent-red);border-color:#f8514959}.cloud-build-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.cloud-build-form label{display:flex;flex-direction:column;gap:.5rem;font-size:.85rem;color:var(--text-secondary)}.cloud-build-input{padding:.7rem .75rem;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary);font-size:.95rem;transition:border-color .15s ease,box-shadow .15s ease}.cloud-build-input:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 2px #58a6ff1a}.cloud-build-actions{display:flex;flex-direction:column;gap:.75rem}.cloud-build-secondary-actions{display:flex;gap:.75rem;flex-wrap:wrap}.cloud-build-warning{padding:.75rem 1rem;border-radius:8px;border:1px solid rgba(248,202,48,.4);background:#f8ca3026;color:var(--text-primary);font-size:.9rem}.cloud-build-error{padding:.75rem 1rem;border-radius:8px;border:1px solid rgba(248,81,73,.4);background:#f851491f;color:var(--accent-red);font-size:.9rem}.cloud-build-status{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem 1.5rem;background:var(--bg-tertiary);border-radius:8px;padding:1rem;border:1px solid var(--border-color)}.cloud-build-status .status-row{display:flex;flex-direction:column;gap:.25rem}.cloud-build-status .status-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.cloud-build-status .status-value{font-family:Fira Code,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.9rem;color:var(--text-primary);word-break:break-all}.cloud-build-artifacts{display:flex;flex-direction:column;gap:1rem}.cloud-build-artifacts-header{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;color:var(--text-secondary)}.cloud-build-artifacts-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.cloud-build-artifacts-empty{margin:0;color:var(--text-secondary);font-size:.9rem}.cloud-build-artifacts-table{display:flex;flex-direction:column;gap:.5rem}.cloud-build-artifacts-head,.cloud-build-artifacts-row{display:grid;grid-template-columns:minmax(160px,2fr) minmax(90px,1fr) minmax(180px,2fr) minmax(160px,1.5fr);gap:.75rem;align-items:center}.cloud-build-artifacts-head{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.cloud-build-artifacts-row{padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary)}.artifact-name{font-weight:600;color:var(--text-primary);word-break:break-word}.artifact-size{font-size:.85rem;color:var(--text-secondary)}.artifact-sha{display:block;font-size:.75rem;background:var(--bg-tertiary);padding:.4rem .5rem;border-radius:6px;border:1px solid var(--border-color);color:var(--text-secondary);word-break:break-all}.artifact-actions{display:flex;flex-direction:column;gap:.35rem;align-items:flex-start}.artifact-meta{font-size:.75rem;color:var(--text-secondary)}.artifact-error{font-size:.75rem;color:var(--accent-red)}.cloud-build-footer{font-size:.8rem;color:var(--text-secondary);text-align:center}.cloud-build-cert-info{grid-column:1 / -1;padding:.75rem 1rem;border-radius:8px;font-size:.85rem;margin-top:.25rem}.cert-info-loading{color:var(--text-secondary);font-style:italic}.cert-info-available{display:flex;align-items:center;gap:.5rem;color:var(--accent-green);font-weight:500}.cert-info-available:before{content:"✓";display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border-radius:50%;background:#3fb95026;font-weight:700}.cert-info-missing{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-weight:400}.cert-info-missing:before{content:"ℹ";display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border-radius:50%;background:#58a6ff26;color:var(--accent-blue);font-weight:700}@media (max-width: 720px){.cloud-build-artifacts-head,.cloud-build-artifacts-row{grid-template-columns:minmax(160px,2fr) minmax(90px,1fr);grid-auto-rows:auto}.cloud-build-artifacts-row .artifact-sha,.cloud-build-artifacts-row .artifact-actions{grid-column:1 / -1}}.cert-upload-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.cert-upload-modal{background:var(--bg-primary, #1a1a1a);border:1px solid var(--border-color, #333);border-radius:24px;width:90%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 24px 48px #00000080;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.cert-upload-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--border-color, #333)}.cert-upload-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary, #fff)}.cert-upload-close{background:transparent;border:none;color:var(--text-secondary, #888);cursor:pointer;padding:.25rem;border-radius:12px;transition:all .2s}.cert-upload-close:hover{background:var(--bg-secondary, #242424);color:var(--text-primary, #fff)}.cert-upload-steps{display:flex;align-items:center;justify-content:center;padding:2rem 2rem 1rem;gap:.5rem}.cert-upload-step{display:flex;flex-direction:column;align-items:center;gap:.5rem}.step-number{width:40px;height:40px;border-radius:50%;background:var(--bg-secondary, #242424);border:2px solid var(--border-color, #333);color:var(--text-secondary, #888);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;transition:all .3s}.cert-upload-step.active .step-number{background:#3b82f6;border-color:#3b82f6;color:#fff;box-shadow:0 0 0 4px #3b82f633}.cert-upload-step.completed .step-number{background:#10b981;border-color:#10b981;color:#fff}.step-label{font-size:.75rem;color:var(--text-secondary, #888);font-weight:500;transition:color .3s}.cert-upload-step.active .step-label{color:#3b82f6;font-weight:600}.cert-upload-step.completed .step-label{color:#10b981}.step-line{flex:1;height:2px;background:var(--border-color, #333);margin-bottom:1.5rem;min-width:40px;max-width:80px}.cert-upload-content{flex:1;overflow-y:auto;padding:1.5rem 2rem 2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:.875rem;font-weight:600;color:var(--text-primary, #fff);margin-bottom:.5rem}.form-group select,.form-group input[type=text],.form-group input[type=password]{width:100%;padding:.75rem 1rem;background:var(--bg-secondary, #242424);border:2px solid var(--border-color, #333);border-radius:12px;color:var(--text-primary, #fff);font-size:.95rem;transition:all .2s}.form-group select:focus,.form-group input:focus{outline:none;border-color:#3b82f6;background:var(--bg-primary, #1a1a1a)}.form-hint{margin:.5rem 0 0;font-size:.8rem;color:var(--text-tertiary, #666)}.cert-upload-dropzone{position:relative}.cert-upload-dropzone-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2rem;background:var(--bg-secondary, #242424);border:2px dashed var(--border-color, #333);border-radius:16px;cursor:pointer;transition:all .2s;min-height:180px;text-align:center}.cert-upload-dropzone-label:hover{border-color:#3b82f6;background:#3b82f60d}.cert-upload-dropzone-label svg{display:block;margin:0 auto .75rem;color:var(--text-secondary, #888)}.cert-upload-dropzone-label span{display:block;text-align:center}.cert-upload-dropzone-label .file-name{font-size:1rem;font-weight:600;color:var(--text-primary, #fff);margin:.5rem 0 .25rem}.cert-upload-dropzone-label .file-size{font-size:.875rem;color:var(--text-secondary, #888)}.cert-upload-dropzone-label .file-hint{margin-top:.5rem;font-size:.8rem;color:var(--text-tertiary, #666)}.cert-upload-error{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:12px;color:#ef4444;font-size:.875rem;margin-bottom:1rem}.cert-upload-error svg{flex-shrink:0;margin-top:.125rem}.cert-upload-verifying{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center}.spinner-large{width:60px;height:60px;border:4px solid var(--border-color, #333);border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1.5rem}@keyframes spin{to{transform:rotate(360deg)}}.cert-upload-verifying h3{margin:0 0 .5rem;font-size:1.25rem;color:var(--text-primary, #fff)}.cert-upload-verifying p{margin:0;color:var(--text-secondary, #888)}.cert-upload-success{display:flex;flex-direction:column;align-items:center;padding:2rem;text-align:center}.success-icon{width:80px;height:80px;background:#10b9811a;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}.success-icon svg{color:#10b981}.cert-upload-success h3{margin:0 0 1.5rem;font-size:1.5rem;color:var(--text-primary, #fff)}.cert-success-details{width:100%;background:var(--bg-secondary, #242424);border:1px solid var(--border-color, #333);border-radius:16px;padding:1.5rem;margin-bottom:1.5rem}.detail-item{display:flex;justify-content:space-between;align-items:flex-start;padding:.75rem 0;gap:1rem}.detail-item:not(:last-child){border-bottom:1px solid var(--border-color, #333)}.detail-item label{font-size:.875rem;font-weight:600;color:var(--text-secondary, #888);flex-shrink:0}.detail-item span{font-size:.875rem;color:var(--text-primary, #fff);text-align:right;word-break:break-word}.detail-item .thumbprint{font-family:Courier New,monospace;font-size:.75rem}.success-message{margin:0;color:var(--text-secondary, #888)}.cert-upload-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--border-color, #333)}@media (max-width: 768px){.cert-upload-modal{width:95%;max-height:95vh}.cert-upload-header,.cert-upload-content{padding-left:1.5rem;padding-right:1.5rem}.cert-upload-steps{padding:1.5rem 1rem 1rem}.step-label{font-size:.65rem}.step-number{width:32px;height:32px;font-size:.8rem}.step-line{min-width:20px;max-width:40px}}.certificate-manager{display:flex;flex-direction:column;height:100%;overflow:hidden;min-width:0;container-type:inline-size;container-name:cert-manager}.certificate-manager.standalone{padding:1.5rem;background:var(--bg-primary, #1a1a1a);border-radius:16px;border:1px solid var(--border-color, #333)}.cert-manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:0 0 1rem;border-bottom:1px solid var(--border-color, #333);flex-shrink:0}.cert-manager-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary, #fff)}.cert-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;color:var(--text-secondary, #888)}.cert-loading .spinner{width:40px;height:40px;border:3px solid var(--border-color, #333);border-top-color:var(--primary-color, #3b82f6);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}.cert-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;text-align:center;color:var(--text-secondary, #888)}.cert-empty-state svg{margin-bottom:1rem;opacity:.5}.cert-empty-state h4{margin:0 0 .5rem;font-size:1rem;color:var(--text-primary, #fff)}.cert-empty-state p{margin:0 0 1rem;font-size:.875rem;color:var(--text-secondary, #888)}.cert-empty-state .btn{border-radius:12px;padding:.5rem 1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:12px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 4px 12px #2563eb40}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px #2563eb59}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.btn-danger{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.btn-danger:hover{background:#ef444440}.cert-list{display:grid;gap:1rem;overflow-y:auto;overflow-x:hidden;flex:1;padding-right:.5rem;min-width:0}.cert-card{background:var(--bg-secondary, #242424);border:1px solid var(--border-color, #333);border-radius:16px;padding:1rem;transition:all .2s;min-width:0;overflow:hidden}.cert-card:hover{border-color:var(--border-hover, #444);box-shadow:0 4px 12px #0003}.cert-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color, #333);gap:.75rem;min-width:0}.cert-card-title{display:flex;align-items:flex-start;gap:.75rem;min-width:0;flex:1}.cert-card-title>div{min-width:0;flex:1}.cert-type-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;min-width:48px;min-height:48px;max-width:48px;max-height:48px;background:var(--bg-tertiary, #1a1a1a);padding:8px;border-radius:8px;box-sizing:border-box;flex-shrink:0}.cert-type-icon img{width:100%;height:100%;object-fit:contain;object-position:center}.cert-card-title h4{margin:0 0 .25rem;font-size:1rem;font-weight:600;color:var(--text-primary, #fff);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cert-subject{margin:0;font-size:.875rem;color:var(--text-secondary, #888);word-break:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.cert-status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;flex-shrink:0}.cert-status-valid{background:#10b9811a;color:#10b981}.cert-status-warning{background:#f59e0b1a;color:#f59e0b}.cert-status-expired{background:#ef44441a;color:#ef4444}.cert-status-unknown{background:#6b72801a;color:#6b7280}.cert-card-body{margin-bottom:.75rem}.cert-info-grid{display:grid;grid-template-columns:1fr;gap:.75rem;margin-bottom:.75rem}.cert-info-item{display:flex;flex-direction:column;gap:.25rem}.cert-info-item label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary, #666)}.cert-info-item span{font-size:.875rem;color:var(--text-secondary, #888);overflow-wrap:break-word;word-break:break-word}.cert-thumbprint{font-family:Courier New,monospace;font-size:.75rem;word-break:break-all;overflow-wrap:anywhere}.cert-verified{display:flex;align-items:center;gap:.375rem;color:#10b981!important;font-weight:500}.cert-verified svg{flex-shrink:0}.cert-warning,.cert-error{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;border-radius:12px;font-size:.875rem;line-height:1.5;margin-top:1rem}.cert-warning{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);color:#f59e0b}.cert-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444}.cert-warning svg,.cert-error svg{flex-shrink:0;margin-top:.125rem}.cert-card-actions{display:flex;gap:.5rem;padding-top:.75rem;border-top:1px solid var(--border-color, #333);flex-wrap:wrap}@container cert-manager (max-width: 300px){.cert-type-icon{width:36px;height:36px;padding:6px}.cert-card-title h4{font-size:.9rem}.cert-subject{font-size:.8rem}.cert-card{padding:.75rem}.cert-status-badge{font-size:.7rem;padding:.2rem .5rem}.cert-card-header{flex-direction:column;align-items:flex-start}.cert-status-badge{align-self:flex-start}}@media (max-width: 768px){.certificate-manager{padding:1rem}.cert-manager-header{flex-direction:column;align-items:stretch;gap:1rem}.cert-info-grid{grid-template-columns:1fr}.cert-card{padding:1rem}.cert-card-header{flex-direction:column;gap:1rem}.cert-status-badge{align-self:flex-start}}.animated-background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.wizard-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:wizardFadeIn .3s ease-out}.wizard-overlay.wizard-blocking{background:#000000f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@keyframes wizardFadeIn{0%{opacity:0}to{opacity:1}}.wizard-container{background:#1a1a1a;border:1px solid #333;border-radius:16px;width:90%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 24px 48px #00000080;animation:wizardSlideUp .4s cubic-bezier(.16,1,.3,1)}@keyframes wizardSlideUp{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.wizard-header{display:flex;align-items:flex-start;justify-content:space-between;padding:2rem 2.5rem 1.5rem;border-bottom:1px solid #2a2a2a}.wizard-title{margin:0 0 .5rem;font-size:1.75rem;font-weight:700;color:#fff}.wizard-subtitle{margin:0;font-size:.95rem;color:#888}.wizard-close{background:transparent;border:none;color:#666;font-size:2rem;line-height:1;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.wizard-close:hover{background:#2a2a2a;color:#fff}.wizard-stepper{display:flex;align-items:center;justify-content:center;padding:2rem 2.5rem;gap:1rem}.wizard-step{display:flex;flex-direction:column;align-items:center;gap:.5rem}.wizard-step-number{width:36px;height:36px;border-radius:50%;background:#2a2a2a;color:#666;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;transition:all .3s}.wizard-step.active .wizard-step-number{background:#3b82f6;color:#fff;box-shadow:0 0 0 4px #3b82f633}.wizard-step.completed .wizard-step-number{background:#10b981;color:#fff}.wizard-step.completed .wizard-step-number:before{content:"✓"}.wizard-step-label{font-size:.8rem;color:#666;font-weight:500;transition:color .3s}.wizard-step.active .wizard-step-label{color:#3b82f6}.wizard-step.completed .wizard-step-label{color:#10b981}.wizard-step-line{width:60px;height:2px;background:#2a2a2a;margin-bottom:1.5rem}.wizard-content{flex:1;overflow-y:auto;padding:1rem 2.5rem 2rem}.wizard-step-content{animation:wizardContentFade .3s ease-out}@keyframes wizardContentFade{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.wizard-step-title{margin:0 0 1.5rem;font-size:1.25rem;font-weight:600;color:#fff;text-align:center}.wizard-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.wizard-card{position:relative;background:#242424;border:2px solid #333;border-radius:12px;padding:2rem 1.5rem;cursor:pointer;transition:all .2s;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem}.wizard-card:hover{border-color:#444;background:#2a2a2a;transform:translateY(-2px)}.wizard-card.selected{border-color:#3b82f6;background:#3b82f61a;box-shadow:0 0 0 3px #3b82f633}.wizard-card-icon{width:56px;height:56px;object-fit:contain;opacity:.9}.wizard-card-icon-emoji{font-size:3rem;line-height:1}.wizard-card-title{margin:0;font-size:1.125rem;font-weight:600;color:#fff;display:flex;align-items:center;gap:.5rem}.wizard-card-subtitle{margin:0;font-size:.85rem;color:#888;font-weight:500}.wizard-card-description{margin:0;font-size:.875rem;color:#999;line-height:1.5}.wizard-card-badge{display:inline-block;padding:.25rem .75rem;background:#2a2a2a;border-radius:6px;font-size:.75rem;color:#888;font-weight:500;margin-top:.25rem}.wizard-card-recommended{display:inline-block;padding:.125rem .5rem;background:linear-gradient(135deg,#f59e0b,#ef4444);border-radius:4px;font-size:.65rem;color:#fff;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.wizard-card-checkmark{position:absolute;top:.75rem;right:.75rem;width:28px;height:28px;border-radius:50%;background:#3b82f6;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;animation:checkmarkPop .3s cubic-bezier(.68,-.55,.265,1.55)}@keyframes checkmarkPop{0%{transform:scale(0)}to{transform:scale(1)}}.wizard-form{max-width:500px;margin:0 auto}.wizard-form-group{margin-bottom:1.5rem}.wizard-form-label{display:block;font-size:.875rem;font-weight:600;color:#e5e7eb;margin-bottom:.5rem}.wizard-form-input{width:100%;padding:.75rem 1rem;background:#242424;border:2px solid #333;border-radius:8px;color:#fff;font-size:.95rem;transition:all .2s}.wizard-form-input:focus{outline:none;border-color:#3b82f6;background:#2a2a2a}.wizard-form-input.invalid{border-color:#ef4444;background:#ef44440d}.wizard-form-input.invalid:focus{border-color:#ef4444;background:#ef444414}.wizard-form-hint{margin:.375rem 0 0;font-size:.8rem;color:#666}.wizard-form-error{margin:.5rem 0 0;font-size:.8rem;color:#ef4444;font-weight:500;display:flex;align-items:flex-start;gap:.375rem}.wizard-form-error:before{content:"⚠";font-size:.9rem;line-height:1}.wizard-summary{margin-top:2rem;padding:1.5rem;background:#242424;border:1px solid #333;border-radius:12px}.wizard-summary-title{margin:0 0 1rem;font-size:1rem;font-weight:600;color:#fff}.wizard-summary-grid{display:grid;gap:.75rem}.wizard-summary-item{display:flex;justify-content:space-between;align-items:center}.wizard-summary-label{font-size:.875rem;color:#888}.wizard-summary-value{font-size:.875rem;color:#fff;font-weight:500}.wizard-validation-hint{padding:.5rem 2.5rem;text-align:center;color:#ef4444;font-size:.85rem;font-weight:500}.wizard-footer{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2.5rem;border-top:1px solid #2a2a2a}.wizard-footer-left,.wizard-footer-right{display:flex;gap:.75rem}.wizard-confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:3000;animation:wizardFadeIn .2s ease-out}.wizard-confirm-dialog{background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:2rem;max-width:400px;width:90%;box-shadow:0 12px 32px #00000080}.wizard-confirm-title{margin:0 0 .75rem;font-size:1.25rem;font-weight:600;color:#fff}.wizard-confirm-text{margin:0 0 1.5rem;font-size:.95rem;color:#888;line-height:1.5}.wizard-confirm-actions{display:flex;gap:.75rem;justify-content:flex-end}.btn-danger{background:#ef4444;color:#fff;border:none;padding:.625rem 1.25rem;border-radius:8px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-danger:hover{background:#dc2626;transform:translateY(-1px)}@media (max-width: 768px){.wizard-container{width:95%;max-height:95vh}.wizard-cards{grid-template-columns:1fr}.wizard-header{padding:1.5rem}.wizard-content,.wizard-footer{padding:1rem 1.5rem}.wizard-stepper{padding:1.5rem}.wizard-step-line{width:40px}.wizard-step-label{font-size:.7rem}}.wizard-presets{padding:0 2.5rem 1rem}.wizard-presets-title{margin:0 0 1rem;font-size:.95rem;font-weight:600;color:#888;text-align:center;text-transform:uppercase;letter-spacing:.5px}.wizard-presets-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.wizard-preset-card{background:#242424;border:2px solid #333;border-radius:12px;padding:1.5rem 1rem;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}.wizard-preset-card:hover{border-color:#3b82f6;background:#3b82f60d;transform:translateY(-2px)}.wizard-preset-icon{font-size:2rem;line-height:1}.wizard-preset-label{font-size:.875rem;font-weight:600;color:#fff}.wizard-presets-divider{text-align:center;position:relative;margin:2rem 0 1rem}.wizard-presets-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#2a2a2a}.wizard-presets-divider span{position:relative;background:#1a1a1a;padding:0 1rem;font-size:.85rem;color:#666;font-weight:500}.wizard-step-hint{margin:-.5rem 0 1rem;text-align:center;font-size:.875rem;color:#666}.wizard-card-multiselect{cursor:pointer}.wizard-output-section{margin-bottom:2rem}.wizard-output-section:last-child{margin-bottom:0}.wizard-output-platform{margin:0 0 1rem;font-size:1.125rem;font-weight:600;color:#fff;padding-left:.5rem;border-left:3px solid #3b82f6}.wizard-output-formats{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.wizard-format-card{background:#242424;border:2px solid #333;border-radius:10px;padding:1rem;cursor:pointer;transition:all .2s;text-align:left}.wizard-format-card:hover{border-color:#444;background:#2a2a2a}.wizard-format-card.selected{border-color:#3b82f6;background:#3b82f61a}.wizard-format-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.wizard-format-name{font-size:.95rem;font-weight:600;color:#fff}.wizard-format-check{color:#3b82f6;font-size:1rem;font-weight:700}.wizard-format-description{margin:0;font-size:.8rem;color:#888;line-height:1.4}@media (max-width: 768px){.wizard-presets-grid{grid-template-columns:repeat(2,1fr)}.wizard-output-formats{grid-template-columns:1fr}}.app{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-primary);position:relative;overflow:hidden}.main-content{flex:1;padding:0;width:100%;display:flex;justify-content:center;align-items:center;position:relative;z-index:1}.main-content>*{width:100%}.app-top-bar{position:fixed;top:2rem;left:2rem;display:flex;align-items:center;gap:.75rem;z-index:101}.app-top-bar-btn{padding:.625rem 1.25rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:inherit}.app-top-bar-btn:hover{background:var(--bg-tertiary);border-color:var(--border-hover)}.app-top-bar-btn:active{transform:translateY(1px)}@media (max-width: 768px){.app-top-bar{top:1rem;left:1rem}.app-top-bar-btn{padding:.5rem 1rem}}.loading-screen{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#121212,#1a1a1a);position:relative;overflow:hidden}.loading-screen:before{content:"";position:absolute;width:500px;height:500px;background:radial-gradient(circle,rgba(255,255,255,.03) 0%,transparent 70%);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes pulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.5}50%{transform:translate(-50%,-50%) scale(1.2);opacity:.8}}.loading-content{position:relative;z-index:2;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2rem}.loading-logo{width:600px;height:400px}.loading-animation{width:100%;height:100%;filter:drop-shadow(0 0 20px rgba(255,255,255,.1))}.desktop-window{animation:windowAppear 1s ease-out forwards}@keyframes windowAppear{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.window-btn{animation:btnGlow 2s ease-in-out infinite}.pulse-btn{animation:btnPulse 1.5s ease-in-out infinite}@keyframes btnGlow{0%,to{opacity:.8}50%{opacity:1;filter:drop-shadow(0 0 3px currentColor)}}@keyframes btnPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.code-line{animation:typingFadeIn .5s ease-out forwards;opacity:0}.code-line-1{animation-delay:.3s}.code-line-2{animation-delay:.5s}.code-line-3{animation-delay:.7s}.code-line-4{animation-delay:.9s}.code-line-5{animation-delay:1.1s}.code-line-6{animation-delay:1.3s}@keyframes typingFadeIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.cursor-blink{animation:cursorBlink 1s step-end infinite;animation-delay:1.5s}@keyframes cursorBlink{0%,50%{opacity:1}50.1%,to{opacity:0}}.binary-1{animation:binaryFlow 3s ease-in-out infinite}.binary-2{animation:binaryFlow 3s ease-in-out infinite;animation-delay:.5s}@keyframes binaryFlow{0%,to{opacity:.1;transform:translate(0)}50%{opacity:.4;transform:translate(10px)}}.app-icon{animation:iconAppear 1.5s ease-out forwards;animation-delay:1.5s;opacity:0}@keyframes iconAppear{0%{opacity:0;transform:scale(.5) rotate(-10deg)}60%{transform:scale(1.1) rotate(5deg)}to{opacity:1;transform:scale(1) rotate(0)}}.icon-glow{animation:iconGlow 2s ease-in-out infinite;animation-delay:3s}@keyframes iconGlow{0%,to{opacity:.6}50%{opacity:1;filter:drop-shadow(0 0 8px #39d0d8)}}.icon-detail-1{animation:detailFadeIn .5s ease-out forwards;animation-delay:2s;opacity:0}.icon-detail-2{animation:detailFadeIn .5s ease-out forwards;animation-delay:2.2s;opacity:0}.icon-detail-3{animation:detailFadeIn .5s ease-out forwards;animation-delay:2.4s;opacity:0}@keyframes detailFadeIn{to{opacity:1}}.status-1{animation:statusFadeIn .5s ease-out forwards;animation-delay:1.8s;opacity:0}.status-2{animation:statusFadeIn .5s ease-out forwards;animation-delay:2.3s;opacity:0}.status-3{animation:statusFadeIn .5s ease-out forwards;animation-delay:2.8s;opacity:0}@keyframes statusFadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.particle{animation:sparkle 2s ease-in-out infinite}.particle-1{animation-delay:.5s}.particle-2{animation-delay:1s}.particle-3{animation-delay:1.5s}.particle-4{animation-delay:2s}@keyframes sparkle{0%,to{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1.5)}}@keyframes fireParticle1{0%{transform:translate(0) scale(1);opacity:0}20%{opacity:1}to{transform:translate(30px,-15px) scale(.2);opacity:0}}@keyframes fireParticle2{0%{transform:translate(0) scale(1);opacity:0}25%{opacity:1}to{transform:translate(40px,-10px) scale(.1);opacity:0}}@keyframes fireParticle3{0%{transform:translate(0) scale(1);opacity:0}20%{opacity:1}to{transform:translate(50px,-5px) scale(.15);opacity:0}}@keyframes fireParticle4{0%{transform:translate(0) scale(1);opacity:0}30%{opacity:1}to{transform:translate(35px,-20px) scale(.1);opacity:0}}@keyframes fireParticle5{0%{transform:translate(0) scale(1);opacity:0}25%{opacity:1}to{transform:translate(25px,-25px) scale(.2);opacity:0}}@keyframes fireParticle6{0%{transform:translate(0) scale(1);opacity:0}20%{opacity:1}to{transform:translate(55px) scale(.1);opacity:0}}@keyframes fireParticle7{0%{transform:translate(0) scale(1);opacity:0}30%{opacity:1}to{transform:translate(45px,-15px) scale(.15);opacity:0}}@keyframes fireParticle8{0%{transform:translate(0) scale(1);opacity:0}25%{opacity:1}to{transform:translate(40px,-30px) scale(.1);opacity:0}}@keyframes fireParticle9{0%{transform:translate(0) scale(1);opacity:0}20%{opacity:1}to{transform:translate(38px,-18px) scale(.12);opacity:0}}@keyframes fireParticle10{0%{transform:translate(0) scale(1);opacity:0}30%{opacity:1}to{transform:translate(60px,-8px) scale(.08);opacity:0}}.smoke-1{animation:smoke1 2.2s ease-out infinite}.smoke-2{animation:smoke2 2.8s ease-out infinite}.smoke-3{animation:smoke3 2.5s ease-out infinite}@keyframes smoke1{0%{transform:translate(0) scale(.5);opacity:0}50%{opacity:.3}to{transform:translate(40px,-30px) scale(2);opacity:0}}@keyframes smoke2{0%{transform:translate(0) scale(.5);opacity:0}50%{opacity:.2}to{transform:translate(50px,-40px) scale(2.5);opacity:0}}@keyframes smoke3{0%{transform:translate(0) scale(.6);opacity:0}50%{opacity:.25}to{transform:translate(45px,-35px) scale(2.2);opacity:0}}.dragon-eye{animation:dragonEyeGlow 2s ease-in-out infinite}@keyframes dragonEyeGlow{0%,to{filter:drop-shadow(0 0 5px #58a6ff)}50%{filter:drop-shadow(0 0 15px #39d0d8)}}.loading-title{font-size:2.5rem;font-weight:700;color:#e0e0e0;margin:0;animation:fadeInUp 1s ease-out;letter-spacing:2px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.loading-bar{width:300px;height:4px;background:#58a6ff33;border-radius:4px;overflow:hidden;position:relative}.loading-bar-fill{height:100%;background:linear-gradient(90deg,#58a6ff,#39d0d8,#58a6ff);background-size:200% 100%;border-radius:4px;animation:loadingBar 1.5s ease-in-out infinite;box-shadow:0 0 15px #58a6ff99}@keyframes loadingBar{0%{width:0%;background-position:0% 0%}50%{width:100%;background-position:100% 0%}to{width:0%;background-position:0% 0%}}.loading-text{color:#e5e7ebb3;font-size:.95rem;margin:0;animation:loadingDots 1.5s infinite}@keyframes loadingDots{0%,20%{content:""}40%{content:"."}60%{content:".."}80%,to{content:"..."}}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #121212;--bg-secondary: #1a1a1a;--bg-tertiary: #242424;--bg-hover: #2e2e2e;--text-primary: #e0e0e0;--text-secondary: #a0a0a0;--text-tertiary: #707070;--accent-blue: #58a6ff;--accent-purple: #bc8cff;--accent-cyan: #39d0d8;--accent-green: #3fb950;--accent-orange: #d29922;--accent-red: #f85149;--accent-yellow: #d29922;--border-color: #333333;--border-hover: #4a4a4a;--shadow: 0 4px 6px rgba(0, 0, 0, .3);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .4), 0 10px 10px -5px rgba(0, 0, 0, .3)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary);color:var(--text-primary);line-height:1.5;font-size:14px}code{font-family:Fira Code,Courier New,monospace}#root{min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}
