:root{--text-primary: #f0f0f0;--text-secondary: #a0a0a0;--border-color: rgba(255, 255, 255, .2);--border-dashed: rgba(255, 255, 255, .3);--slot-bg: rgba(0,0,0,.2);--slot-bg-hover: rgba(0,0,0,.3);--glass-bg: rgba(20, 20, 30, .6);--glass-bg-light: rgba(255, 255, 255, .1);--success-color: #2ecc71;--error-color: #e74c3c;--mnemonic-bg: rgba(0,0,0,.2);--crammai-calm-primary: #8cbaff;--crammai-calm-dark: #0f1a3a;--crammai-warning-primary: #46e8ff;--crammai-warning-dark: #002b3a;--crammai-zoom-primary: #7c3aed;--crammai-zoom-dark: #25163d;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);color:var(--text-primary);background-color:#000;overflow-x:hidden;transition:background-color .5s ease}body.theme-neutral{background-color:#121212}body.theme-calm{background-color:var(--crammai-calm-dark)}body.theme-warn{background-color:var(--crammai-warning-dark)}body.theme-zoom{background:linear-gradient(135deg,#5b21b6,#7c3aed)}.container{max-width:1100px;margin:0 auto;padding:24px;position:relative;z-index:2}.app-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:24px;margin-bottom:32px}.app-header>:only-child{margin:0 auto}.emblem{display:inline-flex;align-items:center;gap:12px}.emblem-text{font-size:2rem;font-weight:900;letter-spacing:-1px;color:var(--text-primary)}.view-container{animation:fadeIn .5s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-header{text-align:center;margin-bottom:48px}.page-header h1{font-size:2.5rem;font-weight:900;margin-bottom:8px;letter-spacing:-1.5px;background:linear-gradient(45deg,var(--dynamic-primary),#fff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.page-header .subtitle{font-size:1.2rem;color:var(--text-secondary);max-width:500px;margin:0 auto}.mode-selection{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}.mode-card{background:var(--glass-bg);border:1px solid var(--border-color);border-radius:12px;padding:24px;text-align:center;cursor:pointer;transition:all .2s ease-in-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mode-card:hover{transform:translateY(-5px);border-color:var(--dynamic-primary);box-shadow:0 8px 30px #0003}.mode-icon{font-size:3rem;margin-bottom:16px;filter:grayscale(30%);transition:filter .2s}.mode-card:hover .mode-icon{filter:grayscale(0%)}.mode-title{font-size:1.5rem;font-weight:700;margin-bottom:8px}.mode-card.calm:hover{border-color:var(--crammai-calm-primary)}.mode-card.warn:hover{border-color:var(--crammai-warning-primary)}.mode-card.zoom:hover{border-color:var(--crammai-zoom-primary)}.mode-description{color:var(--text-secondary);line-height:1.5}.back-button{background:none;border:none;color:var(--text-secondary);font-size:1rem;cursor:pointer;transition:color .2s}.back-button:hover{color:var(--text-primary)}.upload-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.status-message{text-align:right}.status-text{font-weight:700;font-size:1.1rem;color:var(--dynamic-primary)}.status-subtext{color:var(--text-secondary);font-size:.9rem}.theme-zoom .status-text{color:#fffffff2}.theme-zoom .status-subtext{color:#fffc}.upload-section{background:var(--glass-bg);border:1px solid var(--border-color);border-radius:12px;padding:32px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.upload-title{text-align:center;font-size:1.5rem;margin-bottom:24px}.upload-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.upload-slot{aspect-ratio:4 / 3;background:var(--slot-bg);border:2px dashed var(--border-dashed);border-radius:8px;display:flex;justify-content:center;align-items:center;transition:all .2s ease;position:relative;overflow:hidden}.upload-slot.active{border-color:var(--dynamic-primary);box-shadow:0 0 15px var(--dynamic-primary-trans)}.upload-slot.drag-over{transform:scale(1.05);background:var(--slot-bg-hover);border-color:var(--success-color)}.upload-slot.filled{border-style:solid;border-color:var(--border-color)}.empty-slot-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;width:100%;height:100%;cursor:pointer}.slot-number{font-size:2rem;font-weight:900;color:var(--text-secondary)}.slot-text{font-size:.9rem;color:var(--text-secondary);margin-top:8px}.file-preview-container{padding:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;text-align:center;gap:8px}.file-icon{font-size:2rem}.file-name{font-size:.9rem;word-break:break-all}.file-size{font-size:.8rem;color:var(--text-secondary)}.remove-button{position:absolute;top:5px;right:8px;background:#00000080;border:none;color:#fff;width:24px;height:24px;border-radius:50%;font-size:1.2rem;line-height:1;cursor:pointer;display:flex;justify-content:center;align-items:center;opacity:.5;transition:opacity .2s}.file-preview-container:hover .remove-button{opacity:1}input[type=file]{display:none}.youtube-upload-section{margin:32px 0;padding:24px;background:#ffffff0d;border:1px dashed var(--border-color);border-radius:12px;text-align:center;transition:all .3s ease}.youtube-upload-section:focus-within{border-color:var(--dynamic-primary);background:#ffffff14}.youtube-upload-title{font-size:1.1rem;font-weight:600;margin-bottom:16px;color:var(--text-primary)}.youtube-input{width:100%;max-width:500px;padding:12px 18px;background:#0000004d;border:1px solid var(--border-color);border-radius:8px;color:#fff;font-size:1rem;font-family:inherit;outline:none;transition:all .2s}.youtube-input:focus{border-color:var(--dynamic-primary);box-shadow:0 0 0 3px var(--dynamic-primary-trans)}.history-yt-link{color:var(--dynamic-primary);font-size:.85rem;word-break:break-all;opacity:.8}.smart-suggestions{background-color:var(--slot-bg);border:1px solid var(--border-color);padding:16px;border-radius:8px;margin-bottom:24px}.suggestion-title{font-weight:600;margin-bottom:12px}.suggestions{display:flex;justify-content:space-around;gap:12px;margin-bottom:12px}.suggestion{flex:1;text-align:center;font-size:.9rem;color:var(--text-secondary)}.suggestion-note{text-align:center;font-size:.8rem;color:var(--text-secondary);margin-top:12px;border-top:1px solid var(--border-dashed);padding-top:8px}.generate-button{display:block;width:100%;padding:16px;border:none;border-radius:8px;background:var(--dynamic-primary);color:var(--dynamic-bg);font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .2s ease}.generate-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px var(--dynamic-primary-trans);filter:brightness(1.1)}.generate-button:disabled{opacity:.5;cursor:not-allowed}.error-message{background-color:var(--error-color);color:#fff;padding:12px;border-radius:8px;text-align:center;margin-bottom:16px}.loading-view{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;animation:fadeIn .5s ease}.loading-spinner{border:4px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:var(--dynamic-primary);width:60px;height:60px;animation:spin 1s linear infinite}.loading-spinner.small{width:24px;height:24px;border-width:2px}.loading-spinner.small-inline{display:inline-block;width:18px;height:18px;border-width:2px;border-top-color:var(--dynamic-bg);border-left-color:transparent;border-right-color:transparent;border-bottom-color:transparent;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-size:1.5rem;font-weight:700;margin-top:24px}.loading-quote{color:var(--text-secondary);margin-top:16px;font-style:italic;text-align:center;max-width:400px;min-height:4em;animation:fade-in-out 4s ease-in-out infinite}@keyframes fade-in-out{0%,to{opacity:0;transform:translateY(10px)}20%,80%{opacity:1;transform:translateY(0)}}.results-view{animation:fadeIn .5s ease}.results-header{text-align:center;margin-bottom:32px}.results-title{font-size:2rem;font-weight:700;margin-bottom:8px;color:var(--dynamic-primary)}.results-subtitle{font-size:1.1rem;color:var(--text-secondary);max-width:600px;margin:0 auto}.empty-results{text-align:center;background:var(--glass-bg);padding:32px;border:1px solid var(--border-color);border-radius:12px;max-width:650px;margin:0 auto}.empty-results-suggestion{margin-top:16px;color:var(--text-secondary)}.triage-category{margin-bottom:32px}.triage-category-title{font-size:1.5rem;font-weight:600;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.topic-list{display:grid;gap:16px}.topic-item{background:var(--glass-bg);border:1px solid var(--border-color);border-radius:8px;padding:20px;display:flex;justify-content:space-between;align-items:center;gap:20px;opacity:0;transform:translateY(20px);animation:slideUpFadeIn .5s ease-out forwards}@keyframes slideUpFadeIn{to{opacity:1;transform:translateY(0)}}.topic-item.highlighted{animation:slideUpFadeIn .5s ease-out forwards,highlight-glow 1.5s ease-in-out 2;border-color:var(--dynamic-primary)}@keyframes highlight-glow{0%{box-shadow:0 0 0 var(--dynamic-primary-trans);transform:scale(1)}50%{box-shadow:0 0 25px 8px var(--dynamic-primary-trans);transform:scale(1.02)}to{box-shadow:0 0 0 var(--dynamic-primary-trans);transform:scale(1)}}.topic-content{flex-grow:1}.topic-name{font-size:1.25rem;font-weight:600;margin-bottom:4px}.topic-evidence{color:var(--text-secondary);font-style:italic;margin-bottom:16px}.key-points-section .key-points-title{font-weight:600;font-size:.9rem;margin-bottom:8px;color:var(--text-secondary)}.key-points-list{list-style-type:"✓  ";padding-left:20px;font-size:.95rem}.key-points-list li{margin-bottom:4px}.topic-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch}.topic-actions .study-button{display:flex;justify-content:center;align-items:center;gap:8px;background-color:var(--dynamic-primary);color:var(--dynamic-bg);border:1px solid var(--dynamic-primary);padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s ease;white-space:nowrap}.topic-actions .study-button:hover{filter:brightness(1.1)}.topic-actions .study-button.secondary{background-color:transparent;color:var(--dynamic-primary)}.topic-actions .study-button.secondary:hover{background-color:var(--dynamic-primary);color:var(--dynamic-bg)}.reset-button{display:block;margin:32px auto 0;background:none;border:1px solid var(--text-secondary);color:var(--text-secondary);padding:10px 24px;border-radius:6px;cursor:pointer;transition:all .2s ease}.reset-button:hover{border-color:var(--text-primary);color:var(--text-primary)}.study-view{animation:fadeIn .5s ease}.study-page-header{margin-bottom:24px}.study-topic-title{font-size:2.5rem;font-weight:700;margin-bottom:8px;text-align:center}.study-topic-reason{font-size:1.1rem;color:var(--text-secondary);font-style:italic;margin-bottom:32px;text-align:center;max-width:80%;margin-left:auto;margin-right:auto}.study-actions-bar{display:flex;justify-content:center;margin-bottom:16px}.live-tutor-button{background-color:var(--dynamic-primary);color:var(--dynamic-bg);border:none;padding:12px 24px;font-size:1.1rem;font-weight:700;border-radius:8px;cursor:pointer;transition:all .2s ease}.live-tutor-button:hover{transform:translateY(-2px);box-shadow:0 4px 15px var(--dynamic-primary-trans);filter:brightness(1.1)}.study-content-layout{display:grid;grid-template-columns:2fr 1.2fr;gap:32px;align-items:flex-start}.study-main-content{display:flex;flex-direction:column;gap:32px}.study-section{background:var(--glass-bg);border:1px solid var(--border-color);border-radius:12px;padding:24px}.study-section-title{font-size:1.5rem;margin-bottom:16px}.notes-loader{display:flex;align-items:center;gap:12px;color:var(--text-secondary);min-height:100px}.notes-content{line-height:1.7;max-height:40vh;overflow-y:auto;padding-right:10px}.notes-content h1,.notes-content h2,.notes-content h3,.notes-content h4{margin-top:1.5em;margin-bottom:.5em;font-weight:600}.notes-content h1{font-size:1.8rem}.notes-content h2{font-size:1.5rem}.notes-content h3{font-size:1.2rem;color:var(--dynamic-primary)}.notes-content h4{font-size:1.1rem}.notes-content p{margin-bottom:1em}.notes-content ul{list-style-position:inside;padding-left:1em;margin-bottom:1em}.notes-content li{margin-bottom:.5em}.notes-content strong{color:var(--dynamic-primary)}.notes-content::-webkit-scrollbar{width:8px}.notes-content::-webkit-scrollbar-track{background:var(--slot-bg);border-radius:10px}.notes-content::-webkit-scrollbar-thumb{background-color:var(--text-secondary);border-radius:10px}.notes-content::-webkit-scrollbar-thumb:hover{background-color:var(--text-primary)}.mnemonic-studio{display:flex;flex-direction:column;gap:16px;position:sticky;top:24px}.mnemonic-generator-form{display:flex;flex-direction:column;gap:12px}.mnemonic-input{width:100%;background-color:var(--slot-bg);border:1px solid var(--border-color);border-radius:6px;padding:10px;color:var(--text-primary);font-family:var(--font-family);font-size:.95rem;resize:vertical;min-height:80px;transition:border-color .2s}.mnemonic-input:focus{outline:none;border-color:var(--dynamic-primary)}.mnemonic-studio-intro{color:var(--text-secondary);margin-bottom:4px;font-size:.9rem}.mnemonic-actions{margin-top:8px;display:flex;gap:12px}.generate-mnemonic-button{font-size:1rem;padding:12px;flex:1}.generate-mnemonic-button.secondary{background-color:transparent;color:var(--dynamic-primary);border:1px solid var(--dynamic-primary)}.generate-mnemonic-button.secondary:hover:not(:disabled){background-color:var(--dynamic-primary-trans);color:var(--text-primary);filter:none}.mnemonic-loader-full{display:block;margin:24px auto;border:4px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:var(--dynamic-primary);width:40px;height:40px;animation:spin 1s linear infinite}.mnemonic-result{background:var(--mnemonic-bg);padding:20px;border-radius:8px;border:1px solid var(--border-color);animation:fadeIn .4s ease}.mnemonic-result-title{font-size:1rem;font-weight:600;color:var(--text-secondary);margin-bottom:12px}.mnemonic-word{font-size:1.5rem;font-weight:700;color:var(--dynamic-primary);margin-bottom:4px;display:flex;align-items:center;gap:8px}.mnemonic-explanation{color:var(--text-secondary);font-style:italic;font-size:.95rem;line-height:1.4;margin-bottom:16px}.mnemonic-mapping-list{list-style-type:none;padding:0}.mnemonic-mapping-list li{margin-bottom:8px;line-height:1.5;font-size:1rem;font-family:Courier New,Courier,monospace}.chat-studio{display:flex;flex-direction:column;max-height:70vh}.chat-messages{flex-grow:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:16px}.chat-message{padding:12px 16px;border-radius:18px;max-width:85%;line-height:1.6}.chat-message.user{background-color:var(--dynamic-primary);color:var(--dynamic-bg);border-bottom-right-radius:4px;align-self:flex-end}.chat-message.model{background-color:var(--slot-bg);border-bottom-left-radius:4px;align-self:flex-start}.chat-message p:last-child{margin-bottom:0}.chat-image{max-width:100%;max-height:200px;border-radius:8px;margin-bottom:8px;border:1px solid rgba(0,0,0,.2)}.chat-image-preview-container{position:relative;align-self:flex-start;margin-bottom:8px;margin-left:56px;padding:4px;background:var(--slot-bg);border:1px solid var(--border-color);border-radius:8px}.chat-image-preview{display:block;max-height:80px;border-radius:4px}.chat-remove-image-button{position:absolute;top:-10px;right:-10px;background:var(--slot-bg-hover);border:1px solid var(--border-color);color:#fff;width:24px;height:24px;border-radius:50%;font-size:1.2rem;line-height:1;cursor:pointer;display:flex;justify-content:center;align-items:center;transition:all .2s ease}.chat-remove-image-button:hover{background:var(--error-color);transform:scale(1.1)}.chat-input-form{display:flex;gap:8px;margin-top:16px;border-top:1px solid var(--border-color);padding-top:16px}.attach-button{flex-shrink:0;background:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:1.2rem;width:46px;height:46px;transition:all .2s ease}.attach-button:hover{border-color:var(--dynamic-primary);color:var(--dynamic-primary)}.chat-input-form input{flex-grow:1;background-color:var(--slot-bg);border:1px solid var(--border-color);border-radius:8px;padding:12px;color:var(--text-primary);font-size:1rem}.chat-input-form input:focus{outline:none;border-color:var(--dynamic-primary)}.chat-input-form button[type=submit]{background-color:var(--dynamic-primary);color:var(--dynamic-bg);border:none;border-radius:8px;padding:0 24px;font-weight:600;cursor:pointer}.chat-input-form button[type=submit]:disabled{opacity:.5;cursor:not-allowed}.quiz-view{max-width:800px}.quiz-header{width:100%;display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;color:var(--text-secondary)}.quiz-score,.quiz-progress{font-weight:600}.quiz-card{background:var(--glass-bg);border:1px solid var(--border-color);border-radius:12px;padding:32px;margin-bottom:24px}.quiz-question{font-size:1.5rem;margin-bottom:24px;line-height:1.5}.quiz-options{display:grid;grid-template-columns:1fr;gap:12px}.quiz-option{width:100%;padding:16px;font-size:1rem;text-align:left;background-color:var(--slot-bg);border:1px solid var(--border-color);color:var(--text-primary);border-radius:8px;cursor:pointer;transition:all .2s ease}.quiz-option:not(:disabled):hover{border-color:var(--dynamic-primary);background-color:var(--slot-bg-hover)}.quiz-option.correct{background-color:var(--success-color);border-color:var(--success-color);color:#fff;font-weight:600}.quiz-option.incorrect{background-color:var(--error-color);border-color:var(--error-color);color:#fff;font-weight:600}.quiz-option.disabled{opacity:.6;cursor:not-allowed}.quiz-explanation{margin-top:24px;padding:16px;background-color:var(--mnemonic-bg);border-radius:8px;border-left:4px solid var(--dynamic-primary);animation:fadeIn .3s ease}.quiz-explanation strong{color:var(--dynamic-primary)}.quiz-next-button{display:block;width:100%;padding:16px;border:none;border-radius:8px;background:var(--dynamic-primary);color:var(--dynamic-bg);font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .2s ease;animation:slideUpFadeIn .5s ease forwards;opacity:0}.quiz-next-button:hover{filter:brightness(1.1)}.quiz-summary-view .page-header{margin-bottom:24px}.summary-card{background:var(--glass-bg);border:1px solid var(--border-color);border-radius:12px;padding:32px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-width:500px;margin:0 auto;text-align:center}.summary-score-container{margin-bottom:16px}.summary-score{font-size:3.5rem;font-weight:900;color:var(--dynamic-primary)}.summary-accuracy{font-size:1.2rem;color:var(--text-secondary)}.summary-message{font-size:1.1rem;line-height:1.6;margin-bottom:24px}.summary-reflection{margin-bottom:24px;padding:16px;background-color:var(--mnemonic-bg);border-radius:8px;border-left:4px solid var(--dynamic-primary);text-align:left;animation:fadeIn .5s ease .2s forwards;opacity:0}.reflection-title{font-size:1rem;font-weight:600;margin-bottom:8px;color:var(--dynamic-primary)}.reflection-text{font-size:1rem;line-height:1.6;color:var(--text-primary)}.summary-actions{display:flex;gap:16px}.summary-button{flex:1;padding:12px;border-radius:8px;border:none;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.summary-button.primary{background-color:var(--dynamic-primary);color:var(--dynamic-bg)}.summary-button.primary:hover:not(:disabled){filter:brightness(1.1)}.summary-button.secondary{background-color:var(--slot-bg);color:var(--text-primary);border:1px solid var(--border-color)}.summary-button.secondary:hover{background-color:var(--slot-bg-hover)}.summary-button:disabled{opacity:.5;cursor:not-allowed}.tutor-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease}.tutor-container{background:linear-gradient(180deg,var(--glass-bg) 0%,rgba(15,26,58,.7) 100%);border:1px solid var(--border-color);border-radius:16px;width:90%;max-width:700px;height:80vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #00000080}.tutor-header{padding:16px 24px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.tutor-header h2{font-size:1.2rem;font-weight:600}.tutor-close-button{background:none;border:none;color:var(--text-secondary);font-size:2rem;cursor:pointer;line-height:1;transition:color .2s}.tutor-close-button:hover{color:var(--text-primary)}.tutor-visualizer{padding:24px;text-align:center;border-bottom:1px solid var(--border-color);flex-shrink:0}.tutor-orb{width:80px;height:80px;border-radius:50%;background-color:#e03030;margin:0 auto 16px;transition:all .3s ease;box-shadow:0 0 18px #e030308c;display:flex;justify-content:center;align-items:center;cursor:pointer;color:#fff}.tutor-orb:hover:not(:disabled){filter:brightness(1.2);transform:scale(1.06)}.tutor-orb:disabled{cursor:default}.tutor-orb.listening{animation:pulse-red 2s infinite ease-in-out}.tutor-orb.speaking{background-color:#ff2020;box-shadow:0 0 32px #ff2020cc;animation:speak-wave .8s infinite ease-in-out}.tutor-orb.paused{background-color:#ffffff1f;box-shadow:none;animation:none;opacity:.8;color:#fff}.tutor-status{color:var(--text-secondary);font-weight:600}@keyframes pulse-red{0%,to{box-shadow:0 0 18px #e030308c;transform:scale(1)}50%{box-shadow:0 0 32px #e03030d9;transform:scale(1.07)}}.tutor-icon{color:var(--dynamic-bg);opacity:.8;filter:drop-shadow(0 1px 1px rgba(0,0,0,.3))}@keyframes pulse{0%{transform:scale(.95);box-shadow:0 0 0 0 var(--dynamic-primary-trans)}70%{transform:scale(1);box-shadow:0 0 0 10px #0000}to{transform:scale(.95);box-shadow:0 0 #0000}}@keyframes speak-wave{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.15);opacity:1}}.tutor-transcript-container{flex-grow:1;overflow-y:auto;padding:16px 24px;box-shadow:inset 0 5px 15px #0003;border-radius:0 0 16px 16px}.tutor-transcript{display:flex;flex-direction:column;gap:16px}.transcript-message{display:flex;max-width:85%;opacity:0;transform:translateY(10px);animation:slideUpFadeIn .3s ease-out forwards}.transcript-message .message-bubble{padding:12px 16px;border-radius:18px;line-height:1.5;word-wrap:break-word;min-height:45px;display:flex;align-items:center}.transcript-message.user{align-self:flex-end}.transcript-message.user .message-bubble{background:linear-gradient(45deg,var(--dynamic-primary),#a6c1ee);color:var(--dynamic-bg);border-bottom-right-radius:4px}.transcript-message.model{align-self:flex-start}.transcript-message.model .message-bubble{background-color:#2c2c3e;border:1px solid rgba(255,255,255,.1);border-bottom-left-radius:4px}.transcript-message.status{align-self:center;font-style:italic;color:var(--text-secondary);font-size:.9rem;animation:fadeIn .3s ease}.transcript-message.status .message-bubble{background:none;padding:4px;min-height:auto}#background-animations{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;overflow:hidden;pointer-events:none}.particle{position:absolute;background-color:var(--dynamic-primary);border-radius:50%;bottom:-10px;animation:rise linear infinite}@keyframes rise{0%{transform:translateY(0)}to{transform:translateY(-110vh)}}.line{position:absolute;height:2px;background:linear-gradient(to right,transparent,var(--dynamic-primary));transform:rotate(-45deg);animation:zoom-in-out linear infinite;opacity:.5}@keyframes zoom-in-out{0%{transform:scaleX(0) rotate(-45deg)}10%,to{transform:scaleX(1) rotate(-45deg);opacity:0}}.history-button{background:var(--glass-bg-light);border:1px solid var(--border-color);color:var(--text-secondary);padding:8px 16px;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s ease}.history-button:hover{background:var(--slot-bg);color:var(--text-primary);border-color:var(--dynamic-primary)}.history-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease}.history-modal{background:var(--glass-bg);border:1px solid var(--border-color);border-radius:16px;width:90%;max-width:800px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #00000080;animation:slideUpFadeIn .4s ease-out}.history-header{padding:16px 24px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.history-header h2{font-size:1.5rem;font-weight:700}.history-close-button{background:none;border:none;color:var(--text-secondary);font-size:2rem;cursor:pointer;line-height:1;transition:color .2s}.history-close-button:hover{color:var(--text-primary)}.history-content{flex-grow:1;overflow-y:auto;padding:24px}.history-empty-state{text-align:center;padding:40px 20px;color:var(--text-secondary)}.history-empty-state p:first-child{font-size:1.2rem;font-weight:600;margin-bottom:8px}.history-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:16px}.history-item{background-color:var(--slot-bg);border:1px solid var(--border-color);border-radius:8px;padding:16px;display:flex;justify-content:space-between;align-items:center;gap:16px;transition:border-color .2s ease}.history-item:hover{border-color:var(--dynamic-primary-trans)}.history-item-info{flex-grow:1;display:flex;flex-direction:column;gap:8px}.history-item-mode{font-size:1.2rem;font-weight:700}.history-item-date{font-size:.9rem;color:var(--text-secondary)}.history-item-files{font-size:.9rem;color:var(--text-secondary);word-break:break-word}.history-item-files strong{color:var(--text-primary)}.history-item-actions{display:flex;flex-direction:column;gap:8px;flex-shrink:0}.history-action-button{padding:8px 16px;border-radius:6px;border:1px solid transparent;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.history-action-button.load{background-color:var(--dynamic-primary);color:var(--dynamic-bg);border-color:var(--dynamic-primary)}.history-action-button.load:hover{filter:brightness(1.1)}.history-action-button.delete{background-color:transparent;color:var(--error-color);border-color:var(--error-color)}.history-action-button.delete:hover{background-color:var(--error-color);color:#fff}.history-footer{padding:16px 24px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;flex-shrink:0}.history-clear-all-button{background-color:var(--error-color);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;transition:filter .2s ease}.history-clear-all-button:hover{filter:brightness(1.2)}.history-content::-webkit-scrollbar{width:8px}.history-content::-webkit-scrollbar-track{background:transparent;border-radius:10px}.history-content::-webkit-scrollbar-thumb{background-color:var(--text-secondary);border-radius:10px}.history-content::-webkit-scrollbar-thumb:hover{background-color:var(--text-primary)}@media (max-width: 900px){.study-content-layout{grid-template-columns:1fr}.mnemonic-studio{position:static}}@media (max-width: 768px){.upload-slots{grid-template-columns:1fr}.topic-item{flex-direction:column;align-items:flex-start}.topic-actions{width:100%;margin-top:16px}.topic-actions .study-button{width:100%;text-align:center}.history-item{flex-direction:column;align-items:flex-start}.history-item-actions{margin-top:16px;width:100%;flex-direction:row}.history-action-button{flex:1;text-align:center}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;position:relative;z-index:2}.auth-card{background:var(--glass-bg);border:1px solid var(--border-color);border-radius:16px;padding:40px;width:100%;max-width:420px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadeIn .4s ease}.auth-logo{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:28px}.auth-logo-icon{font-size:28px}.auth-logo-text{font-size:1.6rem;font-weight:900;letter-spacing:-.5px}.auth-title{font-size:1.5rem;font-weight:700;text-align:center;margin-bottom:6px}.auth-subtitle{font-size:.95rem;color:var(--text-secondary);text-align:center;margin-bottom:24px}.auth-error{background:#e74c3c33;border:1px solid var(--error-color);color:#faa;padding:10px 14px;border-radius:8px;font-size:.9rem;margin-bottom:16px}.auth-success{background:#2ecc7133;border:1px solid var(--success-color);color:#afc;padding:10px 14px;border-radius:8px;font-size:.9rem;margin-bottom:16px}.auth-form{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-field label{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.auth-field input{padding:11px 14px;background:var(--slot-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:1rem;font-family:var(--font-family);transition:border-color .2s}.auth-field input:focus{outline:none;border-color:var(--dynamic-primary)}.auth-submit-btn{padding:13px;background:var(--dynamic-primary);color:var(--dynamic-bg);border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease;margin-top:4px}.auth-submit-btn:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.auth-submit-btn:disabled{opacity:.5;cursor:not-allowed}.auth-toggle{text-align:center;font-size:.9rem;color:var(--text-secondary)}.auth-toggle button{background:none;border:none;color:var(--dynamic-primary);font-size:.9rem;font-weight:600;cursor:pointer;text-decoration:underline}.forge-emblem-icon{font-size:20px;width:34px;height:34px;background:#534ab7;border-radius:8px;display:flex;align-items:center;justify-content:center}.forge-user-chip{font-size:.8rem;color:var(--text-secondary);background:var(--glass-bg-light);border:1px solid var(--border-color);border-radius:20px;padding:4px 12px}.forge-mode-row{display:flex;gap:12px;margin-bottom:24px}.forge-mode-card{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:20px 18px;background:var(--glass-bg);border:1px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .2s ease;text-align:left}.forge-mode-card:hover{transform:translateY(-3px);border-color:var(--dynamic-primary)}.forge-mode-icon{font-size:1.8rem}.forge-mode-label{font-size:1rem;font-weight:700;color:var(--text-primary)}.forge-mode-sub{font-size:.85rem;color:var(--text-secondary)}.forge-room-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;background:#534ab726;border:1px solid rgba(175,169,236,.4);border-radius:12px;margin-top:8px}.forge-room-cta-text{display:flex;flex-direction:column;gap:4px}.forge-room-cta-text strong{font-size:1rem;color:var(--text-primary)}.forge-room-cta-text span{font-size:.85rem;color:var(--text-secondary)}.forge-room-cta-btn{padding:10px 22px;background:#534ab7;color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:opacity .2s}.forge-room-cta-btn:hover{opacity:.88}.forge-action-bar{display:flex;gap:10px}.forge-secondary-btn{padding:14px 20px;background:var(--glass-bg-light);border:1px solid var(--border-color);color:var(--text-primary);border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s}.forge-secondary-btn:hover{background:var(--slot-bg-hover)}.forge-topic-row{display:flex;align-items:center;gap:16px;padding:16px 18px;background:var(--glass-bg);border:1px solid var(--border-color);border-radius:10px;opacity:0;transform:translateY(16px);animation:slideUpFadeIn .45s ease-out forwards;transition:border-color .2s}.forge-topic-row:hover{border-color:#ffffff59}.forge-topic-row.highlighted{border-color:var(--dynamic-primary);animation:slideUpFadeIn .45s ease-out forwards,highlight-glow 1.5s ease-in-out 2}.forge-topic-num{width:28px;height:28px;border-radius:8px;background:#ffffff1a;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;flex-shrink:0}.forge-topic-body{flex:1;min-width:0;overflow:hidden}.forge-topic-name{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:3px}.forge-topic-reason{font-size:.85rem;color:var(--text-secondary);font-style:italic;white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.forge-topic-actions{display:flex;gap:8px;flex-shrink:0;align-items:center}.forge-topic-btn{padding:8px 16px;border-radius:7px;font-size:.85rem;font-weight:600;cursor:pointer;border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);transition:all .2s;white-space:nowrap;display:flex;align-items:center;gap:5px}.forge-topic-btn:hover:not(:disabled){background:var(--glass-bg-light);color:var(--text-primary)}.forge-topic-btn:disabled{opacity:.5;cursor:not-allowed}.forge-topic-btn.primary{background:var(--dynamic-primary);color:var(--dynamic-bg);border-color:var(--dynamic-primary)}.forge-topic-btn.primary:hover{filter:brightness(1.1)}.forge-results-room-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;background:#534ab71f;border:1px solid rgba(175,169,236,.35);border-radius:12px;margin:24px 0 8px}.forge-results-room-label{font-size:.95rem;font-weight:600;color:var(--text-primary);margin-bottom:3px}.forge-results-room-sub{font-size:.82rem;color:var(--text-secondary)}.forge-results-room-btn{padding:9px 20px;background:#534ab7;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:opacity .2s}.forge-results-room-btn:hover{opacity:.88}.forge-study-hub{animation:fadeIn .4s ease}.forge-hub-title{font-size:2rem;font-weight:700;margin:8px 0}.forge-hub-sub{color:var(--text-secondary);font-style:italic;margin-bottom:24px}.forge-hub-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:flex-start}.forge-hub-left{background:var(--glass-bg);border:1px solid var(--border-color);border-radius:12px;padding:24px}.forge-hub-notes-label{font-size:1.1rem;font-weight:600;margin-bottom:16px;display:block}.forge-hub-right{display:flex;flex-direction:column;background:var(--glass-bg);border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.forge-mnemonic-section{margin-top:20px;border-top:1px solid var(--border-color);padding-top:16px}.forge-mnemonic-chip{background:none;border:1px solid rgba(255,255,255,.2);color:var(--text-secondary);padding:7px 14px;border-radius:20px;font-size:.85rem;cursor:pointer;transition:all .2s}.forge-mnemonic-chip:hover{border-color:var(--dynamic-primary);color:var(--dynamic-primary)}.forge-mnemonic-body{margin-top:12px}.mnemonic-studio-inline{display:flex;flex-direction:column;gap:12px}.forge-hub-tabs{display:flex;border-bottom:1px solid var(--border-color)}.forge-hub-tab{flex:1;padding:12px 8px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.forge-hub-tab.active{border-bottom-color:var(--dynamic-primary);color:var(--text-primary)}.forge-hub-tab:hover:not(.active){color:var(--text-primary)}.forge-hub-panel-body{flex:1;overflow:hidden}.forge-chat-panel{display:flex;flex-direction:column;height:480px}.forge-chat-panel .chat-messages{flex:1;overflow-y:auto}.forge-tutor-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 24px;gap:12px;height:480px}.forge-tutor-icon{font-size:3rem}.forge-tutor-title{font-size:1.1rem;font-weight:700}.forge-tutor-sub{color:var(--text-secondary);font-size:.9rem;line-height:1.6;max-width:260px}.forge-tutor-btn{padding:12px 24px;background:var(--dynamic-primary);color:var(--dynamic-bg);border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;margin-top:8px;transition:all .2s}.forge-tutor-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.inline-quiz-start,.inline-quiz-done{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 24px;gap:12px;height:480px}.inline-quiz-label{font-size:1rem;font-weight:600;color:var(--text-primary)}.inline-quiz-btn{padding:11px 28px;background:var(--dynamic-primary);color:var(--dynamic-bg);border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;margin-top:4px}.inline-quiz-btn:hover:not(:disabled){filter:brightness(1.1)}.inline-quiz-btn:disabled{opacity:.4;cursor:not-allowed}.inline-quiz{display:flex;flex-direction:column;gap:12px;padding:20px;height:480px;overflow-y:auto}.inline-quiz-meta{font-size:.82rem;color:var(--text-secondary);font-weight:600}.inline-quiz-q{font-size:1rem;font-weight:600;line-height:1.5}.inline-quiz-opts{display:flex;flex-direction:column;gap:8px}.inline-quiz-opt{padding:10px 14px;background:var(--slot-bg);border:1px solid var(--border-color);border-radius:7px;color:var(--text-primary);font-size:.9rem;text-align:left;cursor:pointer;transition:all .15s}.inline-quiz-opt:not(:disabled):hover{border-color:var(--dynamic-primary)}.inline-quiz-opt.correct{background:#2ecc7133;border-color:var(--success-color);color:#afc}.inline-quiz-opt.wrong{background:#e74c3c33;border-color:var(--error-color);color:#faa}.inline-quiz-opt.dimmed{opacity:.45;cursor:not-allowed}.inline-quiz-explain{font-size:.88rem;line-height:1.5;color:var(--text-secondary);background:var(--mnemonic-bg);border-left:3px solid var(--dynamic-primary);padding:10px 12px;border-radius:6px;animation:fadeIn .3s ease}.inline-quiz-next{padding:10px;background:var(--dynamic-primary);color:var(--dynamic-bg);border:none;border-radius:7px;font-weight:700;cursor:pointer;transition:filter .2s;margin-top:auto}.inline-quiz-next:hover{filter:brightness(1.1)}.room-lobby{max-width:760px;margin:0 auto}.room-lobby-grid{display:flex;align-items:center;gap:16px;margin-top:8px}.room-lobby-card{flex:1;background:var(--glass-bg);border:1px solid var(--border-color);border-radius:14px;padding:32px 28px;display:flex;flex-direction:column;gap:14px;text-align:center}.room-lobby-card h2{font-size:1.3rem;font-weight:700}.room-lobby-card p{font-size:.9rem;color:var(--text-secondary);line-height:1.5}.room-lobby-icon{font-size:2.2rem}.room-lobby-input{padding:11px 14px;background:var(--slot-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:.95rem;font-family:var(--font-family);text-align:center;transition:border-color .2s}.room-lobby-input:focus{outline:none;border-color:var(--dynamic-primary)}.room-lobby-btn{padding:12px;border-radius:8px;border:1px solid var(--border-color);background:var(--glass-bg-light);color:var(--text-primary);font-size:.95rem;font-weight:700;cursor:pointer;transition:all .2s}.room-lobby-btn:hover:not(:disabled){background:var(--slot-bg-hover)}.room-lobby-btn.primary{background:#534ab7;color:#fff;border-color:#534ab7}.room-lobby-btn.primary:hover:not(:disabled){opacity:.88}.room-lobby-btn:disabled{opacity:.4;cursor:not-allowed}.room-lobby-or{font-size:1rem;color:var(--text-secondary);font-weight:600;flex-shrink:0}.forge-room{display:flex;flex-direction:column;height:100vh;background:#0f0f1a;color:var(--text-primary);overflow:hidden}.forge-room-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:16px;color:var(--text-secondary)}.forge-room-topbar{display:flex;align-items:center;gap:12px;padding:10px 20px;background:#141420f2;border-bottom:1px solid var(--border-color);flex-shrink:0}.forge-room-logo{font-size:1rem;font-weight:900;letter-spacing:-.5px;flex-shrink:0}.forge-room-meta{display:flex;align-items:center;gap:10px;flex:1}.forge-room-name{font-size:.95rem;font-weight:600}.forge-room-token{font-family:Courier New,monospace;font-size:.8rem;background:#ffffff14;padding:2px 8px;border-radius:5px;border:1px solid var(--border-color)}.forge-room-live{display:flex;align-items:center;gap:5px;font-size:.8rem;font-weight:600;color:#2ecc71}.forge-live-dot{width:7px;height:7px;border-radius:50%;background:#2ecc71;animation:pulse 1.6s infinite}.forge-room-topbar-right{display:flex;gap:8px;margin-left:auto}.forge-tbtn{padding:6px 14px;background:var(--glass-bg-light);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:7px;font-size:.82rem;cursor:pointer;transition:all .2s}.forge-tbtn:hover{color:var(--text-primary);background:var(--slot-bg)}.forge-tbtn.danger{color:#ff8080;border-color:#e74c3c66}.forge-tbtn.danger:hover{background:#e74c3c26}.forge-strip{display:flex;align-items:center;gap:12px;padding:10px 20px;background:#0f0f1ae6;border-bottom:1px solid var(--border-color);overflow-x:auto;flex-shrink:0}.forge-participant{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0;cursor:default}.forge-p-ring{width:42px;height:42px;border-radius:50%;border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center}.forge-p-ring.me{border-width:2.5px}.forge-p-avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.forge-p-name{font-size:.7rem;color:var(--text-secondary)}.forge-strip-controls{display:flex;gap:6px;margin-left:auto;flex-shrink:0}.forge-ctrl{padding:6px 12px;background:var(--glass-bg-light);border:1px solid var(--border-color);border-radius:20px;color:var(--text-secondary);font-size:.8rem;cursor:pointer;white-space:nowrap;transition:all .2s}.forge-ctrl:hover{color:var(--text-primary);background:var(--slot-bg)}.forge-ctrl.active{background:#534ab733;border-color:#afa9ec80;color:#ccc8ff}.forge-ctrl.danger{color:#ff8080}.forge-room-body{display:grid;grid-template-columns:1.15fr 1fr;flex:1;overflow:hidden;gap:16px;padding:16px;align-items:stretch}.forge-room-notes-card{display:flex!important;flex-direction:column!important;overflow:hidden!important;padding:0!important;min-height:0}.forge-room-notes-top{display:flex;align-items:center;gap:10px;padding:16px 20px 12px;border-bottom:1px solid var(--border-color);flex-shrink:0}.forge-room-notes-scroll{flex:1;overflow-y:auto;padding:20px;line-height:1.7;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.forge-room-notes-scroll::-webkit-scrollbar{width:5px}.forge-room-notes-scroll::-webkit-scrollbar-track{background:transparent}.forge-room-notes-scroll::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.forge-room-notes-scroll::-webkit-scrollbar-thumb:hover{background:#ffffff47}.forge-notes-empty{color:var(--text-secondary);font-style:italic;font-size:.9rem}.forge-topic-select{padding:6px 10px;background:#534ab72e;border:1.5px solid rgba(175,169,236,.55);border-radius:8px;color:#d4d0ff;font-size:.82rem;font-weight:500;cursor:pointer;outline:none;transition:border-color .2s,background .2s}.forge-topic-select:focus,.forge-topic-select:hover{background:#534ab752;border-color:#afa9ece6}.forge-topic-select option{background:#1a1a2e;color:#f0f0f0}.forge-room-body .forge-hub-right{min-height:0;height:100%}.forge-room-body .forge-hub-panel-body{display:flex;flex-direction:column;flex:1;overflow:hidden;min-height:0}.forge-ai-panel{display:flex;flex-direction:column;flex:1;overflow:hidden}.forge-ai-header{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border-color);font-size:.85rem;font-weight:600;flex-shrink:0}.forge-ai-badge{font-size:.7rem;background:#534ab74d;color:#ccc8ff;padding:2px 7px;border-radius:10px;font-weight:500}.forge-ai-messages{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.forge-ai-empty{color:var(--text-secondary);font-size:.85rem;font-style:italic;text-align:center;padding:24px 0}.forge-ai-entry{display:flex;flex-direction:column;gap:5px}.forge-ai-q{background:#534ab71f;border-radius:8px;padding:8px 10px;font-size:.83rem;line-height:1.5}.forge-ai-asker{display:block;font-size:.72rem;font-weight:600;color:#9088e0;margin-bottom:3px}.forge-ai-a{background:var(--slot-bg);border-radius:8px;padding:8px 10px;font-size:.83rem;line-height:1.6;color:var(--text-secondary)}.forge-ai-generating{font-style:italic;color:var(--text-secondary);opacity:.7}.forge-ai-form{display:flex;gap:6px;padding:10px 12px;border-top:1px solid var(--border-color);flex-shrink:0}.forge-ai-input{flex:1;padding:8px 12px;background:var(--slot-bg);border:1px solid var(--border-color);border-radius:7px;color:var(--text-primary);font-size:.85rem}.forge-ai-input:focus{outline:none;border-color:var(--dynamic-primary)}.forge-ai-send{width:32px;height:32px;border-radius:7px;background:var(--dynamic-primary);border:none;color:var(--dynamic-bg);font-size:1rem;font-weight:700;cursor:pointer}.forge-ai-send:disabled{opacity:.4;cursor:not-allowed}.forge-room-panel-tabs{display:none}.room-chat{display:flex;flex-direction:column;flex:1;overflow:hidden;height:100%}.room-chat-messages{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.room-chat-empty{color:var(--text-secondary);font-size:.85rem;text-align:center;padding:24px 0;font-style:italic}.room-chat-msg{display:flex;gap:8px}.room-chat-msg.me{flex-direction:row-reverse}.room-chat-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;flex-shrink:0;margin-top:2px}.room-chat-bubble-wrap{display:flex;flex-direction:column;gap:2px;max-width:80%}.room-chat-sender{font-size:.7rem;font-weight:600;color:var(--text-secondary)}.room-chat-bubble{padding:8px 12px;border-radius:12px;font-size:.85rem;line-height:1.5}.room-chat-msg.them .room-chat-bubble{background:var(--slot-bg);border-bottom-left-radius:3px}.room-chat-msg.me .room-chat-bubble{background:var(--dynamic-primary);color:var(--dynamic-bg);border-bottom-right-radius:3px}.room-chat-time{font-size:.68rem;color:var(--text-secondary)}.room-chat-form{display:flex;gap:6px;padding:10px 12px;border-top:1px solid var(--border-color);flex-shrink:0}.room-chat-input{flex:1;padding:8px 12px;background:var(--slot-bg);border:1px solid var(--border-color);border-radius:7px;color:var(--text-primary);font-size:.85rem;font-family:var(--font-family)}.room-chat-input:focus{outline:none;border-color:var(--dynamic-primary)}.room-chat-send-btn{width:32px;height:32px;border-radius:7px;background:var(--dynamic-primary);border:none;color:var(--dynamic-bg);font-size:1rem;font-weight:700;cursor:pointer}.room-chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.qb-lobby{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 20px;gap:14px;flex:1}.qb-lobby-icon{font-size:2.5rem}.qb-lobby-title{font-size:1.2rem;font-weight:700}.qb-lobby-sub{font-size:.9rem;color:var(--text-secondary);line-height:1.5;max-width:260px}.qb-setup{display:flex;flex-direction:column;gap:10px;width:100%;max-width:280px}.qb-select{padding:9px 12px;background:#534ab72e;border:1.5px solid rgba(175,169,236,.55);border-radius:8px;color:#d4d0ff;font-size:.9rem;font-weight:500;cursor:pointer;outline:none;width:100%;transition:border-color .2s,background .2s}.qb-select:focus,.qb-select:hover{background:#534ab752;border-color:#afa9ece6}.qb-select option{background:#1a1a2e;color:#f0f0f0}.qb-start-btn{padding:11px;background:#534ab7;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:700;cursor:pointer;transition:opacity .2s}.qb-start-btn:hover:not(:disabled){opacity:.88}.qb-start-btn:disabled{opacity:.4;cursor:not-allowed}.qb-active{display:flex;flex-direction:column;gap:12px;padding:16px;flex:1;overflow-y:auto;position:relative}.qb-active-header{display:flex;align-items:center;gap:8px;flex-shrink:0}.qb-topic-tag{font-size:.78rem;background:#ffffff14;border:1px solid var(--border-color);border-radius:20px;padding:3px 10px}.qb-progress,.qb-my-score{font-size:.8rem;font-weight:600;color:var(--text-secondary);margin-left:auto}.qb-my-score{margin-left:8px}.qb-question{font-size:1rem;font-weight:600;line-height:1.5;flex-shrink:0}.qb-options{display:flex;flex-direction:column;gap:7px}.qb-opt{padding:9px 13px;background:var(--slot-bg);border:1px solid var(--border-color);border-radius:7px;color:var(--text-primary);font-size:.88rem;text-align:left;cursor:pointer;transition:all .15s}.qb-opt:not(:disabled):hover{border-color:var(--dynamic-primary)}.qb-opt.correct{background:#2ecc7133;border-color:var(--success-color)}.qb-opt.wrong{background:#e74c3c33;border-color:var(--error-color)}.qb-opt.dimmed{opacity:.4;cursor:not-allowed}.qb-explanation{font-size:.83rem;color:var(--text-secondary);background:var(--mnemonic-bg);border-left:3px solid var(--dynamic-primary);padding:8px 10px;border-radius:5px;line-height:1.5;animation:fadeIn .3s ease}.qb-next-btn{padding:9px;background:var(--dynamic-primary);color:var(--dynamic-bg);border:none;border-radius:7px;font-weight:700;font-size:.88rem;cursor:pointer;transition:filter .2s}.qb-next-btn:hover{filter:brightness(1.1)}.qb-live-lb{background:#ffffff0a;border:1px solid var(--border-color);border-radius:8px;padding:10px 12px;margin-top:4px}.qb-live-lb-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:8px}.qb-live-row{display:flex;align-items:center;gap:6px;margin-bottom:5px;font-size:.8rem}.qb-live-rank{color:var(--text-secondary);width:20px;flex-shrink:0}.qb-live-name{flex:1;font-weight:500}.qb-live-pts{font-weight:700;color:var(--dynamic-primary)}.qb-results{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 16px;flex:1;overflow-y:auto}.qb-results-title{font-size:1.2rem;font-weight:700}.qb-results-topic{font-size:.85rem;color:var(--text-secondary);margin-bottom:4px}.qb-lb-row{display:flex;align-items:center;gap:10px;width:100%;max-width:280px;padding:10px 12px;background:var(--slot-bg);border:1px solid var(--border-color);border-radius:8px}.qb-lb-row.me{border-color:#534ab780;background:#534ab71a}.qb-lb-rank{font-size:.85rem;font-weight:700;color:var(--text-secondary);width:28px}.qb-lb-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700}.qb-lb-name{flex:1;font-size:.9rem;font-weight:500}.qb-lb-score{font-size:.9rem;font-weight:700;color:var(--dynamic-primary)}@media (max-width: 900px){.forge-hub-layout{grid-template-columns:1fr}.forge-mode-row{flex-direction:column}.forge-room-body{grid-template-columns:1fr}.forge-room-notes{max-height:300px}}@media (max-width: 768px){.forge-topic-row{flex-wrap:wrap}.forge-topic-actions{width:100%;margin-top:8px}.room-lobby-grid{flex-direction:column}.room-lobby-or{align-self:center}.forge-strip-controls{display:none}}
