.brainy-chat-container{display:flex;flex-direction:column;position:fixed;top:50px;left:0;right:0;background:var(--bg-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin:0;overflow:hidden;z-index:100;height:var(--chat-height, calc(100dvh - 50px) )}.chat-window{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:15px;background:var(--chat-bg)}.message-wrapper{display:flex;align-items:flex-end;gap:10px;max-width:85%}.message-wrapper.user{align-self:flex-end;flex-direction:row-reverse}.message-wrapper.brainy{align-self:flex-start}.brainy-avatar{width:40px;height:40px;border-radius:50%;background:#fff;padding:5px;border:2px solid #a18cd1;box-shadow:0 2px 8px #0000001a}.message-bubble{padding:12px 18px;border-radius:18px;font-size:1.05rem;line-height:1.4;position:relative;box-shadow:0 4px 12px #0000000d}.user .message-bubble{background:linear-gradient(120deg,#a18cd1,#fbc2eb);color:#fff;border-bottom-right-radius:4px}.brainy .message-bubble{background:var(--bubble-brainy-bg);color:var(--bubble-brainy-text);border-bottom-left-radius:4px;border:1px solid var(--card-border)}.message-image{max-width:250px;max-height:250px;border-radius:12px;margin-bottom:8px;display:block;object-fit:contain}.chat-input-area{padding:10px;padding-bottom:calc(10px + env(safe-area-inset-bottom));background:var(--card-bg);border-top:1px solid var(--card-border);flex-shrink:0}.input-row{display:flex;gap:10px;align-items:center}.chat-input-area input[type=text]{flex:1;padding:10px 15px;border-radius:25px;border:2px solid var(--input-border);font-size:1rem;transition:all .3s ease;outline:none;background:var(--input-bg);color:var(--text-primary)}.chat-input-area input[type=text]:focus{border-color:#ff9a9e;box-shadow:0 0 0 4px #ff9a9e1a}.icon-button{background:var(--input-bg);border:1px solid var(--input-border);font-size:1.3rem;padding:6px;border-radius:12px;cursor:pointer;transition:transform .2s;color:var(--text-primary)}.icon-button:hover{transform:scale(1.1)}.stt-button.listening{background:#ff5e62;border-color:#ff5e62;color:#fff;animation:pulse-red 1.5s infinite}@keyframes pulse-red{0%{box-shadow:0 0 #ff5e62b3}70%{box-shadow:0 0 0 10px #ff5e6200}to{box-shadow:0 0 #ff5e6200}}.send-button{background:linear-gradient(to right,#ff9a9e,#fecfef 99% 100%);color:#fff;border:none;padding:8px 20px;border-radius:25px;font-weight:700;cursor:pointer;font-size:1.1rem;box-shadow:0 4px 15px #ff9a9e4d}.send-button:disabled{background:#ccc;box-shadow:none;cursor:not-allowed}.image-preview-bar{display:flex;align-items:center;gap:10px;margin-bottom:10px;padding:5px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:10px}.image-preview-bar img{height:60px;border-radius:8px}.remove-image{background:#ff5e62;color:#fff;border:none;width:24px;height:24px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.loading .dot{animation:loading 1.4s infinite both;display:inline-block;font-size:1.5rem;margin:0 2px}.loading .dot:nth-child(2){animation-delay:.2s}.loading .dot:nth-child(3){animation-delay:.4s}@keyframes loading{0%{opacity:.2;transform:translateY(0)}20%{opacity:1;transform:translateY(-5px)}to{opacity:.2;transform:translateY(0)}}.admin-container{padding:20px;max-width:1000px;margin:0 auto;animation:fadeIn .5s ease-out}.admin-title{color:var(--text-primary);margin-bottom:30px;font-size:2rem;text-align:center}.admin-section{background:var(--card-bg);padding:24px;border-radius:16px;box-shadow:0 4px 20px var(--card-shadow);margin-bottom:40px;color:var(--text-primary)}.admin-section h3{margin-top:0;margin-bottom:20px;color:var(--text-secondary);font-size:1.25rem;border-bottom:2px solid var(--card-border);padding-bottom:10px}.user-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.user-card{padding:16px;border-radius:12px;border:1px solid var(--card-border);display:flex;flex-direction:column;gap:16px;transition:transform .2s,box-shadow .2s;background:var(--card-bg)}.user-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.user-card.pending{border-left:5px solid #ffcc00;background:#fffdf5}.user-info{display:flex;align-items:center;gap:12px}.user-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid white;box-shadow:0 2px 4px #0000001a}.user-name{font-weight:600;color:var(--text-primary)}.user-email{font-size:.85rem;color:var(--text-secondary)}.user-actions{display:flex;gap:10px}.approve-btn,.reject-btn{flex:1;padding:8px;border-radius:8px;border:none;font-weight:600;cursor:pointer;transition:filter .2s}.approve-btn{background:#00c853;color:#fff}.reject-btn{background:#ff5252;color:#fff}.approve-btn:hover,.reject-btn:hover{filter:brightness(.9)}.approve-btn:disabled,.reject-btn:disabled{opacity:.6;cursor:not-allowed}.user-table-wrapper{overflow-x:auto}.user-table{width:100%;border-collapse:collapse}.user-table th{text-align:left;padding:12px;background:var(--input-bg);color:var(--text-secondary);font-weight:600;font-size:.85rem}.user-table td{padding:12px;border-bottom:1px solid var(--card-border);vertical-align:middle}.user-cell{display:flex;align-items:center;gap:10px}.user-avatar-small{width:32px;height:32px;border-radius:50%}.user-details-small{display:flex;flex-direction:column}.user-name-small{font-weight:500;font-size:.9rem}.user-email-small{font-size:.75rem;color:#888}.stat-cell{font-weight:500;color:var(--text-primary)}.reject-btn-small{padding:6px 12px;border-radius:6px;border:1px solid #ff5252;background:transparent;color:#ff5252;font-size:.8rem;cursor:pointer;transition:all .2s}.reject-btn-small:hover{background:#ff5252;color:#fff}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.admin-loading,.admin-error{text-align:center;padding:50px;font-size:1.2rem;color:#666}.admin-error{color:#ff5252}#root{width:100%}.container{display:flex;flex-direction:column;align-items:center;min-height:100vh;color:var(--text-primary);width:100%}.login-container{display:flex;flex-direction:column;gap:20px;align-items:center;justify-content:center;flex:1;width:100%}.login-subtitle{display:block;font-size:1.2rem;font-weight:400;color:var(--text-secondary);margin-top:8px}.login-icon{width:250px;height:250px;margin-bottom:-10px}.error{color:red}header{display:flex;align-items:center;gap:15px;padding:20px;background:var(--header-bg);color:var(--header-text);border-radius:8px;margin-bottom:20px}.avatar{width:32px;height:32px;border-radius:50%}.upload-placeholder{margin-top:40px;padding:40px;border:2px dashed var(--placeholder-border);border-radius:12px}.upload-button{display:block;width:fit-content;margin:0 auto;padding:15px 30px;background-color:#4caf50;color:#fff;border-radius:8px;cursor:pointer;font-size:1.2rem;transition:background-color .3s}.upload-button:hover{background-color:#45a049}.file-input-wrapper{margin-top:20px}.results-container{margin-top:20px;width:100%;max-width:1200px;text-align:left}.question-card{display:flex;align-items:flex-start;gap:15px;background:var(--card-bg);border:1px solid var(--card-border);padding:15px;margin-bottom:10px;border-radius:8px;box-shadow:0 2px 4px var(--card-shadow)}.question-card.correct{border-left:5px solid #4CAF50}.question-card.incorrect{border-left:5px solid #F44336}.status-icon{font-size:1.5rem}.question-content p{margin:5px 0}.explanation{margin-top:10px;padding:10px;background-color:var(--explanation-bg);border-radius:4px;font-size:.9em;color:var(--explanation-text)}.navbar{position:fixed;top:0;left:0;width:100%;display:flex;justify-content:center;background:var(--navbar-bg);border-bottom:1px solid var(--navbar-border);z-index:1002;box-shadow:0 2px 10px var(--card-shadow);box-sizing:border-box;color:var(--text-primary);height:50px;padding:0}.navbar-inner{width:100%;max-width:1280px;display:flex;justify-content:space-between;align-items:center;padding:0 20px;box-sizing:border-box;height:100%}.navbar-left,.navbar-right{flex:1;display:flex;align-items:center}.navbar-center{flex:2;display:flex;align-items:center;justify-content:center;gap:12px}.navbar-right{justify-content:flex-end}.welcome-text{font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.dashboard{min-height:100dvh;padding-top:50px;width:100%;display:flex;flex-direction:column;align-items:center;box-sizing:border-box;overflow-y:auto}main{flex:1;width:100%;max-width:1280px;margin:0 auto;display:flex;flex-direction:column;align-items:center;padding:0 20px 40px;box-sizing:border-box}.menu-button{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:5px;color:var(--text-primary)}.side-menu{position:fixed;top:0;left:0;height:100%;width:250px;background:var(--sidebar-bg);z-index:1001;transform:translate(-100%);transition:transform .3s ease;box-shadow:2px 0 15px var(--card-shadow);display:flex;flex-direction:column;text-align:left;color:var(--sidebar-text)}.side-menu.open{transform:translate(0)}.menu-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0000004d;z-index:1000;display:none}.menu-overlay.open{display:block}.menu-header{padding:20px;background:var(--menu-header-bg);color:var(--menu-header-text);display:flex;justify-content:space-between;align-items:center}.close-button{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer}.menu-items{padding:20px 0}.menu-item{padding:15px 25px;cursor:pointer;font-size:1.1rem;display:flex;align-items:center;gap:15px;transition:background .2s;color:var(--menu-item-text)}.menu-item:hover{background:var(--menu-item-hover)}.menu-item.active{background:var(--bg-color);color:var(--accent-color);font-weight:600}.history-container{width:100%;max-width:1200px}.history-list{margin-top:20px}.history-item{justify-content:space-between;padding:1.2rem;background:var(--card-bg);border-radius:12px;margin-bottom:1rem;cursor:pointer;transition:transform .2s,box-shadow .2s;border:1px solid var(--card-border);text-align:left;box-shadow:0 2px 8px var(--card-shadow);width:100%;display:flex;align-items:center;padding:1rem;gap:15px;box-sizing:border-box}.history-thumbnail{width:60px;height:60px;border-radius:8px;object-fit:cover;flex-shrink:0;border:1px solid var(--thumbnail-border);background-color:var(--thumbnail-bg)}@media(min-width:1024px){.history-item{padding:1.5rem 2rem}}.history-item:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000001a}.history-left{display:flex;flex-direction:column;gap:4px;flex-grow:1}.history-date{font-weight:600;color:var(--text-primary);font-size:1rem}.history-details{font-size:.85rem;color:var(--text-secondary)}.history-right{display:flex;align-items:center;gap:12px}.history-status-tag{padding:4px 10px;border-radius:20px;font-size:.7rem;font-weight:700;text-transform:uppercase}.history-status-tag.processed{background:var(--status-processed-bg);color:var(--status-processed-text)}.history-status-tag.processing{background:var(--status-processing-bg);color:var(--status-processing-text)}.history-arrow{color:#ccc;font-size:1.2rem}.empty-history{padding:40px;background:var(--empty-state-bg);border-radius:12px;border:2px dashed var(--placeholder-border);color:var(--empty-state-text)}.back-button{margin-bottom:20px;background:none;border:none;color:#2196f3;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;padding:0;align-self:flex-start}.back-button:hover{background:#f5f5f5}.result-image-gallery{display:flex;gap:12px;overflow-x:auto;padding:10px 0 20px;margin-bottom:20px;border-bottom:1px solid #eee}.result-image-thumbnail{position:relative;flex-shrink:0;cursor:pointer;transition:transform .2s}.result-image-thumbnail:hover{transform:scale(1.05)}.result-image-thumbnail img{width:100px;height:100px;object-fit:cover;border-radius:12px;border:2px solid #eee;box-shadow:0 2px 8px #0000001a}.thumbnail-label{position:absolute;bottom:0;left:0;right:0;background:#0009;color:#fff;font-size:.7rem;padding:2px 0;text-align:center;border-bottom-left-radius:10px;border-bottom-right-radius:10px}.fullscreen-modal{position:fixed;inset:0;background:#000000e6;display:flex;justify-content:center;align-items:center;z-index:2000;padding:20px}.modal-content{position:relative;max-width:95%;max-height:95%}.message-image{max-width:100%;max-height:200px;border-radius:8px;margin-bottom:8px;display:block}.message-image.clickable{cursor:pointer;transition:transform .2s}.message-image.clickable:hover{transform:scale(1.02)}.modal-content img{max-width:100%;max-height:90vh;border-radius:8px;box-shadow:0 0 30px #00000080}.close-modal{position:absolute;top:-40px;right:0;background:none;border:none;color:#fff;font-size:2.5rem;cursor:pointer}.modal-controls{display:flex;justify-content:center;gap:20px;margin-top:20px}.rotate-btn{background:#fff;border:none;border-radius:30px;padding:10px 20px;font-size:.9rem;font-weight:700;color:#333;cursor:pointer;display:flex;align-items:center;gap:8px;box-shadow:0 4px 12px #0000004d;transition:all .2s;text-transform:uppercase}.rotate-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0006;background:#f0f0f0}.rotate-btn:active{transform:translateY(0)}.rotate-icon{font-size:1.1rem}.spinner{border:4px solid rgba(0,0,0,.1);width:36px;height:36px;border-radius:50%;border-left-color:#4caf50;animation:spin 1s linear infinite;margin:10px auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.status-text{font-size:.9rem;color:#666;margin-top:10px;font-weight:500}.jobs-list{margin-top:20px;width:100%;max-width:600px;background:#f9f9f9;border-radius:8px;padding:10px;border:1px solid #eee}.job-item{margin-bottom:12px;text-align:left;background:#fff;padding:8px 12px;border-radius:6px;box-shadow:0 1px 3px #0000001a}.job-item:last-child{margin-bottom:0}.job-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.job-filename{font-size:.85rem;font-weight:600;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin-right:15px}.job-status{font-size:.75rem;color:#666}.job-progress-bar{height:8px;background:#eee;border-radius:4px;overflow:hidden}.job-progress-fill{height:100%;background:#4caf50;width:30%;animation:pulse 1.5s ease-in-out infinite;border-radius:3px}@keyframes pulse{0%{opacity:.6;width:30%}50%{opacity:1;width:80%}to{opacity:.6;width:30%}}.job-item.complete .job-progress-fill{width:100%;animation:none}.job-item.error .job-progress-fill{background:#f44336;width:100%;animation:none}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;width:100%}.page-counter{font-size:.9rem;color:#666;background:#eee;padding:4px 12px;border-radius:20px;font-weight:600}.ongoing-processing{width:100%;margin-bottom:20px}.page-group{margin-bottom:30px}.page-header{background:#f0f0f0;padding:10px 15px;border-radius:6px;margin-bottom:15px;color:#333;font-size:1.1rem;border-left:4px solid #4CAF50}.no-questions{padding:15px;background:#f9f9f9;border-radius:8px;color:#999;font-style:italic;font-size:.9rem}.results-footer{width:100%;display:flex;justify-content:center;align-items:center;margin-top:40px;padding-bottom:40px}.mascot-container{display:flex;flex-direction:column;align-items:center;margin-bottom:20px;animation:bounce 2s ease-in-out infinite}.mascot-image{width:195px;height:195px;object-fit:contain}.mascot-message{margin-top:10px;font-weight:600;color:#4caf50;font-size:1.1rem}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.study-actions{display:flex;gap:15px;justify-content:center;margin:20px 0;width:100%}.study-button{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px;background:#fff!important;border:1px solid #e0e0e0!important;border-radius:12px;cursor:pointer;transition:all .2s;flex:1;max-width:200px;box-shadow:0 4px 6px #0000000d}.study-button:hover{transform:translateY(-4px);box-shadow:0 8px 15px #0000001a;border-color:#4caf50!important}.study-button-icon{font-size:2.5rem}.study-button-text{font-weight:600;color:#333}.flashcard-container{display:flex;flex-direction:column;align-items:center;width:100%;max-width:800px;min-width:300px;margin:0 auto;padding:0 10px;box-sizing:border-box}.flashcard-wrapper{perspective:1000px;width:100%;min-height:300px;height:auto;margin-bottom:30px;cursor:pointer}.flashcard{position:relative;width:100%;height:auto;min-height:100%;transition:transform .6s;transform-style:preserve-3d;box-shadow:0 10px 30px #0000001a;border-radius:20px;display:grid;grid-template-areas:"card"}.flashcard.flipped{transform:rotateY(180deg)}.flashcard-front,.flashcard-back{grid-area:card;position:relative;width:100%;height:auto;min-height:300px;backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;border-radius:20px;background:var(--card-bg);box-sizing:border-box;text-align:center;overflow:visible;color:var(--text-primary);border:1px solid var(--card-border)}.flashcard-back{background:var(--flashcard-back-bg);color:var(--flashcard-back-text);transform:rotateY(180deg)}.flashcard-label{position:absolute;top:20px;left:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary)}.flashcard-content{font-size:clamp(1.2rem,4vw,1.8rem);font-weight:600;word-wrap:break-word;max-width:100%;overflow-y:visible!important;max-height:none!important;padding:15px}@media(max-width:600px){.flashcard-wrapper{min-height:250px}.flashcard-front,.flashcard-back{min-height:250px;padding:15px}.flashcard-container{padding:0 5px}main{padding:0 0 40px;width:100%;max-width:100%}.flashcard-content{font-size:1.1rem}}.flashcard-translation{color:var(--text-secondary);font-size:1.1rem;font-weight:500}.flashcard-translation.definition{margin-top:15px;padding:10px;background:#0000000d;border-radius:8px;color:inherit}.flashcard-hint{margin-top:20px;color:var(--text-secondary);font-size:.8rem}.flashcard-content.definition{font-size:clamp(.9rem,2.8vw,1.1rem);line-height:1.6;font-weight:400;text-align:left}.flashcard-controls{display:flex;align-items:center;gap:20px;width:100%;justify-content:space-between}.flashcard-nav-button{background:#f0f0f0;border:none;width:50px;height:50px;border-radius:25px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;cursor:pointer}.flashcard-counter{font-weight:600;color:#666}@media(prefers-color-scheme:dark){.flashcard-nav-button{background:var(--input-bg);color:var(--text-primary);border:1px solid var(--card-border)}.flashcard-nav-button:hover{background:#444}}.mock-test-container{width:100%;max-width:700px;text-align:left}.mcq-card{background:var(--card-bg);padding:25px;border-radius:12px;box-shadow:0 2px 10px var(--card-shadow);margin-bottom:20px;border:1px solid var(--card-border);color:var(--text-primary)}.mcq-question{font-size:1.2rem;font-weight:600;margin-bottom:20px}.mcq-options{display:flex;flex-direction:column;gap:12px}.mcq-option{padding:15px;border:1.5px solid var(--card-border);border-radius:8px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:15px;background:var(--input-bg)!important;color:var(--text-primary)!important}.mcq-option:hover{background:#f5f5f5!important;border-color:#ccc}.mcq-option.selected{background:#e3f2fd!important;border-color:#2196f3!important}.mcq-option-circle{width:20px;height:20px;border-radius:50%;border:2px solid #ddd;flex-shrink:0}.mcq-option.selected .mcq-option-circle{border-color:#2196f3;background:#2196f3;box-shadow:inset 0 0 0 3px #fff}.test-footer{display:flex;justify-content:flex-end;margin-top:30px}.submit-test-button{background:#4caf50;color:#fff;padding:15px 30px;font-size:1.1rem;border-radius:8px;border:none;cursor:pointer}.test-results-card{background:var(--card-bg);padding:40px;border-radius:20px;text-align:center;box-shadow:0 10px 30px var(--card-shadow)}.score-circle{width:150px;height:150px;border-radius:50%;border:8px solid #4CAF50;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0 auto 30px}.score-value{font-size:3rem;font-weight:800;color:#4caf50}.score-label{font-size:.9rem;color:var(--text-secondary);font-weight:600}.study-guide-preview{width:100%;margin-top:20px}.preview-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;width:100%}.study-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:20px;box-shadow:0 2px 8px var(--card-shadow);transition:transform .2s;display:flex;flex-direction:column;gap:12px;text-align:left;color:var(--text-primary)}.study-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:#4caf50}.study-card-term{font-weight:700;color:#2e7d32;font-size:1.1rem;border-bottom:1px solid #f0f0f0;padding-bottom:8px}.study-card-definition{font-size:.95rem;color:var(--text-secondary);line-height:1.5}.results-view .upload-button{margin:20px auto}.upload-container{display:flex;flex-direction:column;align-items:center;width:100%}.mode-selector{display:flex;gap:15px;margin:20px 0;justify-content:center;width:100%;max-width:500px}.mode-link{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:15px;border:2px solid var(--card-border);border-radius:12px;background:var(--card-bg);cursor:pointer;transition:all .2s ease;font-family:inherit;font-size:1rem;font-weight:600;color:var(--text-secondary);box-sizing:border-box;min-height:120px;min-width:160px;white-space:nowrap;outline:none}.mode-link:hover{border-color:#2196f3;background:#f0f7ff}.mode-link.active{border-color:#2196f3;background:#e3f2fd;color:#1976d2;box-shadow:0 4px 12px #2196f326}.mode-icon{font-size:2rem}.mode-description{color:var(--text-secondary);font-style:italic;margin-bottom:25px;text-align:center;min-height:1.5em}.spelling-test-container{width:95%;max-width:700px;margin:0 auto;text-align:left}.test-card{background:var(--card-bg);padding:30px;border-radius:16px;box-shadow:0 4px 20px var(--card-shadow);border:1px solid var(--card-border);text-align:center;color:var(--text-primary)}.test-progress{font-size:.9rem;font-weight:600;color:var(--text-secondary);margin-bottom:20px}.test-action-area{padding:30px 0;border-bottom:1px solid #eee;margin-bottom:30px}.speak-button{background:#f3e5f5;border:2px solid #ce93d8;color:#7b1fa2;border-radius:50%;width:140px;height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0 auto;cursor:pointer;transition:all .2s;padding:10px}.speak-button:hover{transform:scale(1.05);background:#ede7f6}.speak-icon{font-size:3rem;margin-bottom:8px}.word-hint{background:#fff9c4;padding:15px;border-radius:12px;margin-bottom:25px;border:1px dashed #fbc02d;font-size:1.1rem;line-height:1.4}.hint-text{margin-top:15px;font-size:.85rem;color:var(--text-secondary)}.test-form{display:flex;flex-direction:column;gap:20px;align-items:center}.input-field-group{width:100%;text-align:left}.input-field-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-primary)}.word-input{width:100%;padding:15px;font-size:1.5rem;border:2px solid #ddd;border-radius:12px;text-align:center;transition:border-color .3s;box-sizing:border-box}.word-input:focus{border-color:#4caf50;outline:none;background:var(--input-bg);color:var(--text-primary)}.test-feedback{padding:20px 0}.feedback-banner{font-size:1.5rem;font-weight:700;margin-bottom:20px;padding:15px;border-radius:12px}.feedback-banner.correct{background:#e8f5e9;color:#2e7d32}.feedback-banner.incorrect{background:#ffebee;color:#c62828}.correction{margin-bottom:20px}.correct-word-reveal{font-size:2rem;font-weight:800;color:#2e7d32;letter-spacing:2px;text-transform:uppercase}.word-info{background:var(--card-bg);padding:15px;border-radius:8px;margin-bottom:25px;text-align:left}.results-summary{display:flex;flex-direction:column;align-items:center;margin-bottom:30px}.score-circle{width:150px;height:150px;border-radius:50%;background:#4caf50;color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:20px;box-shadow:0 4px 15px #4caf504d}.score-value{font-size:3rem;font-weight:800}.review-list{text-align:left;width:100%}.review-item{padding:15px;border-radius:12px;margin-bottom:12px;border:1px solid var(--card-border);background:var(--card-bg);color:var(--text-primary)}.review-item.correct{border-left:5px solid #4CAF50}.review-item.incorrect{border-left:5px solid #f44336}.review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.review-word{font-size:1.2rem;font-weight:700;color:var(--text-primary)}.review-mistake{color:#c62828;font-weight:600;margin-bottom:8px}.typed-error{text-decoration:line-through;opacity:.7}.review-definition{font-size:.9rem;color:var(--text-secondary);margin:0}.preview-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px;margin-top:15px}.study-card{background:#fff;padding:15px;border-radius:12px;border:1px solid #eee;box-shadow:0 2px 5px #0000000d;text-align:left}.study-card-term{font-weight:700;color:#333;margin-bottom:8px;padding-bottom:5px;border-bottom:1px solid #f0f0f0}.study-card-definition{font-size:.85rem;color:#666;line-height:1.4}.study-guide-preview{margin-top:30px}@media(max-width:600px){.login-icon{width:150px;height:150px}.login-container h1{font-size:2.2rem}.login-container{gap:15px}.login-subtitle{font-size:1rem}.mascot-image{width:120px;height:120px}.mascot-container{margin-bottom:10px}.mode-selector{gap:10px;margin:10px 0;flex-wrap:wrap}.mode-link{min-height:80px;min-width:100px;padding:10px;font-size:.9rem;flex:1 1 100px;white-space:normal;text-align:center}.mode-icon{font-size:1.5rem}.mode-description{font-size:.8rem;margin-bottom:15px;padding:0 10px}.upload-container h3{font-size:1.1rem;margin:10px 0;text-align:center}.dashboard{padding-top:60px}.navbar{padding:5px 15px}.welcome-text{max-width:120px;font-size:.9rem}.avatar{width:32px;height:32px}}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;--bg-color: #ffffff;--text-primary: #213547;--text-secondary: #666666;--card-bg: #ffffff;--card-border: #eeeeee;--card-shadow: rgba(0, 0, 0, .05);--sidebar-bg: #ffffff;--sidebar-text: #333333;--navbar-bg: #ffffff;--navbar-border: #eeeeee;--accent-color: #4CAF50;--input-bg: #ffffff;--input-border: #eeeeee;--chat-bg: linear-gradient(135deg, #fdfbfb 0%, #ebedee 100%);--bubble-brainy-bg: #ffffff;--bubble-brainy-text: #333333;--modal-overlay: rgba(0, 0, 0, .9);--header-bg: #f0f0f0;--header-text: #333333;--menu-header-bg: #4CAF50;--menu-header-text: #ffffff;--menu-item-text: #333333;--menu-item-hover: #eeeeee;--placeholder-border: #cccccc;--explanation-bg: #fff3f3;--explanation-text: #d32f2f;--status-processed-bg: #e8f5e9;--status-processed-text: #2e7d32;--status-processing-bg: #fff3e0;--status-processing-text: #ef6c00;--empty-state-bg: #f9f9f9;--empty-state-text: #999999;--thumbnail-bg: #f9f9f9;--thumbnail-border: #eeeeee;--flashcard-back-bg: #f1f8e9;--flashcard-back-text: #2e7d32;background-color:var(--bg-color);color:var(--text-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-color-scheme:dark){:root{--bg-color: #1a1a1a;--text-primary: rgba(255, 255, 255, .87);--text-secondary: #aaaaaa;--card-bg: #2d2d2d;--card-border: #444444;--card-shadow: rgba(0, 0, 0, .3);--sidebar-bg: #2d2d2d;--sidebar-text: #eeeeee;--navbar-bg: #2d2d2d;--navbar-border: #444444;--input-bg: #3d3d3d;--input-border: #555555;--chat-bg: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);--bubble-brainy-bg: #3d3d3d;--bubble-brainy-text: #eeeeee;--header-bg: #2d2d2d;--header-text: #eeeeee;--menu-header-bg: #388e3c;--menu-header-text: #eeeeee;--menu-item-text: #eeeeee;--menu-item-hover: #3d3d3d;--placeholder-border: #555555;--explanation-bg: #3d2b2b;--explanation-text: #ff8a80;--status-processed-bg: #1b3320;--status-processed-text: #81c784;--status-processing-bg: #332b1b;--status-processing-text: #ffb74d;--empty-state-bg: #2d2d2d;--empty-state-text: #777777;--thumbnail-bg: #2d2d2d;--thumbnail-border: #444444;--flashcard-back-bg: #1b3320;--flashcard-back-text: #a5d6a7}}body{margin:0;display:flex;flex-direction:column;min-width:320px;min-height:100dvh;background-color:var(--bg-color);color:var(--text-primary);transition:background-color .3s,color .3s}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--input-bg);color:var(--text-primary);cursor:pointer;transition:border-color .25s,background-color .3s,color .3s;border:1px solid var(--card-border)}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}
