@import"https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,400;0,600;1,400&family=Inter:wght@400;500;600&display=swap";.chat-container{flex:1;overflow-y:auto;padding:1rem 1.5rem;background:#14141499;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.message-counter{text-align:center;padding:.5rem;margin-bottom:.5rem;font-size:.75rem;color:#888;opacity:.7;border-bottom:1px solid rgba(255,255,255,.1)}.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:3rem 1.5rem;color:#a89984;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:40vh;animation:fadeIn .5s ease-out}.welcome-icon{font-size:4rem;margin-bottom:1rem;filter:drop-shadow(0 0 20px rgba(244,228,193,.3));animation:pulse 2s ease-in-out infinite}.welcome-title{font-size:1.75rem;color:#f4e4c1;margin-bottom:.75rem;font-weight:600}.welcome-subtitle{font-size:1rem;line-height:1.6;color:#6a5f55;font-style:italic}.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}.app[data-character=tesla] .welcome-icon{filter:drop-shadow(0 0 25px rgba(74,158,255,.5))}.app[data-character=tesla] .welcome-title{color:#7dd3ff}.app[data-character=sam] .welcome-icon{filter:drop-shadow(0 0 25px rgba(255,179,71,.5))}.app[data-character=sam] .welcome-title{color:#ffb347}.app[data-character=hypatia] .welcome-icon{filter:drop-shadow(0 0 25px rgba(212,196,244,.5))}.app[data-character=hypatia] .welcome-title{color:#d4c4f4}.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:Bangers,Kalam,cursive;background:linear-gradient(135deg,#ffc8324d,#e6aa1e26);border:2px solid rgba(255,215,100,.7);box-shadow:0 4px 15px #ffc8324d;letter-spacing:.5px}@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:Fredoka,Kalam,sans-serif;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}.app[data-character=sam] .tesla-message{font-family:Kalam,Crimson Text,cursive;background:linear-gradient(135deg,#ffb34740,#c8963226);border:2px solid rgba(255,179,71,.6);box-shadow:0 4px 15px #ffb34740}.app[data-character=sam] .message-sender{color:#ffb347;text-shadow:0 0 10px rgba(255,179,71,.5)}.app[data-character=luca] .tesla-message{font-family:Share Tech Mono,monospace;background:linear-gradient(135deg,#2d5a3d4d,#1e3c2833);border:2px solid rgba(74,138,90,.6);box-shadow:0 4px 15px #2d5a3d4d}.app[data-character=luca] .message-sender{color:#4a8a5a;text-shadow:0 0 10px rgba(74,138,90,.5);font-family:Share Tech Mono,monospace}.app[data-character=turing] .tesla-message{font-family:Share Tech Mono,Courier New,monospace;background:linear-gradient(135deg,#d4a76a40,#aa825026);border:2px solid rgba(212,167,106,.6);box-shadow:0 4px 15px #d4a76a40}.app[data-character=turing] .message-sender{color:#d4a76a;text-shadow:0 0 10px rgba(212,167,106,.5);font-family:Share Tech Mono,monospace}.app[data-character=tolkien] .tesla-message{font-family:Crimson Text,Georgia,serif;background:linear-gradient(135deg,#daa52040,#b4821426);border:2px solid rgba(218,165,32,.6);box-shadow:0 4px 15px #daa52040}.app[data-character=tolkien] .message-sender{color:#daa520;text-shadow:0 0 10px rgba(218,165,32,.5);font-family:Crimson Text,Georgia,serif}.app[data-character=darwin] .tesla-message{font-family:Libre Baskerville,Georgia,serif;background:linear-gradient(135deg,#8fbc8f40,#648c6426);border:2px solid rgba(143,188,143,.6);box-shadow:0 4px 15px #8fbc8f40}.app[data-character=darwin] .message-sender{color:#8fbc8f;text-shadow:0 0 10px rgba(143,188,143,.5);font-family:Libre Baskerville,Georgia,serif}.app[data-character=ramanujan] .tesla-message{font-family:"Noto Serif",Georgia,serif;background:linear-gradient(135deg,#dda0dd40,#b478b426);border:2px solid rgba(221,160,221,.6);box-shadow:0 4px 15px #dda0dd40}.app[data-character=ramanujan] .message-sender{color:plum;text-shadow:0 0 10px rgba(221,160,221,.5);font-family:"Noto Serif",Georgia,serif}.app[data-character=goethe] .tesla-message{font-family:Crimson Text,Georgia,serif;background:linear-gradient(135deg,#8b454540,#6e323226);border:2px solid rgba(178,102,102,.6);box-shadow:0 4px 15px #8b454540}.app[data-character=goethe] .message-sender{color:#d4a574;text-shadow:0 0 10px rgba(212,165,116,.5);font-family:Crimson Text,Georgia,serif}.app[data-character=goethe] .welcome-icon{filter:drop-shadow(0 0 25px rgba(178,102,102,.5))}.app[data-character=goethe] .welcome-title,.app[data-character=goethe] .typing-text{color:#d4a574}.app[data-character=goethe] .typing-dots span{background:#d4a574}.app[data-character=harvey_milk] .tesla-message{font-family:Open Sans,Helvetica Neue,Arial,sans-serif;background:linear-gradient(135deg,#4632784d,#281e5033);border:2px solid rgba(130,100,200,.6);box-shadow:0 4px 15px #6446a040}.app[data-character=harvey_milk] .message-sender{color:#e8b84a;text-shadow:0 0 10px rgba(232,184,74,.5);font-family:Open Sans,Helvetica Neue,Arial,sans-serif;font-weight:600}.app[data-character=harvey_milk] .welcome-icon{filter:drop-shadow(0 0 25px rgba(130,100,200,.5))}.app[data-character=harvey_milk] .welcome-title{color:#e8b84a}.app[data-character=harvey_milk] .typing-text{color:#c9a0dc}.app[data-character=harvey_milk] .typing-dots span{background:#c9a0dc}.message-time{font-size:.7rem;color:#6a5f55;font-style:italic;display:flex;align-items:center;gap:.3rem}.cloud-sync{font-size:.65rem;opacity:.6;filter:grayscale(.5)}.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;align-items:center;gap:.75rem;padding:.5rem 0}.typing-text{font-style:italic;color:#a89984;font-size:.95rem;animation:fadeInOut 2s ease-in-out infinite}@keyframes fadeInOut{0%,to{opacity:.6}50%{opacity:1}}.typing-dots{display:flex;gap:.3rem}.typing-dots span{width:6px;height:6px;background:#f4e4c1;border-radius:50%;animation:typing 1.4s infinite}.app[data-character=hypatia] .typing-dots span{background:#d4c4f4}.app[data-character=tesla] .typing-text{color:#7dd3ff}.app[data-character=tesla] .typing-dots span{background:#7dd3ff}.app[data-character=sam] .typing-text{color:#ffb347}.app[data-character=sam] .typing-dots span{background:#ffb347}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots 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%}}.supabase-auth-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.supabase-auth-modal{background:linear-gradient(180deg,#1a1a1a,#0d0d0d);border:1px solid #4a3f35;border-radius:16px;padding:2rem;width:90%;max-width:400px;box-shadow:0 20px 60px #000c}.auth-header{text-align:center;margin-bottom:1.5rem}.auth-header h2{color:#f4e4c1;font-family:Crimson Text,serif;font-size:1.8rem;margin:0 0 .5rem;text-shadow:0 0 20px rgba(244,228,193,.3)}.auth-header p{color:#a89984;font-size:.9rem;margin:0}.auth-tabs{display:flex;gap:0;margin-bottom:1.5rem;border-radius:8px;overflow:hidden;background:#0000004d}.auth-tab{flex:1;padding:.75rem;background:transparent;border:none;color:#a89984;font-family:Crimson Text,serif;font-size:1rem;cursor:pointer;transition:all .2s ease}.auth-tab:hover{color:#e0d5c7;background:#4a3f354d}.auth-tab.active{background:#4a3f3580;color:#f4e4c1}.auth-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{color:#c4a57b;font-size:.85rem;font-family:Crimson Text,serif}.form-group input{padding:.75rem 1rem;background:#0006;border:1px solid #4a3f35;border-radius:8px;color:#e0d5c7;font-size:1rem;transition:all .2s ease}.form-group input:focus{outline:none;border-color:#c4a57b;box-shadow:0 0 15px #c4a57b33}.form-group input::placeholder{color:#6b5c4c}.auth-error{background:#c8586033;border:1px solid #c85860;color:#f9a;padding:.75rem;border-radius:8px;font-size:.9rem;text-align:center}.auth-message{background:#4ade8033;border:1px solid #4ade80;color:#86efac;padding:.75rem;border-radius:8px;font-size:.9rem;text-align:center}.auth-submit{padding:.875rem;background:linear-gradient(135deg,#c4a57b,#a08060);border:none;border-radius:8px;color:#1a1a1a;font-family:Crimson Text,serif;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:.5rem}.auth-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 20px #c4a57b66}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-divider{display:flex;align-items:center;margin:1.5rem 0;gap:1rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#4a3f35}.auth-divider span{color:#6b5c4c;font-size:.85rem}.guest-button{width:100%;padding:.75rem;background:transparent;border:1px solid #4a3f35;border-radius:8px;color:#a89984;font-family:Crimson Text,serif;font-size:1rem;cursor:pointer;transition:all .2s ease}.guest-button:hover{background:#4a3f354d;color:#e0d5c7;border-color:#6a5f55}.auth-footer{text-align:center;color:#6b5c4c;font-size:.8rem;margin:1rem 0 0}.auth-disclaimer{text-align:center;color:#5a4d3d;font-size:.7rem;margin:.5rem 0 0;font-style:italic}@media (max-width: 480px){.supabase-auth-modal{padding:1.5rem;margin:1rem}.auth-header h2{font-size:1.5rem}}.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,#1c1916f7,#141210fc);border-top:1px solid rgba(196,165,123,.25);padding:1rem 1.5rem;box-shadow:0 -4px 20px #00000080,inset 0 1px #ffffff08}.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:linear-gradient(145deg,#a0783c66,#78552880);border-color:#dcb46466;color:#f0d090;padding:.65rem .9rem;font-size:1.15rem;min-width:48px}.image-btn:hover:not(:disabled){background:linear-gradient(145deg,#b48c4680,#8c643299);border-color:#f0c87880;color:#ffe8b0;box-shadow:0 0 18px #dcb46440}.menu-container{position:relative}.control-btn{background:linear-gradient(145deg,#2d2823e6,#1e1b18f2);border:1px solid rgba(196,165,123,.3);color:#c4a57b;padding:.65rem 1.1rem;border-radius:8px;cursor:pointer;font-family:Crimson Text,serif;font-size:.95rem;font-weight:500;letter-spacing:.02em;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:.5rem;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000004d,inset 0 1px #ffffff0d;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation}.control-btn:before{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,216,155,.08) 0%,transparent 100%);border-radius:8px 8px 0 0;pointer-events:none}.control-btn:hover:not(:disabled){background:linear-gradient(145deg,#37302af2,#28231efa);border-color:#c4a57b80;color:#ffd89b;box-shadow:0 4px 16px #0006,0 0 20px #c4a57b26,inset 0 1px #ffffff14;transform:translateY(-1px)}.control-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 4px #0000004d,inset 0 1px 2px #0003}.control-btn:disabled{opacity:.35;cursor:not-allowed;filter:grayscale(.3)}.control-btn.active{background:linear-gradient(145deg,#3a537d80,#283c6499);border-color:#648cc880;color:#a8c8ff;box-shadow:0 2px 12px #3a539b4d,inset 0 1px #ffffff1a}.stop-btn{background:linear-gradient(145deg,#641e1e99,#461414b3);border-color:#b4505066;color:#e8a8a8}.stop-btn:hover:not(:disabled){background:linear-gradient(145deg,#782828b3,#5a1e1ecc);border-color:#c8646480;color:#ffb8b8;box-shadow:0 0 15px #b4505040}.menu-btn{min-width:100px;background:linear-gradient(145deg,#322d28d9,#23201ce6)}.audio-btn{background:linear-gradient(145deg,#503c6480,#37284b99);border-color:#a078c866;color:#d4b8e8;min-width:90px}.audio-btn:hover:not(:disabled){background:linear-gradient(145deg,#5f467899,#46325fb3);border-color:#b48cdc80;color:#e8d0ff;box-shadow:0 4px 16px #0006,0 0 20px #a078c833}.audio-btn.recording{background:linear-gradient(145deg,#b43c5099,#8c283cb3);border-color:#ff789680;color:#ffc8d8;animation:recording-pulse 1.5s ease-in-out infinite}@keyframes recording-pulse{0%,to{box-shadow:0 0 10px #b43c504d}50%{box-shadow:0 0 25px #b43c5080}}.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){.desktop-only{display:none!important}}@media (min-width: 769px){.mobile-only{display:none!important}}.menu-divider{height:1px;background:#c4a57b33;margin:.5rem 0}.hamburger-icon{font-size:1.2rem;line-height:1}.menu-text{font-size:.9rem}@media (max-width: 768px){.controls-container{padding:.75rem;position:fixed;bottom:0;left:0;right:0;z-index:999}.controls-row{gap:.75rem;margin-bottom:.5rem;justify-content:center}.hands-free-btn,.audio-btn{flex:1;max-width:140px;padding:.75rem 1rem;font-size:.95rem}.stop-btn{flex:0 0 auto;padding:.6rem .9rem;font-size:.9rem}.menu-btn{flex:0 0 auto;min-width:auto;padding:.75rem;font-size:.85rem}.menu-btn .menu-text{display:none}.menu-btn .hamburger-icon{font-size:1.3rem}.dropdown-menu{right:0;left:auto;min-width:200px}.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:linear-gradient(145deg,#64325080,#46233799);border-color:#b4648c66;color:#e8b8d0;padding:.65rem .9rem;font-size:1.15rem;min-width:48px}.video-btn:hover:not(:disabled){background:linear-gradient(145deg,#783c5f99,#5a2d46b3);border-color:#c878a080;color:#ffd0e8;box-shadow:0 0 18px #b4648c40}.upload-btn{background:linear-gradient(145deg,#3c646480,#28464699);border-color:#64a0a066;color:#b8e0e0;padding:.65rem .9rem;font-size:1.15rem;min-width:48px}.upload-btn:hover:not(:disabled){background:linear-gradient(145deg,#46737399,#325555b3);border-color:#78b4b480;color:#d0f0f0;box-shadow:0 0 18px #64a0a040}.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}}.hands-free-btn{background:linear-gradient(145deg,#325a4680,#23413299);border-color:#64aa8266;color:#a8e0c0;min-width:85px}.hands-free-btn:hover:not(:disabled){background:linear-gradient(145deg,#3c695099,#2d503cb3);border-color:#78be9680;color:#c8f0d8;box-shadow:0 4px 16px #0006,0 0 20px #64aa8233}.hands-free-banner{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.75rem 1rem;margin-bottom:.75rem;border-radius:8px;background:linear-gradient(135deg,#4ade8026,#22c55e1a);border:1px solid rgba(74,222,128,.4);animation:pulse-glow 2s ease-in-out infinite}.hands-free-banner.listening{background:linear-gradient(135deg,#4ade8040,#22c55e33);border-color:#4ade8099}.hands-free-banner.processing{background:linear-gradient(135deg,#fbbf2433,#f59e0b26);border-color:#fbbf2480}.hands-free-banner.paused{background:linear-gradient(135deg,#94a3b826,#64748b1a);border-color:#94a3b866;animation:none}@keyframes pulse-glow{0%,to{box-shadow:0 0 10px #4ade8033}50%{box-shadow:0 0 25px #4ade8066}}.hands-free-indicator{font-size:1.5rem;animation:bounce 1s ease-in-out infinite}.hands-free-banner.paused .hands-free-indicator,.hands-free-banner.processing .hands-free-indicator{animation:none}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.hands-free-text{color:#86efac;font-family:Crimson Text,serif;font-size:1rem;font-weight:500}.hands-free-banner.processing .hands-free-text{color:#fcd34d}.hands-free-banner.paused .hands-free-text{color:#94a3b8}.hands-free-stop{background:#ef444433;border:1px solid rgba(239,68,68,.4);color:#fca5a5;padding:.25rem .5rem;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .2s ease;margin-left:auto}.hands-free-stop:hover{background:#ef44444d;border-color:#ef444499}.hands-free-camera{background:#3b82f633;border:1px solid rgba(59,130,246,.4);color:#93c5fd;padding:.25rem .5rem;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .2s ease}.hands-free-camera:hover{background:#3b82f64d;border-color:#3b82f699}.hands-free-camera.active{background:#22c55e33;border-color:#22c55e66;color:#86efac}@media (max-width: 480px){.hands-free-banner{padding:.5rem .75rem;gap:.5rem}.hands-free-indicator{font-size:1.2rem}.hands-free-text{font-size:.9rem}}.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:120px;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;background:#0000004d}.character-dropdown-menu.grouped{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:360px;max-height:80vh;overflow-y:auto;background:linear-gradient(180deg,#1a1a1afa,#141414);border:2px solid #4a3f35;border-radius:12px;box-shadow:0 8px 40px #000000e6;z-index:1999;animation:modalSlide .25s ease}@keyframes modalSlide{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.character-group{border-bottom:1px solid rgba(74,63,53,.4)}.character-group:last-child{border-bottom:none}.group-header{width:100%;display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:transparent;border:none;color:#c4a57b;font-family:Crimson Text,serif;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-align:left}.group-header:hover{background:#4a3f354d}.group-header.expanded{background:#4a3f3566;border-bottom:1px solid rgba(74,63,53,.5)}.group-header.has-active{color:#ffd89b}.group-header.has-active:after{content:"•";margin-left:auto;margin-right:.5rem;color:#4ade80;font-size:1.2rem}.group-icon{font-size:1.3rem;line-height:1}.group-name{flex:1}.group-arrow{font-size:1.2rem;color:#a89984;font-weight:300;width:20px;text-align:center}.group-characters{background:#0003;animation:expandGroup .2s ease}@keyframes expandGroup{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}.character-dropdown-item{width:100%;display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem .875rem 2.5rem;background:transparent;border:none;border-bottom:1px solid rgba(74,63,53,.2);color:#e0d5c7;font-family:Crimson Text,serif;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}.character-dropdown-item .character-icon{font-size:1.4rem;line-height:1;flex-shrink:0}.character-dropdown-item .character-info{flex:1;display:flex;flex-direction:column;gap:2px}.character-dropdown-item .character-name{font-size:1rem;font-weight:600}.character-dropdown-item .character-desc{font-size:.75rem;color:#a89984;opacity:.8}.character-dropdown-item .checkmark{color:#4ade80;font-size:1rem;font-weight:700;margin-left:auto}.premium-badge{display:inline-block;background:linear-gradient(135deg,gold,#ffb700);color:#000;font-size:.55rem;font-weight:700;padding:2px 5px;border-radius:3px;margin-left:6px;vertical-align:middle;text-transform:uppercase;letter-spacing:.5px}.character-dropdown-item .lock-icon{font-size:.9rem;margin-left:auto;opacity:.7}.character-dropdown-item.locked{opacity:.7}.character-dropdown-item.locked:hover{background:#ffd7001a;border-color:#ffd7004d}.character-dropdown-item.locked .character-name{color:#aaa}.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=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=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=cheesemaster] .character-dropdown-btn,.app[data-character=cheese_kevin] .character-dropdown-btn{border-color:#ffc850;box-shadow:0 0 15px #ffc83233}.app[data-character=cheesemaster] .current-character-name,.app[data-character=cheese_kevin] .current-character-name{color:#ffd966;text-shadow:0 0 12px rgba(255,217,102,.5)}.app[data-character=sam] .character-dropdown-btn{border-color:#4ade80;box-shadow:0 0 15px #4ade8033}.app[data-character=sam] .current-character-name{color:#86efac;text-shadow:0 0 12px rgba(134,239,172,.5)}.app[data-character=luca] .character-dropdown-btn{border-color:#60a5fa;box-shadow:0 0 15px #60a5fa33}.app[data-character=luca] .current-character-name{color:#93c5fd;text-shadow:0 0 12px rgba(147,197,253,.5)}.app[data-character=turing] .character-dropdown-btn{border-color:#a78bfa;box-shadow:0 0 15px #a78bfa33}.app[data-character=turing] .current-character-name{color:#c4b5fd;text-shadow:0 0 12px rgba(196,181,253,.5)}.app[data-character=tolkien] .character-dropdown-btn{border-color:#daa520;box-shadow:0 0 15px #daa5204d}.app[data-character=tolkien] .current-character-name{color:#f0c860;text-shadow:0 0 12px rgba(240,200,96,.5)}.app[data-character=darwin] .character-dropdown-btn{border-color:#8fbc8f;box-shadow:0 0 15px #8fbc8f4d}.app[data-character=darwin] .current-character-name{color:#a8d8a8;text-shadow:0 0 12px rgba(143,188,143,.5)}.app[data-character=ramanujan] .character-dropdown-btn{border-color:plum;box-shadow:0 0 15px #dda0dd4d}.app[data-character=ramanujan] .current-character-name{color:#e8c0e8;text-shadow:0 0 12px rgba(221,160,221,.5)}@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}@media (max-width: 768px){.character-dropdown-btn{min-width:100px;padding:.4rem .6rem;font-size:.85rem}.current-character-icon{font-size:1rem}.current-character-name{font-size:.8rem}.character-dropdown-menu.grouped{width:95%;max-width:none;max-height:85vh}.group-header{padding:.875rem 1rem;font-size:.95rem}.character-dropdown-item{padding:.75rem .875rem .75rem 2rem}.character-dropdown-item .character-icon{font-size:1.2rem}.character-dropdown-item .character-name{font-size:.9rem}.character-dropdown-item .character-desc{font-size:.7rem}}@media (max-width: 400px){.character-dropdown-btn{min-width:80px;padding:.35rem .5rem}.current-character-name{font-size:.75rem}.dropdown-arrow{font-size:.6rem}}.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-icon-small{font-size:1.25rem;margin-bottom:4px}.character-name{font-family:Georgia,Garamond,serif;font-size:.85rem;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}.section-subtitle{font-family:Crimson Text,Georgia,serif;font-size:.95rem;color:#a89984;margin:8px 0 0;font-style:italic}.premium-note{font-family:Crimson Text,Georgia,serif;font-size:.9rem;color:#8b7355;margin:16px 0 0;text-align:center;font-style:italic}.free-tier-section{background:#d4a57414;border:1px solid rgba(212,165,116,.2);border-radius:8px;padding:20px}.free-tier-section .section-title{color:#d4a574}.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}}.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}}.paywall-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.paywall-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:16px;padding:32px;max-width:480px;width:100%;position:relative;border:1px solid rgba(255,215,0,.3);box-shadow:0 20px 60px #00000080,0 0 40px #ffd7001a}.paywall-close{position:absolute;top:12px;right:16px;background:none;border:none;color:#888;font-size:28px;cursor:pointer;padding:0;line-height:1;transition:color .2s}.paywall-close:hover{color:#fff}.paywall-header{text-align:center;margin-bottom:24px}.paywall-header h2{color:gold;font-size:24px;margin:0 0 8px;font-weight:600}.paywall-header p{color:#aaa;font-size:14px;margin:0;line-height:1.5}.paywall-features{background:#ffffff0d;border-radius:12px;padding:20px;margin-bottom:24px}.paywall-features h3{color:#fff;font-size:14px;margin:0 0 12px;text-transform:uppercase;letter-spacing:1px}.paywall-features ul{list-style:none;padding:0;margin:0}.paywall-features li{color:#ccc;font-size:14px;padding:6px 0 6px 24px;position:relative}.paywall-features li:before{content:"✓";position:absolute;left:0;color:#4ade80}.paywall-pricing{display:flex;flex-direction:column;align-items:center;gap:16px;margin-bottom:24px}.price-header{text-align:center;margin-bottom:8px}.price-header .price{display:block;color:#fff;font-size:36px;font-weight:700}.price-header .period{color:#888;font-size:16px}.paypal-button-container{width:100%;max-width:300px;min-height:50px}.paypal-loading{color:#888;font-size:14px;text-align:center;padding:20px}.price-option{flex:1;display:block;background:#ffffff0d;border-radius:12px;padding:16px;text-align:center;border:2px solid rgba(255,255,255,.1);transition:all .2s;cursor:pointer;position:relative;text-decoration:none}.price-option:hover{border-color:#ffd70080;background:#ffd70014;transform:translateY(-2px)}.price-option.selected{border-color:gold;background:#ffd70026}.price-option:disabled{opacity:.7;cursor:not-allowed;transform:none}.price-option .loading-text{display:block;margin-top:8px;color:gold;font-size:12px;animation:pulse 1.5s infinite}.price-option .price{display:block;color:#fff;font-size:28px;font-weight:700}.price-option .period{color:#888;font-size:14px}.price-option .savings{display:block;margin-top:8px;background:linear-gradient(135deg,#4ade80,#22c55e);color:#000;font-size:11px;font-weight:600;padding:4px 8px;border-radius:4px;text-transform:uppercase}.price-option .trial-note{display:block;margin-top:8px;color:gold;font-size:11px;font-weight:500}.paywall-message{text-align:center;padding:12px;margin-bottom:16px;background:#ffd7001a;border-radius:8px;color:gold;font-size:14px}.paywall-actions{display:flex;flex-direction:column;gap:12px}.paywall-btn{width:100%;padding:14px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;border:none}.paywall-btn.trial{display:block;background:linear-gradient(135deg,gold,#ff8c00);border:2px solid #ffd700;color:#1a1a1a;text-align:center;text-decoration:none;box-shadow:0 4px 15px #ffd7004d}.paywall-btn.trial:hover{background:linear-gradient(135deg,#ffec80,#fa3);transform:translateY(-2px);box-shadow:0 6px 20px #ffd70066}.paywall-btn.subscribe{background:linear-gradient(135deg,gold,#ffb700);color:#000}.paywall-btn.subscribe:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 20px #ffd70066}.paywall-btn:disabled{opacity:.6;cursor:not-allowed}.trial-used{text-align:center;color:#888;font-size:13px;margin:0}.paywall-note{text-align:center;color:#666;font-size:12px;margin-top:16px;margin-bottom:0}.paywall-note a{color:gold;text-decoration:none}.paywall-note a:hover{text-decoration:underline}@media (max-width: 480px){.paywall-modal{padding:24px;margin:10px}.paywall-pricing{flex-direction:column}.price-option .price{font-size:24px}}.suggestion-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.suggestion-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:16px;padding:32px;max-width:450px;width:100%;position:relative;border:1px solid rgba(100,200,255,.3);box-shadow:0 20px 60px #00000080,0 0 40px #64c8ff1a}.suggestion-close{position:absolute;top:12px;right:16px;background:none;border:none;color:#888;font-size:28px;cursor:pointer;padding:0;line-height:1;transition:color .2s}.suggestion-close:hover{color:#fff}.suggestion-header{text-align:center;margin-bottom:24px}.suggestion-header h2{color:#64c8ff;font-size:24px;margin:0 0 8px;font-weight:600}.suggestion-header p{color:#aaa;font-size:14px;margin:0}.suggestion-form{display:flex;flex-direction:column;gap:20px}.suggestion-form .form-group{display:flex;flex-direction:column;gap:8px}.suggestion-form label{color:#ccc;font-size:14px;font-weight:500}.suggestion-form input,.suggestion-form textarea{background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:12px 14px;color:#fff;font-size:15px;transition:all .2s;font-family:inherit}.suggestion-form input:focus,.suggestion-form textarea:focus{outline:none;border-color:#64c8ff;background:#ffffff1a}.suggestion-form input::placeholder,.suggestion-form textarea::placeholder{color:#666}.suggestion-form textarea{resize:vertical;min-height:80px}.suggestion-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:12px;color:#ef4444;font-size:14px;text-align:center}.suggestion-submit{background:linear-gradient(135deg,#64c8ff,#3b82f6);color:#fff;border:none;border-radius:8px;padding:14px 24px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.suggestion-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 20px #64c8ff66}.suggestion-submit:disabled{opacity:.6;cursor:not-allowed}.suggestion-note{text-align:center;color:#666;font-size:12px;margin-top:16px;margin-bottom:0}.suggestion-success{text-align:center;padding:20px 0}.success-icon{width:60px;height:60px;background:linear-gradient(135deg,#4ade80,#22c55e);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:32px;color:#fff}.suggestion-success h2{color:#4ade80;font-size:24px;margin:0 0 8px}.suggestion-success p{color:#aaa;font-size:14px;margin:0}@media (max-width: 480px){.suggestion-modal{padding:24px;margin:10px}}.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}}.agent-chatroom{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:800px;height:85vh;background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:16px;box-shadow:0 25px 50px -12px #000c;display:flex;flex-direction:column;z-index:1000;border:1px solid rgba(255,255,255,.1);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.chatroom-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.chatroom-header h2{margin:0;color:#fff;font-size:1.5rem;font-weight:600;letter-spacing:-.02em;display:flex;align-items:center;flex-wrap:wrap}.current-speaker{font-size:.9rem;font-weight:400;color:#00cec9;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.close-btn{background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;opacity:.7;transition:opacity .2s}.close-btn:hover{opacity:1}.agent-selector{padding:16px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.agent-selector p{color:#aaa;margin:0 0 12px;font-size:.9rem}.agent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(85px,1fr));gap:8px}.agent-btn{display:flex;flex-direction:column;align-items:center;padding:8px 6px;background:#ffffff0d;border:2px solid transparent;border-radius:10px;cursor:pointer;transition:all .2s}.agent-btn:hover{background:#ffffff1a}.agent-btn.selected{background:#ffffff26}.agent-icon{font-size:1.3rem;margin-bottom:2px}.agent-name{color:#fff;font-size:.65rem;text-align:center;line-height:1.2}.topic-input{padding:12px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.topic-input input{width:100%;padding:12px 16px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:.95rem;font-family:inherit}.topic-input input::placeholder{color:#ffffff80}.topic-input input:focus{outline:none;border-color:#fff6}.chatroom-controls{display:flex;gap:12px;padding:12px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.start-btn,.stop-btn,.clear-btn,.voice-btn{padding:10px 20px;border:none;border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .2s;font-family:inherit}.voice-btn{background:#ffffff1a;color:#aaa;font-size:1.2rem;padding:10px 14px}.voice-btn.active{background:#00b8944d;color:#00b894}.voice-btn:hover{background:#fff3}.start-btn{background:linear-gradient(135deg,#00b894,#00cec9);color:#fff;flex:1}.start-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00b89466}.stop-btn{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;flex:1}.stop-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #e74c3c66}.clear-btn{background:#ffffff1a;color:#aaa}.clear-btn:hover{background:#fff3;color:#fff}.chatroom-messages{flex:1;overflow-y:auto;padding:16px 24px;display:flex;flex-direction:column;gap:14px}.message{background:#ffffff0d;border-radius:12px;padding:14px 18px;border-left:4px solid #666}.message.system{background:#ffc1071a;border-left-color:#ffc107;font-style:italic}.message-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.sender-icon{font-size:1.2rem}.sender-name{color:#fff;font-weight:600;font-size:.9rem;font-family:Inter,sans-serif}.message-time{color:#666;font-size:.75rem;margin-left:auto}.message-content{color:#e8e4df;line-height:1.7;font-size:1.05rem;font-family:Crimson Pro,Georgia,Times New Roman,serif;letter-spacing:.01em}.chatroom-messages::-webkit-scrollbar{width:8px}.chatroom-messages::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.chatroom-messages::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.chatroom-messages::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.user-input-container{display:flex;gap:10px;padding:12px 24px;border-top:1px solid rgba(255,255,255,.1);background:#0003}.user-input{flex:1;padding:12px 16px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:.95rem;font-family:inherit}.user-input::placeholder{color:#ffffff80}.user-input:focus{outline:none;border-color:#fff6}.send-btn{padding:12px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .2s;font-family:inherit}.send-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.send-btn:disabled{opacity:.5;cursor:not-allowed}.message.human{background:#667eea26;border-left-color:#667eea}@media (max-width: 600px){.agent-chatroom{width:100%;height:100vh;border-radius:0}.agent-grid{grid-template-columns:repeat(4,1fr)}.agent-name{font-size:.6rem}.agent-icon{font-size:1.1rem}.chatroom-header,.agent-selector,.topic-input,.chatroom-controls,.chatroom-messages,.user-input-container{padding-left:16px;padding-right:16px}.message-content{font-size:1rem}.send-btn{padding:12px 16px}}.realtime-chat-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:500px;background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:16px;box-shadow:0 25px 50px -12px #000c;border:1px solid rgba(255,255,255,.1);z-index:1100;overflow:hidden}.realtime-chat-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.1);background:#0003}.realtime-chat-header h3{margin:0;color:gold;font-size:1.1rem;font-weight:600}.realtime-chat-header .close-btn{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;opacity:.7;transition:opacity .2s}.realtime-chat-header .close-btn:hover{opacity:1}.realtime-chat-content{padding:16px}.video-container{position:relative;width:100%;aspect-ratio:16 / 9;background:#000;border-radius:12px;overflow:hidden;margin-bottom:16px}.local-video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.local-video.hidden{display:none}.video-off-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#1a1a2e;color:#666;font-size:1rem}.video-overlay{position:absolute;top:10px;left:10px}.connection-status{background:#0009;padding:4px 10px;border-radius:12px;font-size:.75rem;color:#f1c40f}.connection-status.connected{color:#00b894;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.speaking-indicator{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#ffd70026;border-radius:8px;margin-bottom:12px;color:gold;font-size:.9rem}.speaking-indicator .pulse{width:10px;height:10px;background:gold;border-radius:50%;animation:speaking-pulse .8s infinite}@keyframes speaking-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.5}}.transcript-container{max-height:150px;overflow-y:auto;background:#0000004d;border-radius:8px;padding:12px;margin-bottom:12px}.transcript-item{padding:6px 0;font-size:.85rem;line-height:1.4;border-bottom:1px solid rgba(255,255,255,.05)}.transcript-item:last-child{border-bottom:none}.transcript-item.user{color:#81ecec}.transcript-item.assistant{color:#ffeaa7}.transcript-item strong{margin-right:6px}.error-message{background:#e74c3c33;color:#e74c3c;padding:10px 12px;border-radius:8px;font-size:.85rem;margin-bottom:12px}.realtime-chat-controls{display:flex;justify-content:center;gap:12px;padding:16px;border-top:1px solid rgba(255,255,255,.1);background:#0003}.connect-btn{padding:12px 28px;background:linear-gradient(135deg,#00b894,#00cec9);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.connect-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px #00b89466}.connect-btn:disabled{opacity:.6;cursor:not-allowed}.control-btn{width:50px;height:50px;border-radius:50%;background:#ffffff1a;border:none;font-size:1.3rem;cursor:pointer;transition:all .2s}.control-btn:hover{background:#fff3}.control-btn.muted,.control-btn.off{background:#e74c3c4d}.disconnect-btn{padding:12px 24px;background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.disconnect-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #e74c3c66}.transcript-container::-webkit-scrollbar{width:6px}.transcript-container::-webkit-scrollbar-track{background:#0003;border-radius:3px}.transcript-container::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}@media (max-width: 600px){.realtime-chat-container{width:100%;height:100vh;max-width:none;border-radius:0}.realtime-chat-content{padding:12px}.video-container{aspect-ratio:4 / 3}}*{margin:0;padding:0;box-sizing:border-box}.auth-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background:linear-gradient(135deg,#1a1a1a,#2d2d2d);color:#e0d5c7}.auth-loading p{margin-top:1rem;font-family:Crimson Text,serif;color:#a89984}.loading-spinner{width:40px;height:40px;border:3px solid rgba(196,165,123,.2);border-top-color:#c4a57b;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}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[data-character=tolkien],.app[data-character=tolkien] body{background:linear-gradient(135deg,#1a1510,#2a201a)}.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}.app[data-character=tolkien] .app-header{background:linear-gradient(180deg,#1a1510f2,#231c14fa);border-bottom:2px solid #8b6914}.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}.app[data-character=tolkien] .header-content h1{color:#daa520;text-shadow:0 0 25px rgba(218,165,32,.5);font-family:Crimson Text,Georgia,serif;letter-spacing:1px}.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}.app[data-character=tolkien] .subtitle{color:#c4a050;font-family:Crimson Text,Georgia,serif}.app[data-character=darwin] .header-content h1{color:#8fbc8f;text-shadow:0 0 25px rgba(143,188,143,.5);font-family:Crimson Text,Georgia,serif;letter-spacing:.5px}.app[data-character=darwin] .subtitle{color:#a4c4a4;font-family:Crimson Text,Georgia,serif}.app[data-character=ramanujan] .header-content h1{color:plum;text-shadow:0 0 25px rgba(221,160,221,.5);letter-spacing:1px}.app[data-character=ramanujan] .subtitle{color:#c8a0c8}.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}.desktop-buttons{display:flex;gap:1rem;align-items:center}.mobile-menu-btn{display:none;background:#4a3f354d;border:1px solid #4a3f35;color:#e0d5c7;padding:.5rem .75rem;border-radius:6px;cursor:pointer;font-size:1.25rem;transition:all .3s ease}.mobile-menu-btn:hover{background:#4a3f3580}.mobile-menu-dropdown{display:none}.creator-badge{background:linear-gradient(135deg,#c4a57b,#8b7355);color:#0d0b08;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:700;margin-right:10px}.tesla-mode-toggle{padding:6px 14px;border-radius:16px;font-size:12px;font-weight:700;margin-right:10px;cursor:pointer;transition:all .3s ease;border:2px solid transparent}.tesla-mode-toggle.personal{background:linear-gradient(135deg,gold,#c4a57b);color:#0d0b08;border-color:gold;box-shadow:0 0 10px #ffd70066}.tesla-mode-toggle.public{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border-color:#3498db}.tesla-mode-toggle:hover{transform:scale(1.05);box-shadow:0 4px 12px #0000004d}@media (max-width: 768px){.app-header{flex-direction:row;flex-wrap:wrap;gap:.5rem;padding:.75rem 1rem;align-items:center;position:relative}.header-content{flex:1;min-width:0}.header-content h1{font-size:1.1rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.subtitle{font-size:.7rem;margin-top:.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-buttons{gap:.5rem;flex-shrink:0}.desktop-buttons{display:none}.mobile-menu-btn{display:block}.mobile-menu-dropdown{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;width:100%;background:#141414fa;border-top:1px solid #4a3f35;padding:.5rem;gap:.25rem;animation:slideDown .2s ease-out;z-index:1000}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.mobile-menu-dropdown button,.mobile-menu-dropdown .mobile-menu-user{background:#4a3f354d;border:1px solid #4a3f35;color:#e0d5c7;padding:.75rem 1rem;border-radius:6px;cursor:pointer;font-family:Crimson Text,serif;font-size:1rem;text-align:left;transition:all .2s ease}.mobile-menu-dropdown button:hover{background:#4a3f3580}.mobile-menu-dropdown .mobile-menu-user{background:#4a3f3526;cursor:default;font-weight:600;color:#d4a574}.mobile-menu-dropdown .mobile-logout{background:#80002033;border-color:#800020;margin-top:.25rem}.mobile-menu-dropdown .mobile-logout:hover{background:#80002066}.mobile-menu-dropdown .mobile-menu-trial-btn{display:block;background:linear-gradient(135deg,gold,#ff8c00);border:1px solid #ffd700;color:#1a1a1a;padding:.75rem 1rem;border-radius:6px;cursor:pointer;font-family:Crimson Text,serif;font-size:1rem;font-weight:600;text-align:center;text-decoration:none;transition:all .2s ease;box-shadow:0 2px 8px #ffd7004d}.mobile-menu-dropdown .mobile-menu-trial-btn:hover{background:linear-gradient(135deg,#ffec80,#fa3);transform:translateY(-1px);box-shadow:0 4px 12px #ffd70066}.app[data-character=tesla] .mobile-menu-btn{background:#1e32504d;border-color:#4a9eff;color:#7dd3ff}.app[data-character=tesla] .mobile-menu-dropdown{border-color:#4a9eff}.app[data-character=tesla] .mobile-menu-dropdown button{background:#1e32504d;border-color:#4a9eff;color:#7dd3ff}.app[data-character=tesla] .mobile-menu-dropdown .mobile-menu-user{color:#7dd3ff}.app[data-character=sam] .mobile-menu-btn{background:#2d5a3d4d;border-color:#4a8a5a;color:#ffb347}.app[data-character=sam] .mobile-menu-dropdown{border-color:#d4a76a}.app[data-character=sam] .mobile-menu-dropdown button{background:#2d5a3d4d;border-color:#4a8a5a;color:#ffb347}.creator-badge{font-size:10px;padding:3px 8px;margin-right:8px}.tesla-mode-toggle{font-size:10px;padding:4px 10px;margin-right:8px}.qr-btn{display:none}}.site-disclaimer{position:fixed;bottom:0;left:0;right:0;background:#1a1a1af2;color:#a89984;font-size:11px;text-align:center;padding:6px 12px;border-top:1px solid rgba(196,165,123,.2);z-index:100;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}@media (max-width: 768px){.site-disclaimer{font-size:10px;padding:5px 10px}}
