:root{--text-primary:#f0f0f0;--text-secondary:#a0a0a0;--border-color:#fff3;--border-dashed:#ffffff4d;--slot-bg:#0003;--slot-bg-hover:#0000004d;--glass-bg:#14141e99;--glass-bg-light:#ffffff1a;--success-color:#2ecc71;--error-color:#e74c3c;--mnemonic-bg:#0003;--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;transition:background-color .5s;overflow-x:hidden}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 0%,#7c3aed 100%)}.container{z-index:2;max-width:1100px;margin:0 auto;padding:24px;position:relative}.app-header{justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:24px;display:flex}.app-header>:only-child{margin:0 auto}.emblem{align-items:center;gap:12px;display:inline-flex}.emblem-text{letter-spacing:-1px;color:var(--text-primary);font-size:2rem;font-weight:900}.view-container{animation:.5s ease-out fadeIn}@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{letter-spacing:-1.5px;background:linear-gradient(45deg, var(--dynamic-primary), #fff);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:8px;font-size:2.5rem;font-weight:900}.page-header .subtitle{color:var(--text-secondary);max-width:500px;margin:0 auto;font-size:1.2rem}.mode-selection{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;display:grid}.mode-card{background:var(--glass-bg);border:1px solid var(--border-color);text-align:center;cursor:pointer;border-radius:12px;padding:24px;transition:all .2s ease-in-out}.mode-card:hover{border-color:var(--dynamic-primary);transform:translateY(-5px);box-shadow:0 8px 30px #0003}.mode-icon{filter:grayscale(30%);margin-bottom:16px;font-size:3rem;transition:filter .2s}.mode-card:hover .mode-icon{filter:grayscale(0%)}.mode-title{margin-bottom:8px;font-size:1.5rem;font-weight:700}.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{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:1rem;transition:color .2s}.back-button:hover{color:var(--text-primary)}.upload-page-header{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}.status-message{text-align:right}.status-text{color:var(--dynamic-primary);font-size:1.1rem;font-weight:700}.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}.upload-title{text-align:center;margin-bottom:24px;font-size:1.5rem}.upload-slots{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px;display:grid}.upload-slot{aspect-ratio:4/3;background:var(--slot-bg);border:2px dashed var(--border-dashed);border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex;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{background:var(--slot-bg-hover);border-color:var(--success-color);transform:scale(1.05)}.upload-slot.filled{border-style:solid;border-color:var(--border-color)}.empty-slot-content{text-align:center;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.slot-number{color:var(--text-secondary);font-size:2rem;font-weight:900}.slot-text{color:var(--text-secondary);margin-top:8px;font-size:.9rem}.file-preview-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;height:100%;padding:12px;display:flex}.file-icon{font-size:2rem}.file-name{word-break:break-all;font-size:.9rem}.file-size{color:var(--text-secondary);font-size:.8rem}.remove-button{color:#fff;cursor:pointer;opacity:.5;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:1.2rem;line-height:1;transition:opacity .2s;display:flex;position:absolute;top:5px;right:8px}.file-preview-container:hover .remove-button{opacity:1}input[type=file]{display:none}.youtube-upload-section{border:1px dashed var(--border-color);text-align:center;background:#ffffff0d;border-radius:12px;margin:32px 0;padding:24px;transition:all .3s}.youtube-upload-section:focus-within{border-color:var(--dynamic-primary);background:#ffffff14}.youtube-upload-title{color:var(--text-primary);margin-bottom:16px;font-size:1.1rem;font-weight:600}.youtube-input{border:1px solid var(--border-color);color:#fff;background:#0000004d;border-radius:8px;outline:none;width:100%;max-width:500px;padding:12px 18px;font-family:inherit;font-size:1rem;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);word-break:break-all;opacity:.8;font-size:.85rem}.smart-suggestions{background-color:var(--slot-bg);border:1px solid var(--border-color);border-radius:8px;margin-bottom:24px;padding:16px}.suggestion-title{margin-bottom:12px;font-weight:600}.suggestions{justify-content:space-around;gap:12px;margin-bottom:12px;display:flex}.suggestion{text-align:center;color:var(--text-secondary);flex:1;font-size:.9rem}.suggestion-note{text-align:center;color:var(--text-secondary);border-top:1px solid var(--border-dashed);margin-top:12px;padding-top:8px;font-size:.8rem}.generate-button{background:var(--dynamic-primary);width:100%;color:var(--dynamic-bg);cursor:pointer;border:none;border-radius:8px;padding:16px;font-size:1.2rem;font-weight:700;transition:all .2s;display:block}.generate-button:hover:not(:disabled){box-shadow:0 4px 15px var(--dynamic-primary-trans);filter:brightness(1.1);transform:translateY(-2px)}.generate-button:disabled{opacity:.5;cursor:not-allowed}.error-message{background-color:var(--error-color);color:#fff;text-align:center;border-radius:8px;margin-bottom:16px;padding:12px}.loading-view{flex-direction:column;justify-content:center;align-items:center;min-height:50vh;animation:.5s fadeIn;display:flex}.loading-spinner{border:4px solid #ffffff4d;border-top-color:var(--dynamic-primary);border-radius:50%;width:60px;height:60px;animation:1s linear infinite spin}.loading-spinner.small{border-width:2px;width:24px;height:24px}.loading-spinner.small-inline{border-width:2px;border-top-color:var(--dynamic-bg);vertical-align:middle;border-bottom-color:#0000;border-left-color:#0000;border-right-color:#0000;width:18px;height:18px;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{margin-top:24px;font-size:1.5rem;font-weight:700}.loading-quote{color:var(--text-secondary);text-align:center;max-width:400px;min-height:4em;margin-top:16px;font-style:italic;animation:4s ease-in-out infinite fade-in-out}@keyframes fade-in-out{0%,to{opacity:0;transform:translateY(10px)}20%,80%{opacity:1;transform:translateY(0)}}.results-view{animation:.5s fadeIn}.results-header{text-align:center;margin-bottom:32px}.results-title{color:var(--dynamic-primary);margin-bottom:8px;font-size:2rem;font-weight:700}.results-subtitle{color:var(--text-secondary);max-width:600px;margin:0 auto;font-size:1.1rem}.empty-results{text-align:center;background:var(--glass-bg);border:1px solid var(--border-color);border-radius:12px;max-width:650px;margin:0 auto;padding:32px}.empty-results-suggestion{color:var(--text-secondary);margin-top:16px}.triage-category{margin-bottom:32px}.triage-category-title{border-bottom:1px solid var(--border-color);margin-bottom:16px;padding-bottom:8px;font-size:1.5rem;font-weight:600}.topic-list{gap:16px;display:grid}.topic-item{background:var(--glass-bg);border:1px solid var(--border-color);opacity:0;border-radius:8px;justify-content:space-between;align-items:center;gap:20px;padding:20px;animation:.5s ease-out forwards slideUpFadeIn;display:flex;transform:translateY(20px)}@keyframes slideUpFadeIn{to{opacity:1;transform:translateY(0)}}.topic-item.highlighted{border-color:var(--dynamic-primary);animation:.5s ease-out forwards slideUpFadeIn,1.5s ease-in-out 2 highlight-glow}@keyframes highlight-glow{0%{box-shadow:0 0 0px 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 0px var(--dynamic-primary-trans);transform:scale(1)}}.topic-content{flex-grow:1}.topic-name{margin-bottom:4px;font-size:1.25rem;font-weight:600}.topic-evidence{color:var(--text-secondary);margin-bottom:16px;font-style:italic}.key-points-section .key-points-title{color:var(--text-secondary);margin-bottom:8px;font-size:.9rem;font-weight:600}.key-points-list{padding-left:20px;font-size:.95rem;list-style-type:"✓  "}.key-points-list li{margin-bottom:4px}.topic-actions{flex-direction:column;align-items:stretch;gap:8px;display:flex}.topic-actions .study-button{background-color:var(--dynamic-primary);color:var(--dynamic-bg);border:1px solid var(--dynamic-primary);cursor:pointer;white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-weight:600;transition:all .2s;display:flex}.topic-actions .study-button:hover{filter:brightness(1.1)}.topic-actions .study-button.secondary{color:var(--dynamic-primary);background-color:#0000}.topic-actions .study-button.secondary:hover{background-color:var(--dynamic-primary);color:var(--dynamic-bg)}.reset-button{border:1px solid var(--text-secondary);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;margin:32px auto 0;padding:10px 24px;transition:all .2s;display:block}.reset-button:hover{border-color:var(--text-primary);color:var(--text-primary)}.study-view{animation:.5s fadeIn}.study-page-header{margin-bottom:24px}.study-topic-title{text-align:center;margin-bottom:8px;font-size:2.5rem;font-weight:700}.study-topic-reason{color:var(--text-secondary);text-align:center;max-width:80%;margin-bottom:32px;margin-left:auto;margin-right:auto;font-size:1.1rem;font-style:italic}.study-actions-bar{justify-content:center;margin-bottom:16px;display:flex}.live-tutor-button{background-color:var(--dynamic-primary);color:var(--dynamic-bg);cursor:pointer;border:none;border-radius:8px;padding:12px 24px;font-size:1.1rem;font-weight:700;transition:all .2s}.live-tutor-button:hover{box-shadow:0 4px 15px var(--dynamic-primary-trans);filter:brightness(1.1);transform:translateY(-2px)}.study-content-layout{grid-template-columns:2fr 1.2fr;align-items:flex-start;gap:32px;display:grid}.study-main-content{flex-direction:column;gap:32px;display:flex}.study-section{background:var(--glass-bg);border:1px solid var(--border-color);border-radius:12px;padding:24px}.study-section-title{margin-bottom:16px;font-size:1.5rem}.notes-loader{color:var(--text-secondary);align-items:center;gap:12px;min-height:100px;display:flex}.notes-content{max-height:40vh;padding-right:10px;line-height:1.7;overflow-y:auto}.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{color:var(--dynamic-primary);font-size:1.2rem}.notes-content h4{font-size:1.1rem}.notes-content p{margin-bottom:1em}.notes-content ul{margin-bottom:1em;padding-left:1em;list-style-position:inside}.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{flex-direction:column;gap:16px;display:flex;position:sticky;top:24px}.mnemonic-generator-form{flex-direction:column;gap:12px;display:flex}.mnemonic-input{background-color:var(--slot-bg);border:1px solid var(--border-color);width:100%;color:var(--text-primary);font-family:var(--font-family);resize:vertical;border-radius:6px;min-height:80px;padding:10px;font-size:.95rem;transition:border-color .2s}.mnemonic-input:focus{border-color:var(--dynamic-primary);outline:none}.mnemonic-studio-intro{color:var(--text-secondary);margin-bottom:4px;font-size:.9rem}.mnemonic-actions{gap:12px;margin-top:8px;display:flex}.generate-mnemonic-button{flex:1;padding:12px;font-size:1rem}.generate-mnemonic-button.secondary{color:var(--dynamic-primary);border:1px solid var(--dynamic-primary);background-color:#0000}.generate-mnemonic-button.secondary:hover:not(:disabled){background-color:var(--dynamic-primary-trans);color:var(--text-primary);filter:none}.mnemonic-loader-full{border:4px solid #ffffff4d;border-top-color:var(--dynamic-primary);border-radius:50%;width:40px;height:40px;margin:24px auto;animation:1s linear infinite spin;display:block}.mnemonic-result{background:var(--mnemonic-bg);border:1px solid var(--border-color);border-radius:8px;padding:20px;animation:.4s fadeIn}.mnemonic-result-title{color:var(--text-secondary);margin-bottom:12px;font-size:1rem;font-weight:600}.mnemonic-word{color:var(--dynamic-primary);align-items:center;gap:8px;margin-bottom:4px;font-size:1.5rem;font-weight:700;display:flex}.mnemonic-explanation{color:var(--text-secondary);margin-bottom:16px;font-size:.95rem;font-style:italic;line-height:1.4}.mnemonic-mapping-list{padding:0;list-style-type:none}.mnemonic-mapping-list li{margin-bottom:8px;font-family:Courier New,Courier,monospace;font-size:1rem;line-height:1.5}.chat-studio{flex-direction:column;max-height:70vh;display:flex}.chat-messages{flex-direction:column;flex-grow:1;gap:16px;padding:10px;display:flex;overflow-y:auto}.chat-message{border-radius:18px;max-width:85%;padding:12px 16px;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{border:1px solid #0003;border-radius:8px;max-width:100%;max-height:200px;margin-bottom:8px}.chat-image-preview-container{background:var(--slot-bg);border:1px solid var(--border-color);border-radius:8px;align-self:flex-start;margin-bottom:8px;margin-left:56px;padding:4px;position:relative}.chat-image-preview{border-radius:4px;max-height:80px;display:block}.chat-remove-image-button{background:var(--slot-bg-hover);border:1px solid var(--border-color);color:#fff;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:1.2rem;line-height:1;transition:all .2s;display:flex;position:absolute;top:-10px;right:-10px}.chat-remove-image-button:hover{background:var(--error-color);transform:scale(1.1)}.chat-input-form{border-top:1px solid var(--border-color);gap:8px;margin-top:16px;padding-top:16px;display:flex}.attach-button{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;width:46px;height:46px;font-size:1.2rem;transition:all .2s}.attach-button:hover{border-color:var(--dynamic-primary);color:var(--dynamic-primary)}.chat-input-form input{background-color:var(--slot-bg);border:1px solid var(--border-color);color:var(--text-primary);border-radius:8px;flex-grow:1;padding:12px;font-size:1rem}.chat-input-form input:focus{border-color:var(--dynamic-primary);outline:none}.chat-input-form button[type=submit]{background-color:var(--dynamic-primary);color:var(--dynamic-bg);cursor:pointer;border:none;border-radius:8px;padding:0 24px;font-weight:600}.chat-input-form button[type=submit]:disabled{opacity:.5;cursor:not-allowed}.quiz-view{max-width:800px}.quiz-header{width:100%;color:var(--text-secondary);justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.quiz-score,.quiz-progress{font-weight:600}.quiz-card{background:var(--glass-bg);border:1px solid var(--border-color);border-radius:12px;margin-bottom:24px;padding:32px}.quiz-question{margin-bottom:24px;font-size:1.5rem;line-height:1.5}.quiz-options{grid-template-columns:1fr;gap:12px;display:grid}.quiz-option{text-align:left;background-color:var(--slot-bg);border:1px solid var(--border-color);width:100%;color:var(--text-primary);cursor:pointer;border-radius:8px;padding:16px;font-size:1rem;transition:all .2s}.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{background-color:var(--mnemonic-bg);border-left:4px solid var(--dynamic-primary);border-radius:8px;margin-top:24px;padding:16px;animation:.3s fadeIn}.quiz-explanation strong{color:var(--dynamic-primary)}.quiz-next-button{background:var(--dynamic-primary);width:100%;color:var(--dynamic-bg);cursor:pointer;opacity:0;border:none;border-radius:8px;padding:16px;font-size:1.2rem;font-weight:700;transition:all .2s;animation:.5s forwards slideUpFadeIn;display:block}.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);text-align:center;border-radius:12px;max-width:500px;margin:0 auto;padding:32px}.summary-score-container{margin-bottom:16px}.summary-score{color:var(--dynamic-primary);font-size:3.5rem;font-weight:900}.summary-accuracy{color:var(--text-secondary);font-size:1.2rem}.summary-message{margin-bottom:24px;font-size:1.1rem;line-height:1.6}.summary-reflection{background-color:var(--mnemonic-bg);border-left:4px solid var(--dynamic-primary);text-align:left;opacity:0;border-radius:8px;margin-bottom:24px;padding:16px;animation:.5s .2s forwards fadeIn}.reflection-title{color:var(--dynamic-primary);margin-bottom:8px;font-size:1rem;font-weight:600}.reflection-text{color:var(--text-primary);font-size:1rem;line-height:1.6}.summary-actions{gap:16px;display:flex}.summary-button{cursor:pointer;border:none;border-radius:8px;flex:1;padding:12px;font-size:1rem;font-weight:600;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{z-index:100;background-color:#000000c7;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.tutor-container{background:linear-gradient(180deg, var(--glass-bg) 0%, #0f1a3ab3 100%);border:1px solid var(--border-color);border-radius:16px;flex-direction:column;width:90%;max-width:700px;height:80vh;display:flex;box-shadow:0 10px 40px #00000080}.tutor-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.tutor-header h2{font-size:1.2rem;font-weight:600}.tutor-close-button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:2rem;line-height:1;transition:color .2s}.tutor-close-button:hover{color:var(--text-primary)}.tutor-visualizer{text-align:center;border-bottom:1px solid var(--border-color);flex-shrink:0;padding:24px}.tutor-orb{cursor:pointer;color:#fff;background-color:#e03030;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 16px;transition:all .3s;display:flex;box-shadow:0 0 18px #e030308c}.tutor-orb:hover:not(:disabled){filter:brightness(1.2);transform:scale(1.06)}.tutor-orb:disabled{cursor:default}.tutor-orb.listening{animation:2s ease-in-out infinite pulse-red}.tutor-orb.speaking{background-color:#ff2020;animation:.8s ease-in-out infinite speak-wave;box-shadow:0 0 32px #ff2020cc}.tutor-orb.paused{box-shadow:none;opacity:.8;color:#fff;background-color:#ffffff1f;animation:none}.tutor-status{color:var(--text-secondary);font-weight:600}@keyframes pulse-red{0%,to{transform:scale(1);box-shadow:0 0 18px #e030308c}50%{transform:scale(1.07);box-shadow:0 0 32px #e03030d9}}.tutor-icon{color:var(--dynamic-bg);opacity:.8;filter:drop-shadow(0 1px 1px #0000004d)}@keyframes pulse{0%{box-shadow:0 0 0 0 var(--dynamic-primary-trans);transform:scale(.95)}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{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}.tutor-transcript-container{border-radius:0 0 16px 16px;flex-grow:1;padding:16px 24px;overflow-y:auto;box-shadow:inset 0 5px 15px #0003}.tutor-transcript{flex-direction:column;gap:16px;display:flex}.transcript-message{opacity:0;max-width:85%;animation:.3s ease-out forwards slideUpFadeIn;display:flex;transform:translateY(10px)}.transcript-message .message-bubble{word-wrap:break-word;border-radius:18px;align-items:center;min-height:45px;padding:12px 16px;line-height:1.5;display:flex}.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 #ffffff1a;border-bottom-left-radius:4px}.transcript-message.status{color:var(--text-secondary);align-self:center;font-size:.9rem;font-style:italic;animation:.3s fadeIn}.transcript-message.status .message-bubble{background:0 0;min-height:auto;padding:4px}#background-animations{z-index:0;pointer-events:none;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.particle{background-color:var(--dynamic-primary);will-change:transform;border-radius:50%;animation:linear infinite rise;position:absolute;bottom:-10px}@keyframes rise{0%{transform:translateY(0)}to{transform:translateY(-110vh)}}.line{will-change:transform;background:linear-gradient(to right, transparent, var(--dynamic-primary));opacity:.5;height:2px;animation:linear infinite zoom-in-out;position:absolute;transform:rotate(-45deg)}@keyframes zoom-in-out{0%{transform:scaleX(0)rotate(-45deg)}10%,to{opacity:0;transform:scaleX(1)rotate(-45deg)}}.history-button{background:var(--glass-bg-light);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:8px;padding:8px 16px;font-weight:600;transition:all .2s}.history-button:hover{background:var(--slot-bg);color:var(--text-primary);border-color:var(--dynamic-primary)}.history-overlay{z-index:100;background-color:#000000c7;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.history-modal{background:var(--glass-bg);border:1px solid var(--border-color);border-radius:16px;flex-direction:column;width:90%;max-width:800px;max-height:85vh;animation:.4s ease-out slideUpFadeIn;display:flex;box-shadow:0 10px 40px #00000080}.history-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.history-header h2{font-size:1.5rem;font-weight:700}.history-close-button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:2rem;line-height:1;transition:color .2s}.history-close-button:hover{color:var(--text-primary)}.history-content{flex-grow:1;padding:24px;overflow-y:auto}.history-empty-state{text-align:center;color:var(--text-secondary);padding:40px 20px}.history-empty-state p:first-child{margin-bottom:8px;font-size:1.2rem;font-weight:600}.history-list{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.history-item{background-color:var(--slot-bg);border:1px solid var(--border-color);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:16px;transition:border-color .2s;display:flex}.history-item:hover{border-color:var(--dynamic-primary-trans)}.history-item-info{flex-direction:column;flex-grow:1;gap:8px;display:flex}.history-item-mode{font-size:1.2rem;font-weight:700}.history-item-date{color:var(--text-secondary);font-size:.9rem}.history-item-files{color:var(--text-secondary);word-break:break-word;font-size:.9rem}.history-item-files strong{color:var(--text-primary)}.history-item-actions{flex-direction:column;flex-shrink:0;gap:8px;display:flex}.history-action-button{cursor:pointer;border:1px solid #0000;border-radius:6px;padding:8px 16px;font-size:1rem;font-weight:600;transition:all .2s}.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{color:var(--error-color);border-color:var(--error-color);background-color:#0000}.history-action-button.delete:hover{background-color:var(--error-color);color:#fff}.history-footer{border-top:1px solid var(--border-color);flex-shrink:0;justify-content:flex-end;padding:16px 24px;display:flex}.history-clear-all-button{background-color:var(--error-color);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-weight:600;transition:filter .2s}.history-clear-all-button:hover{filter:brightness(1.2)}.history-content::-webkit-scrollbar{width:8px}.history-content::-webkit-scrollbar-track{background:0 0;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 (width<=900px){.study-content-layout{grid-template-columns:1fr}.mnemonic-studio{position:static}}@media (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{text-align:center;width:100%}.history-item{flex-direction:column;align-items:flex-start}.history-item-actions{flex-direction:row;width:100%;margin-top:16px}.history-action-button{text-align:center;flex:1}}.forge-emblem-icon{background:#534ab7;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;font-size:20px;display:flex}.forge-user-chip{color:var(--text-secondary);background:var(--glass-bg-light);border:1px solid var(--border-color);border-radius:20px;padding:4px 12px;font-size:.8rem}.forge-mode-row{gap:12px;margin-bottom:24px;display:flex}.forge-mode-card{background:var(--glass-bg);border:1px solid var(--border-color);cursor:pointer;text-align:left;border-radius:12px;flex-direction:column;flex:1;align-items:flex-start;gap:6px;padding:20px 18px;transition:all .2s;display:flex}.forge-mode-card:hover{border-color:var(--dynamic-primary);transform:translateY(-3px)}.forge-mode-icon{font-size:1.8rem}.forge-mode-label{color:var(--text-primary);font-size:1rem;font-weight:700}.forge-mode-sub{color:var(--text-secondary);font-size:.85rem}.forge-room-cta{background:#534ab726;border:1px solid #afa9ec66;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin-top:8px;padding:18px 22px;display:flex}.forge-room-cta-text{flex-direction:column;gap:4px;display:flex}.forge-room-cta-text strong{color:var(--text-primary);font-size:1rem}.forge-room-cta-text span{color:var(--text-secondary);font-size:.85rem}.forge-room-cta-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#534ab7;border:none;border-radius:8px;padding:10px 22px;font-size:.95rem;font-weight:700;transition:opacity .2s}.forge-room-cta-btn:hover{opacity:.88}.forge-action-bar{gap:10px;display:flex}.forge-secondary-btn{background:var(--glass-bg-light);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;white-space:nowrap;border-radius:8px;padding:14px 20px;font-size:.95rem;font-weight:600;transition:background .2s}.forge-secondary-btn:hover{background:var(--slot-bg-hover)}.forge-topic-row{background:var(--glass-bg);border:1px solid var(--border-color);opacity:0;border-radius:10px;align-items:center;gap:16px;padding:16px 18px;transition:border-color .2s;animation:.45s ease-out forwards slideUpFadeIn;display:flex;transform:translateY(16px)}.forge-topic-row:hover{border-color:#ffffff59}.forge-topic-row.highlighted{border-color:var(--dynamic-primary);animation:.45s ease-out forwards slideUpFadeIn,1.5s ease-in-out 2 highlight-glow}.forge-topic-num{background:#ffffff1a;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;font-weight:700;display:flex}.forge-topic-body{flex:1;min-width:0;overflow:hidden}.forge-topic-name{color:var(--text-primary);margin-bottom:3px;font-size:1rem;font-weight:600}.forge-topic-reason{color:var(--text-secondary);white-space:normal;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.85rem;font-style:italic;display:-webkit-box;overflow:hidden}.forge-topic-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.forge-topic-btn{cursor:pointer;border:1px solid var(--border-color);color:var(--text-secondary);white-space:nowrap;background:0 0;border-radius:7px;align-items:center;gap:5px;padding:8px 16px;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.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{background:#534ab71f;border:1px solid #afa9ec59;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin:24px 0 8px;padding:16px 20px;display:flex}.forge-results-room-label{color:var(--text-primary);margin-bottom:3px;font-size:.95rem;font-weight:600}.forge-results-room-sub{color:var(--text-secondary);font-size:.82rem}.forge-results-room-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#534ab7;border:none;border-radius:8px;padding:9px 20px;font-size:.9rem;font-weight:700;transition:opacity .2s}.forge-results-room-btn:hover{opacity:.88}.forge-study-hub{animation:.4s fadeIn}.forge-hub-title{margin:8px 0;font-size:2rem;font-weight:700}.forge-hub-sub{color:var(--text-secondary);margin-bottom:24px;font-style:italic}.forge-hub-layout{grid-template-columns:1.4fr 1fr;align-items:flex-start;gap:24px;display:grid}.forge-hub-left{background:var(--glass-bg);border:1px solid var(--border-color);border-radius:12px;padding:24px}.forge-hub-notes-label{margin-bottom:16px;font-size:1.1rem;font-weight:600;display:block}.forge-hub-right{background:var(--glass-bg);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.forge-mnemonic-section{border-top:1px solid var(--border-color);margin-top:20px;padding-top:16px}.forge-mnemonic-chip{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:20px;padding:7px 14px;font-size:.85rem;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{flex-direction:column;gap:12px;display:flex}.forge-hub-tabs{border-bottom:1px solid var(--border-color);display:flex}.forge-hub-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:12px 8px;font-size:.85rem;font-weight:600;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{flex-direction:column;height:480px;display:flex}.forge-chat-panel .chat-messages{flex:1;overflow-y:auto}.forge-tutor-tab{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:480px;padding:40px 24px;display:flex}.forge-tutor-icon{font-size:3rem}.forge-tutor-title{font-size:1.1rem;font-weight:700}.forge-tutor-sub{color:var(--text-secondary);max-width:260px;font-size:.9rem;line-height:1.6}.forge-tutor-btn{background:var(--dynamic-primary);color:var(--dynamic-bg);cursor:pointer;border:none;border-radius:8px;margin-top:8px;padding:12px 24px;font-size:1rem;font-weight:700;transition:all .2s}.forge-tutor-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.inline-quiz-start,.inline-quiz-done{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:480px;padding:40px 24px;display:flex}.inline-quiz-label{color:var(--text-primary);font-size:1rem;font-weight:600}.inline-quiz-btn{background:var(--dynamic-primary);color:var(--dynamic-bg);cursor:pointer;border:none;border-radius:8px;margin-top:4px;padding:11px 28px;font-size:1rem;font-weight:700;transition:all .2s}.inline-quiz-btn:hover:not(:disabled){filter:brightness(1.1)}.inline-quiz-btn:disabled{opacity:.4;cursor:not-allowed}.inline-quiz{flex-direction:column;gap:12px;height:480px;padding:20px;display:flex;overflow-y:auto}.inline-quiz-meta{color:var(--text-secondary);font-size:.82rem;font-weight:600}.inline-quiz-q{font-size:1rem;font-weight:600;line-height:1.5}.inline-quiz-opts{flex-direction:column;gap:8px;display:flex}.inline-quiz-opt{background:var(--slot-bg);border:1px solid var(--border-color);color:var(--text-primary);text-align:left;cursor:pointer;border-radius:7px;padding:10px 14px;font-size:.9rem;transition:all .15s}.inline-quiz-opt:not(:disabled):hover{border-color:var(--dynamic-primary)}.inline-quiz-opt.correct{border-color:var(--success-color);color:#afc;background:#2ecc7133}.inline-quiz-opt.wrong{border-color:var(--error-color);color:#faa;background:#e74c3c33}.inline-quiz-opt.dimmed{opacity:.45;cursor:not-allowed}.inline-quiz-explain{color:var(--text-secondary);background:var(--mnemonic-bg);border-left:3px solid var(--dynamic-primary);border-radius:6px;padding:10px 12px;font-size:.88rem;line-height:1.5;animation:.3s fadeIn}.inline-quiz-next{background:var(--dynamic-primary);color:var(--dynamic-bg);cursor:pointer;border:none;border-radius:7px;margin-top:auto;padding:10px;font-weight:700;transition:filter .2s}.inline-quiz-next:hover{filter:brightness(1.1)}@media (width<=900px){.forge-hub-layout{grid-template-columns:1fr}.forge-mode-row{flex-direction:column}}@media (width<=768px){.forge-topic-row{flex-wrap:wrap}.forge-topic-actions{width:100%;margin-top:8px}}.rag-badge{color:var(--text-secondary);border:1px solid var(--border-color);background:#ffffff0d;border-radius:8px;align-items:center;gap:8px;margin:0 12px 8px;padding:7px 12px;font-size:.78rem;line-height:1.35;display:flex}.rag-badge.ready{color:#b6f2d9;background:#2ecc711f;border-color:#2ecc7159}.rag-badge.error{color:#ffc2c2;background:#e74c3c1f;border-color:#e74c3c59}.rag-badge .loading-spinner.small-inline{border-top-color:var(--dynamic-primary)}.chat-sources{border-top:1px solid #ffffff1a;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;padding-top:8px;display:flex}.chat-sources-label{color:var(--text-secondary);font-size:.72rem;font-weight:600}.chat-source{color:var(--text-primary);border:1px solid var(--border-color);overflow-wrap:anywhere;background:#ffffff14;border-radius:999px;padding:2px 8px;font-size:.72rem}:root{--forge-bg:#0b0b15;--forge-surface:#131320;--forge-surface-2:#1a1a2b;--forge-line:#ffffff14;--forge-line-strong:#ffffff29;--forge-accent:#534ab7;--forge-accent-hi:#6f63e0;--forge-accent-soft:#6f63e029;--forge-accent-text:#cfcbff;--forge-ring:0 0 0 3px #6f63e059;--forge-ok:#34d399;--forge-ok-soft:#34d39924;--forge-danger:#ff7b7b;--forge-danger-soft:#ff5a5a21;--forge-text:#f2f2f8;--forge-muted:#9a9ab0;--forge-radius:14px;--forge-radius-lg:20px;--forge-shadow:0 24px 80px #00000073}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.forge-spin{vertical-align:-3px;border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin;display:inline-block}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.auth-shell{z-index:2;background:radial-gradient(900px 520px at 8% 6%, #6f63e04d, transparent 60%), radial-gradient(760px 520px at 96% 100%, #46e8ff1a, transparent 60%), var(--forge-bg);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:100dvh;display:grid;position:relative}.auth-hero{border-right:1px solid var(--forge-line);flex-direction:column;justify-content:space-between;gap:40px;padding:48px 56px;display:flex}.auth-brand{align-items:center;gap:12px;display:inline-flex}.auth-mark{color:#fff;background:linear-gradient(135deg, var(--forge-accent-hi), var(--forge-accent));border-radius:12px;place-items:center;width:40px;height:40px;display:grid;box-shadow:0 8px 24px #534ab773}.auth-brand-name{letter-spacing:-.5px;font-size:1.5rem;font-weight:800}.auth-headline{letter-spacing:-1.5px;margin-bottom:16px;font-size:clamp(2rem,3.6vw,3.1rem);font-weight:800;line-height:1.08}.auth-headline em{background:linear-gradient(90deg,#b9b2ff,#7ee7ff);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-style:normal}.auth-lede{color:var(--forge-muted);max-width:460px;font-size:1.05rem;line-height:1.6}.auth-features{gap:14px;margin-top:28px;list-style:none;display:grid}.auth-features li{color:#d8d8e8;align-items:center;gap:14px;font-size:.95rem;display:flex}.auth-feature-icon{background:var(--forge-accent-soft);width:36px;height:36px;color:var(--forge-accent-text);border:1px solid #afa9ec38;border-radius:10px;flex-shrink:0;place-items:center;display:grid}.auth-mock{background:var(--forge-surface);border:1px solid var(--forge-line);max-width:440px;box-shadow:var(--forge-shadow);border-radius:16px;padding:16px}.auth-mock-head{align-items:center;gap:10px;margin-bottom:14px;font-size:.85rem;font-weight:600;display:flex}.auth-mock-code{color:var(--forge-muted);background:#ffffff0f;border-radius:6px;padding:2px 7px;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.72rem}.auth-mock-live{color:var(--forge-ok);align-items:center;gap:6px;margin-left:auto;font-size:.75rem;display:inline-flex}.auth-mock-live i{background:var(--forge-ok);border-radius:50%;width:7px;height:7px}.auth-mock-rows{gap:9px;display:grid}.auth-mock-row{grid-template-columns:26px 1fr 34px;align-items:center;gap:10px;font-size:.78rem;display:grid}.auth-mock-av{border-radius:50%;place-items:center;width:26px;height:26px;font-size:.62rem;font-weight:700;display:grid}.auth-mock-bar{background:#ffffff12;border-radius:4px;height:7px;overflow:hidden}.auth-mock-bar i{background:linear-gradient(90deg, var(--forge-accent), var(--forge-accent-hi));border-radius:4px;height:100%;display:block}.auth-mock-pts{text-align:right;color:var(--forge-accent-text);font-weight:700}.auth-panel{place-items:center;padding:32px 24px;display:grid}.auth-card{background:var(--forge-surface);border:1px solid var(--forge-line);border-radius:var(--forge-radius-lg);width:100%;max-width:440px;box-shadow:var(--forge-shadow);padding:34px;animation:.35s ease-out fadeIn}.auth-title{letter-spacing:-.5px;margin-bottom:6px;font-size:1.6rem;font-weight:800}.auth-subtitle{color:var(--forge-muted);margin-bottom:22px;font-size:.95rem}.auth-tabs{border:1px solid var(--forge-line);background:#ffffff0a;border-radius:12px;grid-template-columns:1fr 1fr;margin-bottom:24px;padding:4px;display:grid;position:relative}.auth-tab-thumb{background:var(--forge-accent-soft);border:1px solid #afa9ec59;border-radius:9px;width:calc(50% - 4px);transition:transform .22s;position:absolute;top:4px;bottom:4px;left:4px}.auth-tabs[data-mode=signup] .auth-tab-thumb{transform:translate(100%)}.auth-tab{z-index:1;cursor:pointer;height:38px;color:var(--forge-muted);font:inherit;background:0 0;border:none;font-size:.9rem;font-weight:600;transition:color .2s;position:relative}.auth-tab[aria-selected=true]{color:var(--forge-text)}.auth-tab:focus-visible{box-shadow:var(--forge-ring);border-radius:9px;outline:none}.auth-alert{border-radius:11px;align-items:flex-start;gap:10px;margin-bottom:18px;padding:11px 13px;font-size:.88rem;line-height:1.45;display:flex}.auth-alert svg{flex-shrink:0;margin-top:1px}.auth-alert.error{background:var(--forge-danger-soft);color:#ffc2c2;border:1px solid #ff5a5a59}.auth-alert.success{background:var(--forge-ok-soft);color:#b6f2d9;border:1px solid #34d39959}.auth-form{gap:16px;display:grid}.auth-field{gap:7px;display:grid}.auth-field label{color:#c9c9dc;font-size:.82rem;font-weight:600}.auth-input-wrap{position:relative}.auth-input-icon{color:var(--forge-muted);pointer-events:none;display:flex;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.auth-input{border:1px solid var(--forge-line-strong);width:100%;height:48px;color:var(--forge-text);font:inherit;background:#ffffff0a;border-radius:12px;padding:0 44px 0 42px;font-size:.96rem;transition:border-color .18s,box-shadow .18s,background .18s}.auth-input::placeholder{color:#6d6d85}.auth-input:hover{border-color:#ffffff47}.auth-input:focus{border-color:var(--forge-accent-hi);box-shadow:var(--forge-ring);background:#ffffff0f;outline:none}.auth-input:-webkit-autofill{-webkit-text-fill-color:var(--forge-text);box-shadow:inset 0 0 0 100px #1b1b2e}.auth-reveal{width:36px;height:36px;color:var(--forge-muted);cursor:pointer;background:0 0;border:none;border-radius:9px;place-items:center;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.auth-reveal:hover{color:var(--forge-text);background:#ffffff0f}.auth-reveal:focus-visible{box-shadow:var(--forge-ring);outline:none}.auth-strength{grid-template-columns:repeat(4,1fr);gap:5px;margin-top:2px;display:grid}.auth-strength span{background:#ffffff17;border-radius:2px;height:4px;transition:background .2s}.auth-strength[data-level="1"] span:nth-child(-n+1){background:#ff6b6b}.auth-strength[data-level="2"] span:nth-child(-n+2){background:#ffb454}.auth-strength[data-level="3"] span:nth-child(-n+3){background:#7ee7a8}.auth-strength[data-level="4"] span{background:var(--forge-ok)}.auth-hint{color:var(--forge-muted);font-size:.78rem}.auth-submit{background:linear-gradient(135deg, var(--forge-accent-hi), var(--forge-accent));color:#fff;height:50px;font:inherit;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:9px;margin-top:4px;font-size:1rem;font-weight:700;transition:transform .15s,box-shadow .15s,filter .15s;display:inline-flex;box-shadow:0 10px 28px #534ab766}.auth-submit:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 14px 34px #534ab780}.auth-submit:active:not(:disabled){transform:translateY(0)}.auth-submit:focus-visible{box-shadow:var(--forge-ring), 0 10px 28px #534ab766;outline:none}.auth-submit:disabled{opacity:.65;cursor:progress}.auth-switch{text-align:center;color:var(--forge-muted);margin-top:20px;font-size:.9rem}.auth-switch button{cursor:pointer;color:var(--forge-accent-text);font:inherit;background:0 0;border:none;padding:0;font-weight:600}.auth-switch button:hover{text-decoration:underline}.auth-switch button:focus-visible{box-shadow:var(--forge-ring);border-radius:4px;outline:none}@media (width<=960px){.auth-shell{grid-template-columns:1fr}.auth-hero{border-right:none;gap:0;padding:24px 24px 0}.auth-hero-copy .auth-features,.auth-mock,.auth-lede{display:none}.auth-headline{margin:22px 0 0;font-size:1.7rem}.auth-panel{align-items:start;padding:16px 16px 32px}}@media (width<=480px){.auth-card{padding:24px 20px}}.forge-avatar{-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex}.forge-spin.small{vertical-align:-2px;border-width:2px;width:13px;height:13px}.lobby{max-width:860px;margin:0 auto;padding-bottom:32px}.lobby-back{color:var(--forge-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:9px;align-items:center;gap:6px;margin-bottom:8px;padding:6px 10px 6px 6px;font-size:.92rem;transition:color .15s,background .15s;display:inline-flex}.lobby-back:hover{color:var(--forge-text);background:#ffffff0f}.lobby-back:focus-visible{box-shadow:var(--forge-ring);outline:none}.lobby-head{text-align:center;margin-bottom:32px}.lobby-mark{color:#fff;background:linear-gradient(135deg, var(--forge-accent-hi), var(--forge-accent));border-radius:16px;place-items:center;width:56px;height:56px;margin-bottom:14px;display:inline-grid;box-shadow:0 10px 30px #534ab773}.lobby-head h1{letter-spacing:-1px;margin-bottom:8px;font-size:2.3rem;font-weight:800}.lobby-head p{color:var(--forge-muted);max-width:520px;margin:0 auto;font-size:1.05rem;line-height:1.55}.lobby-alert{background:var(--forge-danger-soft);color:#ffc2c2;border:1px solid #ff5a5a59;border-radius:11px;align-items:center;gap:10px;max-width:560px;margin:0 auto 20px;padding:11px 14px;font-size:.9rem;display:flex}.lobby-alert svg{flex-shrink:0}.lobby-grid{grid-template-columns:1fr auto 1fr;align-items:stretch;gap:18px;display:grid}.lobby-or{align-items:center;display:flex}.lobby-or span{color:var(--forge-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;font-weight:600}.lobby-card{background:var(--forge-surface);border:1px solid var(--forge-line);border-radius:var(--forge-radius-lg);flex-direction:column;gap:12px;padding:28px 26px;transition:border-color .2s;display:flex}.lobby-card:hover,.lobby-card:focus-within{border-color:var(--forge-line-strong)}.lobby-card.primary{background:linear-gradient(180deg, #6f63e01a, var(--forge-surface) 55%);border-color:#afa9ec52}.lobby-card-icon{background:var(--forge-accent-soft);width:44px;height:44px;color:var(--forge-accent-text);border:1px solid #afa9ec38;border-radius:12px;place-items:center;display:grid}.lobby-card h2{margin-top:4px;font-size:1.25rem;font-weight:700}.lobby-card p{color:var(--forge-muted);font-size:.92rem;line-height:1.5}.lobby-input{border:1px solid var(--forge-line-strong);height:46px;color:var(--forge-text);font:inherit;background:#ffffff0a;border-radius:12px;margin-top:4px;padding:0 14px;font-size:.95rem;transition:border-color .18s,box-shadow .18s}.lobby-input::placeholder{color:#6d6d85}.lobby-input:focus{border-color:var(--forge-accent-hi);box-shadow:var(--forge-ring);outline:none}.lobby-input.code{letter-spacing:.12em;text-align:center;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:1.05rem}.lobby-topics{color:var(--forge-muted);border:1px dashed var(--forge-line-strong);background:#ffffff08;border-radius:10px;align-items:center;gap:8px;padding:9px 12px;font-size:.82rem;display:flex}.lobby-topics.has{color:#b6f2d9;background:var(--forge-ok-soft);border:1px solid #34d3994d}.lobby-topics svg{flex-shrink:0}.lobby-btn{border:1px solid var(--forge-line-strong);height:46px;color:var(--forge-text);font:inherit;cursor:pointer;background:#ffffff0d;border-radius:12px;justify-content:center;align-items:center;gap:8px;margin-top:auto;font-size:.95rem;font-weight:700;transition:background .15s,transform .15s,filter .15s;display:inline-flex}.lobby-btn:hover:not(:disabled){background:#ffffff17}.lobby-btn.primary{color:#fff;background:linear-gradient(135deg, var(--forge-accent-hi), var(--forge-accent));border:none;box-shadow:0 8px 24px #534ab766}.lobby-btn.primary:hover:not(:disabled){filter:brightness(1.08);background:linear-gradient(135deg, var(--forge-accent-hi), var(--forge-accent));transform:translateY(-1px)}.lobby-btn:focus-visible{box-shadow:var(--forge-ring);outline:none}.lobby-btn:disabled{opacity:.6;cursor:progress}.fr{background:var(--forge-bg);height:100dvh;color:var(--forge-text);flex-direction:column;display:flex;overflow:hidden}.fr-loading{height:100dvh;color:var(--forge-muted);background:var(--forge-bg);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.fr-top{background:var(--forge-surface);border-bottom:1px solid var(--forge-line);flex-shrink:0;align-items:center;gap:18px;padding:10px 20px;display:flex}.fr-brand{flex-shrink:0;align-items:center;gap:9px;display:inline-flex}.fr-mark{color:#fff;background:linear-gradient(135deg, var(--forge-accent-hi), var(--forge-accent));border-radius:9px;place-items:center;width:30px;height:30px;display:grid}.fr-brand-name{letter-spacing:-.3px;font-weight:800}.fr-title{flex:1;min-width:0}.fr-title h1{white-space:nowrap;text-overflow:ellipsis;font-size:.98rem;font-weight:650;overflow:hidden}.fr-sub{color:var(--forge-muted);align-items:center;gap:10px;margin-top:2px;font-size:.78rem;display:flex}.fr-live{color:var(--forge-ok);align-items:center;gap:6px;font-weight:600;display:inline-flex}.fr-live i{background:var(--forge-ok);border-radius:50%;width:7px;height:7px;position:relative}.fr-live i:after{content:"";background:var(--forge-ok);border-radius:50%;animation:1.8s ease-out infinite fr-ping;position:absolute;inset:0}@keyframes fr-ping{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(3)}}.fr-code{cursor:pointer;color:#c9c9dc;border:1px solid var(--forge-line-strong);background:#ffffff0d;border-radius:7px;align-items:center;gap:5px;padding:2px 8px;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.75rem;transition:background .15s;display:inline-flex}.fr-code:hover{background:#ffffff1a}.fr-code:focus-visible{box-shadow:var(--forge-ring);outline:none}.fr-actions{flex-shrink:0;gap:8px;display:flex}.fr-btn{border:1px solid var(--forge-line-strong);color:#d6d6e6;height:36px;font:inherit;cursor:pointer;white-space:nowrap;background:#ffffff0a;border-radius:10px;align-items:center;gap:7px;padding:0 13px;font-size:.85rem;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.fr-btn:hover{color:#fff;background:#ffffff17}.fr-btn.active{background:var(--forge-accent-soft);color:var(--forge-accent-text);border-color:#afa9ec73}.fr-btn.danger{color:var(--forge-danger);border-color:#ff5a5a4d}.fr-btn.danger:hover{background:var(--forge-danger-soft)}.fr-btn:focus-visible{box-shadow:var(--forge-ring);outline:none}.fr-people{border-bottom:1px solid var(--forge-line);flex-shrink:0;align-items:center;gap:16px;padding:10px 20px;display:flex}.fr-avatars{scrollbar-width:none;flex:1;gap:8px;min-width:0;list-style:none;display:flex;overflow-x:auto}.fr-avatars::-webkit-scrollbar{display:none}.fr-person{border:1px solid var(--forge-line);color:#d6d6e6;background:#ffffff0a;border-radius:999px;flex-shrink:0;align-items:center;gap:8px;padding:4px 12px 4px 4px;font-size:.82rem;display:inline-flex}.fr-person.me{background:var(--forge-accent-soft);color:#fff;border-color:#afa9ec59}.fr-host{color:#ffc857;display:inline-flex}.fr-media{flex-shrink:0;align-items:center;gap:8px;display:flex}.fr-round{cursor:pointer;border:1px solid var(--forge-line-strong);border-radius:50%;place-items:center;width:40px;height:40px;transition:background .15s,color .15s,transform .15s;display:grid}.fr-round.on{background:var(--forge-accent-soft);color:var(--forge-accent-text);border-color:#afa9ec66}.fr-round.off{background:var(--forge-danger-soft);color:var(--forge-danger);border-color:#ff5a5a59}.fr-round:hover{transform:translateY(-1px)}.fr-round:focus-visible{box-shadow:var(--forge-ring);outline:none}.fr-video{background:#000;border-radius:12px;flex-shrink:0;height:0;margin:0 20px;transition:height .2s,margin .2s;overflow:hidden}.fr-video.open{border:1px solid var(--forge-line);height:210px;margin:12px 20px 0}.fr-video.local{position:relative}.fr-video video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.fr-video-tag{color:#ffffffd9;background:#0009;border-radius:999px;padding:2px 9px;font-size:.72rem;position:absolute;bottom:10px;left:12px}.fr-body{flex:1;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:14px;min-height:0;padding:14px 20px 20px;display:grid}.fr-card{background:var(--forge-surface);border:1px solid var(--forge-line);border-radius:16px;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.fr-card-head{border-bottom:1px solid var(--forge-line);flex-shrink:0;align-items:center;gap:10px;padding:13px 18px;display:flex}.fr-card-title{align-items:center;gap:8px;font-size:.92rem;font-weight:650;display:inline-flex}.fr-status{color:var(--forge-muted);align-items:center;gap:6px;margin-left:auto;font-size:.78rem;display:inline-flex}.fr-select{cursor:pointer;background:var(--forge-accent-soft);max-width:55%;height:32px;color:var(--forge-accent-text);font:inherit;border:1px solid #afa9ec66;border-radius:9px;margin-left:auto;padding:0 10px;font-size:.82rem;font-weight:500}.fr-select:focus{box-shadow:var(--forge-ring);outline:none}.fr-select option{color:#f0f0f0;background:#1a1a2e}.fr-status+.fr-select,.fr-select+.fr-status{margin-left:8px}.fr-scroll,.fr-ai-msgs,.room-chat-messages,.fr-transcript,.qb-active,.qb-results{overscroll-behavior:contain;contain:content;scrollbar-width:thin;scrollbar-color:#ffffff29 transparent;overflow-y:auto}.fr-scroll{flex:1;padding:20px 22px}.fr-md{color:#dcdcea;font-size:.94rem;line-height:1.7}.fr-md h1,.fr-md h2,.fr-md h3,.fr-md h4{color:var(--forge-text);margin:1.3em 0 .5em;font-weight:650;line-height:1.3}.fr-md>:first-child{margin-top:0}.fr-md h1{font-size:1.5rem}.fr-md h2{font-size:1.25rem}.fr-md h3{color:var(--forge-accent-text);font-size:1.08rem}.fr-md h4{font-size:1rem}.fr-md p{margin-bottom:.9em}.fr-md p:last-child,.fr-md ul:last-child{margin-bottom:0}.fr-md ul{margin-bottom:.9em;padding-left:1.2em}.fr-md li{margin-bottom:.35em}.fr-md strong{color:#fff}.fr-md code{background:#ffffff14;border-radius:6px;padding:1px 6px;font-size:.88em}.fr-md hr{border:none;border-top:1px solid var(--forge-line);margin:1.2em 0}.fr-empty{text-align:center;color:var(--forge-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;padding:36px 20px;font-size:.88rem;line-height:1.5;display:flex}.fr-empty strong{color:var(--forge-text);font-size:.98rem}.fr-empty-icon{width:48px;height:48px;color:var(--forge-accent-text);background:#ffffff0d;border-radius:14px;place-items:center;margin-bottom:6px;display:grid}.fr-hint{color:var(--forge-muted);font-size:.78rem}.fr-hint.center{text-align:center;padding-top:12px;font-style:italic}.fr-tabs{border-bottom:1px solid var(--forge-line);flex-shrink:0;grid-template-columns:repeat(4,1fr);gap:4px;padding:8px;display:grid}.fr-tab{cursor:pointer;height:38px;color:var(--forge-muted);font:inherit;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;gap:7px;font-size:.84rem;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.fr-tab:hover{color:var(--forge-text);background:#ffffff0d}.fr-tab.active{color:var(--forge-accent-text);background:var(--forge-accent-soft)}.fr-tab:focus-visible{box-shadow:var(--forge-ring);outline:none}.fr-panel{flex-direction:column;flex:1;min-height:0;display:flex}.fr-panel-head{flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;font-size:.84rem;font-weight:600;display:flex}.fr-panel-head>span:first-child{align-items:center;gap:7px;display:inline-flex}.fr-badge{color:var(--forge-accent-text);background:var(--forge-accent-soft);border-radius:999px;padding:2px 9px;font-size:.7rem;font-weight:600}.fr-composer{border-top:1px solid var(--forge-line);flex-shrink:0;gap:8px;padding:12px;display:flex}.fr-input{border:1px solid var(--forge-line-strong);min-width:0;height:42px;color:var(--forge-text);font:inherit;background:#ffffff0a;border-radius:12px;flex:1;padding:0 14px;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.fr-input::placeholder{color:#6d6d85}.fr-input:focus{border-color:var(--forge-accent-hi);box-shadow:var(--forge-ring);outline:none}.fr-send{cursor:pointer;color:#fff;background:linear-gradient(135deg, var(--forge-accent-hi), var(--forge-accent));border:none;border-radius:12px;flex-shrink:0;place-items:center;width:42px;height:42px;transition:filter .15s,transform .15s;display:grid}.fr-send:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.fr-send:focus-visible{box-shadow:var(--forge-ring);outline:none}.fr-send:disabled{opacity:.4;cursor:not-allowed}.fr-ai{flex-direction:column;flex:1;min-height:0;display:flex}.fr-ai-msgs{flex-direction:column;flex:1;gap:18px;padding:4px 16px 16px;display:flex}.fr-ai-entry{flex-direction:column;gap:10px;display:flex}.fr-ai-q{align-items:flex-start;gap:10px;display:flex}.fr-ai-q p{background:var(--forge-accent-soft);border-radius:4px 12px 12px;margin-top:2px;padding:8px 12px;font-size:.88rem;line-height:1.5}.fr-ai-asker{color:#a8a1f0;font-size:.72rem;font-weight:600}.fr-ai-a{align-items:flex-start;gap:10px;display:flex}.fr-ai-a>.fr-md{flex:1}.fr-ai-a>.fr-typing{flex:none;height:38px}.fr-ai-a>.fr-md,.fr-ai-a>.fr-typing{border:1px solid var(--forge-line);background:#ffffff0b;border-radius:4px 12px 12px;min-width:0;padding:10px 14px;font-size:.88rem}.fr-ai-bot{color:#fff;background:linear-gradient(135deg, var(--forge-accent-hi), var(--forge-accent));border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;display:grid}.fr-typing{align-items:center;gap:4px;display:inline-flex}.fr-typing i{background:var(--forge-muted);border-radius:50%;width:6px;height:6px;animation:1.1s ease-in-out infinite fr-dot}.fr-typing i:nth-child(2){animation-delay:.15s}.fr-typing i:nth-child(3){animation-delay:.3s}@keyframes fr-dot{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.fr-chips{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px;display:flex}.fr-chip{cursor:pointer;font:inherit;color:var(--forge-accent-text);background:var(--forge-accent-soft);border:1px solid #afa9ec4d;border-radius:999px;padding:7px 13px;font-size:.8rem;transition:background .15s}.fr-chip:hover:not(:disabled){background:#6f63e047}.fr-chip:disabled{opacity:.5;cursor:not-allowed}.fr-tutor-idle{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:32px 24px;display:flex}.fr-tutor-hero{color:#fff;background:linear-gradient(135deg,#ff6b6b,#e03030);border-radius:20px;place-items:center;width:68px;height:68px;margin-bottom:4px;display:grid;box-shadow:0 10px 30px #e0303059}.fr-tutor-idle h3{font-size:1.15rem;font-weight:700}.fr-tutor-idle p{max-width:280px;color:var(--forge-muted);font-size:.9rem;line-height:1.55}.fr-cta{cursor:pointer;color:#fff;height:44px;font:inherit;background:linear-gradient(135deg, var(--forge-accent-hi), var(--forge-accent));border:none;border-radius:12px;align-items:center;gap:8px;margin-top:8px;padding:0 22px;font-weight:700;transition:filter .15s,transform .15s;display:inline-flex;box-shadow:0 8px 24px #534ab766}.fr-cta:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.fr-cta:focus-visible{box-shadow:var(--forge-ring);outline:none}.fr-cta:disabled{opacity:.45;cursor:not-allowed}.fr-tutor-live{flex-direction:column;flex:1;gap:12px;min-height:0;padding:16px 14px 14px;display:flex}.fr-orb-wrap{flex-direction:column;align-items:center;gap:6px;padding-top:4px;display:flex}.fr-orb-wrap .tutor-orb{border:none;margin:0 auto 6px;padding:0}.fr-orb-label{color:var(--forge-muted);font-size:.82rem;font-weight:600}.fr-transcript{flex-direction:column;flex:1;gap:8px;min-height:0;padding:2px;display:flex}.fr-bubble{border-radius:12px;max-width:90%;padding:8px 12px;font-size:.85rem;line-height:1.5}.fr-bubble.user{color:#d9d5ff;background:#6f63e04d;border-bottom-right-radius:4px;align-self:flex-end}.fr-bubble.ai{color:#cfcfe0;background:#ffffff0f;border-bottom-left-radius:4px;align-self:flex-start}.fr-end{cursor:pointer;height:36px;font:inherit;color:var(--forge-danger);background:var(--forge-danger-soft);border:1px solid #ff5a5a59;border-radius:999px;align-self:center;align-items:center;gap:7px;padding:0 18px;font-size:.82rem;font-weight:600;display:inline-flex}.fr-end:hover{background:#ff5a5a33}.room-chat{flex-direction:column;flex:1;min-height:0;display:flex}.room-chat-messages{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex}.room-chat-msg{align-items:flex-end;gap:9px;display:flex}.room-chat-msg.grouped{margin-top:-8px}.room-chat-msg.me{flex-direction:row-reverse}.room-chat-spacer{flex-shrink:0;width:28px}.room-chat-bubble-wrap{flex-direction:column;gap:3px;max-width:78%;display:flex}.room-chat-msg.me .room-chat-bubble-wrap{align-items:flex-end}.room-chat-sender{color:var(--forge-muted);padding-left:4px;font-size:.72rem;font-weight:600}.room-chat-bubble{overflow-wrap:anywhere;border-radius:16px;padding:8px 13px;font-size:.88rem;line-height:1.5}.room-chat-msg.them .room-chat-bubble{background:#ffffff12;border-bottom-left-radius:5px}.room-chat-msg.me .room-chat-bubble{color:#fff;background:linear-gradient(135deg, var(--forge-accent-hi), var(--forge-accent));border-bottom-right-radius:5px}.room-chat-msg.grouped .room-chat-bubble{border-radius:16px}.room-chat-time{color:#6d6d85;padding:0 4px;font-size:.66rem}.qb-lobby{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:32px 22px;display:flex}.qb-lobby-icon{color:#ffc857;background:#ffc8571f;border:1px solid #ffc85747;border-radius:18px;place-items:center;width:60px;height:60px;margin-bottom:4px;display:grid}.qb-lobby-title{font-size:1.15rem;font-weight:700}.qb-lobby-sub{max-width:280px;color:var(--forge-muted);font-size:.9rem;line-height:1.55}.qb-setup{flex-direction:column;gap:10px;width:100%;max-width:300px;margin-top:8px;display:flex}.qb-select{cursor:pointer;background:var(--forge-accent-soft);width:100%;height:42px;color:var(--forge-accent-text);font:inherit;border:1px solid #afa9ec66;border-radius:11px;padding:0 12px;font-size:.88rem}.qb-select:focus{box-shadow:var(--forge-ring);outline:none}.qb-select option{color:#f0f0f0;background:#1a1a2e}.qb-start-btn{cursor:pointer;color:#fff;height:44px;font:inherit;background:linear-gradient(135deg, var(--forge-accent-hi), var(--forge-accent));border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:.92rem;font-weight:700;transition:filter .15s,transform .15s;display:inline-flex}.qb-start-btn:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.qb-start-btn:focus-visible{box-shadow:var(--forge-ring);outline:none}.qb-start-btn:disabled{opacity:.55;cursor:progress}.qb-active{flex-direction:column;flex:1;gap:14px;padding:16px;display:flex}.qb-active-header{flex-shrink:0;align-items:center;gap:8px;display:flex}.qb-topic-tag{text-overflow:ellipsis;white-space:nowrap;max-width:50%;color:var(--forge-accent-text);background:var(--forge-accent-soft);border-radius:999px;padding:3px 11px;font-size:.76rem;font-weight:600;overflow:hidden}.qb-progress{color:var(--forge-muted);margin-left:auto;font-size:.8rem;font-weight:600}.qb-my-score{color:var(--forge-ok);font-size:.8rem;font-weight:700}.qb-bar{background:#ffffff14;border-radius:3px;flex-shrink:0;height:5px;overflow:hidden}.qb-bar i{background:linear-gradient(90deg, var(--forge-accent), var(--forge-accent-hi));border-radius:3px;height:100%;transition:width .3s;display:block}.qb-question{flex-shrink:0;font-size:1.02rem;font-weight:650;line-height:1.5}.qb-options{flex-direction:column;gap:8px;display:flex}.qb-opt{text-align:left;cursor:pointer;color:var(--forge-text);font:inherit;border:1px solid var(--forge-line-strong);background:#ffffff0a;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;font-size:.9rem;transition:border-color .15s,background .15s,opacity .15s;display:flex}.qb-opt:not(:disabled):hover{border-color:var(--forge-accent-hi);background:var(--forge-accent-soft)}.qb-opt:focus-visible{box-shadow:var(--forge-ring);outline:none}.qb-letter{width:26px;height:26px;color:var(--forge-muted);background:#ffffff12;border-radius:8px;flex-shrink:0;place-items:center;font-size:.75rem;font-weight:700;display:grid}.qb-opt-text{overflow-wrap:anywhere;flex:1;min-width:0}.qb-opt.correct{background:var(--forge-ok-soft);border-color:#34d3998c}.qb-opt.correct .qb-letter{color:#06281c;background:var(--forge-ok)}.qb-opt.wrong{background:var(--forge-danger-soft);border-color:#ff5a5a80}.qb-opt.wrong .qb-letter{color:#2b0808;background:var(--forge-danger)}.qb-opt.dimmed{opacity:.45;cursor:not-allowed}.qb-explanation{color:#c3c3d6;border-left:3px solid var(--forge-accent-hi);background:#ffffff0a;border-radius:4px 10px 10px 4px;padding:10px 13px;font-size:.84rem;line-height:1.55;animation:.25s fadeIn}.qb-next-btn{cursor:pointer;color:#fff;height:42px;font:inherit;background:linear-gradient(135deg, var(--forge-accent-hi), var(--forge-accent));border:none;border-radius:12px;flex-shrink:0;font-size:.9rem;font-weight:700;transition:filter .15s}.qb-next-btn:hover{filter:brightness(1.1)}.qb-next-btn:focus-visible{box-shadow:var(--forge-ring);outline:none}.qb-live-lb{border:1px solid var(--forge-line);background:#ffffff08;border-radius:12px;margin-top:auto;padding:11px 13px}.qb-live-lb-title{text-transform:uppercase;letter-spacing:.08em;color:var(--forge-muted);margin-bottom:8px;font-size:.7rem;font-weight:700}.qb-live-row{align-items:center;gap:8px;margin-bottom:5px;font-size:.82rem;display:flex}.qb-live-row:last-child{margin-bottom:0}.qb-live-rank{width:22px;color:var(--forge-muted)}.qb-live-name{flex:1;font-weight:500}.qb-live-pts{color:var(--forge-accent-text);font-weight:700}.qb-results{flex-direction:column;flex:1;align-items:center;gap:10px;padding:26px 16px;display:flex}.qb-results-title{align-items:center;gap:8px;font-size:1.15rem;font-weight:700;display:inline-flex}.qb-results-topic{color:var(--forge-muted);margin-bottom:6px;font-size:.85rem}.qb-lb-row{border:1px solid var(--forge-line);background:#ffffff0a;border-radius:12px;align-items:center;gap:10px;width:100%;max-width:340px;padding:10px 14px;display:flex}.qb-lb-row.me{background:var(--forge-accent-soft);border-color:#afa9ec66}.qb-lb-rank{width:30px;color:var(--forge-muted);text-align:center;font-size:1rem;font-weight:700}.qb-lb-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.9rem;font-weight:500;overflow:hidden}.qb-lb-score{color:var(--forge-accent-text);font-size:.92rem;font-weight:700}.qb-results .qb-start-btn{margin-top:12px}@media (width<=900px){.fr-body{grid-template-columns:1fr;grid-auto-rows:auto;overflow-y:auto}.fr-notes{height:40dvh}.fr-side{height:82dvh}.fr-brand-name{display:none}}@media (width<=720px){.lobby-grid{grid-template-columns:1fr}.lobby-or{justify-content:center}.lobby-head h1{font-size:1.9rem}.fr-top{gap:12px;padding:10px 14px}.fr-people{gap:10px;padding:10px 14px}.fr-body{padding:12px 14px 16px}.fr-btn span{display:none}.fr-btn{padding:0 11px}.fr-video,.fr-video.open{margin-left:14px;margin-right:14px}.fr-tab span{display:none}}.qb-error{text-align:left;color:#ffc2c2;background:var(--forge-danger-soft);border:1px solid #ff5a5a59;border-radius:10px;padding:8px 12px;font-size:.82rem}
