:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#060e1e;color:#e8f0fe}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button,input,select{font:inherit}button{-webkit-tap-highlight-color:transparent}.app{width:100%;height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:#060e1e;color:#e8f0fe}.topbar{position:sticky;top:0;z-index:5;height:calc(56px + env(safe-area-inset-top));min-height:calc(56px + env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;padding:env(safe-area-inset-top) 14px 0;border-bottom:1px solid rgba(0,200,200,.12);background:#060e1ef2}.brand{display:flex;align-items:center;gap:10px}.logoBadge{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(0,200,200,.2);border-radius:8px;background:#0f1f38}.logoBadge img{width:28px;height:28px;object-fit:contain}.brand strong,.brand small{display:block;letter-spacing:0}.brand strong{color:#e8f0fe;font-size:15px;font-weight:800;line-height:1.1}.brand small{color:#00c9c9;font-size:10px;font-weight:700;line-height:1.2;text-transform:uppercase}.iconButton{width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:#7a9cc4}.iconButton svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.stage{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;min-height:0;padding:18px 18px 0}.missionTitle{position:absolute;top:14px;left:50%;display:grid;justify-items:center;gap:1px;transform:translate(-50%);color:#00c9c9;font-size:12px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase}.missionTitle strong{font-size:11px;font-weight:600}.promptLine{position:absolute;top:78px;margin:0;color:#00c9c9;font-size:13px;font-weight:800;letter-spacing:.8px;text-transform:uppercase}.modeToggle{position:absolute;top:12px;left:5px;right:5px;display:flex;justify-content:space-between;pointer-events:none}.modeToggle button{min-width:92px;height:40px;border:1px solid rgba(30,144,255,.32);border-radius:999px;background:#0f1f38;color:#7a9cc4;font-size:13px;font-weight:700;pointer-events:auto}.modeToggle .active{border-color:#00c9c999;background:#00c9c91a;color:#00c9c9;box-shadow:0 0 18px #00c9c92e}.orb{position:relative;width:220px;height:220px;display:grid;place-items:center;margin-top:58px;border:0;border-radius:50%;background:transparent;color:inherit}.ring{position:absolute;inset:50% auto auto 50%;border:1px solid rgba(0,200,200,.15);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.ringOuter{width:220px;height:220px}.ringMiddle{width:175px;height:175px}.ringInner{width:130px;height:130px}.orbCore{width:125px;height:125px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 35% 35%,#1e3a5f,#0a1628);box-shadow:0 0 20px #0064c84d}.orbCore img{width:68px;height:68px;object-fit:contain;filter:drop-shadow(0 0 6px rgba(0,201,201,.4))}.orb.listening .orbCore,.orb.detecting .orbCore,.orb.recording .orbCore{background:radial-gradient(circle at 35% 35%,#00c9c9,#066);box-shadow:0 0 30px #00c9c97a;animation:pulseOrb 1.25s ease-in-out infinite}.orb.playing .orbCore{background:radial-gradient(circle at 35% 35%,#1e90ff,#0050aa);box-shadow:0 0 30px #1e90ff75;animation:pulseOrb 1.1s ease-in-out infinite}.orb.processing .orbCore{background:radial-gradient(circle at 35% 35%,#1e6abf,#0a2a5e);box-shadow:0 0 28px #1e6abf6b;animation:pulseOrb 1.9s ease-in-out infinite}.status{min-height:18px;margin:0;color:#7a9cc4;font-size:12px;letter-spacing:0}.log{width:min(100% - 32px,520px);max-height:18dvh;display:flex;flex-direction:column;gap:8px;margin:0 auto;overflow:hidden}.log article{max-width:88%;padding:9px 11px;border:1px solid rgba(0,200,200,.12);border-radius:8px;background:#0f1f38;color:#e8f0fe;font-size:12px;line-height:1.35}.log .adam{align-self:flex-end;border-color:#00c9c947;color:#00c9c9}.log .manus{align-self:flex-start;border-color:#1e90ff3d;color:#e8f0fe}.composer{width:min(100% - 32px,520px);display:grid;grid-template-columns:1fr auto;gap:8px;margin:0 auto}.composer input,.sheet input,.sheet select{width:100%;min-height:44px;border:1px solid rgba(0,200,200,.12);border-radius:8px;background:#0f1f38;color:#e8f0fe;padding:0 12px}.composer button{min-height:44px;padding:0 18px;border:1px solid rgba(0,201,201,.45);border-radius:8px;background:#00c9c91a;color:#00c9c9;font-weight:800}footer{display:grid;place-items:center;padding:12px 18px max(18px,env(safe-area-inset-bottom))}.micDock{display:grid;justify-items:center;gap:8px}.micDock span{color:#3d5a7a;font-size:11px;font-weight:600}.micButton{width:72px;height:72px;display:grid;place-items:center;border:0;border-radius:50%;background:linear-gradient(135deg,#00c9c9,#066);box-shadow:0 4px 20px #00c8c866;color:#fff}.micButton.active{background:linear-gradient(135deg,#f85149,#8b0000);box-shadow:0 4px 22px #f8514973;animation:pulseMic 1.2s ease-in-out infinite}.micButton svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.primary,.secondary{min-height:44px;border-radius:8px;font-weight:800}.primary{border:0;background:linear-gradient(135deg,#00c9c9,#066);color:#06101e}.secondary{border:1px solid rgba(0,201,201,.32);background:#00c9c914;color:#00c9c9}.sheet{position:fixed;inset:auto 0 0;z-index:10;display:grid;gap:14px;max-height:min(78dvh,680px);overflow:auto;padding:12px 18px max(18px,env(safe-area-inset-bottom));border-top:1px solid rgba(0,200,200,.12);background:#060e1efa;box-shadow:0 -18px 60px #00000073}.sheetHandle{width:52px;height:5px;justify-self:center;border-radius:999px;background:#3d5a7a}.sheet label{display:grid;gap:7px;color:#7a9cc4;font-size:13px}.sheet input[type=range]{padding:0;accent-color:#00c9c9}.inlineSetting{grid-template-columns:1fr auto;align-items:center}.inlineSetting input{width:24px;height:24px;accent-color:#00c9c9}@keyframes pulseOrb{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes pulseMic{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@media (max-height: 700px){.orb{margin-top:36px}.log{max-height:12dvh}}.headerRight{display:flex;align-items:center;gap:8px}.modeToggle{display:flex;background:#0f1f38;border:1px solid rgba(0,200,200,.15);border-radius:20px;padding:2px;gap:2px}.modeToggle button{padding:4px 14px;border-radius:16px;font-size:12px;font-weight:600;color:#7a9cc4;background:transparent;border:none;transition:all .2s;cursor:pointer}.voiceStage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:16px 20px;overflow:hidden}.voiceStatusText{font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#00c9c9;text-align:center;min-height:20px}.orbContainer{position:relative;width:220px;height:220px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.orbContainer .ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:1px solid rgba(0,200,200,.15);border-radius:50%;pointer-events:none}.orbContainer .orb{position:relative;width:125px;height:125px;margin-top:0;display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:transparent;cursor:pointer;z-index:1}.vizCanvas{display:block;width:100%;max-width:320px;height:60px;margin:0 auto;scrollbar-width:none}.micLabel{color:#3d5a7a;font-size:11px;font-weight:600;text-align:center}.diagnostics{width:min(340px,calc(100vw - 28px));display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;padding:8px 10px;border:1px solid rgba(0,200,200,.16);border-radius:8px;background:#0f1f38b8;color:#7a9cc4;font-size:10px;line-height:1.25}.diagnostics span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chatView{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0;height:0}.chatMessages{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px 16px 8px;scrollbar-width:none;display:flex;flex-direction:column;gap:8px;min-height:0;height:0}.chatEmpty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:40px 20px;text-align:center;gap:12px}.chatEmptyIcon{width:72px;height:72px;border-radius:20px;overflow:hidden;background:#0f1f38;border:1px solid rgba(0,200,200,.2);display:flex;align-items:center;justify-content:center}.chatEmptyIcon img{width:56px;height:56px;object-fit:contain}.chatEmpty h2{color:#e8f0fe;font-size:20px;font-weight:700;margin:0}.chatEmpty p{color:#7a9cc4;font-size:14px;margin:0}.chatMsg{display:flex;align-items:flex-end;gap:8px}.chatMsg.adam{flex-direction:row-reverse}.chatAvatar{width:28px;height:28px;border-radius:8px;overflow:hidden;background:#0f1f38;border:1px solid rgba(0,200,200,.2);flex-shrink:0;display:flex;align-items:center;justify-content:center}.chatAvatar img{width:22px;height:22px;object-fit:contain}.chatBubble{max-width:80%;padding:10px 14px;border-radius:14px;font-size:14px;line-height:1.5}.chatBubble.adam{background:#00c9c926;border:1px solid rgba(0,201,201,.3);color:#00c9c9;border-bottom-right-radius:4px}.chatBubble.manus{background:#0f1f38;border:1px solid rgba(30,144,255,.2);color:#e8f0fe;border-bottom-left-radius:4px}.composer{width:100%;display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px 16px max(16px,env(safe-area-inset-bottom));border-top:1px solid rgba(0,200,200,.08);background:#060e1ef2}.composer textarea{width:100%;min-height:44px;max-height:120px;border:1px solid rgba(0,200,200,.12);border-radius:12px;background:#0f1f38;color:#e8f0fe;padding:10px 14px;resize:none;overflow-y:auto;scrollbar-width:none;font-size:14px;line-height:1.4}.composer textarea::placeholder{color:#3d5a7a}.composer button{width:44px;height:44px;border:none;border-radius:12px;background:linear-gradient(135deg,#00c9c9,#066);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;align-self:flex-end}.composer button:disabled{opacity:.4}.composer button svg{width:16px;height:16px}.orb{width:125px;height:125px;min-width:125px;min-height:125px;display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:transparent;cursor:pointer;flex-shrink:0;padding:0;margin:0;aspect-ratio:1 / 1}.muteButton{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(0,200,200,.25);border-radius:50%;background:#00c8c814;color:#7a9cc4;cursor:pointer;flex-shrink:0}.muteButton svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.muteButton.muted{background:#f851491f;border-color:#f8514966;color:#f85149}.voiceControls{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:max(16px,env(safe-area-inset-bottom))}.voiceButtonRow{display:flex;align-items:center;gap:16px}.modeToggle{display:flex;background:#0f1f38;border:1px solid rgba(0,200,200,.15);border-radius:20px;padding:2px;gap:2px;flex-shrink:0}.modeToggle button{padding:4px 12px;border-radius:16px;font-size:11px;font-weight:600;color:#7a9cc4;background:transparent;border:none;white-space:nowrap;cursor:pointer}.modeToggle button.active{background:#00c8c826;color:#00c9c9}.headerRight .modeToggle{position:static!important;top:auto!important;left:auto!important;right:auto!important;width:auto!important;display:flex!important;justify-content:flex-start!important;pointer-events:auto!important;background:#0f1f38!important;border:1px solid rgba(0,200,200,.15)!important;border-radius:20px!important;padding:2px!important;gap:2px!important;flex-shrink:0!important}.headerRight .modeToggle button{min-width:unset!important;width:auto!important;height:auto!important;padding:5px 12px!important;border-radius:16px!important;font-size:11px!important;font-weight:600!important;color:#7a9cc4!important;background:transparent!important;border:none!important;white-space:nowrap!important;pointer-events:auto!important;box-shadow:none!important}.headerRight .modeToggle button.active{background:#00c8c826!important;color:#00c9c9!important;border-color:transparent!important;box-shadow:none!important}.voiceControls,.voiceButtonRow{display:flex!important;flex-direction:column!important;align-items:center!important;gap:10px!important}.vizCanvas{display:block!important;width:min(320px,90vw)!important;height:60px!important;min-height:60px!important;flex-shrink:0!important}
