:root{--primary-color:#ef6528;--primary-dark:#1d2962;--bg-light:#fff7e9;--bg-white:#fff;--text-dark:#2f2e2e;--text-light:#646464;--dark-olive-green:#3a4e37;--shadow-light:rgba(0,0,0,.1);--transition-speed:0.2s;--border-radius:1.25rem;--avatar-skin:#ffdbac;--avatar-accent:#7a4c85;--accent-green:#9dcb3c;--accent-red:#892126;--accent-blue:#437fb7;--golden-yellow:#f5c243;--purplish-magenta:#7c3176;--light-pink:#f19fa8;--border-radius-sm:0.5rem;--border-radius-md:0.75rem;--border-radius-lg:1rem;--border-color:rgba(0,0,0,.1);--shadow-xs:0 1px 2px 0 rgba(0,0,0,.05);--shadow-sm:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--primary-color-rgb:239,101,40;--primary-dark-rgb:29,41,98;--bg-light-rgb:255,247,233}*{margin:0;padding:0;box-sizing:border-box;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.chat-wrapper{display:flex;justify-content:center;align-items:flex-start;min-height:100vh;padding:0;background:var(--primary-dark)}.chat-container{width:100%;max-width:800px;height:100vh;min-height:auto;background:var(--bg-white);border-radius:0;box-shadow:none;display:flex;flex-direction:column;overflow:hidden;transition:all var(--transition-speed) ease}.avatar-container{width:150px;height:150px;border:2px solid var(--primary-color);box-shadow:var(--shadow-md)}.avatar{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,var(--avatar-skin) 0,#ffc99d 100%);position:relative;display:flex;justify-content:center;align-items:center;box-shadow:var(--shadow-sm);border:2px solid var(--avatar-accent);overflow:hidden;transition:transform .3s ease}.avatar:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 30% 30%,hsla(0,0%,100%,.3) 0,hsla(0,0%,100%,0) 60%);z-index:3}.avatar-hair{position:absolute;top:-15px;left:0;right:0;height:45px;background:#5d4037;border-radius:50% 50% 0 0;z-index:1}.avatar-hair:after,.avatar-hair:before{content:"";position:absolute;background:#5d4037;height:50px}.avatar-hair:before{width:30px;height:70px;left:5px;top:20px;border-radius:50% 0 0 50%}.avatar-hair:after{width:30px;height:70px;right:5px;top:20px;border-radius:0 50% 50% 0}.avatar-face{width:90%;height:90%;position:relative;z-index:2;border-radius:50%;overflow:hidden}.avatar-face:after{content:"";position:absolute;bottom:15%;right:20%;width:12%;height:8%;background:rgba(255,183,168,.4);border-radius:50%;filter:blur(2px)}.avatar-eyebrows{display:flex;justify-content:space-between;width:70%;position:absolute;top:28%;left:15%}.avatar-eyebrow{width:15px;height:3px;background:#5d4037;border-radius:3px;position:relative}.avatar-eyebrow.left{transform:rotate(-10deg)}.avatar-eyebrow.right{transform:rotate(10deg)}.expression-happy .avatar-eyebrow.left{transform:rotate(-15deg)}.expression-happy .avatar-eyebrow.right{transform:rotate(15deg)}.expression-concerned .avatar-eyebrow.left{transform:rotate(15deg);left:-2px}.expression-concerned .avatar-eyebrow.right{transform:rotate(-15deg);right:-2px}.expression-thinking .avatar-eyebrow.left{transform:rotate(-5deg)}.expression-thinking .avatar-eyebrow.right{transform:rotate(20deg);top:-2px}.expression-empathetic .avatar-eyebrow.left{transform:rotate(8deg);left:-1px}.expression-empathetic .avatar-eyebrow.right{transform:rotate(-8deg);right:-1px}.avatar-eyes{display:flex;justify-content:space-between;width:70%;position:absolute;top:35%;left:15%}.avatar-eye{width:14px;height:14px;background:#fff;border-radius:50%;position:relative;display:flex;justify-content:center;align-items:center;border:1px solid #555;transition:all .1s ease}.avatar-eye.blinking{height:2px;background:#5d4037;border-radius:2px}.avatar-eye.blinking .avatar-eye-highlight,.avatar-eye.blinking .avatar-eye-pupil{opacity:0}.avatar-eye-pupil{width:6px;height:6px;background:#333;border-radius:50%;position:relative;transition:all .1s ease}.avatar-eye-highlight{top:20%;left:20%;width:3px;height:3px;background:#fff;opacity:.8}.avatar-eye-highlight,.avatar-nose{position:absolute;border-radius:50%}.avatar-nose{width:6px;height:10px;background:hsla(7,100%,78%,.7);top:52%;left:50%;transform:translateX(-50%)}.avatar-mouth{width:40%;height:6px;background:#9c27b0;position:absolute;bottom:25%;left:30%;border-radius:5px;transition:all .2s ease;overflow:hidden}.avatar-mouth-interior{position:absolute;top:50%;left:0;width:100%;height:100%;background:#f8bbd0;border-radius:0 0 50% 50%}.avatar-mouth.speaking{animation:talking .5s infinite alternate;height:15px;border-radius:6px}.avatar-cheeks{position:absolute;width:100%;top:55%}.avatar-cheek{position:absolute;width:15px;height:8px;background:hsla(7,100%,78%,.3);border-radius:50%;filter:blur(2px)}.avatar-cheek.left{left:10%}.avatar-cheek.right{right:10%}.expression-happy .avatar-cheek{background:hsla(7,100%,78%,.6);height:10px;top:2px}.expression-empathetic .avatar-cheek{background:hsla(7,100%,78%,.5)}@keyframes talking{0%{height:8px;border-radius:5px}to{height:18px;border-radius:10px}}.avatar-status{margin-top:.5rem;font-size:.95rem;color:var(--primary-color);font-weight:500;text-align:center}.chat-header{background:linear-gradient(135deg,var(--primary-dark) 0,var(--primary-color) 100%);color:#fff;padding:1rem 1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:var(--shadow-sm);position:-webkit-sticky;position:sticky;top:0;z-index:100}.chat-header img{width:48px;height:48px;border-radius:var(--border-radius-sm)}.chat-header-title{font-weight:600;font-size:1.25rem;letter-spacing:-.25px;flex:1 1}.header-actions{display:flex;align-items:center;gap:.75rem}.accessibility-icon-btn,.export-btn,.header-btn{background:hsla(0,0%,100%,.15);border:none;width:40px;height:40px;border-radius:var(--border-radius-md);display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;transition:all var(--transition-speed) ease}.accessibility-icon-btn.active{background:hsla(0,0%,100%,.3);box-shadow:0 0 0 2px hsla(0,0%,100%,.5)}.recording-mic{animation:pulseMic 1.5s ease-in-out infinite;color:var(--light-pink)}@keyframes pulseMic{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.2);opacity:1}}.accessibility-icon-btn:hover,.export-btn:hover,.header-btn:hover{background:hsla(0,0%,100%,.25);transform:translateY(-1px)}.export-btn-container{position:relative}.export-tooltip{position:absolute;top:calc(100% + 8px);right:0;background:var(--text-dark);color:#fff;font-size:.8rem;font-weight:500;padding:.5rem .75rem;border-radius:var(--border-radius-sm);box-shadow:var(--shadow-md);white-space:nowrap;z-index:1000;animation:fadeInOut 3s forwards}@keyframes fadeInOut{0%{opacity:0;transform:translateY(-5px)}10%{opacity:1;transform:translateY(0)}90%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-5px)}}.chat-messages{flex:1 1;overflow-y:auto;padding:1.5rem;background:var(--bg-light);gap:1.25rem;scroll-behavior:smooth}.chat-messages,.message-row{display:flex;flex-direction:column}.message-row,.user-msg{max-width:80%}.user-msg{align-self:flex-end}.bot-msg{align-self:flex-start}.bubble-container{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.25rem}.bubble{padding:.875rem 1.125rem;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);line-height:1.6;transition:box-shadow var(--transition-speed) ease;word-wrap:break-word}.bubble-actions{display:flex;align-items:center;gap:.5rem;opacity:.6;transition:opacity var(--transition-speed) ease;padding:.25rem 0}.bot-msg .bubble{background:var(--bg-white);color:var(--text-dark);border-top-left-radius:var(--border-radius-sm)}.user-msg .bubble{background:var(--primary-color);color:#fff;border-top-right-radius:var(--border-radius-sm)}.chat-input-area{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;background:var(--bg-white);border-top:1px solid var(--border-color);position:-webkit-sticky;position:sticky;bottom:0;z-index:100}.suggestion-bubbles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:.75rem;gap:.75rem;margin-bottom:.5rem;width:100%}.suggestion-bubble{background:rgba(0,46,93,.05);color:var(--primary-dark);border:1px solid rgba(0,46,93,.1);border-radius:var(--border-radius-md);padding:.75rem 1rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-speed) ease;text-align:center;display:flex;align-items:center;justify-content:center;min-height:44px;word-break:break-word}.suggestion-bubble:hover{background:rgba(0,46,93,.1);transform:translateY(-2px);box-shadow:var(--shadow-xs)}.input-container{position:relative;display:flex;align-items:center;width:100%;margin-bottom:0}.chat-input{flex:1 1;border:1px solid var(--border-color);border-radius:var(--border-radius-md);font-size:1rem;outline:none;transition:border var(--transition-speed) ease,box-shadow var(--transition-speed) ease;padding:.875rem 3.5rem .875rem 1.25rem}.chat-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(239,101,40,.15)}.chat-send-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%) rotate(90deg);cursor:pointer;color:var(--primary-color);padding:.5rem}.chat-send-icon:hover{color:var(--primary-dark)}.recording-status{position:absolute;display:flex;align-items:center;gap:.5rem;top:-32px;left:10px;background-color:var(--bg-white);padding:.4rem .8rem;border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);z-index:10;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.recording-indicator{position:absolute;right:55px;top:50%;transform:translateY(-50%);display:flex;align-items:center}.recording-wave{width:10px;height:10px;border-radius:50%;background-color:var(--accent-red);animation:pulseWave 1.5s ease-in-out infinite}@keyframes pulseWave{0%{transform:scale(.9);box-shadow:0 0 0 0 rgba(137,33,38,.7)}70%{transform:scale(1.1);box-shadow:0 0 0 8px rgba(137,33,38,0)}to{transform:scale(.9);box-shadow:0 0 0 0 rgba(137,33,38,0)}}.accessibility-reminder{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.75rem}.reminder-badge{display:flex;align-items:center;gap:.4rem;font-size:.8rem;padding:.4rem .75rem;border-radius:var(--border-radius-md);font-weight:500}.reminder-badge.tts-active{background:rgba(67,127,183,.1);color:var(--accent-blue)}.reminder-badge.stt-active{background:rgba(157,203,60,.1);color:var(--accent-green)}.typing-indicator{display:flex;align-items:center;gap:.6rem;font-size:.9rem;color:var(--text-light);margin-left:.5rem;padding:.5rem 0;animation:floatIn .3s ease}@keyframes floatIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.typing-dots{display:flex;align-items:center;gap:4px}.typing-dots span{width:7px;height:7px;background:var(--text-light);border-radius:50%;animation:blink 1.4s infinite both}.typing-dots span:first-child{animation-delay:0s}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.3}40%{opacity:1}}.help-panel,.settings-panel{background:var(--bg-light);border-bottom:1px solid var(--border-color);padding:1.5rem;position:relative;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.help-panel h3,.settings-panel h3{color:var(--primary-dark);margin-bottom:1rem;font-size:1.125rem;font-weight:600}.help-content,.settings-content{color:var(--text-dark);font-size:.9rem;line-height:1.6}.help-content ul{list-style-position:outside;padding-left:1.5rem;margin-bottom:1rem}.help-content li{margin-bottom:.5rem}.close-btn{position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:var(--primary-color);font-size:1.25rem;font-weight:700;cursor:pointer;padding:.25rem;border-radius:50%;transition:all var(--transition-speed) ease;line-height:1}.close-btn:hover{background:rgba(0,46,93,.1);color:var(--primary-dark)}.setting-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.5rem 0}.setting-item label{font-weight:500;color:var(--text-dark)}.toggle-switch{position:relative;display:inline-block;width:40px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;border-radius:24px}.slider,.slider:before{position:absolute;transition:.4s}.slider:before{content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;border-radius:50%}input:checked+.slider{background-color:var(--primary-color)}input:focus+.slider{box-shadow:0 0 1px var(--primary-color)}input:checked+.slider:before{transform:translateX(16px)}.size-buttons{display:flex;gap:.5rem}.size-buttons button{border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:.3rem .6rem;background-color:var(--bg-white);color:var(--text-dark);cursor:pointer;transition:all var(--transition-speed) ease}.size-buttons button:hover{border-color:var(--primary-dark);color:var(--primary-dark)}.size-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.settings-note{font-size:.8rem;color:var(--text-light);margin-top:1rem;text-align:center}.auto-send-indicator{position:absolute;bottom:-22px;left:0;width:100%;height:3px;background-color:rgba(var(--primary-color-rgb),.2);border-radius:0 0 var(--border-radius-md) var(--border-radius-md);overflow:hidden}.auto-send-progress{height:100%;background-color:var(--primary-color);transition:width .05s linear;border-radius:0 0 0 var(--border-radius-md)}.auto-send-indicator.full .auto-send-progress{border-radius:0 0 var(--border-radius-md) var(--border-radius-md)}.auto-send-text{position:absolute;top:-20px;right:0;font-size:.75rem;color:var(--primary-color);font-weight:500}@media (max-width:768px){.chat-wrapper{padding:0}.chat-container{width:100%;height:100%;border-radius:0;max-width:none;box-shadow:none}.chat-header{padding:.75rem 1rem}.chat-header-title{font-size:1.125rem}.accessibility-icon-btn,.export-btn,.header-btn{width:36px;height:36px}.chat-messages{padding:1rem}.bubble{padding:.75rem 1rem}.chat-input-area{padding:1rem;gap:.75rem}.suggestion-bubbles{gap:.5rem}.suggestion-bubble{font-size:.8rem;padding:.6rem .8rem;min-height:40px}.bubble-actions{opacity:1;pointer-events:auto}.input-container{margin-bottom:0}.auto-send-indicator{bottom:0;left:0;right:0;border-radius:0 0 var(--border-radius-md) var(--border-radius-md)}.chat-input{border-bottom-left-radius:var(--border-radius-md);border-bottom-right-radius:var(--border-radius-md)}.auto-send-text{display:none}}@media (min-width:769px){.bubble-container:hover .bubble-actions{opacity:1;pointer-events:auto}}.avatar-wrapper{width:100%;display:flex;justify-content:center;align-items:center;padding:1rem 0;background-color:var(--bg-white)}.talking-head-container{position:relative;width:200px;height:200px;overflow:visible;background-color:transparent;box-shadow:none}@media (max-width:768px){.avatar-wrapper{padding:.75rem 0}.talking-head-container{width:150px;height:150px}.avatar-container{display:none!important}}@media (max-width:480px){.avatar-wrapper{padding:.5rem 0}.talking-head-container{width:120px;height:120px}}#avatar-model-container,.avatar-loading{position:absolute;top:0;left:0;width:100%;height:100%}.avatar-loading{display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:rgba(var(--bg-light-rgb),.9);color:var(--text-dark);border-radius:50%;z-index:15}.loading-spinner{width:30px;height:30px;border-radius:50%;border:3px solid rgba(var(--primary-dark-rgb),.2);border-top-color:var(--primary-color);animation:spin 1s ease-in-out infinite;margin-bottom:.5rem}@keyframes spin{to{transform:rotate(1turn)}}.loading-text{font-size:.8rem;text-align:center}.thumb-buttons{display:flex;gap:.5rem}.copy-btn,.thumb-btn{background-color:rgba(0,0,0,.05);border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--text-light);cursor:pointer;transition:all var(--transition-speed) ease}.copy-btn:hover,.thumb-btn:hover{background-color:rgba(0,0,0,.1);color:var(--text-dark)}.thumb-btn.selected{background-color:var(--primary-color);color:#fff}.copy-container{position:relative}.copied-tooltip{background-color:var(--text-dark);color:#fff;padding:.25rem .5rem;border-radius:var(--border-radius-sm);font-size:.75rem;position:absolute;bottom:100%;left:50%;transform:translateX(-50%) translateY(-4px);white-space:nowrap;opacity:0;animation:fadeInOutCopied 2s forwards;pointer-events:none}@keyframes fadeInOutCopied{0%{opacity:0;transform:translateX(-50%) translateY(0)}10%{opacity:1;transform:translateX(-50%) translateY(-4px)}90%{opacity:1;transform:translateX(-50%) translateY(-4px)}to{opacity:0;transform:translateX(-50%) translateY(-8px)}}