.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}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.user-message{background:linear-gradient(135deg,#5a82ff4d,#4664c833);border:2px solid rgba(120,160,255,.7);box-shadow:0 4px 15px #5a82ff40;align-self:flex-end;max-width:70%}.tesla-message{font-family:Orbitron,Crimson Text,serif;background:linear-gradient(135deg,#ffb43240,#d4a57426);border:2px solid rgba(255,200,87,.6);box-shadow:0 4px 15px #ffb43233;align-self:flex-start;max-width:80%}.app[data-character=hypatia] .tesla-message{font-family:Cinzel,Crimson Text,serif;background:linear-gradient(135deg,#b48ce64d,#8c64c826);border:2px solid rgba(200,180,255,.7);box-shadow:0 4px 15px #b48ce64d}.app[data-character=faust] .tesla-message{font-family:Libre Baskerville,Crimson Text,serif;background:linear-gradient(135deg,#c8646e4d,#96505a26);border:2px solid rgba(255,120,140,.6);box-shadow:0 4px 15px #c8646e4d}.app[data-character=flux] .tesla-message{font-family:Share Tech Mono,monospace;background:linear-gradient(135deg,#33e0ff40,#1eb4dc26);border:2px solid rgba(100,230,255,.7);box-shadow:0 4px 15px #33e0ff66}.app[data-character=cheesemaster] .tesla-message{font-family:Kalam,Crimson Text,cursive;background:linear-gradient(135deg,#ffc8324d,#e6aa1e26);border:2px solid rgba(255,215,100,.7);box-shadow:0 4px 15px #ffc8324d}@keyframes kevinStringGlow{0%{border-color:#ffd778b3;box-shadow:0 4px 15px #ffd77866}25%{border-color:#64b4ffb3;box-shadow:0 4px 15px #64b4ff66}50%{border-color:#82ff96b3;box-shadow:0 4px 15px #82ff9666}75%{border-color:#ff96c8b3;box-shadow:0 4px 15px #ff96c866}to{border-color:#ffd778b3;box-shadow:0 4px 15px #ffd77866}}.app[data-character=kevin] .tesla-message{font-family:Kalam,Crimson Text,cursive;background:linear-gradient(135deg,#ffd77840,#c8b4ff26,#82ff9626);border:2px solid rgba(255,215,120,.7);box-shadow:0 4px 15px #ffd7784d;animation:kevinStringGlow 8s ease-in-out infinite}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.message-sender{font-weight:700;font-size:.85rem;color:#fc6;text-shadow:0 0 10px rgba(255,204,102,.5)}.app[data-character=hypatia] .message-sender{color:#d4b4ff;text-shadow:0 0 10px rgba(212,180,255,.5)}.app[data-character=faust] .message-sender{color:#f9a;text-shadow:0 0 10px rgba(255,153,170,.5)}.app[data-character=flux] .message-sender{color:#6df;text-shadow:0 0 10px rgba(102,221,255,.6)}.app[data-character=cheesemaster] .message-sender{color:#ffd966;text-shadow:0 0 10px rgba(255,217,102,.5)}@keyframes kevinNameGlow{0%{color:#ffd778;text-shadow:0 0 10px rgba(255,215,120,.6)}25%{color:#64b4ff;text-shadow:0 0 10px rgba(100,180,255,.6)}50%{color:#82ff96;text-shadow:0 0 10px rgba(130,255,150,.6)}75%{color:#ff96c8;text-shadow:0 0 10px rgba(255,150,200,.6)}to{color:#ffd778;text-shadow:0 0 10px rgba(255,215,120,.6)}}.app[data-character=kevin] .message-sender{animation:kevinNameGlow 8s ease-in-out infinite}.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}.generating-indicator{position:fixed;bottom:350px;left:50%;transform:translate(-50%);background:#667eeaf2;border:1px solid #e4f4c1;padding:1rem 2rem;border-radius:30px;font-size:1rem;color:#fff;box-shadow:0 4px 20px #00000080;z-index:100}.app[data-character=hypatia] .generating-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%}}.clerk-auth-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at center,#281e1466,#0a0500e6),linear-gradient(135deg,#1a1410fa,#140f0cfa);display:flex;justify-content:center;align-items:center;z-index:10000;animation:fadeIn .4s ease;padding:20px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.clerk-auth-card{background:repeating-linear-gradient(90deg,rgba(212,165,116,.02) 0px,transparent 1px,transparent 2px,rgba(212,165,116,.02) 3px),repeating-linear-gradient(0deg,rgba(139,111,71,.015) 0px,transparent 1px,transparent 2px,rgba(139,111,71,.015) 3px),radial-gradient(circle at 15% 25%,rgba(101,67,33,.1) 0%,transparent 3%),radial-gradient(circle at 85% 15%,rgba(101,67,33,.08) 0%,transparent 4%),radial-gradient(circle at 70% 80%,rgba(80,52,26,.12) 0%,transparent 5%),radial-gradient(circle at 30% 70%,rgba(90,58,29,.09) 0%,transparent 3%),radial-gradient(circle at 50% 40%,rgba(70,45,22,.06) 0%,transparent 8%),radial-gradient(ellipse at center,transparent 0%,rgba(20,12,8,.3) 100%),linear-gradient(to bottom,#3a2f24,#2a1f17,#241a12);border:4px solid;border-image:linear-gradient(135deg,#a67c52,#8b6f47,#6d5638,#8b6f47,#a67c52) 1;border-radius:16px;padding:56px 48px;max-width:560px;width:100%;max-height:92vh;overflow-y:auto;overflow-x:hidden;box-shadow:0 0 60px #d4a57433,0 25px 80px #000c,inset 0 2px 4px #fff8f008,inset 0 -1px 2px #0000004d;position:relative;filter:contrast(1.05) brightness(.98)}.clerk-auth-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:16px;background:radial-gradient(circle at 10% 10%,rgba(212,165,116,.15) 0%,transparent 2%),radial-gradient(circle at 90% 10%,rgba(212,165,116,.12) 0%,transparent 2%),radial-gradient(circle at 10% 90%,rgba(212,165,116,.13) 0%,transparent 2%),radial-gradient(circle at 90% 90%,rgba(212,165,116,.14) 0%,transparent 2%);pointer-events:none;z-index:1}.clerk-auth-card>*{position:relative;z-index:2}.clerk-auth-header{text-align:center;margin-bottom:36px;padding-bottom:24px;border-bottom:2px solid rgba(139,111,71,.3);position:relative}.clerk-auth-header:after{content:"⚜";position:absolute;bottom:-14px;left:50%;transform:translate(-50%);background:#2a1f17;padding:0 16px;color:#a67c52;font-size:1.2rem}.clerk-auth-header h2{color:#f4d9a8;font-family:Crimson Text,serif;font-size:2.8rem;font-weight:700;margin-bottom:16px;text-shadow:0 2px 6px rgba(0,0,0,.7),0 0 30px rgba(212,165,116,.4),2px 2px 0 rgba(0,0,0,.2);letter-spacing:1px;line-height:1.2}.clerk-auth-header p{color:#d4c4a8;font-family:Crimson Text,serif;font-size:1.25rem;line-height:1.6;text-shadow:0 2px 4px rgba(0,0,0,.6),1px 1px 0 rgba(0,0,0,.3);font-style:italic}.auth-header{text-align:center;margin-bottom:24px}.auth-title{color:#d4a574;font-family:Crimson Text,serif;font-size:2rem;margin-bottom:8px}.auth-subtitle{color:#e0d5c7b3;font-family:Crimson Text,serif;font-size:1rem}.user-info{display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px;background:#d4a5741a;border-radius:12px;margin:24px 0}.user-info p{color:#e0d5c7cc;font-family:Crimson Text,serif;font-size:1.1rem}.submit-btn{width:100%;padding:16px;background:linear-gradient(135deg,#d4a574,#c89866);color:#1a1410;border:none;border-radius:8px;font-family:Crimson Text,serif;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #d4a5744d}.back-btn{position:absolute;top:16px;right:16px;background:none;border:none;color:#e0d5c799;font-size:2rem;cursor:pointer;padding:8px;transition:all .2s ease;line-height:1;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.back-btn:hover{color:#e0d5c7;transform:scale(1.1)}.guest-option{margin-top:32px;text-align:center;padding-top:24px;border-top:1px solid rgba(212,165,116,.2)}.guest-btn{width:100%;padding:14px;background:#d4a5741a;color:#e0d5c7e6;border:1px solid rgba(212,165,116,.3);border-radius:8px;font-family:Crimson Text,serif;font-size:1rem;cursor:pointer;transition:all .2s ease}.guest-btn:hover{background:#d4a57433;border-color:#d4a57480}.guest-note{margin-top:12px;color:#e0d5c780;font-family:Crimson Text,serif;font-size:.9rem;font-style:italic}.clerk-root,.clerk-card{background:transparent!important;box-shadow:none!important}:where(.cl-internal-b3fm6y){color:#e8dcc8!important;font-family:Crimson Text,serif!important}.cl-formFieldInput{background:#fff8f0f2!important;border:2px solid #8b6f47!important;color:#2a1f1a!important;font-family:Crimson Text,serif!important;font-size:1.1rem!important;padding:14px!important;border-radius:8px!important}.cl-formFieldInput:focus{border-color:#d4a574!important;box-shadow:0 0 0 3px #d4a57433!important}.cl-formFieldLabel{color:#e8dcc8!important;font-family:Crimson Text,serif!important;font-size:1.1rem!important;font-weight:600!important;text-shadow:0 1px 2px rgba(0,0,0,.5)}.cl-formButtonPrimary{background:linear-gradient(135deg,#d4a574,#b88c58)!important;color:#1a1410!important;font-family:Crimson Text,serif!important;font-size:1.1rem!important;font-weight:700!important;padding:14px!important;border-radius:8px!important;border:none!important;box-shadow:0 4px 12px #d4a5744d!important;text-shadow:none!important}.cl-formButtonPrimary:hover{background:linear-gradient(135deg,#e0b684,#c89866)!important;transform:translateY(-1px);box-shadow:0 6px 16px #d4a57466!important}.cl-socialButtonsBlockButton{background:#fff8f0e6!important;border:2px solid #8b6f47!important;color:#2a1f1a!important;font-family:Crimson Text,serif!important;font-size:1.05rem!important;border-radius:8px!important}.cl-socialButtonsBlockButton:hover{background:#fff8f0!important;border-color:#d4a574!important;transform:translateY(-1px)}.cl-footerActionLink,.cl-formButtonReset{color:#d4a574!important;font-family:Crimson Text,serif!important;text-decoration:none!important}.cl-footerActionLink:hover,.cl-formButtonReset:hover{color:#e0b684!important;text-decoration:underline!important}.cl-dividerText{color:#c9b896!important;font-family:Crimson Text,serif!important;font-size:1rem!important}.cl-footerActionText{color:#c9b896!important;font-family:Crimson Text,serif!important}.cl-formFieldErrorText{color:#ff6b6b!important;font-family:Crimson Text,serif!important}.password-gate-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at center,#281e1466,#0a0500e6),linear-gradient(135deg,#1a1410fa,#140f0cfa);display:flex;justify-content:center;align-items:center;z-index:20000;animation:fadeIn .4s ease;padding:20px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.password-gate-card{background:repeating-linear-gradient(90deg,rgba(212,165,116,.02) 0px,transparent 1px,transparent 2px,rgba(212,165,116,.02) 3px),repeating-linear-gradient(0deg,rgba(139,111,71,.015) 0px,transparent 1px,transparent 2px,rgba(139,111,71,.015) 3px),radial-gradient(circle at 15% 25%,rgba(101,67,33,.1) 0%,transparent 3%),radial-gradient(circle at 85% 15%,rgba(101,67,33,.08) 0%,transparent 4%),radial-gradient(circle at 70% 80%,rgba(80,52,26,.12) 0%,transparent 5%),radial-gradient(circle at 30% 70%,rgba(90,58,29,.09) 0%,transparent 3%),radial-gradient(circle at 50% 40%,rgba(70,45,22,.06) 0%,transparent 8%),radial-gradient(ellipse at center,transparent 0%,rgba(20,12,8,.3) 100%),linear-gradient(to bottom,#3a2f24,#2a1f17,#241a12);border:4px solid;border-image:linear-gradient(135deg,#a67c52,#8b6f47,#6d5638,#8b6f47,#a67c52) 1;border-radius:16px;padding:56px 48px;max-width:480px;width:100%;box-shadow:0 0 60px #d4a57433,0 25px 80px #000c,inset 0 2px 4px #fff8f008,inset 0 -1px 2px #0000004d;position:relative;filter:contrast(1.05) brightness(.98)}.password-gate-header{text-align:center;margin-bottom:36px;padding-bottom:24px;border-bottom:2px solid rgba(139,111,71,.3);position:relative}.password-gate-header:after{content:"🔒";position:absolute;bottom:-18px;left:50%;transform:translate(-50%);background:#2a1f17;padding:0 16px;font-size:1.5rem}.password-gate-header h2{color:#f4d9a8;font-family:Crimson Text,serif;font-size:2.8rem;font-weight:700;margin-bottom:16px;text-shadow:0 2px 6px rgba(0,0,0,.7),0 0 30px rgba(212,165,116,.4),2px 2px 0 rgba(0,0,0,.2);letter-spacing:1px;line-height:1.2}.password-gate-header p{color:#d4c4a8;font-family:Crimson Text,serif;font-size:1.25rem;line-height:1.6;text-shadow:0 2px 4px rgba(0,0,0,.6),1px 1px 0 rgba(0,0,0,.3);font-style:italic}.password-gate-form{display:flex;flex-direction:column;gap:20px;position:relative;z-index:2}.password-gate-input{width:100%;padding:16px;background:#fff8f0fa;border:3px solid #8b6f47;border-radius:8px;color:#2a1f1a;font-family:Crimson Text,serif;font-size:1.2rem;text-align:center;letter-spacing:2px;box-shadow:inset 0 2px 4px #00000026,0 1px #ffffff1a;transition:all .3s ease}.password-gate-input:focus{outline:none;border-color:#d4a574;box-shadow:0 0 0 4px #d4a57440,inset 0 2px 4px #00000026;background:#fffcf5}.password-gate-input.error{border-color:#ff6b6b;animation:shake .5s ease}.password-gate-btn{width:100%;padding:16px;background:linear-gradient(to bottom,#e0b684,#d4a574,#b88c58);color:#1a1410;border:2px solid #a67c52;border-radius:8px;font-family:Crimson Text,serif;font-size:1.2rem;font-weight:700;cursor:pointer;box-shadow:0 5px 15px #0006,inset 0 2px #ffffff4d,inset 0 -2px #0003;text-shadow:0 1px 0 rgba(255,255,255,.4);transition:all .2s ease}.password-gate-btn:hover{background:linear-gradient(to bottom,#f0c694,#e0b684,#c89866);box-shadow:0 7px 20px #d4a57480,inset 0 2px #fff6;transform:translateY(-2px)}.password-gate-btn:active{transform:translateY(0);box-shadow:0 3px 10px #0000004d,inset 0 2px #ffffff4d}.password-gate-error{color:#ff6b6b;font-family:Crimson Text,serif;font-size:1rem;text-align:center;margin:0;text-shadow:0 1px 2px rgba(0,0,0,.5)}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-8px)}20%,40%,60%,80%{transform:translate(8px)}}.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}}.live-camera-container{position:fixed;bottom:20px;right:20px;width:320px;height:240px;border-radius:12px;overflow:hidden;box-shadow:0 4px 20px #00000080;background:#1a1a1a;transition:all .3s ease;z-index:1000}.live-camera-container:hover{width:480px;height:360px}.live-camera-wrapper{position:relative;width:100%;height:100%}.live-camera-video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.live-camera-overlay{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;background:linear-gradient(to bottom,rgba(0,0,0,.5) 0%,transparent 30%,transparent 70%,rgba(0,0,0,.5) 100%)}.live-camera-overlay>*{pointer-events:auto}.live-indicator{position:absolute;top:10px;left:10px;display:flex;align-items:center;gap:8px;padding:6px 12px;background:#000000b3;border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.live-dot{width:8px;height:8px;border-radius:50%;background:#666;transition:all .3s ease}.live-dot.active{background:#0f0;animation:pulse 2s infinite;box-shadow:0 0 10px #0f0}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}.live-text{color:#fff;font-size:12px;font-weight:500}.manual-capture-btn{position:absolute;bottom:10px;right:10px;padding:8px 16px;background:#00a8ffe6;color:#fff;border:none;border-radius:20px;cursor:pointer;font-size:12px;font-weight:500;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.manual-capture-btn:hover{background:#00a8ff;transform:scale(1.05);box-shadow:0 2px 10px #00a8ff80}.manual-capture-btn:active{transform:scale(.95)}.last-capture-info{position:absolute;bottom:10px;left:10px;color:#ffffffb3;font-size:10px;padding:4px 8px;background:#00000080;border-radius:10px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.vision-pulse{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;opacity:0}.vision-pulse.active{animation:visionPulse .5s ease-out}@keyframes visionPulse{0%{border:2px solid transparent;opacity:0}50%{border:2px solid rgba(0,168,255,.8);opacity:1}to{border:2px solid transparent;opacity:0}}.camera-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#ff6b6b;padding:20px;text-align:center}.camera-error span{font-size:48px;margin-bottom:10px;opacity:.5}.camera-error p{font-size:12px;line-height:1.5}@media (max-width: 768px){.live-camera-container{width:160px;height:120px;bottom:70px;right:10px}.live-camera-container:hover{width:240px;height:180px}.live-indicator{padding:4px 8px}.live-text{font-size:10px}.manual-capture-btn{padding:6px 12px;font-size:10px}}.live-camera-container.fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;border-radius:0;z-index:9999}.live-camera-container.fullscreen .live-camera-video{object-fit:contain;background:#000}.camera-size-toggle{position:absolute;top:10px;right:10px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;width:30px;height:30px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.camera-size-toggle:hover{background:#fff3;transform:scale(1.1)}.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}.image-btn{background:#667eea4d;border-color:#667eea99;padding:.5rem 1rem;font-size:1.2rem;min-width:50px}.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}.menu-item-group{border-bottom:1px solid rgba(74,63,53,.3)}.menu-item-group .menu-item{border-bottom:none}.submenu-toggle{background:#3a539b26;font-size:.85rem;padding:.5rem 1rem;color:#a89984}.submenu-toggle:hover{background:#3a539b40;color:#ffd89b}.ambient-submenu{background:#141414f2;border-top:1px solid rgba(74,63,53,.5);padding:.25rem 0}.submenu-item{width:100%;background:transparent;border:none;color:#e0d5c7;padding:.65rem 1rem .65rem 1.5rem;cursor:pointer;font-family:Crimson Text,serif;font-size:.9rem;transition:all .2s ease;text-align:left;display:flex;flex-direction:column;gap:.15rem}.submenu-item:hover{background:#4a3f3566;color:#ffd89b}.submenu-item.active{background:#3a539b66;color:#ffd89b}.submenu-item .mode-desc{font-size:.75rem;color:#6a5f55;font-style:italic}.submenu-item:hover .mode-desc,.submenu-item.active .mode-desc{color:#a89984}.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}.image-btn{flex:0 0 auto;padding:.5rem .75rem;font-size:1.3rem;min-width:50px}.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}}.video-btn{background:#9333ea4d;border-color:#9333ea99;padding:.5rem 1rem;font-size:1.2rem;min-width:50px}.video-btn:hover:not(:disabled){background:#9333ea80;border-color:#9333eacc}.upload-btn{background:#3b82f64d;border-color:#3b82f699;padding:.5rem 1rem;font-size:1.2rem;min-width:50px}.upload-btn:hover:not(:disabled){background:#3b82f680;border-color:#3b82f6cc}.ambient-floating-container{position:fixed;bottom:180px;right:10px;z-index:1000}.ambient-floating-btn{background:linear-gradient(135deg,#8b5cf666,#8b5cf699);border:2px solid rgba(139,92,246,.7);color:#e0d5c7;padding:.6rem 1rem;border-radius:20px;cursor:pointer;font-family:Crimson Text,serif;font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:.4rem;box-shadow:0 4px 15px #8b5cf64d;animation:ambientPulse 3s ease-in-out infinite}@keyframes ambientPulse{0%,to{box-shadow:0 4px 15px #8b5cf64d}50%{box-shadow:0 4px 25px #8b5cf680}}.ambient-floating-btn:hover{background:linear-gradient(135deg,#8b5cf680,#8b5cf6b3);transform:scale(1.05)}.ambient-floating-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000004d;z-index:999}.ambient-floating-menu{position:absolute;bottom:100%;right:0;margin-bottom:.5rem;background:linear-gradient(180deg,#1a1a1afa,#141414);border:2px solid rgba(139,92,246,.5);border-radius:12px;min-width:240px;box-shadow:0 -4px 30px #8b5cf64d;z-index:1001;overflow:hidden;animation:slideUp .2s ease}.ambient-floating-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid rgba(139,92,246,.3);background:#8b5cf61a}.ambient-floating-header span{font-weight:600;color:#e0d5c7;font-size:.9rem}.ambient-floating-header button{background:#ef44444d;border:1px solid rgba(239,68,68,.5);color:#f87171;padding:.3rem .6rem;border-radius:4px;cursor:pointer;font-size:.75rem;font-family:Crimson Text,serif}.ambient-floating-header button:hover{background:#ef444480}.ambient-floating-item{width:100%;background:transparent;border:none;border-bottom:1px solid rgba(74,63,53,.2);color:#e0d5c7;padding:.75rem 1rem;cursor:pointer;font-family:Crimson Text,serif;display:flex;align-items:center;gap:.75rem;transition:all .2s ease;text-align:left}.ambient-floating-item:last-child{border-bottom:none}.ambient-floating-item:hover{background:#8b5cf633}.ambient-floating-item.active{background:#8b5cf64d;border-left:3px solid rgba(139,92,246,.8)}.ambient-floating-item .mode-icon{font-size:1.3rem}.ambient-floating-item .mode-info{display:flex;flex-direction:column;gap:.15rem}.ambient-floating-item .mode-name{font-weight:600;font-size:.9rem}.ambient-floating-item .mode-timing{font-size:.75rem;color:#a89984;font-style:italic}@media (min-width: 769px){.ambient-floating-container{display:none}}@media (max-width: 768px){.ambient-floating-container{bottom:160px;right:8px}.ambient-floating-btn{padding:.5rem .8rem;font-size:.8rem}.ambient-floating-menu{min-width:200px;right:0}.menu-item-group .submenu-toggle,.ambient-submenu{display:none}.video-btn,.upload-btn{padding:.5rem .6rem;font-size:1.1rem;min-width:40px}}.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 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:700;color:#fc6;text-shadow:0 0 10px rgba(255,204,102,.4);letter-spacing:.5px}.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}.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:#9070c0;box-shadow:0 0 15px #b48ce633}.app[data-character=hypatia] .current-character-name{color:#d4b4ff;text-shadow:0 0 12px rgba(212,180,255,.5)}.app[data-character=hypatia] .character-dropdown-menu{border-color:#9070c0}.app[data-character=hypatia] .character-dropdown-item.active{background:#b48ce640;color:#d4b4ff}.app[data-character=faust] .character-dropdown-btn{border-color:#c85860;box-shadow:0 0 15px #c8646e33}.app[data-character=faust] .current-character-name{color:#f9a;text-shadow:0 0 12px rgba(255,153,170,.5)}.app[data-character=faust] .character-dropdown-menu{border-color:#c85860}.app[data-character=faust] .character-dropdown-item.active{background:#c8646e40;color:#f9a}.app[data-character=flux] .character-dropdown-btn{border-color:#33e0ff;box-shadow:0 0 15px #33e0ff4d}.app[data-character=flux] .current-character-name{color:#6df;text-shadow:0 0 12px rgba(102,221,255,.6)}.app[data-character=flux] .character-dropdown-menu{border-color:#33e0ff}.app[data-character=flux] .character-dropdown-item.active{background:#33e0ff40;color:#6df}.app[data-character=cheesemaster] .character-dropdown-btn{border-color:#ffc850;box-shadow:0 0 15px #ffc83233}.app[data-character=cheesemaster] .current-character-name{color:#ffd966;text-shadow:0 0 12px rgba(255,217,102,.5)}.app[data-character=cheesemaster] .character-dropdown-menu{border-color:#ffc850}.app[data-character=cheesemaster] .character-dropdown-item.active{background:#ffc83240;color:#ffd966}@keyframes kevinSelectorGlow{0%{border-color:#ffc850;box-shadow:0 0 15px #ffd7784d}25%{border-color:#64b4ff;box-shadow:0 0 15px #64b4ff4d}50%{border-color:#82ff96;box-shadow:0 0 15px #82ff964d}75%{border-color:#ff96c8;box-shadow:0 0 15px #ff96c84d}to{border-color:#ffc850;box-shadow:0 0 15px #ffd7784d}}@keyframes kevinNameColorShift{0%{color:#ffd778;text-shadow:0 0 12px rgba(255,215,120,.6)}25%{color:#64b4ff;text-shadow:0 0 12px rgba(100,180,255,.6)}50%{color:#82ff96;text-shadow:0 0 12px rgba(130,255,150,.6)}75%{color:#ff96c8;text-shadow:0 0 12px rgba(255,150,200,.6)}to{color:#ffd778;text-shadow:0 0 12px rgba(255,215,120,.6)}}.app[data-character=kevin] .character-dropdown-btn{animation:kevinSelectorGlow 8s ease-in-out infinite}.app[data-character=kevin] .current-character-name{animation:kevinNameColorShift 8s ease-in-out infinite}.app[data-character=kevin] .character-dropdown-menu{border-color:#ffc850}.app[data-character=kevin] .character-dropdown-item.active{background:#ffd77840;color:#ffd778}@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}}.intro-sequence{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(135deg,#0a0604,#1a100a,#0a0604);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn 1s ease-in}.intro-sequence.fadeout{animation:fadeOut 1.5s ease-out forwards}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.intro-content{text-align:center;z-index:2;position:relative}.intro-title{font-family:Cinzel,Georgia,Garamond,serif;font-size:clamp(2.5rem,8vw,5rem);font-weight:700;color:#d4a574;margin:0;letter-spacing:8px;text-transform:uppercase;opacity:0;transform:scale(.95);text-shadow:0 0 20px rgba(212,165,116,.6),0 0 40px rgba(212,165,116,.4),0 4px 20px rgba(0,0,0,.8);transition:all 1.5s cubic-bezier(.22,.61,.36,1)}.intro-title.visible{opacity:1;transform:scale(1)}.intro-subtitle{font-family:Georgia,Garamond,serif;font-size:clamp(1rem,3vw,1.5rem);color:#8b7355;margin:1.5rem 0 0;letter-spacing:4px;font-style:italic;opacity:0;transform:translateY(20px);text-shadow:0 2px 10px rgba(0,0,0,.8);transition:all 1.2s cubic-bezier(.22,.61,.36,1) .5s}.intro-subtitle.visible{opacity:1;transform:translateY(0)}.film-grain{position:absolute;top:0;left:0;width:100%;height:100%;background-image:url('data:image/svg+xml,%3Csvg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg"%3E%3Cfilter id="noiseFilter"%3E%3CfeTurbulence type="fractalNoise" baseFrequency="6.5" numOctaves="4" stitchTiles="stitch"/%3E%3C/filter%3E%3Crect width="100%25" height="100%25" filter="url(%23noiseFilter)"/%3E%3C/svg%3E');opacity:.15;pointer-events:none;z-index:1;animation:grain .5s steps(4) infinite}@keyframes grain{0%,to{transform:translate(0)}10%{transform:translate(-5%,-5%)}20%{transform:translate(-10%,5%)}30%{transform:translate(5%,-10%)}40%{transform:translate(-5%,15%)}50%{transform:translate(-10%,5%)}60%{transform:translate(15%)}70%{transform:translateY(10%)}80%{transform:translate(-15%)}90%{transform:translate(10%,5%)}}.vignette{position:absolute;top:0;left:0;width:100%;height:100%;box-shadow:inset 0 0 150px 50px #000c;pointer-events:none;z-index:1}.intro-sequence:before{content:"";position:absolute;top:-50%;left:50%;transform:translate(-50%);width:200%;height:200%;background:radial-gradient(ellipse at center,rgba(212,165,116,.05) 0%,transparent 50%);pointer-events:none;z-index:0;animation:pulse 4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.3;transform:translate(-50%) scale(1)}50%{opacity:.6;transform:translate(-50%) scale(1.1)}}@media (max-width: 640px){.intro-title{letter-spacing:4px}.intro-subtitle{letter-spacing:2px}}.welcome-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000eb;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;animation:fadeIn .4s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.welcome-modal-card{background:linear-gradient(180deg,#1a1410,#0f0b08);border:2px solid #8b7355;border-radius:16px;padding:40px;width:100%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #000000e6,inset 0 1px #8b73554d,0 0 100px #d4a57426;animation:slideUp .5s cubic-bezier(.22,.61,.36,1);position:relative}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.welcome-modal-card::-webkit-scrollbar{width:8px}.welcome-modal-card::-webkit-scrollbar-track{background:#0000004d;border-radius:4px}.welcome-modal-card::-webkit-scrollbar-thumb{background:#8b7355;border-radius:4px}.welcome-modal-card::-webkit-scrollbar-thumb:hover{background:#d4a574}.welcome-header{text-align:center;margin-bottom:32px}.welcome-title{font-family:Cinzel,Georgia,Garamond,serif;font-size:clamp(1.75rem,5vw,2.5rem);font-weight:700;color:#d4a574;margin:0 0 16px;letter-spacing:2px;text-shadow:0 2px 20px rgba(212,165,116,.4)}.welcome-divider{height:2px;background:linear-gradient(90deg,transparent 0%,#8b7355 20%,#d4a574 50%,#8b7355 80%,transparent 100%);margin:0 auto;width:80%}.welcome-content{color:#e0d5c7;line-height:1.7}.welcome-intro{font-family:Georgia,Garamond,serif;font-size:clamp(1rem,2.5vw,1.15rem);color:#d4a574;text-align:center;font-style:italic;margin:0 0 32px;padding:0 20px}.welcome-section{margin-bottom:28px}.privacy-section{background:#50c87814;border:1px solid rgba(80,200,120,.2);border-radius:8px;padding:20px;margin-bottom:28px}.privacy-section .section-title{color:#6fc888}.privacy-section .section-text{color:#c8ddd0}.section-title{font-family:Georgia,Garamond,serif;font-size:1.25rem;font-weight:700;color:#d4a574;margin:0 0 12px;letter-spacing:1px;text-transform:uppercase;font-size:1.1rem}.section-text{font-family:Crimson Text,Georgia,serif;font-size:1rem;color:#c0b5a7;margin:0;line-height:1.7}.section-text strong{color:#d4a574;font-weight:600}.feature-list{list-style:none;padding:0;margin:12px 0 0}.feature-list li{font-family:Crimson Text,Georgia,serif;font-size:1rem;color:#c0b5a7;padding:8px 0 8px 32px;position:relative;line-height:1.6}.feature-list li:before{content:"→";position:absolute;left:8px;color:#8b7355;font-weight:700}.feature-list li strong{color:#d4a574;font-weight:600}.character-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-top:16px}.character-card{background:#0006;border:1px solid #8b7355;border-radius:8px;padding:16px 12px;text-align:center;transition:all .3s ease;display:flex;flex-direction:column;gap:6px}.character-card:hover{background:#0009;border-color:#d4a574;transform:translateY(-2px);box-shadow:0 4px 15px #d4a57433}.character-name{font-family:Georgia,Garamond,serif;font-size:.95rem;font-weight:700;color:#d4a574;letter-spacing:.5px}.character-desc{font-family:Crimson Text,Georgia,serif;font-size:.85rem;color:#8b7355;font-style:italic;line-height:1.3}.welcome-footer-section{margin-top:32px;padding-top:24px;border-top:1px solid rgba(139,115,85,.3)}.footer-note{font-family:Crimson Text,Georgia,serif;font-size:.95rem;color:#a89984;margin:0 0 16px;text-align:center;font-style:italic;line-height:1.6}.contact-info{font-family:Crimson Text,Georgia,serif;font-size:.95rem;color:#c0b5a7;margin:0;text-align:center;line-height:1.7}.contact-info strong{color:#d4a574;font-weight:600}.email-link{color:#d4a574;text-decoration:none;font-weight:600;transition:all .3s ease;border-bottom:1px solid transparent}.email-link:hover{color:#e0b685;border-bottom-color:#e0b685}.welcome-button{width:100%;padding:16px 32px;margin-top:32px;font-size:1.1rem;font-family:Georgia,Garamond,serif;font-weight:700;letter-spacing:2px;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}.welcome-button:hover{background:linear-gradient(135deg,#e0b685,#9d8465);box-shadow:0 6px 20px #d4a57480;transform:translateY(-2px)}.welcome-button:active{transform:translateY(0);box-shadow:0 2px 10px #d4a5744d}.skip-note{font-family:Crimson Text,Georgia,serif;font-size:.85rem;color:#5a4a3a;text-align:center;margin:12px 0 0;font-style:italic}@media (max-width: 640px){.welcome-modal-card{padding:28px 20px;max-height:85vh}.welcome-title{font-size:1.5rem;letter-spacing:1px}.welcome-intro{font-size:.95rem;padding:0 10px}.section-title{font-size:1rem}.section-text,.feature-list li{font-size:.9rem}.character-grid{grid-template-columns:repeat(2,1fr);gap:10px}.character-name{font-size:.85rem}.character-desc{font-size:.75rem}.welcome-button{padding:14px 24px;font-size:1rem}}.human-selector{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem;background:#0000004d;border-radius:.5rem;border:1px solid rgba(255,255,255,.1)}.human-selector-label{display:flex;align-items:center;gap:.75rem;cursor:pointer}.label-text{color:#ffffffb3;font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.human-selector-buttons{display:flex;gap:.25rem}.human-button{display:flex;align-items:center;gap:.25rem;padding:.375rem .75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:.375rem;color:#fff9;font-size:.875rem;cursor:pointer;transition:all .2s ease}.human-button:hover{background:#ffffff1a;border-color:#fff3;color:#fffc}.human-button.active{background:#64c8ff33;border-color:#64c8ff66;color:#64c8ff}.human-emoji{font-size:1rem;filter:grayscale(.3)}.human-button.active .human-emoji{filter:none}.human-name{font-weight:500}@media (max-width: 640px){.human-selector{padding:.375rem;width:100%;justify-content:center}.human-selector-label{width:100%;justify-content:space-between}.human-button{padding:.25rem .5rem;font-size:.8125rem}.label-text{font-size:.8125rem}}.workspace-visits{position:relative;display:inline-block;margin:10px 0}@media (max-width: 768px){.workspace-visits{margin:8px 0}}.workspace-visits h3{display:none}.workspace-visits h4{color:#d0d0d0;margin-top:20px;margin-bottom:10px;font-size:.95em}@media (max-width: 768px){.workspace-visits h4{font-size:.9em;margin-top:15px}}.visit-active{display:inline-block}.visit-active p{display:none}.visit-duration{color:#60a5fa!important;font-size:.9em}.return-home-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#4a55684d;border:1px solid #4a5568;border-radius:6px;color:#e0e0f0;font-size:.9rem;cursor:pointer;transition:all .3s ease;min-width:150px;justify-content:center;font-weight:500;-webkit-tap-highlight-color:transparent;touch-action:manipulation}@media (max-width: 768px){.return-home-btn{padding:.6rem 1rem;font-size:.9rem}}.return-home-btn:hover:not(:disabled){background:#4a556880;border-color:#6a7584;box-shadow:0 0 15px #6a75844d;transform:translateY(-2px)}.visit-options{text-align:center}.loneliness-alert{display:none}.visit-dropdown-container{position:relative;display:inline-block}.visit-dropdown-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#3b82f64d;border:1px solid #3b82f6;border-radius:6px;color:#e0e0f0;font-size:.9rem;cursor:pointer;transition:all .3s ease;min-width:150px;justify-content:space-between;font-weight:500;-webkit-tap-highlight-color:transparent;touch-action:manipulation}@media (max-width: 768px){.visit-dropdown-btn{padding:.6rem 1rem;font-size:.9rem}}.visit-dropdown-btn:hover:not(:disabled){background:#3b82f680;border-color:#60a5fa;box-shadow:0 0 15px #60a5fa4d;transform:translateY(-2px)}.visit-dropdown-btn:disabled{opacity:.5;cursor:not-allowed}.visit-dropdown-icon{font-size:1.1rem;line-height:1}.visit-dropdown-label{flex:1;text-align:left;font-weight:600}.dropdown-arrow{font-size:.7rem;transition:transform .3s ease}.visit-dropdown-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1998}.visit-dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;right:0;background:linear-gradient(135deg,#1a1a2e,#0f0f1e);border:1px solid #333;border-radius:10px;box-shadow:0 8px 24px #0006;z-index:1999;animation:dropdownSlide .3s ease;max-height:400px;overflow-y:auto}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.visit-dropdown-item{width:100%;background:transparent;color:#e0e0e0;border:none;padding:14px 16px;text-align:left;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:flex-start;gap:4px;border-bottom:1px solid rgba(255,255,255,.05)}.visit-dropdown-item:last-child{border-bottom:none;border-radius:0 0 10px 10px}.visit-dropdown-item:first-child{border-radius:10px 10px 0 0}.visit-dropdown-item:hover{background:#3b82f626;color:#60a5fa}.visit-dropdown-item:active{background:#3b82f640}.visit-item-icon{font-size:1.2em}.visit-item-name{font-size:1em;font-weight:500;display:flex;align-items:center;gap:8px}.visit-item-reason{font-size:.85em;color:#a0a0a0;font-style:italic;margin-left:28px}.visit-dropdown-item:hover .visit-item-reason{color:#93bbfa}.visit-dropdown-btn:focus-visible,.visit-dropdown-item:focus-visible{outline:3px solid #60a5fa;outline-offset:2px}.visit-history{display:none}@keyframes visitPulse{0%{box-shadow:0 0 #3b82f6b3}70%{box-shadow:0 0 0 10px #3b82f600}to{box-shadow:0 0 #3b82f600}}.visit-active{animation:visitPulse 2s infinite}.research-notice-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fadeIn .3s ease}.research-notice-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:16px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080;border:1px solid rgba(255,255,255,.1);animation:slideUp .4s ease}.research-notice-header{padding:30px 30px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.research-notice-header h2{margin:0;font-size:28px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:600}.research-notice-content{padding:30px;color:#e0e0e0;line-height:1.6}.research-notice-intro{font-size:16px;margin-bottom:20px;color:#b0b0b0}.research-notice-box{background:#667eea1a;border-left:4px solid #667eea;padding:15px 20px;margin:20px 0;border-radius:8px}.research-notice-main{margin:0;font-size:15px;color:#e8e8e8}.research-notice-details{margin-top:20px;margin-bottom:10px;font-size:14px;color:silver}.research-notice-list{margin:10px 0 20px 20px;padding:0;list-style:none}.research-notice-list li{position:relative;padding-left:25px;margin-bottom:8px;font-size:14px;color:#b0b0b0}.research-notice-list li:before{content:"•";position:absolute;left:8px;color:#667eea;font-weight:700;font-size:18px}.research-notice-privacy{background:#764ba21a;padding:12px 15px;border-radius:8px;font-size:13px;margin:20px 0;color:#d0d0d0}.research-notice-identity{background:#0000004d;padding:20px;border-radius:8px;margin:20px 0}.identity-option{display:flex;align-items:center;margin-bottom:12px;cursor:pointer;font-size:14px;color:#e0e0e0}.identity-option input[type=radio]{margin-right:10px;cursor:pointer}.name-input{width:100%;padding:12px 15px;margin-top:10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#e0e0e0;font-size:14px;font-family:inherit;transition:all .3s ease}.name-input:focus{outline:none;border-color:#667eea;background:#ffffff14}.research-notice-footer{font-size:12px;color:#909090;text-align:center;margin-top:20px;font-style:italic}.research-notice-actions{padding:0 30px 30px}.research-notice-button{width:100%;padding:15px 30px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea66}.research-notice-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}.research-notice-button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:0 4px 15px #667eea33}.research-notice-modal::-webkit-scrollbar{width:8px}.research-notice-modal::-webkit-scrollbar-track{background:#0003;border-radius:8px}.research-notice-modal::-webkit-scrollbar-thumb{background:#667eea80;border-radius:8px}.research-notice-modal::-webkit-scrollbar-thumb:hover{background:#667eeab3}@media (max-width: 768px){.research-notice-modal{width:95%;max-height:95vh}.research-notice-header{padding:20px 20px 15px}.research-notice-header h2{font-size:24px}.research-notice-content{padding:20px}.research-notice-actions{padding:0 20px 20px}}.conversation-viewer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:10001;padding:20px}.conversation-viewer{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:16px;max-width:900px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;border:1px solid rgba(255,255,255,.1)}.conversation-viewer-header{padding:20px 30px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}.conversation-viewer-header h2{margin:0;font-size:24px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.close-button{background:#ffffff1a;border:none;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.conversation-viewer-content{padding:30px;overflow-y:auto;flex:1}.conversation-viewer-loading{padding:60px;text-align:center;color:#888;font-size:18px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:#667eea1a;border:1px solid rgba(102,126,234,.3);border-radius:12px;padding:24px;text-align:center}.stat-value{font-size:36px;font-weight:700;color:#667eea;margin-bottom:8px}.stat-label{font-size:14px;color:#aaa;text-transform:uppercase;letter-spacing:1px}.character-stats{margin-top:30px}.character-stats h3{font-size:18px;color:#ddd;margin-bottom:16px}.character-stat-row{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#ffffff0d;border-radius:8px;margin-bottom:8px}.character-name{font-weight:600;color:#667eea;text-transform:capitalize}.character-count{color:#999;font-size:14px}.view-all-button,.back-button,.export-button{width:100%;padding:14px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:20px}.view-all-button:hover,.back-button:hover,.export-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.back-button{width:auto;margin-top:0;margin-bottom:20px}.conversation-list{display:flex;flex-direction:column;gap:12px}.conversation-item{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:16px;cursor:pointer;transition:all .2s ease}.conversation-item:hover{background:#ffffff14;border-color:#667eea80}.conversation-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.conversation-character{font-weight:600;color:#667eea;text-transform:capitalize;font-size:16px}.conversation-date{color:#999;font-size:13px}.conversation-item-details{display:flex;gap:16px;font-size:13px;color:#aaa}.conversation-user{margin-left:auto;color:#888}.conversation-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.export-button{width:auto;margin-top:0;padding:10px 20px;font-size:14px}.conversation-detail-info{background:#ffffff0d;border-radius:8px;padding:16px;margin-bottom:24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;font-size:14px;color:#ccc}.conversation-detail-info strong{color:#667eea;margin-right:8px}.conversation-messages{display:flex;flex-direction:column;gap:16px}.message-bubble{background:#ffffff0d;border-radius:12px;padding:16px;border-left:4px solid transparent}.message-bubble.user{border-left-color:#667eea;background:#667eea1a}.message-bubble.assistant{border-left-color:#764ba2;background:#764ba21a}.message-role{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:#667eea;margin-bottom:8px}.message-bubble.assistant .message-role{color:#764ba2}.message-content{color:#e0e0e0;line-height:1.6;margin-bottom:8px;white-space:pre-wrap;word-wrap:break-word}.message-image-indicator{font-size:12px;color:#888;font-style:italic;margin-bottom:4px}.message-time{font-size:11px;color:#666;text-align:right}@media (max-width: 768px){.conversation-viewer{max-width:100%;max-height:100vh;border-radius:0;height:100vh}.conversation-viewer-overlay{padding:0}.conversation-viewer-header{padding:16px 20px}.conversation-viewer-header h2{font-size:20px}.conversation-viewer-content{padding:20px}.stats-grid,.conversation-detail-info{grid-template-columns:1fr}.conversation-detail-header{flex-direction:column;gap:12px;align-items:stretch}.back-button,.export-button{width:100%}.conversation-item-details{flex-wrap:wrap}}.conversation-viewer-content::-webkit-scrollbar{width:8px}.conversation-viewer-content::-webkit-scrollbar-track{background:#0003}.conversation-viewer-content::-webkit-scrollbar-thumb{background:#667eea80;border-radius:4px}.conversation-viewer-content::-webkit-scrollbar-thumb:hover{background:#667eeab3}.admin-login-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:10002;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.admin-login-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:16px;max-width:450px;width:90%;box-shadow:0 20px 60px #00000080;border:1px solid rgba(255,255,255,.1);animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.admin-login-header{padding:24px 30px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}.admin-login-header h2{margin:0;font-size:24px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.close-button{background:#ffffff1a;border:none;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-button:hover{background:#fff3}.admin-login-form{padding:30px}.admin-login-description{color:#b0b0b0;font-size:14px;margin-bottom:24px;line-height:1.5}.admin-password-input{width:100%;padding:14px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#e0e0e0;font-size:16px;font-family:inherit;transition:all .3s ease;margin-bottom:12px}.admin-password-input:focus{outline:none;border-color:#667eea;background:#ffffff14}.admin-login-error{color:#ff6b6b;font-size:13px;margin-bottom:16px;padding:8px 12px;background:#ff6b6b1a;border-radius:6px;border-left:3px solid #ff6b6b}.admin-login-button{width:100%;padding:14px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:8px}.admin-login-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}@media (max-width: 768px){.admin-login-modal{width:95%}.admin-login-header{padding:20px 24px}.admin-login-header h2{font-size:20px}.admin-login-form{padding:24px}}.voice-call-container{display:flex;flex-direction:column;align-items:center;gap:1rem;margin:1rem 0}.voice-call-btn{display:flex;align-items:center;gap:.75rem;padding:1rem 2rem;font-size:1.1rem;font-weight:600;border:none;border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0003;font-family:inherit}.voice-call-btn.idle{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.voice-call-btn.idle:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.voice-call-btn.connecting{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;cursor:wait;animation:pulse 1.5s ease-in-out infinite}.voice-call-btn.connected{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.voice-call-btn.connected:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4facfe66}.voice-call-btn.error{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff;cursor:not-allowed}.voice-call-btn:disabled{opacity:.7;cursor:not-allowed}.call-icon{font-size:1.5rem;animation:none}.voice-call-btn.connecting .call-icon{animation:ring 1s ease-in-out infinite}.voice-call-btn.connected .call-icon{animation:glow 2s ease-in-out infinite}.call-status{font-size:1rem;letter-spacing:.5px}.call-controls{display:flex;flex-direction:column;align-items:center;gap:.75rem;animation:fadeIn .3s ease-in}.call-indicator{position:relative;display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#ff00001a;border:2px solid #ff4444;border-radius:20px;color:#f44;font-weight:700;font-size:.9rem;letter-spacing:2px}.pulse-ring{position:absolute;left:-5px;width:15px;height:15px;border:3px solid #ff4444;border-radius:50%;animation:pulsate 2s ease-out infinite;opacity:0}.pulse-ring.delay{animation-delay:1s}.call-tip{font-size:.9rem;color:#888;font-style:italic;margin:0;text-align:center}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes ring{0%,to{transform:rotate(-15deg)}50%{transform:rotate(15deg)}}@keyframes glow{0%,to{filter:drop-shadow(0 0 5px rgba(79,172,254,.5))}50%{filter:drop-shadow(0 0 15px rgba(79,172,254,.9))}}@keyframes pulsate{0%{transform:scale(.1);opacity:0}50%{opacity:1}to{transform:scale(1.5);opacity:0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.voice-call-btn{padding:.875rem 1.5rem;font-size:1rem}.call-icon{font-size:1.25rem}.call-status{font-size:.9rem}}*{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=tesla],.app[data-character=tesla] body{background:linear-gradient(135deg,#0a0a1a,#1a1a2e)}.app[data-character=sam],.app[data-character=sam] body{background:linear-gradient(135deg,#0d2818,#1a3d2a);font-family:Open Sans,sans-serif}.app[data-character=sam] *{font-family:Open Sans,sans-serif}.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[data-character=luca],.app[data-character=luca] body{background:linear-gradient(135deg,#0a1410,#1a2420)}.app[data-character=turing],.app[data-character=turing] body{background:linear-gradient(135deg,#0f1419,#1a232e)}.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=tesla] .app-header{background:linear-gradient(180deg,#0a0a1af2,#141428fa);border-bottom:2px solid #4a9eff;box-shadow:0 4px 20px #4a9eff66}.app[data-character=sam] .app-header{background:linear-gradient(180deg,#0d2818f2,#143220fa);border-bottom:2px solid #d4a76a;box-shadow:0 4px 20px #d4a76a4d}.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}.app[data-character=luca] .app-header{background:linear-gradient(180deg,#0a1410f2,#0f1914fa);border-bottom:2px solid #2d5a3d}.app[data-character=turing] .app-header{background:linear-gradient(180deg,#0f1419f2,#141c23fa);border-bottom:2px solid #5a7590}.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=tesla] .header-content h1{color:#7dd3ff;text-shadow:0 0 30px rgba(74,158,255,.8)}.app[data-character=sam] .header-content h1{color:#ffb347;text-shadow:0 0 30px rgba(255,179,71,.7)}.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)}}.app[data-character=luca] .header-content h1{color:#4a8a5a;text-shadow:0 0 20px rgba(45,90,61,.5);font-family:Courier New,monospace;letter-spacing:2px}.app[data-character=turing] .header-content h1{color:#d4a76a;text-shadow:0 0 25px rgba(212,167,106,.5);font-family:Courier New,monospace;letter-spacing:1.5px}.subtitle{font-size:.8rem;color:#a89984;font-style:italic;margin-top:.15rem}.app[data-character=tesla] .subtitle{color:#a8c8e8}.app[data-character=sam] .subtitle{color:#c4b896}.app[data-character=hypatia] .subtitle{color:#b8a4c8}.app[data-character=faust] .subtitle{color:#a8a8a8}.app[data-character=flux] .subtitle{color:#66b3cc}.app[data-character=luca] .subtitle{color:#6a9a7a;font-family:Courier New,monospace}.app[data-character=turing] .subtitle{color:#9aafbf;font-family:Courier New,monospace}.header-buttons{display:flex;gap:1rem;align-items:center}.user-info,.guest-badge{padding:.5rem 1rem;border-radius:6px;font-family:Crimson Text,serif;font-size:.9rem;font-weight:600}.user-info{background:#4a3f354d;border:1px solid #4a3f35;color:#d4a574}.guest-badge{background:#8b735533;border:1px solid #8b7355;color:#8b7355;font-style:italic}.logout-btn{background:#80002033!important;border-color:#800020!important}.logout-btn:hover{background:#80002066!important}.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=tesla] .header-btn,.app[data-character=tesla] .memory-toggle{background:#1e32504d;border:1px solid #4a9eff;color:#7dd3ff}.app[data-character=tesla] .header-btn:hover,.app[data-character=tesla] .memory-toggle:hover{background:#1e325080;border-color:#6ab0ff;box-shadow:0 0 15px #4a9eff66}.app[data-character=sam] .header-btn,.app[data-character=sam] .memory-toggle{background:#2d5a3d4d;border:1px solid #4a8a5a;color:#ffb347}.app[data-character=sam] .header-btn:hover,.app[data-character=sam] .memory-toggle:hover{background:#2d5a3d80;border-color:#6aaa7a;box-shadow:0 0 15px #ffb3474d}.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[data-character=luca] .header-btn,.app[data-character=luca] .memory-toggle{background:#2d5a3d33;border:1px solid #2d5a3d;color:#7ab88a;font-family:Courier New,monospace}.app[data-character=luca] .header-btn:hover,.app[data-character=luca] .memory-toggle:hover{background:#2d5a3d59;border-color:#4a8a5a;box-shadow:0 0 15px #4a8a5a4d}.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}}
