svg{background:none!important;border:none!important}body{font-family:Arial,sans-serif;margin:0;padding:0;align-items:center;min-height:100vh;background-color:#f4f4f9}.container,body{display:flex;flex-direction:column}.container{justify-content:flex-start;align-items:stretch;width:100%;max-width:1200px;min-width:1200px;margin:0 auto;padding:0 1.5rem;background-color:white;box-shadow:0 2px 10px rgba(0,0,0,.1);border:1px solid #e0e0e0;box-sizing:border-box}.header{background-color:#0070f3;padding:1rem 0;color:white;text-align:center}.header,.main-content{width:100%;border:1px solid #ccc}.main-content{box-sizing:border-box;padding:2rem}.navbar{width:100%;background-color:#1e293b;padding:16px 0;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.navbar-container{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box}.logo{font-size:24px;font-weight:700;color:white;text-decoration:none}.nav-links{display:flex;align-items:center}.nav-link{color:white;text-decoration:none;margin-left:20px;font-size:16px}.nav-link.active{font-weight:700}.nav-button{background-color:#ef4444;color:white;margin-left:20px;padding:8px 16px;border:none;border-radius:6px}.user-welcome{flex:1 1;text-align:center;font-weight:500;font-size:16px;color:#ffffff}.debug-output{margin-top:2rem;font-size:12px;background:#000;color:#fff;padding:1rem;border-radius:6px;overflow:auto}.lesson-meta{margin-top:0}.form-body{width:100%;margin:0 auto;padding:0 1rem;box-sizing:border-box}.form-label{display:block;font-weight:600;margin-bottom:1.7rem;margin-top:20px;color:#1e293b}.form-input,.form-textarea{width:100%;padding:12px 16px;border:1px solid #cbd5e1;border-radius:8px;font-size:16px;background-color:#ffffff;box-shadow:0 0 2px rgba(0,0,0,.05);transition:border .2s ease;box-sizing:border-box}.form-input:focus,.form-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.3);outline:none}.form-textarea{resize:vertical;min-height:100px;line-height:1.5}.form-button{display:inline-block;padding:12px 20px;background-color:#3b82f6;color:#ffffff;font-size:16px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s ease}.form-button:hover{background-color:#2563eb}.form-button:disabled{background-color:#94a3b8;cursor:not-allowed}.form-button.secondary{background-color:#e5e7eb;color:#1f2937}.form-button.secondary:hover{background-color:#d1d5db}.tabs{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:.5rem;border-bottom:2px solid #ccc;align-items:flex-end}.tab-button{display:inline-flex;align-items:center;justify-content:center;background-color:#e0e0e0;border:none;border-radius:8px 8px 0 0;padding:.5rem 1rem;cursor:pointer;font-weight:500;font-size:16px}.tab-button.active{background-color:#0070f3;color:white}.tab-content{background-color:#2e2e2e;padding:.75rem;border-radius:0 0 8px 8px;margin-top:-2px;box-sizing:border-box;width:100%;overflow-x:hidden}.tab-rounded{border-radius:8px 8px 0 0}.plus-tab{height:1.25rem;padding-left:.75rem;padding-right:.75rem;font-size:1.125rem;font-weight:700;transition:all .2s ease}.plus-tab:hover{background-color:#f3f4f6}.vocab-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:1.5rem;gap:1.5rem;max-width:100%;margin:0 auto;padding:1rem;min-width:640px}.vocab-card-wrapper,.vocab-grid{width:100%;box-sizing:border-box}.vocab-card-wrapper{perspective:1000px;height:100px}.vocab-card{cursor:pointer;font-size:1.25rem}.vocab-card,.vocab-card-inner{position:relative;width:100%;height:100%}.vocab-card-inner{transition:transform .6s;transform-style:preserve-3d}.vocab-card.flipped .vocab-card-inner{transform:rotateY(180deg)}.vocab-card-back,.vocab-card-front{position:absolute;width:100%;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;border:1px solid #ddd;border-radius:8px;padding:1rem;display:flex;align-items:center;justify-content:center;text-align:center;background:#fafafa;box-sizing:border-box}.vocab-card-back{transform:rotateY(180deg);background-color:#1e293b;color:white}.vocab-sub{font-size:1rem;color:#555;margin-top:.5rem}.vocab-card .sentence-card,.vocab-sub .sentence-sub{text-align:left}.sentence-index{font-weight:700;min-width:1.5rem;text-align:right}.sentence-text{flex:1 1}.sentence-sub{font-size:1rem;color:#444;margin-top:.5rem}.formatted-json{white-space:pre-wrap;background:#f4f4f4;padding:1rem;border-radius:8px;font-size:14px}.instructor-lesson-list .lesson-title-link{display:block;font-weight:700;font-size:18px;text-decoration:none;margin-bottom:.25rem}.instructor-lesson-list .lesson-description-line{margin-top:0;margin-bottom:.25rem;font-size:15px;color:#333}.instructor-lesson-list .lesson-meta-line{font-size:13px;color:#666;margin-top:.25rem}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background-color:#ffffff;padding:2rem;border-radius:8px;max-width:480px;width:100%;box-shadow:0 8px 24px rgba(0,0,0,.2);border:1px solid #e0e0e0;text-align:center}.modal-content p{text-align:left}.modal-content .button-row{display:flex;justify-content:center;gap:1rem;margin-top:1.5rem}.type-icon{display:inline-block;padding:.2rem .05rem;font-size:.5rem;font-weight:700;color:white;border-radius:8px;text-transform:uppercase;min-width:1rem;text-align:center;margin-bottom:.25rem}.type-v{background-color:#4caf50}.type-s{background-color:#2196f3}.type-d{background-color:#ff9800}.type-q{background-color:#9c27b0}.container-top{height:2.5rem}.lesson-column{flex-shrink:0;flex-basis:30%;max-width:580px;padding:1rem}.lesson-list{list-style-type:none;padding-left:0;margin:0}.lesson-item{margin-bottom:1rem}.lesson-column-title{font-size:1.3rem;font-weight:600;margin-bottom:1rem}.lesson-empty-text{font-size:.875rem;color:#4b5563}.lesson-save-wrapper{margin-bottom:0;display:flex;justify-content:flex-start}.lesson-save-button{background:none;border:none;padding:0;cursor:pointer}.lesson-save-icon{width:40px;height:40px;transition:color .2s ease-in-out}.lesson-save-icon.saved{color:#1a73e8}.lesson-save-icon.unsaved{color:#444}.lesson-save-button:hover .lesson-save-icon.unsaved{color:#1a73e8}.lesson-delete-button{background:none!important;border:none!important;display:block;padding:0;cursor:pointer}.spinner-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(255,255,255,.6);z-index:9999;display:flex;align-items:center;justify-content:center}.spinner{width:40px;height:40px;border:5px solid #ccc;border-top-color:#333;border-radius:50%;animation:spin .8s linear infinite}.classroom-setup-panel{max-width:400px;margin:1rem auto;padding:1rem;border:1px solid #e0e0e0;border-radius:8px;background-color:#fafafa;display:flex;flex-direction:column;gap:.75rem}.classroom-setup-panel h3{margin:0 0 .5rem;color:#0070f3}.class-input-row{display:flex;flex-direction:column}.session-active{margin:.5rem 0}.form-label{font-weight:500}.panel-note{color:#b00;font-size:.9rem;padding:.5rem 0}.classroom-management-panel{display:flex;gap:1rem;max-width:800px;margin:1rem auto}.panel-section{flex:1 1;border:1px solid #e0e0e0;padding:1rem;border-radius:8px;background-color:#fafafa}.panel-section h3{margin-top:0;color:#0070f3}.panel-section .error-text,.panel-section .success-text{color:#0070f3}.form-label{display:flex;flex-direction:column;margin-bottom:.75rem}.form-input{margin-top:.25rem;padding:.5rem;font-size:.9rem}.form-button{margin-top:.5rem}.icon-button{margin-bottom:.25rem}.tts-controls{display:flex;align-items:center;justify-content:flex-start;width:100%;margin-bottom:1rem}.tts-controls__buttons{display:flex;align-items:center;gap:.75rem}.tts-controls__loading{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#fff}.tts-controls__spinner{color:#fff;animation:spin 1s linear infinite}.tts-controls__repair{margin-left:auto;flex-shrink:0}.icon-button{height:2.5rem;width:2.5rem;margin:0;background:transparent;border:none;cursor:pointer;color:#fff}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.lesson-columns{display:flex;flex-direction:row;justify-content:space-between;gap:24px;width:100%;box-sizing:border-box;margin-top:2rem}.lesson-column{flex:1 1;min-width:0}