:root{--bg-color:#1a1a1a;--text-color:#e0e0e0;--chat-bg:#2d2d2d;--user-msg-bg:#4caf50;--agent-msg-bg:#3d3d3d;--input-bg:#444;--accent:#00bcd4;--modal-bg:#1e1e1e;--control-bg:rgba(30,30,30,.85)}body.theme-light{--bg-color:#f0f2f5;--text-color:#333;--chat-bg:#fff;--user-msg-bg:#dcf8c6;--agent-msg-bg:#f0f0f0;--input-bg:#eee;--accent:#007bff;--modal-bg:#fff;--control-bg:hsla(0,0%,100%,.9)}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:var(--bg-color);color:var(--text-color);height:100vh;overflow:hidden;flex-direction:column}body,header{display:flex}header{padding:15px 20px;background-color:var(--chat-bg);border-bottom:1px solid #444;justify-content:space-between;align-items:center;flex-shrink:0;z-index:10}.logo{font-weight:700;font-size:1.2rem;color:var(--accent)}.header-controls button{background:none;border:none;color:var(--text-color);cursor:pointer;font-size:1.2rem;margin-left:15px}.header-left-controls{display:flex;align-items:center;margin-right:auto}.header-left-controls button{margin-left:20px;background:none;border:none;color:var(--text-color);cursor:pointer;font-size:1.2rem}.settings-note{display:block;margin-top:10px;color:#777;font-size:.85em}#app-container{flex-direction:column;height:100vh;max-width:1200px}#app-container,#chat-section{display:flex;margin:0 auto;width:100%}#chat-section{max-width:800px}#chat-section,#messages-list{flex:1;flex-direction:column;min-height:0}#messages-list{overflow-y:auto;padding:20px;display:flex;gap:15px;scroll-behavior:smooth}.message{max-width:80%;display:flex;flex-direction:column;position:relative;flex-shrink:0}.message.user{align-self:flex-end}.message.agent{align-self:flex-start}.bubble{padding:10px 15px;border-radius:18px;font-size:1rem;line-height:1.4}.message.user .bubble{background-color:var(--user-msg-bg);color:#000;border-bottom-right-radius:4px}.message.agent .bubble{background-color:var(--agent-msg-bg);color:var(--text-color);border-bottom-left-radius:4px}.agent-summary{display:flex;align-items:center;gap:10px;cursor:pointer}.agent-summary:hover{opacity:.8}.agent-summary i{color:var(--accent);font-size:1.2rem}.summary-text{font-size:.9rem;color:#aaa}.input-area{padding:20px;background-color:var(--chat-bg);display:flex;flex-direction:column;gap:16px;border-top:1px solid #444;flex-shrink:0;z-index:20}.input-row{display:flex;align-items:flex-end;gap:10px;width:100%}.input-prompt{background-color:hsla(0,0%,100%,.03);border-radius:12px;padding:14px 18px;border:1px solid hsla(0,0%,100%,.08);box-shadow:0 4px 6px rgba(0,0,0,.1);font-size:.9rem;color:#ffb74d;line-height:1.5;width:100%;animation:fadeInPrompt .4s ease-out}.input-prompt i{margin-right:8px;font-size:.95rem;color:var(--accent)}body.theme-light .input-prompt{color:#e65100}@keyframes fadeInPrompt{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}#user-input{flex:1;padding:12px;border-radius:20px;border:1px solid #555;background-color:var(--input-bg);color:var(--text-color);resize:none;min-height:50px;max-height:150px;height:auto;line-height:1.5;flex-grow:1}#send-btn{background-color:var(--accent);color:#fff;border:none;width:50px;height:50px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.hidden{display:none!important}#video-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000;z-index:1000;display:flex;flex-direction:column;justify-content:center;align-items:center}#video-overlay.hidden{display:none}#video-canvas{object-fit:contain;position:absolute}#video-canvas,#video-controls{width:100%;height:100%;top:0;left:0}#video-controls{position:fixed;z-index:3000;pointer-events:none}#video-controls.hidden{display:none}.top-right-btn{top:20px;right:20px;background:rgba(0,0,0,.4);color:#fff;font-size:1.5rem}.controls-bottom-area,.top-right-btn{position:absolute;pointer-events:auto}.controls-bottom-area{bottom:30px;left:0;width:100%;display:flex;flex-direction:column;align-items:center;gap:15px}#video-progress{width:80%;height:6px;-webkit-appearance:none;appearance:none;background:hsla(0,0%,100%,.3);border-radius:5px;outline:none;cursor:pointer;padding:0;box-sizing:border-box;margin:0}#video-progress::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--accent);cursor:pointer;transition:transform .1s ease}#video-progress::-webkit-slider-thumb:hover{transform:scale(1.2)}#video-progress::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--accent);cursor:pointer;border:none}.controls-row{display:flex;align-items:center;gap:30px}.icon-btn,.play-pause-wrapper{display:flex;align-items:center;justify-content:center}.icon-btn{background:none;border:none;color:#fff;cursor:pointer;padding:10px;border-radius:50%;transition:background-color .2s ease,transform .1s ease}.icon-btn:hover{background-color:hsla(0,0%,100%,.15)}.icon-btn:active{transform:scale(.95)}.main-ctrl{font-size:3rem}.controls-row .icon-btn i{font-size:1.8rem}#video-spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9998;font-size:3rem;color:#fff;animation:none}#video-spinner.hidden{display:none}#video-finished{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9999;font-size:3rem;color:var(--accent);animation:none}#video-finished.hidden{display:none}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);z-index:2000;display:flex;justify-content:center;align-items:center}.modal.hidden{display:none}.modal-content{background:var(--modal-bg);padding:20px;border-radius:10px;width:90%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 4px 15px rgba(0,0,0,.5)}.modal-content.small{max-width:400px}.modal-header{display:flex;justify-content:space-between;margin-bottom:15px}.modal-header h3{margin:0}.modal-body{flex:1;overflow-y:auto;margin-bottom:15px}.modal-footer{display:flex;justify-content:flex-end;gap:10px}#copy-text-btn{font-size:1.5rem;transition:transform .1s ease}.checkbox-wrapper{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding-bottom:5px}.checkbox-wrapper input[type=checkbox]{width:16px;height:16px;margin:0!important;cursor:pointer;flex-shrink:0}.settings-note-label{color:#888;font-size:.85rem;cursor:pointer;user-select:none}@keyframes copyPulse{0%{transform:scale(1)}50%{transform:scale(1.2);color:#28a745}to{transform:scale(1)}}.animate-pulse{animation:copyPulse .3s ease-in-out}button{cursor:pointer}input{width:100%;padding:8px;margin-bottom:10px;border-radius:4px;border:1px solid #555;background:#333;color:#fff}#text-modal .modal-body p{margin:0;white-space:pre-wrap}