: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.romantic-theme{--bg-main: #fff0f5;--bg-surface: #ffffff;--primary-green: #ff69b4;--primary-green-dark: #ff1493;--primary-green-light: #ffb6c1;--text-primary: #c71585;--text-secondary: #db7093;--border-color: #ffc0cb;--glow-color: rgba(255, 105, 180, .3)}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);transition:background-color .5s ease,color .5s ease}.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,.lecture-list li div{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;text-align:left}.scenario-buttons button:disabled{opacity:.7;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);text-align:center}.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}.answer-button.correct{background-color:var(--primary-green-light);border-color:var(--primary-green);color:var(--primary-green-dark);font-weight:700}.answer-button.incorrect{background-color:#fee2e2;border-color:var(--error-color);color:#b91c1c;font-weight:700}.slide-image{max-width:100%;border-radius:8px;border:1px solid var(--border-color);margin-top:1.5rem;animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.sparkle-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9998;overflow:hidden}.sparkle{position:absolute;width:6px;height:6px;background-color:var(--primary-green);border-radius:50%;opacity:0;animation:sparkle-anim infinite}@keyframes sparkle-anim{0%,to{opacity:0;transform:scale(.5) rotate(0)}25%{opacity:1;transform:scale(1.2) rotate(90deg)}50%{opacity:1;transform:scale(1) rotate(180deg)}75%{opacity:1;transform:scale(1.2) rotate(270deg)}}.heart-sparkle-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9998;overflow:hidden}.heart-sparkle{position:absolute;color:var(--primary-green);opacity:0;animation:heart-sparkle-anim infinite;text-shadow:0 0 10px var(--glow-color)}@keyframes heart-sparkle-anim{0%,to{opacity:0;transform:scale(.5) rotate(-20deg)}25%,75%{opacity:1;transform:scale(1.2) rotate(20deg)}50%{opacity:1;transform:scale(1) rotate(0)}}.fading-smiley-container{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;pointer-events:none;z-index:9997;overflow:hidden}.fading-smiley{font-size:30vw;color:var(--primary-green);opacity:0;animation:fade-in-out 3s ease-in-out forwards}@keyframes fade-in-out{0%{opacity:0;transform:scale(.8)}25%{opacity:.2;transform:scale(1)}75%{opacity:.2;transform:scale(1)}to{opacity:0;transform:scale(1.2)}}
