:root{--background-color: #121212;--surface-color: #1e1e1e;--primary-color: #bb86fc;--text-color: #e0e0e0;--border-color: #333;--record-color: #ef5350}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--background-color);color:var(--text-color)}.app{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:20px;box-sizing:border-box}.language-switcher{position:absolute;top:20px;right:20px}.language-switcher button{background:none;border:1px solid var(--primary-color);color:var(--primary-color);padding:5px 10px;margin-left:5px;cursor:pointer;border-radius:4px;transition:all .2s ease-in-out}.language-switcher button:hover{background-color:#bb86fc1a}.upload-screen,.chat-screen{width:100%;max-width:800px;background-color:var(--surface-color);border-radius:8px;padding:30px;box-shadow:0 4px 20px #00000040}.upload-screen{text-align:center}.upload-screen h1{margin-top:0}.upload-button{background-color:var(--primary-color);color:var(--background-color);border:none;padding:15px 30px;font-size:16px;border-radius:8px;cursor:pointer;margin-top:20px;transition:background-color .2s ease-in-out}.upload-button:disabled{background-color:#555;cursor:not-allowed}.chat-container{display:flex;flex-direction:column;height:70vh}.messages{flex-grow:1;overflow-y:auto;padding:10px;border:1px solid var(--border-color);border-radius:8px;margin-bottom:20px;display:flex;flex-direction:column}.message{margin-bottom:15px;padding:10px 15px;border-radius:18px;max-width:75%;line-height:1.4;word-wrap:break-word}.message.user{background-color:var(--primary-color);color:var(--background-color);align-self:flex-end;margin-left:auto}.message.ai{background-color:#333;align-self:flex-start;margin-right:auto}.input-area{display:flex;gap:10px}.input-area input{flex-grow:1;padding:15px;border-radius:8px;border:1px solid var(--border-color);background-color:#2a2a2a;color:var(--text-color);font-size:16px;outline:none}.input-area input:focus{border-color:var(--primary-color)}.mic-button{background-color:var(--primary-color);border:none;border-radius:50%;width:50px;height:50px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background-color .2s ease-in-out}.mic-button.recording{background-color:var(--record-color);animation:pulse 1.5s infinite}.mic-button svg{width:24px;height:24px;fill:var(--background-color)}@keyframes pulse{0%{box-shadow:0 0 #ef5350b3}70%{box-shadow:0 0 0 10px #ef535000}to{box-shadow:0 0 #ef535000}}.message.system{background-color:transparent;color:var(--primary-color);align-self:center;text-align:center;font-style:italic;max-width:100%}.input-area textarea{flex-grow:1;padding:15px;border-radius:8px;border:1px solid var(--border-color);background-color:#2a2a2a;color:var(--text-color);font-size:16px;outline:none;font-family:inherit}.input-area button{background-color:var(--primary-color);color:var(--background-color);border:none;padding:0 20px;font-size:16px;border-radius:8px;cursor:pointer}.input-area button:disabled{background-color:#555;cursor:not-allowed}.home-page{width:100%;max-width:800px;display:flex;flex-direction:column;gap:2rem}.upload-section,.history-section{background-color:var(--surface-color);padding:20px;border-radius:8px}.lecture-list{list-style:none;padding:0}.lecture-list li a{display:flex;justify-content:space-between;padding:15px;background-color:#2a2a2a;margin-bottom:10px;border-radius:4px;text-decoration:none;color:var(--text-color);transition:background-color .2s}.lecture-list li a:hover{background-color:#333}.lecture-list .date{color:#aaa}.error-text{color:#ff8a80;margin-top:10px}.scenario-selection-page{text-align:center;background-color:var(--surface-color);padding:30px;border-radius:8px;width:100%;max-width:600px}.scenario-buttons{display:flex;flex-direction:column;gap:1rem;margin-top:20px}.scenario-buttons button{background-color:var(--primary-color);color:var(--background-color);border:none;padding:15px;font-size:16px;border-radius:8px;cursor:pointer}.input-area{gap:10px}.input-area textarea{flex-grow:1;padding:10px 15px;border-radius:20px;border:1px solid var(--border-color);background-color:#2a2a2a;color:var(--text-color);font-size:16px;outline:none;font-family:inherit;resize:none}.input-area button{white-space:nowrap}.end-buttons{display:flex;justify-content:center;gap:1rem;margin-top:20px}.end-buttons button{background-color:var(--primary-color);color:var(--background-color);border:none;padding:15px 30px;font-size:16px;border-radius:8px;cursor:pointer}.app-header{width:100%;max-width:1200px;padding:1rem 2rem;box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;position:absolute;top:0;left:50%;transform:translate(-50%);z-index:10}.header-title{font-size:1.75rem;font-weight:700;color:var(--primary-color);text-decoration:none}.header-controls{display:flex;align-items:center;gap:1.5rem}.language-switcher{display:flex;border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.language-switcher button{background:none;border:none;color:var(--text-color);padding:8px 12px;cursor:pointer;transition:background-color .2s}.language-switcher button.active{background-color:var(--primary-color);color:var(--background-color)}.home-link-button{background-color:var(--surface-color);color:var(--text-color);padding:8px 16px;border-radius:8px;text-decoration:none;font-weight:500;border:1px solid var(--border-color);transition:all .2s}.home-link-button:hover{border-color:var(--primary-color);color:var(--primary-color)}.app{display:flex;flex-direction:column;align-items:center;min-height:100vh;padding-top:80px;box-sizing:border-box}.app-content{width:100%;display:flex;justify-content:center;padding:20px;box-sizing:border-box;flex-grow:1}.password-gate{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100%;padding:20px;box-sizing:border-box;background-color:var(--background-color)}.password-box{background-color:var(--surface-color);padding:40px;border-radius:12px;box-shadow:0 0 35px #bb86fc26;border:1px solid var(--border-color);text-align:center;width:100%;max-width:400px;animation:fadeIn .6s ease-in-out}.password-box h1{color:var(--primary-color);margin-top:0;margin-bottom:10px;font-size:2rem;font-weight:700}.password-box p{margin-bottom:30px;color:#aaa}.password-box input{width:100%;padding:15px;text-align:center;letter-spacing:.3em;box-sizing:border-box;border-radius:8px;border:1px solid var(--border-color);background-color:#2a2a2a;color:var(--text-color);font-size:18px;outline:none;margin-bottom:20px;transition:border-color .3s,box-shadow .3s}.password-box input:focus{border-color:var(--primary-color);box-shadow:0 0 15px #bb86fc4d}.password-box button{width:100%;background-color:var(--primary-color);color:var(--background-color);border:none;padding:15px 30px;font-size:16px;font-weight:700;border-radius:8px;cursor:pointer;transition:all .2s ease-in-out}.password-box button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #bb86fc40}.password-error-text{margin-top:15px;color:var(--record-color);font-weight:500;min-height:22px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
