.app{display:flex;flex-direction:column;height:100vh}.toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#1a1a1a;border-bottom:1px solid #333;flex-shrink:0}.toolbar select{flex:1;padding:6px 10px;border-radius:6px;border:1px solid #444;background:#333;color:#e0e0e0;font-size:13px;outline:none;cursor:pointer}.toolbar select:disabled{opacity:.5;cursor:not-allowed}.btn{padding:6px 14px;border-radius:6px;border:1px solid #444;background:#333;color:#e0e0e0;font-size:13px;cursor:pointer;white-space:nowrap}.btn:hover{background:#444}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-disconnect{border-color:#c44;color:#f88}.btn-disconnect:hover{background:#522}.content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background:#111}.controls{display:flex;gap:12px;padding:8px;flex-shrink:0}.btn-home{padding:8px 20px;border-radius:8px;border:1px solid #444;background:#333;color:#e0e0e0;font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none}.btn-home:hover{background:#444}.btn-home:active{background:#555}.simulator-view{width:100%;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none}.simulator-view img{max-width:100%;max-height:100%;object-fit:contain}.placeholder{text-align:center;color:#666}.placeholder p{margin:8px 0}.placeholder .hint{font-size:12px;font-family:monospace;color:#555}.placeholder .error-text{color:#f66}.status-bar{display:flex;align-items:center;gap:8px;padding:4px 12px;background:#1a1a1a;border-top:1px solid #333;font-size:12px;color:#888;flex-shrink:0}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot.disconnected{background:#666}.status-dot.connecting{background:#f90;animation:pulse 1s infinite}.status-dot.streaming{background:#4c4}.status-dot.error{background:#c44}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.status-label{color:#aaa}.status-url{font-family:monospace;font-size:11px;color:#666;margin-left:auto}.status-error{color:#f66;margin-left:auto;font-size:11px}.app-toolbar{display:flex;align-items:center;gap:6px}.btn-install{padding:6px 14px;border-radius:6px;border:1px solid #4a6;background:#333;color:#8c8;font-size:13px;cursor:pointer;white-space:nowrap}.btn-install:hover{background:#3a4a3a}.btn-install:disabled{opacity:.5;cursor:not-allowed}.app-info{display:flex;align-items:center;gap:6px}.app-name{font-weight:600;color:#e0e0e0;font-size:13px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-launch{padding:6px 12px;border-radius:6px;border:1px solid #4a6;background:#2a3a2a;color:#8c8;font-size:13px;cursor:pointer;white-space:nowrap}.btn-launch:hover{background:#3a4a3a}.btn-launch:disabled{opacity:.5;cursor:not-allowed}.btn-terminate{padding:6px 12px;border-radius:6px;border:1px solid #c44;background:#3a2a2a;color:#f88;font-size:13px;cursor:pointer;white-space:nowrap}.btn-terminate:hover{background:#4a2a2a}.btn-uninstall{padding:6px 12px;border-radius:6px;border:1px solid #555;background:#333;color:#999;font-size:13px;cursor:pointer;white-space:nowrap}.btn-uninstall:hover{background:#444}.app-error{color:#f66;font-size:11px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-menu{position:relative}.source-menu-dropdown{position:absolute;top:100%;left:0;margin-top:4px;min-width:200px;background:#333;border:1px solid #444;border-radius:8px;box-shadow:0 4px 12px #0006;z-index:100;overflow:hidden}.source-menu-item{display:block;width:100%;padding:8px 14px;border:none;background:none;color:#e0e0e0;font-size:13px;text-align:left;cursor:pointer}.source-menu-item:hover{background:#444}.source-menu-url-input{display:flex;gap:6px;padding:8px;border-top:1px solid #444}.source-menu-url-input input{flex:1;padding:5px 8px;border-radius:4px;border:1px solid #555;background:#222;color:#e0e0e0;font-size:12px;outline:none}.source-menu-url-input input:focus{border-color:#4a6}.source-menu-url-input button{padding:5px 10px;border-radius:4px;border:1px solid #4a6;background:#2a3a2a;color:#8c8;font-size:12px;cursor:pointer}.source-menu-url-input button:disabled{opacity:.5;cursor:not-allowed}.build-panel{padding:8px 12px;background:#252525;border-bottom:1px solid #333;flex-shrink:0}.build-panel-header{display:flex;align-items:center;gap:8px}.build-panel-name{font-weight:600;color:#e0e0e0;font-size:13px}.build-panel-type{padding:2px 6px;border-radius:4px;background:#444;color:#aaa;font-size:11px}.build-panel-actions{margin-left:auto;display:flex;gap:6px}.btn-build{padding:4px 12px;border-radius:6px;border:1px solid #4a6;background:#2a3a2a;color:#8c8;font-size:12px;cursor:pointer}.btn-build:hover{background:#3a4a3a}.btn-build-cancel{padding:4px 12px;border-radius:6px;border:1px solid #c44;background:#3a2a2a;color:#f88;font-size:12px;cursor:pointer}.btn-build-cancel:hover{background:#4a2a2a}.btn-build-close{padding:4px 8px;border-radius:6px;border:1px solid #555;background:#333;color:#999;font-size:12px;cursor:pointer;line-height:1}.btn-build-close:hover{background:#444}.build-panel-progress{margin-top:6px}.build-progress-bar{height:4px;background:#444;border-radius:2px;overflow:hidden}.build-progress-fill{height:100%;background:#4a6;transition:width .3s ease}.build-progress-label{font-size:11px;color:#888;margin-top:4px;display:block}.build-panel-error{margin-top:6px;font-size:11px;color:#f66}.dev-server-panel{padding:6px 12px;background:#252525;border-bottom:1px solid #333;flex-shrink:0}.dev-server-row{display:flex;align-items:center;gap:8px}.dev-server-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dev-server-dot.starting{background:#f90;animation:pulse 1s infinite}.dev-server-dot.ready{background:#4c4}.dev-server-dot.stopped{background:#666}.dev-server-dot.error{background:#c44}.dev-server-label{font-weight:600;color:#e0e0e0;font-size:13px}.dev-server-status{font-size:12px;color:#888}.dev-server-actions{margin-left:auto;display:flex;gap:6px}.dev-server-btn-stop{padding:3px 10px;border-radius:4px;border:1px solid #c44;background:#3a2a2a;color:#f88;font-size:11px;cursor:pointer}.dev-server-btn-stop:hover{background:#4a2a2a}.dev-server-btn-restart{padding:3px 10px;border-radius:4px;border:1px solid #4a6;background:#2a3a2a;color:#8c8;font-size:11px;cursor:pointer}.dev-server-btn-restart:hover{background:#3a4a3a}.dev-server-error{margin-top:4px;font-size:11px;color:#f66}.env-config-panel{flex-shrink:0;border-bottom:1px solid #333}.env-config-toggle{display:block;width:100%;padding:6px 12px;background:#252525;color:#aaa;border:none;text-align:left;font-size:12px;cursor:pointer}.env-config-toggle:hover{background:#2a2a2a;color:#ccc}.env-config-content{padding:8px 12px;background:#1e1e1e}.env-section{margin-bottom:8px}.env-section-title{font-size:11px;color:#888;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.env-row{display:flex;align-items:center;gap:8px;padding:2px 0}.env-key{color:#7bb3e0;font-size:12px;min-width:80px}.env-value{color:#b5bd68;font-size:12px;flex:1;overflow:hidden;text-overflow:ellipsis}.env-remove{background:none;border:none;color:#666;cursor:pointer;font-size:12px;padding:0 4px}.env-remove:hover{color:#f66}.env-empty{font-size:11px;color:#555;font-style:italic;padding:2px 0}.env-add-row{display:flex;gap:4px;margin-top:4px}.env-input{background:#2a2a2a;border:1px solid #444;color:#ccc;padding:3px 6px;font-size:12px;font-family:monospace;border-radius:2px;width:120px}.env-input-value{flex:1}.env-input:focus{border-color:#666;outline:none}.env-add-btn{background:#2a3a2a;border:1px solid #444;color:#8c8;padding:3px 8px;font-size:11px;cursor:pointer;border-radius:2px}.env-add-btn:hover:not(:disabled){background:#3a4a3a}.env-add-btn:disabled{opacity:.4;cursor:default}.env-args{font-size:12px;color:#b5bd68}
