:root{--bg-main: #f4f7f9;--bg-surface: #ffffff;--primary-green: #10b981;--primary-green-dark: #059669;--primary-green-light: #d1fae5;--text-primary: #1f2937;--text-secondary: #6b7280;--border-color: #e5e7eb;--shadow-color: rgba(99, 102, 241, .1);--glow-color: rgba(16, 185, 129, .3);--error-color: #ef4444}body{margin:0;font-family:Inter,-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(--bg-main);color:var(--text-primary)}.app{display:flex;flex-direction:column;align-items:center;min-height:100vh;padding-top:100px;box-sizing:border-box}.app-content{width:100%;display:flex;justify-content:center;padding:20px;box-sizing:border-box;flex-grow:1}.app-header{width:100%;background-color:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);padding:0 2rem;box-sizing:border-box;display:flex;justify-content:center;align-items:center;position:fixed;top:0;left:0;z-index:1000;height:70px}.header-content{width:100%;max-width:1200px;display:flex;justify-content:space-between;align-items:center}.header-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);text-decoration:none;display:flex;align-items:center;gap:8px}.header-title img{height:28px}.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-secondary);font-weight:600;padding:8px 14px;cursor:pointer;transition:all .2s ease}.language-switcher button.active{background-color:var(--primary-green-light);color:var(--primary-green-dark)}.password-gate{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100%;padding:20px;box-sizing:border-box;background-color:var(--bg-main)}.password-box{background-color:var(--bg-surface);padding:40px;border-radius:12px;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(--text-primary);margin-top:0;margin-bottom:10px;font-size:1.75rem}.password-box p{margin-bottom:30px;color:var(--text-secondary)}.password-box input{width:100%;padding:14px;text-align:center;box-sizing:border-box;border-radius:8px;border:1px solid var(--border-color);background-color:var(--bg-main);color:var(--text-primary);font-size:16px;outline:none;margin-bottom:20px;transition:all .3s}.password-box input:focus{border-color:var(--primary-green);box-shadow:0 0 0 3px var(--glow-color)}.password-box button{width:100%;background-color:var(--primary-green);color:#fff;border:none;padding:14px 30px;font-size:16px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s ease-in-out}.password-box button:hover{background-color:var(--primary-green-dark)}.password-error-text{margin-top:15px;color:var(--error-color);font-weight:500;min-height:22px}.home-page{width:100%;max-width:800px;display:flex;flex-direction:column;gap:2.5rem}.upload-section,.history-section{background-color:var(--bg-surface);padding:2rem;border-radius:12px;border:1px solid var(--border-color)}.upload-section h1{font-size:1.75rem;margin-top:0;margin-bottom:8px}.upload-section p{color:var(--text-secondary);margin-top:0;margin-bottom:1.5rem}.upload-button{background-color:var(--primary-green);color:#fff;border:none;padding:12px 24px;font-size:1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s}.upload-button:disabled{background-color:#9ca3af;cursor:not-allowed}.upload-button:hover:not(:disabled){background-color:var(--primary-green-dark)}.history-section h2{font-size:1.5rem;margin-top:0}.lecture-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.lecture-list li a{display:flex;justify-content:space-between;align-items:center;padding:1rem;background-color:var(--bg-main);border-radius:8px;text-decoration:none;color:var(--text-primary);border:1px solid transparent;transition:all .2s}.lecture-list li a:hover{border-color:var(--primary-green);background-color:var(--bg-surface)}.lecture-list .file-name{font-weight:600}.lecture-list .date{color:var(--text-secondary);font-size:.875rem}.error-text{color:var(--error-color);margin-top:10px}.scenario-selection-page{text-align:center;background-color:var(--bg-surface);padding:2.5rem;border-radius:12px;border:1px solid var(--border-color);width:100%;max-width:600px}.scenario-selection-page h1{font-size:1.75rem;margin-top:0}.scenario-selection-page h2{font-size:1.125rem;color:var(--text-secondary);font-weight:500}.scenario-buttons{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:2rem}.scenario-buttons button{background-color:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-color);padding:14px;font-size:1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s}.scenario-buttons button:disabled{opacity:.5;cursor:not-allowed}.scenario-buttons button:hover:not(:disabled){border-color:var(--primary-green);color:var(--primary-green);transform:translateY(-2px)}.scenario-buttons button.random-button{background-color:var(--primary-green-light);border-color:var(--primary-green-light);color:var(--primary-green-dark)}.scenario-buttons button.random-button:hover:not(:disabled){background-color:#a7f3d0;border-color:#a7f3d0}.chat-screen{width:100%;max-width:800px;height:calc(100vh - 140px);background-color:var(--bg-surface);border-radius:12px;border:1px solid var(--border-color);display:flex;flex-direction:column}.messages{flex-grow:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.message{padding:10px 16px;border-radius:18px;max-width:75%;line-height:1.5;word-wrap:break-word;font-size:.95rem}.message.user{background-color:var(--primary-green);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}.message.ai{background-color:var(--bg-main);color:var(--text-primary);align-self:flex-start;border-bottom-left-radius:4px}.message.system{background-color:transparent;color:var(--text-secondary);align-self:center;text-align:center;font-style:italic;font-size:.875rem;max-width:100%}.input-area{padding:1rem 1.5rem;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:.75rem}.input-wrapper{display:flex;gap:.75rem}.input-area textarea{flex-grow:1;padding:10px 15px;border-radius:8px;border:1px solid var(--border-color);background-color:var(--bg-main);color:var(--text-primary);font-size:1rem;outline:none;font-family:inherit;resize:none;transition:all .2s}.input-area textarea:focus{border-color:var(--primary-green);box-shadow:0 0 0 3px var(--glow-color)}.input-area button{background-color:var(--primary-green);color:#fff;border:none;padding:0 20px;font-size:1rem;font-weight:600;border-radius:8px;cursor:pointer;white-space:nowrap;transition:background-color .2s}.input-area button:disabled{background-color:#9ca3af;cursor:not-allowed}.input-area button.secondary{background-color:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--border-color)}.input-area button.secondary:hover:not(:disabled){border-color:var(--text-secondary)}.qa-section{padding:1.5rem;border-top:1px solid var(--border-color);animation:fadeIn .5s ease}.qa-question{background-color:var(--primary-green-light);color:var(--primary-green-dark);padding:1rem;border-radius:8px;margin-bottom:1rem;font-weight:600}.evaluation-box{background-color:var(--bg-main);border:1px solid var(--border-color);padding:1rem;border-radius:8px;margin-top:1rem;animation:fadeIn .5s ease}.evaluation-box h3{margin-top:0;font-size:1.1rem;border-bottom:1px solid var(--border-color);padding-bottom:.5rem;margin-bottom:1rem}.evaluation-box ul{padding-left:20px;margin:0;color:var(--text-secondary)}.evaluation-box p{margin:0;color:var(--text-secondary)}.evaluation-box .markdown-content *+*{margin-top:.75em}.qa-controls{display:flex;justify-content:flex-end;margin-top:1rem}.end-buttons{display:flex;justify-content:center;gap:1rem;margin-top:20px;padding:1.5rem}.end-buttons button{background-color:var(--primary-green);color:#fff;border:none;padding:12px 24px;font-size:1rem;font-weight:600;border-radius:8px;cursor:pointer}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
