.chat-container{flex:1;overflow-y:auto;padding:1rem 1.5rem;background:#14141499;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app[data-character=hypatia] .chat-container{background:#140f1e99}.messages{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:.75rem}.welcome-message{text-align:center;padding:2rem 1.5rem;color:#a89984}.welcome-icon{font-size:3rem;margin-bottom:.75rem;filter:drop-shadow(0 0 20px rgba(244,228,193,.3))}.welcome-message h2{font-size:1.5rem;color:#f4e4c1;margin-bottom:.75rem;font-weight:600}.welcome-message p{font-size:1rem;line-height:1.6;margin-bottom:.5rem;font-style:italic}.welcome-hint{margin-top:2rem;font-size:.95rem;color:#6a5f55}.message{display:flex;flex-direction:column;gap:.35rem;padding:.625rem 1rem;border-radius:8px;animation:fadeIn .3s ease}.user-message{background:linear-gradient(135deg,#4664c840,#4664c826);border:1px solid rgba(90,130,255,.5);align-self:flex-end;max-width:70%}.tesla-message{background:linear-gradient(135deg,#64554659,#64554633);border:1px solid rgba(255,216,155,.4);align-self:flex-start;max-width:80%}.app[data-character=hypatia] .tesla-message{background:linear-gradient(135deg,#78649659,#78649633);border:1px solid rgba(232,212,255,.5)}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.message-sender{font-weight:600;font-size:.8rem;color:#ffd89b}.app[data-character=hypatia] .message-sender{color:#e8d4ff}.message-time{font-size:.7rem;color:#6a5f55;font-style:italic}.replay-hint{font-size:.7rem;color:#6a5f55;font-style:italic;opacity:0;transition:opacity .3s ease;margin-left:auto}.message.clickable:hover .replay-hint{opacity:1}.message.clickable{transition:all .3s ease;-webkit-user-select:none;user-select:none}.message.clickable:hover{transform:translate(4px);border-color:#ffd89b;box-shadow:0 4px 20px #ffd89b66}.app[data-character=hypatia] .message.clickable:hover{border-color:#e8d4ff;box-shadow:0 4px 20px #e8d4ff80}.app[data-character=faust] .message.clickable:hover{border-color:#ff5060;box-shadow:0 4px 20px #ff506080}.app[data-character=flux] .message.clickable:hover{border-color:#33e0ff;box-shadow:0 4px 20px #33e0ff99}.message.replaying{border-color:#f4e4c1;box-shadow:0 0 20px #f4e4c166;animation:replayPulse 1s infinite}.app[data-character=hypatia] .message.replaying{border-color:#d4c4f4;box-shadow:0 0 20px #d4c4f466}.app[data-character=faust] .message.replaying{border-color:#c8c8c8;box-shadow:0 0 20px #80002080}.app[data-character=flux] .message.replaying{border-color:#00d4ff;box-shadow:0 0 25px #00d4ff99}@keyframes replayPulse{0%,to{opacity:1}50%{opacity:.85}}.message-content{line-height:1.5;font-size:.95rem;color:#f5ebe0;white-space:pre-wrap;word-wrap:break-word}.image-indicator{display:inline-block;background:#f4e4c11a;padding:.25rem .75rem;border-radius:6px;font-size:.85rem;margin-bottom:.5rem;color:#a89984}.interim{opacity:1;font-style:normal;background:linear-gradient(135deg,#f4e4c126,#f4e4c10d)!important;border:2px solid rgba(244,228,193,.5)!important;animation:pulseGlow 2s infinite}.interim .message-content{font-size:1.15rem;color:#f4e4c1;font-weight:500}.interim .message-sender:after{content:" 🎤";animation:pulse 1.5s infinite}@keyframes pulseGlow{0%,to{border-color:#f4e4c180;box-shadow:0 0 10px #f4e4c133}50%{border-color:#f4e4c1cc;box-shadow:0 0 20px #f4e4c166}}.typing-indicator{display:flex;gap:.5rem;padding:.5rem 0}.typing-indicator span{width:8px;height:8px;background:#f4e4c1;border-radius:50%;animation:typing 1.4s infinite}.app[data-character=hypatia] .typing-indicator span{background:#d4c4f4}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1)}}.speaking-indicator{position:fixed;bottom:300px;left:50%;transform:translate(-50%);background:#4a3f35f2;border:1px solid #f4e4c1;padding:1rem 2rem;border-radius:30px;font-size:1rem;color:#f4e4c1;box-shadow:0 4px 20px #00000080;z-index:100}.app[data-character=hypatia] .speaking-indicator{background:#5a4f6af2;border:1px solid #d4c4f4;color:#d4c4f4}.pulse{display:inline-block;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.chat-container::-webkit-scrollbar{width:8px}.chat-container::-webkit-scrollbar-track{background:#1a1a1a80}.chat-container::-webkit-scrollbar-thumb{background:#4a3f35b3;border-radius:4px}.chat-container::-webkit-scrollbar-thumb:hover{background:#4a3f35e6}.app[data-character=hypatia] .chat-container::-webkit-scrollbar-thumb{background:#5a4f6ab3}.app[data-character=hypatia] .chat-container::-webkit-scrollbar-thumb:hover{background:#5a4f6ae6}@media (max-width: 768px){.chat-container{padding:1rem .75rem 220px;overflow-y:auto;-webkit-overflow-scrolling:touch}.messages{gap:1rem}.user-message,.tesla-message{max-width:85%;padding:.875rem 1rem}.message-content{font-size:1rem;line-height:1.6}.message-sender{font-size:.85rem}.message-time{font-size:.7rem}.welcome-message{padding:2rem 1rem}.welcome-icon{font-size:3rem}.welcome-message h2{font-size:1.5rem}.speaking-indicator{bottom:220px;font-size:.85rem;padding:.625rem 1.25rem;left:50%;transform:translate(-50%);max-width:80%}.interim{max-width:90%}}.camera-container{padding:1rem 2rem;background:#141414cc;border-bottom:1px solid #4a3f35}.camera-wrapper{max-width:600px;margin:0 auto;border-radius:12px;overflow:hidden;position:relative;box-shadow:0 8px 32px #00000080;border:2px solid #4a3f35}.camera-video{width:100%;height:auto;display:block;background:#000}.camera-overlay{position:absolute;top:0;left:0;right:0;padding:1rem;background:linear-gradient(180deg,rgba(0,0,0,.7) 0%,transparent 100%);display:flex;justify-content:space-between;align-items:center}.camera-label{color:#f4e4c1;font-size:.9rem;font-weight:600;text-shadow:0 2px 4px rgba(0,0,0,.8);display:flex;align-items:center;gap:.5rem}.camera-label:before{content:"👁️";font-size:1.2rem;animation:blink 3s infinite}.camera-flip-btn{background:#f4e4c133;border:1px solid rgba(244,228,193,.4);color:#f4e4c1;padding:.5rem .75rem;border-radius:8px;cursor:pointer;font-size:1.2rem;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.camera-flip-btn:hover{background:#f4e4c166;border-color:#f4e4c199;transform:scale(1.1)}.camera-flip-btn:active{transform:scale(.95)}.app[data-character=hypatia] .camera-flip-btn{background:#d4c4f433;border:1px solid rgba(212,196,244,.4);color:#d4c4f4}.app[data-character=hypatia] .camera-flip-btn:hover{background:#d4c4f466;border-color:#d4c4f499}@keyframes blink{0%,49%,51%,to{opacity:1}50%{opacity:.3}}.camera-error{background:#8b000033;border:1px solid rgba(139,0,0,.5);padding:3rem 2rem;text-align:center;color:#e0d5c7}.camera-error span{font-size:3rem;display:block;margin-bottom:1rem;opacity:.5}.camera-error p{font-size:1rem;line-height:1.6}@media (max-width: 768px){.camera-container{position:fixed;top:80px;right:12px;width:140px;padding:0;background:transparent;border-bottom:none;z-index:900;box-shadow:0 4px 16px #0009;border-radius:10px}.camera-wrapper{max-width:140px;border-radius:10px;border:2px solid #f4e4c1}.app[data-character=hypatia] .camera-wrapper{border-color:#d4c4f4}.camera-video{max-height:110px;object-fit:cover;border-radius:8px}.camera-overlay{padding:.25rem .4rem}.camera-label{font-size:.55rem;gap:.25rem}.camera-label:before{font-size:.7rem}.camera-flip-btn{padding:.25rem .4rem;font-size:.9rem;border-radius:6px}.camera-error{padding:1rem .5rem;font-size:.7rem}.camera-error span{font-size:1.5rem;margin-bottom:.5rem}.camera-error p{font-size:.7rem;line-height:1.4}}.controls-container{background:linear-gradient(180deg,#1a1a1af2,#141414fa);border-top:2px solid #4a3f35;padding:1rem 1.5rem;box-shadow:0 -4px 20px #00000080}.controls-row{max-width:900px;margin:0 auto .75rem;display:flex;gap:.75rem;align-items:center;position:relative}.voice-btn{flex:1;min-width:120px}.menu-container{position:relative}.control-btn{background:#4a3f354d;border:1px solid #4a3f35;color:#e0d5c7;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-family:Crimson Text,serif;font-size:.9rem;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation}.control-btn:hover:not(:disabled){background:#4a3f3580;border-color:#6a5f55;box-shadow:0 0 15px #f4e4c133;transform:translateY(-2px)}.control-btn:disabled{opacity:.4;cursor:not-allowed}.control-btn.active{background:#3a539b66;border-color:#3a539b99;box-shadow:0 0 20px #3a539b4d}.stop-btn{background:#8b00004d;border-color:#8b000080}.stop-btn:hover{background:#8b000080;border-color:#8b0000b3}.menu-btn{min-width:100px}.menu-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:998}.dropdown-menu{position:absolute;bottom:100%;right:0;margin-bottom:.5rem;background:linear-gradient(180deg,#1a1a1afa,#141414);border:2px solid #4a3f35;border-radius:8px;min-width:200px;box-shadow:0 -4px 20px #000c;z-index:999;overflow:hidden;animation:slideUp .2s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.menu-item{width:100%;background:transparent;border:none;border-bottom:1px solid rgba(74,63,53,.3);color:#e0d5c7;padding:.875rem 1rem;cursor:pointer;font-family:Crimson Text,serif;font-size:.95rem;transition:all .2s ease;text-align:left;display:flex;align-items:center;gap:.5rem}.menu-item:last-child{border-bottom:none}.menu-item:hover:not(:disabled){background:#4a3f3566;color:#ffd89b}.menu-item:disabled{opacity:.4;cursor:not-allowed}.menu-item.active{background:#3a539b4d;color:#ffd89b;font-weight:600}.menu-item.active:before{content:"✓ ";color:#4ade80}.input-form{max-width:900px;margin:0 auto;display:flex;gap:1rem;flex-direction:column}.message-input{width:100%;background:#141414cc;border:2px solid #4a3f35;border-radius:8px;padding:.75rem;color:#e0d5c7;font-family:Crimson Text,serif;font-size:.95rem;resize:none;outline:none;transition:all .3s ease}.message-input:focus{border-color:#6a5f55;box-shadow:0 0 20px #4a3f354d}.message-input::placeholder{color:#6a5f55;font-style:italic}.message-input:disabled{opacity:.5;cursor:not-allowed}.send-button{background:linear-gradient(135deg,#ffd89b33,#ffd89b4d);border:2px solid #ffd89b;color:#ffd89b;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-family:Crimson Text,serif;font-size:1rem;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #0000004d;align-self:flex-end}.send-button:hover:not(:disabled){background:linear-gradient(135deg,#ffd89b4d,#ffd89b66);transform:translateY(-2px);box-shadow:0 0 30px #ffd89b99}.send-button:disabled{opacity:.4;cursor:not-allowed;transform:none}.voice-only-indicator{max-width:900px;margin:0 auto;padding:1.5rem;text-align:center;background:linear-gradient(135deg,#ffd89b1a,#ffd89b0d);border:2px dashed rgba(255,216,155,.3);border-radius:12px;animation:voicePulse 2s ease-in-out infinite}@keyframes voicePulse{0%,to{border-color:#ffd89b4d;box-shadow:0 0 10px #ffd89b1a}50%{border-color:#ffd89b99;box-shadow:0 0 20px #ffd89b4d}}.voice-mode-text{font-size:1.1rem;font-weight:600;color:#ffd89b;display:flex;flex-direction:column;gap:.5rem;align-items:center}.voice-mode-hint{font-size:.85rem;font-weight:400;color:#a89984;font-style:italic}.input-hint{text-align:center;font-size:.85rem;color:#6a5f55;font-style:italic;margin-top:.5rem}@media (max-width: 768px){.controls-container{padding:1rem .75rem;position:fixed;bottom:0;left:0;right:0;z-index:999}.controls-row{gap:.5rem;margin-bottom:.75rem}.voice-btn{flex:1;min-width:0;font-size:.85rem}.stop-btn{flex:0 0 auto;padding:.5rem .75rem;font-size:.85rem}.menu-btn{flex:0 0 auto;min-width:80px;font-size:.85rem}.dropdown-menu{right:0;left:auto;min-width:180px}.input-form{gap:.5rem;flex-direction:row;align-items:stretch}.message-input{font-size:1rem;padding:.875rem;rows:1;min-height:48px;max-height:80px}.send-button{padding:.75rem 1.25rem;font-size:.95rem;white-space:nowrap;align-self:stretch}.input-hint{font-size:.75rem;margin-top:.25rem}}@media (max-width: 768px){.chat-container{padding-bottom:200px}}.memory-panel{width:400px;background:linear-gradient(135deg,#1a1a1afa,#141414fa);border-left:2px solid #4a3f35;display:flex;flex-direction:column;overflow:hidden;box-shadow:-4px 0 20px #00000080}.memory-header{background:#141414e6;padding:1.5rem;border-bottom:2px solid #4a3f35;display:flex;justify-content:space-between;align-items:center}.memory-header h2{font-size:1.5rem;color:#f4e4c1;font-weight:600}.close-btn{background:transparent;border:1px solid #4a3f35;color:#e0d5c7;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.close-btn:hover{background:#8b00004d;border-color:#8b000080;transform:rotate(90deg)}.memory-content{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.memory-section{background:#4a3f3526;border:1px solid #4a3f35;border-radius:12px;padding:1.25rem}.memory-section h3{font-size:1.1rem;color:#f4e4c1;margin-bottom:1rem;font-weight:600;border-bottom:1px solid #4a3f35;padding-bottom:.5rem}.memory-stats{display:flex;flex-direction:column;gap:.75rem}.stat{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.stat-label{color:#a89984;font-size:.95rem}.stat-value{color:#f4e4c1;font-weight:600;font-size:1rem}.identity-info{display:flex;flex-direction:column;gap:.625rem;color:#e0d5c7;font-size:.95rem;line-height:1.6}.identity-info p{padding:.25rem 0}.identity-info strong{color:#f4e4c1}.conversation-list{list-style:none;display:flex;flex-direction:column;gap:.75rem;color:#e0d5c7;font-size:.95rem}.conversation-list li{padding:.625rem;background:#14141466;border-left:3px solid #4a3f35;border-radius:4px;line-height:1.5}.conversation-list strong{color:#f4e4c1}.memory-actions{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.memory-btn{background:#4a3f354d;border:1px solid #4a3f35;color:#e0d5c7;padding:.875rem 1.25rem;border-radius:8px;cursor:pointer;font-family:Crimson Text,serif;font-size:1rem;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.memory-btn:hover{background:#4a3f3580;border-color:#6a5f55;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.import-btn:hover{border-color:#4caf5099;box-shadow:0 4px 12px #4caf5033}.export-btn:hover{border-color:#3a539b99;box-shadow:0 4px 12px #3a539b33}.clear-btn:hover{background:#8b00004d;border-color:#8b000080;box-shadow:0 4px 12px #8b000033}.import-status{text-align:center;font-size:.9rem;padding:.75rem;margin-top:.5rem;border-radius:6px;background:#4caf501a;border:1px solid rgba(76,175,80,.3);color:#f4e4c1;animation:fadeIn .3s ease}.memory-note{font-size:.85rem;color:#6a5f55;font-style:italic;line-height:1.5;text-align:center}.memory-content::-webkit-scrollbar{width:6px}.memory-content::-webkit-scrollbar-track{background:#1a1a1a80}.memory-content::-webkit-scrollbar-thumb{background:#4a3f35b3;border-radius:3px}.memory-content::-webkit-scrollbar-thumb:hover{background:#4a3f35e6}@media (max-width: 768px){.memory-panel{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:100vw;z-index:1000}.memory-header{padding:1rem}.memory-header h2{font-size:1.25rem}.memory-content{padding:1rem}}.camera-settings-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.camera-settings-panel{background:linear-gradient(180deg,#1a1a1afa,#141414fa);border:2px solid #4a3f35;border-radius:12px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 10px 40px #000000b3;animation:slideUp .3s ease}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #4a3f35}.settings-header h2{font-size:1.5rem;color:#f4e4c1;margin:0;text-shadow:0 0 10px rgba(244,228,193,.3)}.close-btn{background:none;border:none;color:#e0d5c7;font-size:1.5rem;cursor:pointer;padding:.25rem .5rem;transition:color .2s}.close-btn:hover{color:#f4e4c1}.settings-content{padding:1.5rem}.settings-desc{color:#b0a090;margin-bottom:1.5rem;line-height:1.6}.quality-options{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.quality-btn{background:#4a3f3533;border:2px solid #4a3f35;padding:1rem;border-radius:8px;cursor:pointer;text-align:left;transition:all .3s ease;position:relative}.quality-btn:hover{background:#4a3f3566;border-color:#6a5f55;transform:translate(5px)}.quality-btn.active{background:#3a539b4d;border-color:#3a539b99;box-shadow:0 0 15px #3a539b4d}.quality-label{font-size:1.1rem;font-weight:600;color:#f4e4c1;margin-bottom:.25rem}.quality-desc{font-size:.9rem;color:#b0a090}.quality-badge{position:absolute;top:1rem;right:1rem;background:#4caf504d;color:#4caf50;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600}.settings-note{background:#f4e4c11a;border-left:3px solid #f4e4c1;padding:1rem;border-radius:4px;color:#b0a090;font-size:.9rem}.settings-note strong{color:#f4e4c1}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 600px){.camera-settings-panel{max-width:95%}.settings-header h2{font-size:1.25rem}.quality-btn{padding:.75rem}.quality-label{font-size:1rem}}.qr-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.qr-modal{background:linear-gradient(180deg,#1a1a1afa,#141414fa);border:2px solid #4a3f35;border-radius:16px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 60px #f4e4c133;animation:slideUp .3s ease}.qr-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #4a3f35}.qr-header h2{font-size:1.5rem;color:#f4e4c1;margin:0;text-shadow:0 0 15px rgba(244,228,193,.4)}.qr-close-btn{background:none;border:none;color:#e0d5c7;font-size:1.5rem;cursor:pointer;padding:.25rem .5rem;transition:all .2s}.qr-close-btn:hover{color:#f4e4c1;transform:rotate(90deg)}.qr-content{padding:2rem;text-align:center}.qr-instructions{color:#b0a090;margin-bottom:2rem;line-height:1.6;font-size:1rem}.qr-code-container{background:#f4e4c1;padding:1.5rem;border-radius:12px;display:inline-block;margin-bottom:2rem;box-shadow:0 8px 30px #f4e4c14d;animation:glow 2s ease-in-out infinite}@keyframes glow{0%,to{box-shadow:0 8px 30px #f4e4c14d}50%{box-shadow:0 8px 40px #f4e4c180}}.qr-url-section{background:#4a3f3533;padding:1rem;border-radius:8px;margin-bottom:2rem}.url-display{color:#f4e4c1;font-family:Courier New,monospace;font-size:.9rem;margin-bottom:1rem;word-break:break-all;padding:.75rem;background:#0000004d;border-radius:6px}.copy-btn{background:#3a539b4d;border:1px solid rgba(58,83,155,.6);color:#e0d5c7;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-family:Crimson Text,serif;font-size:1rem;transition:all .3s ease}.copy-btn:hover{background:#3a539b80;border-color:#3a539bcc;box-shadow:0 0 20px #3a539b66;transform:translateY(-2px)}.qr-tips{text-align:left;background:#f4e4c10d;padding:1.5rem;border-radius:8px;border-left:3px solid #f4e4c1}.qr-tips h3{color:#f4e4c1;font-size:1.1rem;margin-bottom:1rem;margin-top:0}.qr-tips ul{list-style:none;padding:0;margin:0}.qr-tips li{color:#b0a090;padding:.5rem 0 .5rem 1.5rem;position:relative;line-height:1.5}.qr-tips li:before{content:"⚡";position:absolute;left:0;color:#f4e4c1}@media (max-width: 600px){.qr-modal{max-width:95%}.qr-header h2{font-size:1.25rem}.qr-code-container{padding:1rem}.qr-code-container svg{width:200px!important;height:200px!important}.qr-content{padding:1.5rem}.url-display{font-size:.75rem}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.mobile-helper{position:fixed;top:80px;left:50%;transform:translate(-50%);z-index:999;animation:slideDown .4s ease;max-width:90%;width:400px}.helper-content{background:linear-gradient(135deg,#3a539bf2,#263f87f2);border:2px solid rgba(100,149,237,.5);border-radius:12px;padding:1rem 1.5rem;box-shadow:0 8px 32px #00000080;display:flex;align-items:center;gap:1rem}.helper-icon{font-size:2rem;flex-shrink:0}.helper-text{flex:1;color:#fff;font-size:.9rem;line-height:1.5}.helper-text strong{display:block;margin-bottom:.25rem;font-size:1rem}.helper-close{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-family:Crimson Text,serif;font-size:.9rem;white-space:nowrap;transition:all .2s}.helper-close:hover{background:#ffffff4d;transform:scale(1.05)}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (max-width: 600px){.mobile-helper{top:70px;width:95%}.helper-content{padding:.75rem 1rem;flex-wrap:wrap}.helper-icon{font-size:1.5rem}.helper-text{font-size:.85rem}.helper-close{width:100%;margin-top:.5rem}}.character-selector{position:relative;display:inline-block}.character-dropdown-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#4a3f354d;border:1px solid #4a3f35;border-radius:6px;color:#e0d5c7;font-family:Crimson Text,serif;font-size:.9rem;cursor:pointer;transition:all .3s ease;min-width:150px;justify-content:space-between}.character-dropdown-btn:hover:not(:disabled){background:#4a3f3580;border-color:#6a5f55;box-shadow:0 0 15px #f4e4c133;transform:translateY(-2px)}.character-dropdown-btn:disabled{opacity:.5;cursor:not-allowed}.current-character-icon{font-size:1.2rem;line-height:1}.current-character-name{flex:1;text-align:left;font-weight:600;color:#ffd89b}.dropdown-arrow{font-size:.7rem;color:#a89984;transition:transform .3s ease}.character-dropdown-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1998}.character-dropdown-menu{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:linear-gradient(180deg,#1a1a1afa,#141414);border:2px solid #4a3f35;border-radius:8px;box-shadow:0 4px 20px #000c;z-index:1999;overflow:hidden;animation:dropdownSlide .2s ease}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.character-dropdown-item{width:100%;display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:transparent;border:none;border-bottom:1px solid rgba(74,63,53,.3);color:#e0d5c7;font-family:Crimson Text,serif;font-size:.95rem;cursor:pointer;transition:all .2s ease;text-align:left}.character-dropdown-item:last-child{border-bottom:none}.character-dropdown-item:hover:not(.active){background:#4a3f3566;color:#ffd89b}.character-dropdown-item.active{background:#ffd89b26;color:#ffd89b;font-weight:600}.character-dropdown-item .character-icon{font-size:1.3rem;line-height:1;flex-shrink:0}.character-dropdown-item .character-name{flex:1;font-size:.95rem}.character-dropdown-item .checkmark{color:#4ade80;font-size:.9rem;font-weight:700;margin-left:auto}.app[data-character=hypatia] .character-dropdown-btn{border-color:#5a4f6a}.app[data-character=hypatia] .current-character-name{color:#e8d4ff}.app[data-character=hypatia] .character-dropdown-menu{border-color:#5a4f6a}.app[data-character=hypatia] .character-dropdown-item.active{background:#e8d4ff26;color:#e8d4ff}.app[data-character=faust] .character-dropdown-btn{border-color:#800020}.app[data-character=faust] .current-character-name{color:#e8e8e8}.app[data-character=faust] .character-dropdown-menu{border-color:#800020}.app[data-character=faust] .character-dropdown-item.active{background:#ff506026;color:#e8e8e8}.app[data-character=flux] .character-dropdown-btn{border-color:#00d4ff}.app[data-character=flux] .current-character-name{color:#33e0ff}.app[data-character=flux] .character-dropdown-menu{border-color:#00d4ff}.app[data-character=flux] .character-dropdown-item.active{background:#33e0ff26;color:#33e0ff}@media (max-width: 768px){.character-dropdown-btn{min-width:130px;padding:.5rem .75rem;font-size:.85rem}.current-character-icon{font-size:1.1rem}.current-character-name{font-size:.85rem}.character-dropdown-item{padding:.75rem .875rem;font-size:.9rem}.character-dropdown-item .character-icon{font-size:1.2rem}}.chatroom-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.chatroom-container{background:linear-gradient(135deg,#1a1a1a,#2d2d2d);border:2px solid #4a3f35;border-radius:12px;width:100%;max-width:900px;height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 50px #000c}.chatroom-header{padding:1.5rem;border-bottom:2px solid #4a3f35;background:linear-gradient(180deg,#1a1a1af2,#141414fa);border-radius:10px 10px 0 0;position:relative}.chatroom-header h2{margin:0;font-size:1.8rem;color:#f4e4c1;text-shadow:0 0 20px rgba(244,228,193,.3)}.chatroom-subtitle{margin:.5rem 0 1rem;font-size:.9rem;color:#a89984;font-style:italic}.participant-selector{display:flex;gap:1.5rem;margin-top:1rem;padding:1rem;background:#4a3f3533;border-radius:8px;border:1px solid #4a3f35}.participant-option{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:1rem;color:#e0d5c7;transition:all .3s ease}.participant-option:hover{transform:scale(1.05)}.participant-option input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#d4a574}.participant-option span{font-weight:500;text-shadow:0 0 10px currentColor}.close-btn{position:absolute;top:1rem;right:1rem;background:#4a3f354d;border:1px solid #4a3f35;color:#e0d5c7;width:40px;height:40px;border-radius:50%;font-size:1.5rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.close-btn:hover{background:#4a3f3580;transform:rotate(90deg)}.chatroom-messages{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.chatroom-welcome{text-align:center;padding:3rem 2rem;color:#a89984}.chatroom-welcome h3{color:#f4e4c1;margin-bottom:1rem;font-size:1.5rem}.chatroom-welcome p{margin:.5rem 0;line-height:1.6}.chatroom-welcome .hint{margin-top:1.5rem;padding:1rem;background:#4a3f3533;border-left:3px solid #d4a574;border-radius:4px;font-style:italic}.chatroom-message{background:#4a3f3526;border-left:4px solid #4a3f35;border-radius:8px;padding:1rem;transition:all .3s ease}.chatroom-message:hover{background:#4a3f3540}.user-message{background:#64649626;border-left:4px solid #6a6aa0;margin-left:2rem}.system-message{background:#c8646426;border-left:4px solid #c86464;font-style:italic}.message-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-weight:600}.speaker-icon{font-size:1.2rem}.speaker-name{font-size:1rem;text-shadow:0 0 10px currentColor}.voice-indicator{margin-left:auto;font-size:.85rem;color:#a89984;font-style:italic;opacity:.7}.streaming-indicator{color:#4a3f35;animation:pulse 1s infinite;margin-left:.5rem}@keyframes pulse{0%,to{opacity:.3}50%{opacity:1}}.message-content{color:#e0d5c7;line-height:1.6;font-size:1rem}.thinking-indicator{display:flex;align-items:center;gap:.5rem;padding:1rem;background:#4a3f351a;border-radius:8px;font-style:italic;color:#a89984;animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chatroom-input{padding:1.5rem;border-top:2px solid #4a3f35;background:linear-gradient(180deg,#141414fa,#1a1a1af2);border-radius:0 0 10px 10px}.chatroom-input form{display:flex;gap:1rem}.chatroom-input input{flex:1;background:#4a3f3533;border:1px solid #4a3f35;color:#e0d5c7;padding:.875rem 1rem;border-radius:8px;font-family:Crimson Text,Georgia,serif;font-size:1rem;transition:all .3s ease}.chatroom-input input:focus{outline:none;border-color:#6a5f55;background:#4a3f354d;box-shadow:0 0 10px #f4e4c11a}.chatroom-input input::placeholder{color:#a89984}.chatroom-input button{background:#4a3f354d;border:1px solid #4a3f35;color:#e0d5c7;padding:.875rem 1.5rem;border-radius:8px;font-family:Crimson Text,Georgia,serif;font-size:1rem;cursor:pointer;transition:all .3s ease;white-space:nowrap}.chatroom-input button:hover:not(:disabled){background:#4a3f3580;border-color:#6a5f55;box-shadow:0 0 15px #f4e4c133;transform:translateY(-2px)}.chatroom-input button:disabled{opacity:.5;cursor:not-allowed}.pause-btn{background:#6464964d!important;border:1px solid #6a6aa0!important;color:#d4e4ff!important;font-weight:600;position:relative;overflow:hidden}.pause-btn:hover:not(:disabled){background:#64649680!important;border-color:#8a8ac0!important;box-shadow:0 0 20px #64649666!important}.pause-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#64649666;transform:translate(-50%,-50%);transition:width .3s,height .3s}.pause-btn:active:before{width:200px;height:200px}@media (max-width: 768px){.chatroom-container{height:95vh;max-width:100%;border-radius:0}.chatroom-header{padding:1rem;border-radius:0}.chatroom-header h2{font-size:1.3rem}.chatroom-subtitle{font-size:.8rem}.chatroom-messages{padding:1rem}.user-message{margin-left:0}.chatroom-input{padding:1rem}.chatroom-input form{flex-direction:column;gap:.5rem}.chatroom-input input,.chatroom-input button{width:100%}}.export-btn{padding:8px 16px;background:#64c86433;color:#8f8;border:1px solid rgba(100,200,100,.3);border-radius:6px;cursor:pointer;font-size:12px;font-family:Crimson Text,serif;transition:all .2s ease;margin-right:10px}.export-btn:hover:not(:disabled){background:#64c8644d;border-color:#8f8}.export-btn:disabled{opacity:.3;cursor:not-allowed}.agent-status-bar{display:flex;gap:1rem;padding:.75rem 1rem;margin-top:1rem;background:#4a3f3526;border-radius:6px;border:1px solid rgba(74,63,53,.3);align-items:center}.agent-status-bar:before{content:"Agent Status:";font-size:.85rem;color:#a89984;font-weight:600;margin-right:.5rem}.agent-status-item{display:flex;align-items:center;gap:.3rem;font-size:1rem;cursor:help;transition:transform .2s ease}.agent-status-item:hover{transform:scale(1.1)}.login-container{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.login-background{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#2c1810,#1a0f0a,#0d0806);z-index:0}.vintage-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-image:repeating-linear-gradient(0deg,rgba(0,0,0,.1) 0px,transparent 1px,transparent 2px,rgba(0,0,0,.1) 3px);opacity:.3;pointer-events:none}.login-card{position:relative;z-index:1;background:linear-gradient(180deg,#1a1410,#0f0b08);border:2px solid #8b7355;border-radius:16px;padding:48px 40px;width:90%;max-width:480px;box-shadow:0 20px 60px #000c,inset 0 1px #8b73554d,0 0 100px #d4a5741a;animation:fadeInScale .5s ease-out}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.shake{animation:shakeError .82s cubic-bezier(.36,.07,.19,.97) both!important}@keyframes shakeError{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}.login-header{text-align:center;margin-bottom:32px}.login-title{font-family:Georgia,Garamond,serif;font-size:36px;font-weight:700;color:#d4a574;margin:0 0 12px;text-shadow:0 2px 10px rgba(212,165,116,.3);letter-spacing:1px}.login-subtitle{font-family:Georgia,Garamond,serif;font-size:14px;color:#8b7355;margin:0;font-style:italic;letter-spacing:.5px}.login-divider{height:1px;background:linear-gradient(90deg,transparent 0%,#8b7355 50%,transparent 100%);margin-bottom:32px}.login-form{display:flex;flex-direction:column;gap:24px}.input-group{display:flex;flex-direction:column;gap:8px}.input-label{font-family:Georgia,Garamond,serif;font-size:14px;color:#d4a574;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.password-input-wrapper{position:relative;width:100%}.password-input{width:100%;padding:14px 50px 14px 16px;font-size:16px;font-family:Courier New,monospace;background:#0006;border:2px solid #8b7355;border-radius:8px;color:#d4a574;transition:all .3s ease;letter-spacing:2px}.toggle-password-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:transparent;border:none;cursor:pointer;padding:4px 8px;font-size:20px;color:#8b7355;transition:all .3s ease;line-height:1;opacity:.7}.toggle-password-btn:hover{opacity:1;color:#d4a574}.toggle-password-btn:active{transform:translateY(-50%) scale(.95)}.password-input:focus{outline:none;border-color:#d4a574;box-shadow:0 0 0 3px #d4a5741a;background:#0009}.password-input::placeholder{color:#5a4a3a;letter-spacing:1px}.error-message{padding:12px 16px;background:#c832321a;border:1px solid rgba(200,50,50,.3);border-radius:8px;color:#ff6b6b;font-size:14px;text-align:center;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.login-button{padding:16px 32px;font-size:16px;font-family:Georgia,Garamond,serif;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#1a1410;background:linear-gradient(135deg,#d4a574,#8b7355);border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #d4a5744d}.login-button:hover{background:linear-gradient(135deg,#e0b685,#9d8465);box-shadow:0 6px 20px #d4a57466;transform:translateY(-2px)}.login-button:active{transform:translateY(0);box-shadow:0 2px 10px #d4a5744d}.login-footer{margin-top:32px;padding-top:24px;border-top:1px solid rgba(139,115,85,.3);text-align:center}.footer-text{font-family:Georgia,Garamond,serif;font-size:12px;color:#5a4a3a;margin:0;font-style:italic;letter-spacing:.5px}@media (max-width: 640px){.login-card{padding:32px 24px;margin:20px}.login-title{font-size:28px}.login-subtitle{font-size:12px}.password-input{font-size:14px}.login-button{padding:14px 28px;font-size:14px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Crimson Text,Georgia,serif;background:linear-gradient(135deg,#1a1a1a,#2d2d2d);color:#e0d5c7;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.app[data-character=hypatia],.app[data-character=hypatia] body{background:linear-gradient(135deg,#1a1426,#2d2438)}.app[data-character=faust],.app[data-character=faust] body{background:linear-gradient(135deg,#2a2a2a,#3d3d3d)}.app[data-character=flux]{background:linear-gradient(135deg,#0a1628,#1a2848);animation:quantum-flicker 3s ease-in-out infinite}@keyframes quantum-flicker{0%,to{filter:brightness(1)}50%{filter:brightness(1.1)}}.app[data-character=flux] body{background:linear-gradient(135deg,#0a1628,#1a2848)}.app{height:100vh;display:flex;flex-direction:column;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><rect fill="%23000000" width="100" height="100"/><g fill-opacity="0.03"><circle fill="%23ffffff" cx="50" cy="50" r="40"/></g></svg>')}.app-header{background:linear-gradient(180deg,#1a1a1af2,#141414fa);border-bottom:2px solid #4a3f35;padding:.875rem 1.5rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 20px #00000080}.app[data-character=hypatia] .app-header{background:linear-gradient(180deg,#1a1426f2,#140f1efa);border-bottom:2px solid #5a4f6a}.app[data-character=faust] .app-header{background:linear-gradient(180deg,#2a2a2af2,#232323fa);border-bottom:2px solid #800020}.app[data-character=flux] .app-header{background:linear-gradient(180deg,#0a1628f2,#0f1e32fa);border-bottom:2px solid #00d4ff;box-shadow:0 4px 20px #00d4ff4d}.header-content h1{font-size:1.5rem;font-weight:600;color:#ffd89b;text-shadow:0 0 30px rgba(255,216,155,.5);letter-spacing:.5px}.app[data-character=hypatia] .header-content h1{color:#e8d4ff;text-shadow:0 0 30px rgba(232,212,255,.6)}.app[data-character=faust] .header-content h1{color:#e8e8e8;text-shadow:0 0 30px rgba(255,50,80,.6)}.app[data-character=flux] .header-content h1{color:#00d4ff;text-shadow:0 0 30px rgba(0,212,255,.6);animation:quantum-pulse 2s ease-in-out infinite}@keyframes quantum-pulse{0%,to{text-shadow:0 0 20px rgba(0,212,255,.4)}50%{text-shadow:0 0 40px rgba(0,212,255,.8)}}.subtitle{font-size:.8rem;color:#a89984;font-style:italic;margin-top:.15rem}.app[data-character=hypatia] .subtitle{color:#b8a4c8}.app[data-character=faust] .subtitle{color:#a8a8a8}.app[data-character=flux] .subtitle{color:#66b3cc}.header-buttons{display:flex;gap:1rem;align-items:center}.header-btn,.memory-toggle{background:#4a3f354d;border:1px solid #4a3f35;color:#e0d5c7;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-family:Crimson Text,serif;font-size:.9rem;transition:all .3s ease}.header-btn:hover,.memory-toggle:hover{background:#4a3f3580;border-color:#6a5f55;box-shadow:0 0 15px #f4e4c133;transform:translateY(-2px)}.app[data-character=hypatia] .header-btn,.app[data-character=hypatia] .memory-toggle{background:#5a4f6a4d;border:1px solid #5a4f6a;color:#d0c5e0}.app[data-character=hypatia] .header-btn:hover,.app[data-character=hypatia] .memory-toggle:hover{background:#5a4f6a80;border-color:#7a6f8a;box-shadow:0 0 15px #d4c4f433}.app[data-character=faust] .header-btn,.app[data-character=faust] .memory-toggle{background:#80002033;border:1px solid #800020;color:#c8c8c8}.app[data-character=faust] .header-btn:hover,.app[data-character=faust] .memory-toggle:hover{background:#80002066;border-color:#a00028;box-shadow:0 0 15px #8000204d}.app[data-character=flux] .header-btn,.app[data-character=flux] .memory-toggle{background:#00d4ff26;border:1px solid #00d4ff;color:#66e6ff}.app[data-character=flux] .header-btn:hover,.app[data-character=flux] .memory-toggle:hover{background:#00d4ff4d;border-color:#3df;box-shadow:0 0 20px #00d4ff80}.app-content{flex:1;display:flex;overflow:hidden}.main-section{flex:1;display:flex;flex-direction:column;overflow:hidden}@media (max-width: 768px){.app-header{flex-direction:row;gap:.75rem;padding:.75rem 1rem;align-items:center}.header-content{flex:1;min-width:0}.header-content h1{font-size:1.25rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.subtitle{font-size:.75rem;margin-top:.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-buttons{gap:.5rem;flex-shrink:0}.header-btn,.memory-toggle{padding:.5rem .75rem;font-size:.85rem;white-space:nowrap}.qr-btn{display:none}}
