.voice-icon-btn{width:40px;height:40px;background-color:transparent;border:none;color:#fff9;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;position:relative;order:2!important;margin-left:4px;padding:0}.voice-icon-btn svg{width:20px;height:20px;stroke:#fff9;transition:stroke .2s ease}.voice-icon-btn:hover{color:#ffffffe6}.voice-icon-btn:hover svg{stroke:#ffffffe6}.chat-voice-icon-btn{background-color:transparent;color:#8b949e;border:none;width:32px;height:32px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;position:relative;order:2!important;margin-left:4px;padding:0}.mic-icon{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:all .2s ease}.voice-button .mic-icon{width:20px;height:20px}.voice-icon-btn.recording,.chat-voice-icon-btn.recording{color:#2f81f7;animation:pulse-glow 1.5s ease-in-out infinite}.voice-icon-btn.recording svg,.chat-voice-icon-btn.recording svg{stroke:#2f81f7}.voice-icon-btn.recording:hover,.chat-voice-icon-btn.recording:hover{color:#1a6fd1}.voice-icon-btn.recording:hover svg,.chat-voice-icon-btn.recording:hover svg{stroke:#1a6fd1}@keyframes pulse-glow{0%,to{box-shadow:0 0 #2f81f7b3;transform:scale(1)}50%{box-shadow:0 0 0 8px #2f81f700;transform:scale(1.02)}}.recording .mic-icon{animation:mic-pulse 1s ease-in-out infinite}@keyframes mic-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.voice-icon-btn.processing,.chat-voice-icon-btn.processing{color:#2f81f7;cursor:wait;animation:pulse-glow 1.5s ease-in-out infinite}.voice-icon-btn.processing svg,.chat-voice-icon-btn.processing svg{stroke:#2f81f7}.processing .mic-icon{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.voice-icon-btn.error,.chat-voice-icon-btn.error{color:#da3633;animation:shake .5s ease-in-out}.voice-icon-btn.error svg,.chat-voice-icon-btn.error svg{stroke:#da3633}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.voice-icon-btn:disabled,.chat-voice-icon-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.recording-indicator{position:absolute;top:8px;right:8px;width:8px;height:8px;background-color:#f44;border-radius:50%;animation:blink 1s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.voice-waveform{position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent 0%,#2F81F7 50%,transparent 100%);opacity:0;transition:opacity .3s ease}.recording .voice-waveform{opacity:1;animation:waveform 1.5s ease-in-out infinite}@keyframes waveform{0%,to{transform:scaleX(.5)}50%{transform:scaleX(1)}}.voice-hint{position:absolute;bottom:-30px;left:50%;transform:translate(-50%);background-color:#21262d;color:#e6edf3;padding:6px 12px;border-radius:6px;font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:1000;box-shadow:0 4px 12px #0000004d}.voice-hint:before{content:"";position:absolute;top:-4px;left:50%;transform:translate(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid #21262D}.voice-button:hover .voice-hint,.chat-voice-btn:hover .voice-hint,.recording .voice-hint{opacity:1}.voice-permission-modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.voice-permission-content{background-color:#161b22;border:1px solid #30363D;border-radius:12px;padding:24px;max-width:400px;width:90%;box-shadow:0 8px 32px #00000080;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.voice-permission-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.voice-permission-icon{width:40px;height:40px;background-color:#2f81f7;border-radius:50%;display:flex;align-items:center;justify-content:center}.voice-permission-icon svg{width:20px;height:20px;stroke:#fff;fill:none}.voice-permission-title{font-size:18px;font-weight:600;color:#e6edf3}.voice-permission-message{color:#8b949e;font-size:14px;line-height:1.6;margin-bottom:20px}.voice-permission-actions{display:flex;gap:12px;justify-content:flex-end}.voice-permission-btn{padding:8px 16px;border-radius:6px;border:none;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.voice-permission-btn.primary{background-color:#2f81f7;color:#fff}.voice-permission-btn.primary:hover{background-color:#1a6fd1}.voice-permission-btn.secondary{background-color:transparent;color:#8b949e;border:1px solid #30363D}.voice-permission-btn.secondary:hover{background-color:#ffffff0d;color:#e6edf3}@media (max-width: 768px){.voice-button{padding:0 16px;font-size:14px}.voice-hint{font-size:11px;padding:4px 8px}.voice-permission-content{padding:20px;max-width:90%}}.voice-icon-btn:focus,.chat-voice-icon-btn:focus,.attach-icon-btn:focus,.chat-attach-icon-btn:focus{outline:2px solid #2F81F7;outline-offset:2px}.voice-icon-btn:focus:not(:focus-visible),.chat-voice-icon-btn:focus:not(:focus-visible),.attach-icon-btn:focus:not(:focus-visible),.chat-attach-icon-btn:focus:not(:focus-visible){outline:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.model-selector-wrapper{position:relative;display:inline-flex;align-items:center;flex-shrink:0;max-width:140px}.model-selector-btn{display:flex;align-items:center;gap:6px;background-color:transparent;color:#8b949e;border:none;padding:6px 10px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease;white-space:nowrap;height:32px}.model-selector-btn:hover{background-color:#8b949e1a;color:#e6edf3}.model-selector-btn .model-icon{width:16px;height:16px;stroke:currentColor;flex-shrink:0}.model-selector-btn .model-logo{width:20px;height:20px;object-fit:contain;border-radius:4px;flex-shrink:0}.model-selector-btn .model-name{font-size:13px;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-selector-btn .chevron-icon{width:14px;height:14px;stroke:currentColor;transition:transform .2s ease;flex-shrink:0}.model-selector-btn.active .chevron-icon{transform:rotate(180deg)}.model-selector-btn:hover:not(.active) .chevron-icon{transform:translateY(1px)}.model-selector-dropdown{position:absolute!important;bottom:calc(100% + 8px)!important;top:auto!important;right:-50px;left:auto;background-color:#161b22;border:1px solid #30363D;border-radius:8px;box-shadow:0 8px 24px #0006;min-width:240px;max-width:280px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .2s ease;z-index:1000;overflow:visible;max-height:320px;overflow-y:auto}.model-selector-dropdown.active{opacity:1;visibility:visible;transform:translateY(0)!important}.model-dropdown-header{padding:12px 16px 10px;font-size:14px;font-weight:600;color:#8b949e;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #21262D;background-color:#0d1117}.model-dropdown-subheader{padding:0 14px 10px;border-bottom:1px solid #21262D;font-size:11px;color:#8b949e;background-color:#0d1117}.model-group{padding:0;border-bottom:none}.model-group:last-child{border-bottom:none}.model-group-title{display:none!important}.model-item{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background-color .15s ease;position:relative;border-bottom:1px solid rgba(48,54,61,.5);min-height:44px}.model-item:first-child{border-radius:8px 8px 0 0}.model-item:last-child{border-bottom:none;border-radius:0 0 8px 8px}.model-item:hover{background-color:#21262d}.model-item.selected{background-color:#3b82f61a}.model-item-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-right:4px}.model-item-icon img{width:24px;height:24px;object-fit:contain;border-radius:4px;display:block}.model-item-content{flex:1;min-width:0;display:flex;align-items:center}.model-item-header{display:flex;align-items:center;gap:8px;margin-bottom:2px}.model-item-name{font-size:14px;font-weight:500;color:#e6edf3;white-space:nowrap}.model-badge{display:inline-block;padding:2px 6px;background-color:#3b82f626;color:#58a6ff;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;display:none}.model-multiplier{font-size:11px;color:#8b949e;font-weight:500;margin-left:6px}.model-item-description{font-size:12px;color:#8b949e;line-height:1.4;display:none!important}.model-check{color:#3b82f6;font-size:18px;font-weight:700;flex-shrink:0;margin-left:8px}#landing-model-selector{order:3!important;display:flex;align-items:center;position:relative}.search-actions #landing-model-selector{order:3!important}.main-search-container .model-selector-wrapper{order:3!important;display:flex;align-items:center;position:relative}.main-search-container .model-selector-btn{color:#fff9;padding:8px 12px;height:auto}.main-search-container .model-selector-btn:hover{color:#ffffffe6;background-color:#ffffff1a}#landing-model-selector .model-selector-dropdown,.main-search-container .model-selector-dropdown{position:absolute!important;bottom:calc(100% + 8px)!important;top:auto!important;right:-50px;left:auto;z-index:9999!important}#builder-model-selector{order:3!important;display:flex;align-items:center;position:relative}.input-container #builder-model-selector{order:3!important}.input-container .model-selector-wrapper{order:3!important;display:flex;align-items:center;position:relative;flex-shrink:0;max-width:140px}.input-container .model-selector-btn{padding:6px 8px;max-width:140px}#builder-model-selector .model-selector-dropdown{position:absolute!important;bottom:calc(100% + 8px)!important;top:auto!important;right:-60px;left:auto;z-index:9999!important}@media (max-width: 768px){.model-selector-btn .model-name{display:none}.model-selector-btn{padding:6px 8px}.model-selector-dropdown{min-width:280px;right:-10px}.main-search-container .model-selector-dropdown{left:-10px;right:auto}}@keyframes modelChange{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.model-selector-btn.model-changed{animation:modelChange .3s ease}.model-selector-btn:focus{outline:2px solid #2F81F7;outline-offset:2px}.model-selector-btn:focus:not(:focus-visible){outline:none}.model-item:focus{outline:2px solid #2F81F7;outline-offset:-2px}.model-item:focus:not(:focus-visible){outline:none}.model-item.locked{opacity:.5;cursor:not-allowed}.model-item.locked:hover{background-color:#21262d80}.model-item.locked .model-item-name{color:#8b949e}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#30363d;border-radius:4px;min-height:30px;max-height:60px}::-webkit-scrollbar-thumb:hover{background:#4d5562}html,body{margin:0!important;padding:0!important;overflow-x:hidden!important;width:100%!important}body.app-builder-body{padding-top:0!important}.app-builder-body{display:flex;flex-direction:column;height:100vh;overflow:hidden;background-color:#0d1117;color:#e6edf3;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;margin:0;padding:0;width:100vw;max-width:100%}.app-builder-body .app-header{display:flex;justify-content:space-between;align-items:center;background-color:#0d1117;height:60px;border-bottom:1px solid #21262D;width:100vw!important;box-sizing:border-box;margin:0!important;padding:0!important;position:static!important;border-bottom:1px solid #21262D!important}.app-header-left{display:flex;align-items:center;position:relative;margin-left:20px}.logo-container{display:flex;align-items:center;position:relative}.app-header-left .logo{display:flex;align-items:center;text-decoration:none}.app-header-left img{width:40px;height:auto}.app-header-right{display:flex;align-items:center;gap:.75rem;margin-right:20px}.header-btn{background-color:transparent;color:#e6edf3;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:16px;font-weight:600;transition:all .2s ease}.header-btn:hover{color:#e6e6e6;background-color:#1c2027}.icon-btn{display:flex;align-items:center;gap:.5rem;background-color:transparent;color:#e6edf3;border:1px solid #30363D;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:16px;font-weight:600;transition:background-color .2s ease,border-color .2s ease}.icon-btn:hover{background-color:#30363d;border-color:#8b949e}.icon-btn svg{color:#e6edf3}.github-icon,.apple-icon{width:18px;height:18px}.create-app-btn{display:flex;align-items:center;gap:.5rem;background-color:#fff;color:#000;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:16px;font-weight:600;height:36px}.create-app-btn:hover{background-color:#e6e6e6}.chevron-wrapper{display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin-left:-25px;border-radius:4px;cursor:pointer;position:relative;z-index:100}.chevron-wrapper:hover{background-color:#1c2027}.logo-dropdown{position:absolute;top:45px;left:-20px;width:350px;background-color:#0d1117;border:1px solid #30363D;border-radius:8px;box-shadow:0 4px 12px #0006;z-index:100;overflow:hidden;display:none}.logo-dropdown.active{display:block}.logo-dropdown-header{padding:16px;border-bottom:1px solid #21262D}.dashboard-link{display:flex;align-items:center;gap:12px;color:#fff;font-size:18px;text-decoration:none;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s ease}.dashboard-link:hover{background-color:#161b22}.dashboard-icon{stroke:#fff}.logo-dropdown-section{padding:16px;border-bottom:1px solid #21262D}.section-title{color:#9a9a9a;font-size:18px}.logo-dropdown-apps{padding:8px 0}.app-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;color:#fff;text-decoration:none;font-size:18px;transition:background-color .2s ease}.app-item:hover{background-color:#161b22}.chevron-right{stroke:#fff}.chevron-down{width:14px;height:14px;stroke:#e6edf3;transition:transform .2s ease}.chevron-wrapper.active .chevron-down{transform:rotate(180deg)}.app-main{display:grid;grid-template-columns:minmax(350px,1.2fr) minmax(350px,1.2fr) minmax(350px,1.2fr);height:calc(100vh - 100px);overflow:hidden;width:100vw;max-width:100%;position:relative;padding:0;margin:0}.app-sidebar{background-color:#0d1117;border-right:1px solid #21262D;display:flex;flex-direction:column;height:100%;position:relative;overflow:visible;width:100%;min-height:0}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:none;font-weight:500;margin:0;width:100%;box-sizing:border-box;flex-shrink:0;position:relative}.app-main{position:relative}.app-main:before{content:"";position:absolute;top:50px;left:-50vw;width:200vw;height:1px;background-color:#21262d;z-index:10}.full-width-line{position:absolute;left:0;right:0;height:1px;background-color:#21262d;width:100vw;z-index:10;margin:0;padding:0}.panel-title{display:flex;align-items:center;gap:.5rem;background-color:#1c2027;padding:.25rem .5rem;border-radius:4px}.chat-icon{stroke:#2f81f7;margin-left:3px}.preview-icon{stroke:#3fb950}.code-icon{stroke:#f97316}.panel-title .code-icon{background-image:none!important}.arrow-down-icon{stroke:#8b949e;width:14px;height:14px;cursor:pointer;transition:transform .2s ease}.device-selector .arrow-down-icon{transition:transform .2s ease}.device-selector.active .arrow-down-icon{transform:rotate(180deg)}.chat-content{display:flex;flex-direction:column;height:calc(100% - 50px);position:relative;overflow:hidden;padding-top:1px;min-height:0}.chat-messages{flex:1 1 auto;overflow-y:auto;background-color:#0d1117;min-height:100px;padding-bottom:80px;padding-top:10px;margin-top:1px}.chat-messages::-webkit-scrollbar{width:4px;height:4px}.chat-messages::-webkit-scrollbar-thumb{background:#30363d;border-radius:4px;min-height:40px;max-height:100px}.chat-input-area{position:absolute;bottom:0;left:0;right:0;padding:1rem;border-top:none;background-color:#0d1117;width:100%;box-sizing:border-box;display:flex;justify-content:center;margin:0 auto;padding-right:10px;z-index:50;min-height:60px;overflow:visible}.message-label{display:block;margin-bottom:.5rem;font-weight:500;font-size:14px;color:#e6edf3}.input-container{display:flex;align-items:center;flex-direction:row;gap:0;border:1px solid #30363D;border-radius:6px;padding:.25rem;background-color:#161b22;position:relative;width:90%;max-width:90%;margin:0 auto;transform:translate(-10px);overflow:visible;flex-wrap:nowrap}.input-container>.chat-attach-icon-btn{order:1!important}.input-container>.chat-voice-icon-btn{order:2!important}.input-container>#builder-model-selector{order:3!important}.input-container>.chat-input{order:4!important}.input-container>.chat-send-btn{order:5!important}.chat-attach-icon-btn{background-color:transparent;color:#8b949e;border:none;width:32px;height:32px;min-width:32px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;order:1!important;padding:0;flex-shrink:0}.chat-attach-icon-btn svg{width:18px;height:18px;stroke:#8b949e;transition:stroke .2s ease}.chat-attach-icon-btn:hover{color:#e6edf3}.chat-attach-icon-btn:hover svg{stroke:#e6edf3}.chat-voice-icon-btn{background-color:transparent;color:#8b949e;border:none;width:32px;height:32px;min-width:32px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;order:2!important;padding:0;flex-shrink:0}.chat-voice-icon-btn svg{width:18px;height:18px;stroke:#8b949e;transition:stroke .2s ease}.chat-voice-icon-btn:hover{color:#e6edf3}.chat-voice-icon-btn:hover svg{stroke:#e6edf3}.chat-input{flex:1 1 auto;min-width:0;background-color:transparent;border:none;color:#e6edf3;padding:.5rem;outline:none;font-size:14px;order:4!important;margin-left:8px}.chat-input::placeholder{color:#8b949e}.chat-send-btn{background-color:#2f81f7;color:#fff;border:none;width:36px;height:36px;min-width:36px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease;order:5!important;margin-left:8px;flex-shrink:0}.chat-send-btn:hover{background-color:#1a6fd1}.send-icon{width:16px;height:16px;stroke:#fff;fill:none}.app-workspace{background-color:#0d1117;display:flex;flex-direction:column;height:100%;overflow:hidden;border-right:1px solid #21262D}.workspace-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #21262D;background-color:#0d1117;margin:0;width:100%;box-sizing:border-box}.preview-section,.device-selector{display:flex;align-items:center;gap:.5rem;font-size:14px}.device-preview{width:100%;height:calc(100% - 50px);display:flex;justify-content:center;align-items:center;overflow:visible;background-color:#0d1117;background:#0d1117!important;position:relative;min-height:800px;padding:10px;box-sizing:border-box}.device-preview .iphone-outline{background-color:#fff}.device-frame{position:relative;width:380px;height:720px;z-index:5;margin:auto;top:auto;left:auto;transform:none}.iphone-outline{width:100%;height:100%;border:2px solid #30363D;border-radius:40px;position:relative;background-color:#000;overflow:hidden}.iphone-outline:before{content:"";position:absolute;width:40%;height:25px;background:#1c2027;left:30%;top:0;border-bottom-left-radius:16px;border-bottom-right-radius:16px}.code-sidebar{border-right:none;background-color:#0d1117}.files-section{display:flex;align-items:center;gap:1rem}.files-title{display:flex;align-items:center;gap:.5rem;background-color:#1c2027;padding:.25rem .5rem;border-radius:4px}.download-icon{stroke:#e6edf3;width:18px;height:18px;cursor:pointer;background-color:#1c2027;padding:.25rem;border-radius:4px}.files-icon,.download-icon{stroke:#e6edf3;width:18px;height:18px}.download-icon{cursor:pointer}.code-content{display:flex;flex-direction:column;height:calc(100% - 50px);position:relative;overflow:hidden}.file-explorer{font-size:14px;color:#e6edf3;display:none;position:absolute;top:50px;right:10px;background-color:#0d1117;border:1px solid #21262D;border-radius:6px;height:70%;width:300px;z-index:10;overflow-y:auto;padding:0;box-shadow:0 4px 12px #0006;max-height:calc(100vh - 200px)}.file-explorer.active{display:block}.file-explorer-header{padding:12px 16px;border-bottom:1px solid #30363D;display:flex;justify-content:space-between;align-items:center;background-color:#161b22;position:sticky;top:0;z-index:2}.file-explorer-title{font-weight:600;font-size:14px;color:#e6edf3}.file-explorer-content{padding:8px 0}.code-content{display:flex;flex-direction:column;height:100%;overflow:hidden}.code-content-view{width:100%;height:calc(100% - 40px);overflow-y:auto;flex:1 1 auto;position:relative;min-height:0}.code-content-view::-webkit-scrollbar{width:4px;height:4px}.code-content-view::-webkit-scrollbar-thumb{background:#30363d;border-radius:3px;min-height:30px;max-height:40px}.code-tabs{display:flex;background-color:#161b22;border-bottom:1px solid #30363D;overflow-x:auto;height:40px;width:100%;flex-shrink:0}.code-tabs::-webkit-scrollbar{height:3px}.code-tabs::-webkit-scrollbar-thumb{background:#30363d;border-radius:2px}.code-tab{display:flex;align-items:center;padding:0 12px;height:40px;background-color:#161b22;color:#8b949e;border-right:1px solid #30363D;cursor:pointer;white-space:nowrap;font-size:13px}.code-tab.active{background-color:#0d1117;color:#e6edf3;border-bottom:2px solid #2F81F7}.code-tab-close{margin-left:8px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:#8b949e}.code-tab-close:hover{background-color:#30363d;color:#e6edf3}.code-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:#8b949e;font-size:16px;text-align:center;overflow-y:auto}.app-footer{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;background-color:#0d1117;border-top:none;height:60px;width:100%;box-sizing:border-box;position:relative}.app-footer:before{content:"";position:absolute;top:0;left:0;width:100%;height:1px;background-color:#21262d;z-index:10}.footer-nav{display:flex;gap:1.5rem;margin:0;align-items:center;justify-content:center;flex:1}.footer-nav a{color:#fff;text-decoration:none;font-size:16px;font-weight:500;position:relative;padding-bottom:2px;transition:opacity .2s ease}.footer-nav a:hover{opacity:.8}.footer-nav a:hover:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background-color:#fff}.keyboard-dropdown-container{position:relative}.keyboard-btn{width:36px;height:36px;border-radius:4px;border:1px solid #30363D;background-color:#21262d;color:#e6edf3;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.keyboard-btn:hover{background-color:#30363d;border-color:#8b949e}.discord-help{display:flex;align-items:center;gap:.75rem;font-size:18px;font-weight:600;color:#8b949e;cursor:pointer;transition:color .2s ease}.discord-help:hover{color:#e6edf3}.discord-help:hover .discord-icon{color:#5865f2}.discord-icon{width:24px;height:24px;color:#8b949e}.appstore-title{font-size:22px;color:#fff;margin:0 0 12px;font-weight:600;text-align:left}.appstore-subtitle{font-size:16px;color:#9a9a9a;margin:0 0 10px;font-weight:500;text-align:left}.appstore-steps{margin-bottom:15px;width:100%;box-sizing:border-box}.steps-table{width:100%;border-collapse:collapse;border-spacing:0}.step-number-cell{width:60px;vertical-align:middle;padding:0}.step-content-cell{vertical-align:middle;padding:0}.appstore-step{font-size:14px;color:#fff;height:55px}.step-number{width:36px;height:36px;background-color:#1e1e1e;border-radius:50%;margin:0 auto;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:500;color:#fff}.step-content{display:flex;align-items:center;height:100%}.step-icon{margin-right:10px;font-size:16px}.step-text{font-size:15px;line-height:1.3}.appstore-connect-container{margin-top:15px}.appstore-connect-btn{display:flex;align-items:center;justify-content:center;gap:8px;background-color:#2f81f7;color:#fff;border:none;border-radius:4px;padding:8px 16px;font-size:14px;font-weight:500;cursor:pointer;width:100%;transition:all .2s ease}.appstore-connect-btn:hover{background-color:#2563eb}.apple-logo{width:16px;height:16px;color:#fff}.dropdown-header{padding:16px;border-bottom:1px solid #21262D;text-align:left}.user-info{color:#e6edf3;font-size:16px;display:flex;flex-direction:column;align-items:flex-start;text-align:left}.user-info>div{text-align:left;align-self:flex-start}.user-plan{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:14px;color:#8b949e}.plan-dot{display:inline-block;width:8px;height:8px;background-color:#e6edf3;border-radius:50%}.dropdown-menu{padding:16px 0;border-bottom:1px solid #21262D}.dropdown-item{display:block;padding:12px 16px;color:#e6edf3;text-decoration:none;font-size:18px;transition:background-color .2s ease}.dropdown-item:hover{background-color:#161b22}.upgrade-note{color:#9a9a9a;font-size:14px;margin-left:8px}.upgrade-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;z-index:1000;display:none}.upgrade-modal.active{display:flex;justify-content:center;align-items:center}.github-button-container,.appstore-button-container{position:relative;display:inline-block}.appstore-modal{position:absolute;top:100%;left:0;width:auto;height:auto;background-color:transparent;z-index:1000;display:none}.appstore-modal.active{display:block}.upgrade-modal-content{background-color:#0d1117;border:1px solid #30363D;width:380px;border-radius:8px;padding:20px;position:relative;text-align:center;box-shadow:0 4px 12px #0006}.upgrade-modal-header{display:flex;justify-content:center;position:relative;margin-bottom:15px}.upgrade-logo{width:70px;height:70px}.upgrade-modal .modal-close-btn{position:absolute;top:-10px;right:-10px;background:transparent;border:none;cursor:pointer;color:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.appstore-modal .modal-close-btn{position:absolute;top:15px;right:15px;background:transparent;border:none;cursor:pointer;color:#b0b0b0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.appstore-modal .modal-close-btn:hover .close-icon{stroke:#fff;transform:scale(1.1)}.modal-close-btn:hover{background-color:transparent}.close-icon{stroke:#b0b0b0;transition:all .2s ease}.modal-close-btn:hover .close-icon{stroke:#fff;transform:scale(1.1)}.upgrade-title{font-size:28px;color:#fff;margin:0 0 10px}.upgrade-subtitle{font-size:18px;color:#fff!important;margin:0 0 20px;text-align:center}.plan-details{border:1px solid #3B82F6;border-radius:8px;padding:15px 0;margin:0 20px 20px 10px;width:calc(100% - 30px)}.plan-name{font-size:36px;color:#fff;margin:0 0 5px;text-align:left;padding-left:20px}.plan-price{font-size:36px;color:#fff;margin:0 0 20px;display:flex;align-items:baseline;justify-content:flex-start;padding-left:20px;text-align:left}.price-period{font-size:24px;color:#fff!important}.plan-description{font-size:18px;color:#fff;margin:0 0 20px;text-align:left;padding-left:20px}.plan-features{list-style-type:none;margin:0;text-align:left;width:100%;padding:0 0 0 20px}.plan-features li{display:flex;align-items:center;margin-bottom:15px;font-size:16px;color:#fff}.check-icon{margin-right:10px;color:#3b82f6;width:20px;height:20px;flex-shrink:0}.upgrade-now-btn{background-color:#3b82f6;color:#fff;border:none;border-radius:8px;padding:15px 30px;font-size:20px;font-weight:500;cursor:pointer;width:calc(100% - 40px);margin:30px auto 15px;display:block;transition:background-color .2s ease}.upgrade-now-btn:hover{background-color:#2563eb}.waitlist-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000c;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.waitlist-modal.active{display:flex;align-items:center;justify-content:center}.waitlist-modal-content{background-color:#1a1a1a;border-radius:12px;padding:2rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;position:relative;border:1px solid #333}.waitlist-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.waitlist-logo{width:40px;height:40px}.waitlist-title{color:#fff;font-size:1.8rem;font-weight:600;margin-bottom:1rem;text-align:center}.waitlist-subtitle{color:#b0b0b0;font-size:1rem;line-height:1.5;margin-bottom:2rem;text-align:center}.waitlist-form{display:flex;flex-direction:column;gap:1rem}.waitlist-prompt{color:#fff;font-size:1rem;margin-bottom:.5rem}.waitlist-input{background-color:#2a2a2a;border:1px solid #444;border-radius:8px;padding:12px 16px;color:#fff;font-size:1rem;outline:none;transition:border-color .2s ease}.waitlist-input:focus{border-color:#f59e0b}.waitlist-input::placeholder{color:#666}.waitlist-buttons{display:flex;gap:1rem;margin-top:1rem}.waitlist-cancel-btn{background-color:transparent;border:1px solid #666;color:#b0b0b0;padding:12px 24px;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .2s ease;flex:1}.waitlist-cancel-btn:hover{border-color:#888;color:#fff}.waitlist-submit-btn{background-color:#f59e0b;border:none;color:#fff;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s ease;flex:1}.waitlist-submit-btn:hover{background-color:#d97706}.waitlist-submit-btn:disabled{background-color:#666;cursor:not-allowed}.waitlist-status{padding:12px;border-radius:8px;text-align:center;font-weight:500}.waitlist-status.success{background-color:#22c55e1a;border:1px solid #22C55E;color:#22c55e}.waitlist-status.error{background-color:#ef44441a;border:1px solid #EF4444;color:#ef4444}.github-modal{position:absolute;top:calc(100% + 8px);right:0;width:320px;max-width:90vw;background-color:transparent;z-index:1000;display:none;pointer-events:none}.github-modal.active{display:block}.github-modal-content{background-color:#0d1117;border:1px solid #30363D;border-radius:8px;padding:20px;text-align:left;box-shadow:0 8px 24px #0009;position:relative;pointer-events:auto;transform:translateY(-8px);opacity:0;transition:all .2s ease-out}.github-modal.active .github-modal-content{transform:translateY(0);opacity:1}.github-title{font-size:20px;color:#fff;margin:0 0 8px;font-weight:600;text-align:left;display:flex;align-items:center;gap:10px}.github-title:before{content:"";display:inline-block;width:20px;height:20px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='20' height='20'%3E%3Cpath fill='%23ffffff' d='M12 0a12 12 0 0 0-3.8 23.4c.6.1.8-.3.8-.6v-2.2c-3.3.7-4-1.6-4-1.6-.5-1.3-1.3-1.7-1.3-1.7-1.1-.7.1-.7.1-.7 1.2.1 1.8 1.2 1.8 1.2 1.1 1.8 2.8 1.3 3.5 1 .1-.8.4-1.3.8-1.6-2.8-.3-5.7-1.4-5.7-6.2 0-1.4.5-2.5 1.3-3.4-.1-.3-.6-1.6.1-3.3 0 0 1-.3 3.3 1.2a11.5 11.5 0 0 1 6 0C17 3.1 18 3.4 18 3.4c.7 1.7.3 3 .1 3.3.8.9 1.3 2 1.3 3.4 0 4.8-2.9 5.9-5.7 6.2.4.4.8 1.1.8 2.2v3.3c0 .3.2.7.8.6A12 12 0 0 0 12 0z'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat}.github-subtitle{font-size:14px;color:#9a9a9a;margin:0 0 20px;line-height:1.5;text-align:left}.github-connect-container{margin-top:16px;text-align:left}.github-connect-btn{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;padding:12px 18px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:10px;transition:all .2s ease;width:100%;justify-content:center}.github-connect-btn:hover{background:linear-gradient(135deg,#1d4ed8,#2563eb);transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.github-connect-btn:active{transform:translateY(0)}.github-connect-btn svg{width:20px;height:20px;color:#fff}.github-modal .modal-close-btn{position:absolute;top:12px;right:12px;background:transparent;border:none;cursor:pointer;color:#b0b0b0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;border-radius:50%}.github-modal .modal-close-btn:hover{background-color:#ffffff1a;color:#fff}.github-modal .modal-close-btn .close-icon{transition:all .2s ease}.github-modal .modal-close-btn:hover .close-icon{stroke:#fff;transform:scale(1.1)}.github-status{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#161b22;border-radius:6px;margin-bottom:16px;border:1px solid #30363D}.github-status.connected{border-color:#2563eb;background:#2563eb1a}.github-status.error{border-color:#ff6b6b;background:#ff6b6b1a}.status-indicator{display:flex;align-items:center;gap:8px}.status-dot{width:8px;height:8px;border-radius:50%;background:#666;transition:all .3s ease}.status-dot.connecting{background:orange;animation:pulse 1.5s ease-in-out infinite}.status-dot.connected{background:#2563eb}.status-dot.error{background:#ff6b6b}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.status-text{color:#e6edf3;font-size:14px;font-weight:500}@media (max-width: 768px){.github-modal{right:-10px;width:280px}.github-modal-content{padding:16px}.github-title{font-size:18px}.github-subtitle{font-size:13px}}@media (max-width: 480px){.github-modal{right:-20px;width:260px;max-width:calc(100vw - 40px)}}.dropdown-footer{padding:16px}.logout-btn{display:flex;align-items:center;gap:8px;color:red;text-decoration:none;font-size:18px;padding:4px 8px;border-radius:4px;transition:background-color .2s ease}.logout-btn:hover{background-color:#161b22}.logout-icon{stroke:red;margin-right:8px;width:18px;height:18px}.help-link{color:#2f81f7;text-decoration:none}.help-link:hover{text-decoration:underline}.device-selector{display:flex;align-items:center;gap:.5rem;font-size:14px;background-color:#1c2027;padding:.25rem .5rem;border-radius:4px;cursor:pointer}.device-selector:hover{background-color:#2a2d3a}.device-dropdown{position:absolute;top:100%;right:0;background-color:#0d1117;border:1px solid #30363D;border-radius:8px;box-shadow:0 4px 12px #0006;max-height:300px;overflow-y:auto;min-width:200px;z-index:100;margin-top:8px;display:none}.device-dropdown.active{display:block}.device-option{padding:12px 16px;cursor:pointer;border-bottom:1px solid #21262D;color:#e6edf3;font-size:14px}.device-option:hover{background-color:#161b22}.device-option:last-child{border-bottom:none}.keyboard-dropdown{position:absolute;bottom:50px;left:-10px;width:300px;background-color:#0d1117;border:1px solid #30363D;border-radius:8px;box-shadow:0 4px 12px #0006;z-index:1000;display:none;overflow:hidden}.keyboard-dropdown.active{display:block}.password-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;z-index:2000;display:none;justify-content:center;align-items:center}.password-modal.active{display:flex}.password-modal-content{background-color:#0d1117;border:1px solid #30363D;width:550px;border-radius:8px;padding:40px;position:relative;box-shadow:0 4px 12px #0006}.password-title{font-size:28px;color:#fff;margin:0 0 40px;font-weight:600}.password-form{display:flex;flex-direction:column;gap:30px}.password-field{display:flex;flex-direction:column;gap:10px}.password-field label{font-size:18px;color:#fff;font-weight:500}.password-input{background-color:#1a212e;border:1px solid #30363D;border-radius:6px;height:50px;width:100%;color:#fff;font-size:16px;padding:0 15px;outline:none}.password-input:focus{border-color:#2f81f7}.update-password-btn{background-color:#fff;color:#000;border:none;border-radius:6px;height:50px;font-size:18px;font-weight:600;cursor:pointer;margin-top:10px;width:200px;align-self:flex-start;transition:background-color .2s ease}.update-password-btn:hover{background-color:#e6e6e6}.password-modal .modal-close-btn{position:absolute;top:15px;right:15px;background:transparent;border:none;cursor:pointer;color:#b0b0b0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.password-modal .modal-close-btn:hover .close-icon{stroke:#fff;transform:scale(1.1)}.chat-message{padding:0;margin-bottom:12px;border-radius:0;max-width:90%;animation:fadeIn .3s ease-in-out}.user-message{background-color:#4263eb;margin-left:auto;margin-right:10px;color:#fff;padding:12px 16px;border-radius:8px}.assistant-message{background-color:transparent;margin-right:auto;margin-left:10px;color:#f0f0f0}.error-message{background-color:#dc354533;border-left:3px solid #dc3545}.message-content{word-wrap:break-word;font-size:14px;line-height:1.5}.app-features-header{font-weight:600;font-size:18px;margin-bottom:4px;display:flex;align-items:center;gap:8px;color:#f0f0f0;line-height:1.4}.app-features-content{font-size:15px;line-height:1.6;color:#f0f0f0}.message-time{font-size:11px;color:#868e96;margin-top:4px;text-align:right}.loading-message{background-color:transparent}.typing-indicator{display:flex;align-items:center}.typing-indicator span{height:8px;width:8px;background:#6c757d;border-radius:50%;display:inline-block;margin-right:5px;animation:bounce 1.3s linear infinite}.typing-indicator span:nth-child(2){animation-delay:.15s}.typing-indicator span:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.file-changes{background-color:#ffffff05;margin:15px 10px;padding:0;border-radius:12px;border:1px solid rgba(255,255,255,.08);max-width:95%;width:calc(100% - 20px);overflow:hidden}.file-changes-app-header{display:flex;align-items:center;gap:10px;padding:12px 16px;background-color:#ffffff05;border-bottom:1px solid rgba(255,255,255,.06)}.scaleify-logo-img{width:20px;height:20px;flex-shrink:0;border-radius:4px}.file-changes-app-name{font-size:14px;font-weight:500;color:#c9d1d9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-changes-collapse-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background-color:#ffffff03;border-bottom:1px solid rgba(255,255,255,.08);cursor:pointer;transition:background-color .15s ease}.file-changes-collapse-header:hover{background-color:#ffffff08}.file-changes-collapse-left{display:flex;align-items:center;gap:8px}.file-changes-toggle{background:none;border:none;padding:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#8b949e;transition:all .2s ease}.file-changes-toggle:hover{color:#c9d1d9}.file-changes.collapsed .chevron-icon{transform:rotate(-90deg)}.file-changes.collapsed .file-changes-list,.file-changes.collapsed .file-changes-actions{display:none}.file-changes-count{font-size:13px;font-weight:500;color:#c9d1d9}.file-changes-collapse-right{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:500}.total-added{color:#3fb950}.total-removed{color:#f85149}.file-changes-title{font-size:14px;font-weight:600;margin-bottom:12px;color:#e6edf3}.file-changes-list{padding:0;margin:0}.file-change-item{display:flex;align-items:center;padding:10px 16px;border-bottom:1px solid rgba(255,255,255,.05);transition:background-color .15s ease}.file-change-item:hover{background-color:#ffffff0a}.file-change-item:last-child{border-bottom:none}.file-change-status{margin-right:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.change-status-icon{flex-shrink:0;transition:all .3s ease}.change-status-icon.pending{color:#8b949e}.change-status-icon.accepted{color:#238636}.file-change-path{flex:1;font-family:Menlo,Monaco,Courier New,monospace;font-size:13px;color:#c9d1d9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-change-diff{margin-left:auto;font-family:Menlo,Monaco,Courier New,monospace;font-size:12px}.lines-added{color:#3fb950;margin-right:8px}.lines-removed{color:#f85149}.file-changes-actions{display:flex;justify-content:flex-start;gap:8px;padding:12px 16px;background-color:#ffffff03;border-top:1px solid rgba(255,255,255,.05)}.accept-changes-btn,.decline-changes-btn{display:flex;align-items:center;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;gap:6px}.accept-changes-btn{background-color:#238636;color:#fff;border:none}.accept-changes-btn:hover{background-color:#2ea043;transform:translateY(-1px);box-shadow:0 4px 12px #2386364d}.decline-changes-btn{background-color:transparent;color:#f85149;border:1px solid rgba(248,81,73,.3)}.decline-changes-btn:hover{background-color:#f851491a;border-color:#f85149}.accept-icon,.decline-icon{width:16px;height:16px}.file-tree{list-style-type:none;padding-left:0;margin:0;font-family:Menlo,Monaco,Courier New,monospace;font-size:13px;display:flex;flex-direction:column;width:100%;overflow:hidden}.file-tree ul{list-style-type:none;padding-left:16px;margin:0;display:none;flex-direction:column;width:100%;overflow:hidden}.folder-name{display:flex;align-items:center;cursor:pointer;padding:8px 16px;transition:background-color .2s;-webkit-user-select:none;user-select:none}.folder-name:hover{background-color:#1f2937}.folder-icon{margin-right:8px;color:#79c0ff;min-width:16px}.folder-toggle{margin-right:6px;transition:transform .2s;color:#8b949e;min-width:16px}.folder-item.expanded>.folder-name .folder-toggle{transform:rotate(90deg)}.folder-item>.file-tree{display:none;padding-left:16px}.folder-item.expanded>.file-tree{display:block}.file-item{display:flex;align-items:center;padding:8px 16px;cursor:pointer;transition:background-color .2s;margin:0}.file-item:hover{background-color:#1f2937}.file-icon{margin-right:8px;color:#8b949e;min-width:16px}.swift-icon{color:#f9826c}.config-icon{color:#79c0ff}.file-item.selected{background-color:#1f6feb}.no-files{padding:16px;color:#8b949e;text-align:center;font-style:italic}.code-content-view{height:100%;display:flex;flex-direction:column;background-color:#0d1117;overflow:hidden}.code-header{padding:8px 16px;background-color:#161b22;border-bottom:1px solid #21262d;font-family:Menlo,Monaco,Courier New,monospace;font-size:12px;color:#8b949e}.code-display{flex:1;margin:0;padding:0;overflow:auto;background-color:#0d1117;font-family:Menlo,Monaco,Courier New,monospace;font-size:13px;line-height:1.5;color:#c9d1d9;position:relative}.code-display code{white-space:pre}.keyword{color:#ff7b72}.string{color:#a5d6ff}.comment{color:#8b949e}.preview-content-view{height:100%;width:100%;display:flex;flex-direction:column;background-color:#fff;color:#000}.preview-placeholder{height:100%;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}.preview-app-name{font-size:24px;font-weight:700;margin-bottom:12px}.preview-app-message{font-size:14px;line-height:1.5;color:#666}.no-files{padding:20px;text-align:center;color:#8b949e;font-style:italic}.compilation-error{border-left:4px solid #ff4444}.compilation-warning{border-left:4px solid #ffaa00}.compilation-success{border-left:4px solid #00aa44}.compilation-header{display:flex;align-items:center;gap:8px;font-weight:600;margin-bottom:8px}.compilation-details{margin-left:24px}.compilation-item{display:flex;gap:8px;margin:4px 0;font-size:14px}.compilation-item.error{color:#f66}.compilation-item.warning{color:#fc6}.line-number{font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-weight:600;min-width:60px}.error-message,.warning-message{flex:1}.compilation-metrics{display:flex;gap:16px;margin-left:24px;font-size:12px;color:#888}.metric{padding:2px 8px;background:#2a2a2a;border-radius:4px;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace}.no-recent-apps{padding:12px 16px;color:var(--secondary-text-color);font-size:.9rem;text-align:center;font-style:italic}.accepted-files .file-changes-title,.accepted-files .change-status-icon.accepted{color:#238636}.progress-history-content{width:100%}.progress-history-content .app-features-section{margin-bottom:24px}.progress-history-content .code-generation-section{margin-top:20px}.progress-history-content .code-generation-section h4{font-size:16px;font-weight:600;margin-bottom:16px;color:#fff}.progress-history-content .file-preview{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;margin-bottom:12px;overflow:hidden}.progress-history-content .file-header{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.08);font-size:13px;color:#ffffffe6;font-family:SF Mono,Menlo,Monaco,Courier New,monospace}.progress-history-content .file-header .line-count{margin-left:auto;color:#34c759;font-size:12px}.file-changes-status{display:flex;align-items:center;gap:8px;padding:12px 16px;background-color:#2386361a;border-radius:6px;margin-top:12px;color:#238636;font-size:14px;font-weight:500}.file-changes-status .status-icon{width:16px;height:16px;color:#238636}.build-progress{display:flex;align-items:center;justify-content:center;height:100%;width:100%;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:25px;color:#fff;padding:30px;box-sizing:border-box;min-height:720px;min-width:380px}.build-progress-content{text-align:center;max-width:400px;display:flex;flex-direction:column;align-items:center;justify-content:center}.build-spinner{width:80px;height:80px;border:5px solid rgba(255,255,255,.3);border-top:5px solid white;border-radius:50%;animation:buildSpinner 1s linear infinite!important;margin:0 auto 25px;flex-shrink:0;transform-origin:center center;will-change:transform;backface-visibility:hidden}@keyframes buildSpinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.build-progress h3{margin:0;font-size:1.4em;font-weight:600;color:#fff}.build-progress p{margin:0 0 20px;opacity:.9;font-size:.9em}.iframe-preview{width:100%;height:100%;border-radius:20px;overflow:hidden;background:#000;position:relative}.iframe-preview iframe{width:100%;height:100%;border:none;background:#000}.fallback-preview{position:relative}.fallback-notice{position:absolute;top:10px;left:50%;transform:translate(-50%);background:#ffc107e6;color:#856404;padding:4px 8px;border-radius:4px;font-size:.7em;z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.preview-error{display:flex;align-items:center;justify-content:center;height:100%;background:linear-gradient(135deg,#ff6b6b,#ee5a52);border-radius:20px;color:#fff;padding:20px}.error-content{text-align:center;max-width:300px}.error-content h3{margin:0 0 10px;font-size:1.1em;font-weight:600}.error-content p{margin:0 0 20px;opacity:.9;font-size:.9em}.retry-button{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9em;transition:all .3s ease}.retry-button:hover{background:#ffffff4d;transform:translateY(-1px)}.device-frame{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#f5f5f5;border-radius:20px;overflow:hidden}.device-frame.iframe-mode{background:#000;padding:0}.device-outline{position:relative;width:100%;height:100%;background:#000;border-radius:20px;overflow:hidden;box-shadow:0 0 0 2px #333,0 0 20px #0000004d}.device-outline.with-iframe{background:#000;padding:0}@media (max-width: 768px){.build-progress{padding:15px}.build-progress-content{max-width:250px}.build-spinner{width:50px;height:50px;margin:0 auto 15px;animation:buildSpinner 1s linear infinite!important;transform-origin:center center;will-change:transform;backface-visibility:hidden}.build-progress h3{font-size:1.1em}}.preview-loading{display:flex;align-items:center;justify-content:center;height:100%;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff}.preview-loading .spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.3);border-top:3px solid white;border-radius:50%;animation:spin 1s linear infinite;margin-right:15px}.preview-success{position:absolute;top:10px;right:10px;background:#28a745e6;color:#fff;padding:6px 12px;border-radius:6px;font-size:.8em;z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.iframe-preview iframe{animation:fadeIn .5s ease-out}.device-frame.building{background:linear-gradient(135deg,#667eea,#764ba2)}.device-frame.ready{background:#000;transition:background .3s ease}.device-frame.error{background:linear-gradient(135deg,#ff6b6b,#ee5a52)}.build-spinner-simple{width:60px;height:60px;margin:0 auto 20px;flex-shrink:0}.spinner-ring{width:100%;height:100%;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;transform-origin:center center}
