:root{--primary-color: #6366f1;--primary-hover: #4f46e5;--secondary-color: #f97316;--secondary-hover: #ea580c;--background-color: #fffbf5;--secondary-bg-color: #f8f9fa;--card-bg-color: #ffffff;--text-color: #334155;--text-light: #64748b;--border-color: #e2e8f0;--success-color: #10b981;--error-color: #ef4444;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--border-radius-sm: .375rem;--border-radius-md: .5rem;--border-radius-lg: 1rem;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.6;font-weight:400;font-size:16px;--transition-speed: .2s}*{margin:0;padding:0;box-sizing:border-box}body{min-height:100vh;background-color:var(--background-color);color:var(--text-color)}a{font-weight:500;color:var(--primary-color);text-decoration:inherit;transition:color var(--transition-speed) ease}a:hover{color:var(--primary-hover)}h1,h2,h3,h4,h5,h6{line-height:1.2;margin-bottom:var(--spacing-md);color:var(--text-color)}h1{font-size:1.8rem}h2{font-size:1.4rem;margin-bottom:var(--spacing-lg)}p{margin-bottom:var(--spacing-md)}button{border-radius:var(--border-radius-md);border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--primary-color);color:#fff;cursor:pointer;transition:background-color var(--transition-speed) ease}button:hover{background-color:var(--primary-hover)}button:focus,button:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}button:disabled{opacity:.6;cursor:not-allowed}input,textarea,select{font-family:inherit;font-size:1rem;padding:.6em 1em;border-radius:var(--border-radius-md);border:1px solid var(--border-color);background-color:var(--card-bg-color);transition:border-color var(--transition-speed) ease}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary-color)}@media(min-width:640px){h1{font-size:2.2rem}h2{font-size:1.6rem}:root{font-size:18px}}@media(min-width:1024px){h1{font-size:2.5rem}h2{font-size:1.8rem}}#root{width:100%;margin:0 auto;padding:var(--spacing-md)}.app{width:100%;max-width:1200px;margin:0 auto}@media(min-width:640px){#root{padding:var(--spacing-lg)}}.navbar{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background-color:var(--card-bg-color);border-radius:var(--border-radius-lg);box-shadow:0 2px 10px #0000000d}.navbar button{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:none;background-color:transparent;color:var(--text-color);cursor:pointer;font-size:.95rem;border-radius:var(--border-radius-md);transition:all var(--transition-speed) ease}.navbar button.active{background-color:var(--primary-color);color:#fff;font-weight:600}@media(min-width:640px){.navbar{gap:var(--spacing-md)}}.chat-view{display:flex;flex-direction:column;height:80vh;width:100%;max-width:1200px;margin:0 auto;padding:var(--spacing-sm);box-sizing:border-box}.config-selector{margin-bottom:var(--spacing-lg);flex-shrink:0}.config-selector label{margin-right:var(--spacing-sm);font-weight:600;color:var(--text-color)}.config-selector select{width:100%;padding:var(--spacing-sm);border-radius:var(--border-radius-md);border:1px solid var(--border-color);background-color:var(--card-bg-color)}.chat-interface{flex:1;display:flex;flex-direction:column;gap:var(--spacing-md);background:var(--card-bg-color);border-radius:var(--border-radius-lg);box-shadow:0 2px 4px #0000001a;padding:var(--spacing-sm);min-height:0;overflow:hidden}.messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-xs);margin-bottom:var(--spacing-sm);min-height:0}.message{padding:var(--spacing-sm);border-radius:var(--border-radius-md);max-width:85%;line-height:1.5;word-wrap:break-word}.message p{margin-bottom:0}.message.user{align-self:flex-end;background-color:var(--primary-color);color:var(--card-bg-color)}.message.assistant{align-self:flex-start;background-color:var(--secondary-bg-color);border:1px solid var(--border-color)}.message.error{align-self:center;background-color:#fff3f3;color:var(--error-color);border:1px solid var(--error-color);width:100%;text-align:center}.message.loading{align-self:flex-start;background-color:var(--secondary-bg-color);color:var(--text-light)}.message.assistant p{margin:0 0 var(--spacing-sm) 0}.message.assistant p:last-child{margin-bottom:0}.message.assistant h1,.message.assistant h2,.message.assistant h3,.message.assistant h4,.message.assistant h5,.message.assistant h6{margin:var(--spacing-md) 0 var(--spacing-sm) 0;line-height:1.2;color:var(--text-color)}.message.assistant h1:first-child,.message.assistant h2:first-child,.message.assistant h3:first-child,.message.assistant h4:first-child,.message.assistant h5:first-child,.message.assistant h6:first-child{margin-top:0}.message.assistant ul,.message.assistant ol{margin:var(--spacing-sm) 0;padding-left:1.5em}.message.assistant li{margin:calc(var(--spacing-xs)) 0}.message.assistant code{background-color:var(--secondary-bg-color);padding:2px 4px;border-radius:3px;font-family:monospace;font-size:.9em}.message.assistant pre{background-color:var(--secondary-bg-color);padding:var(--spacing-sm);border-radius:var(--border-radius-sm);overflow-x:auto;margin:var(--spacing-xs) 0}.message.assistant pre code{background-color:transparent;padding:0;border-radius:0}.message.assistant blockquote{border-left:4px solid var(--border-color);margin:var(--spacing-sm) 0;padding-left:var(--spacing-md);color:var(--text-light)}.message.assistant table{border-collapse:collapse;width:100%;margin:var(--spacing-sm) 0}.message.assistant th,.message.assistant td{border:1px solid var(--border-color);padding:var(--spacing-sm);text-align:left}.message.assistant th{background-color:var(--secondary-bg-color)}.input-area{display:flex;gap:var(--spacing-sm);padding:var(--spacing-xs);background-color:var(--card-bg-color);border-top:1px solid var(--border-color);min-height:50px}.input-area input{flex:1;min-width:0;padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--border-radius-md);font-size:1rem;transition:border-color var(--transition-speed) ease}.input-area input:disabled{background-color:var(--secondary-bg-color);cursor:not-allowed}.input-area button{white-space:nowrap;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--primary-color);color:var(--card-bg-color);border:none;border-radius:var(--border-radius-md);cursor:pointer;font-size:1rem;transition:background-color var(--transition-speed) ease;min-width:80px}.input-area button:hover:not(:disabled){background-color:var(--primary-hover)}.input-area button:disabled{opacity:.7;cursor:not-allowed}.messages::-webkit-scrollbar{width:8px}.messages::-webkit-scrollbar-track{background:var(--secondary-bg-color);border-radius:var(--border-radius-sm)}.messages::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--border-radius-sm)}.messages::-webkit-scrollbar-thumb:hover{background:var(--text-light)}@media(min-width:640px){.chat-view{height:calc(100vh - 2rem);padding:var(--spacing-md)}.chat-interface{padding:var(--spacing-md)}.messages{padding:var(--spacing-sm)}.message{max-width:75%;padding:var(--spacing-md)}.input-area{padding:var(--spacing-sm);gap:var(--spacing-md)}.input-area button{padding:var(--spacing-sm) var(--spacing-lg)}}@media(min-width:1024px){.chat-view{height:calc(100vh - 3rem);padding:var(--spacing-lg)}.chat-interface{padding:var(--spacing-lg)}.message{max-width:65%}}.teacher-view{padding:var(--spacing-lg);background-color:var(--card-bg-color);border-radius:var(--border-radius-lg);box-shadow:0 2px 15px #0000000d;margin-bottom:var(--spacing-lg)}.teacher-tabs{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding:var(--spacing-xs);background-color:#f1f5f9;border-radius:var(--border-radius-lg)}.teacher-tabs button{flex:1;padding:var(--spacing-md);background-color:transparent;color:var(--text-color);border:none;border-radius:var(--border-radius-md);transition:all var(--transition-speed) ease}.teacher-tabs button.active{background-color:var(--card-bg-color);color:var(--primary-color);font-weight:600;box-shadow:0 2px 5px #0000000d}.edit-mode-banner{display:flex;flex-direction:column;background-color:#eef2ff;border:1px solid #c7d2fe;border-radius:var(--border-radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);box-shadow:0 2px 10px #0000000d}.edit-mode-info h2{color:var(--primary-color);margin-bottom:var(--spacing-sm);font-size:1.3rem}.edit-mode-info p{color:var(--text-light);margin-bottom:var(--spacing-md)}.edit-mode-actions{display:flex;justify-content:flex-end}.form-container,.teacher-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-section{border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-md);background-color:#fafafa;box-shadow:0 1px 3px #0000000d}.form-section h3{margin-top:0;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-color);font-size:1.1rem;color:var(--text-color)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.form-group label{font-weight:600;text-align:left;color:var(--text-color)}.form-group input[type=text],.form-group input[type=number],.form-group textarea,.form-group select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius-md);width:100%;font-family:inherit;background-color:#fff}.checkbox-group{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-weight:400}.checkbox-label input{margin:0;cursor:pointer}.form-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.form-actions button{padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--primary-color);color:#fff}.form-actions button.secondary{background-color:transparent;color:var(--text-color);border:1px solid var(--border-color)}.secondary-button{background-color:#fff;color:var(--text-color);border:1px solid var(--border-color);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius-md);font-weight:500;cursor:pointer;transition:all var(--transition-speed) ease}.secondary-button:hover{background-color:#f8fafc;border-color:#cbd5e1}.update-button{background-color:var(--primary-color);color:#fff;border:none;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius-md);font-weight:500;cursor:pointer;transition:all var(--transition-speed) ease}.update-button:hover{background-color:var(--primary-hover)}.create-button{background-color:var(--primary-color);color:#fff;border:none;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius-md);font-weight:500;cursor:pointer;transition:all var(--transition-speed) ease}.create-button:hover{background-color:var(--primary-hover)}.lessons-management{margin-top:var(--spacing-lg)}.lessons-list{display:flex;flex-direction:column;gap:var(--spacing-lg);margin-top:var(--spacing-lg)}.lesson-card{display:flex;flex-direction:column;padding:var(--spacing-lg);background-color:var(--card-bg-color);border-radius:var(--border-radius-lg);border:1px solid var(--border-color);box-shadow:0 2px 8px #0000000d;transition:transform var(--transition-speed) ease,box-shadow var(--transition-speed) ease}.lesson-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.lesson-info{flex:1}.lesson-info h3{margin-top:0;margin-bottom:var(--spacing-sm);color:var(--text-color);font-size:1.2rem}.lesson-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);font-size:.9rem}.lesson-meta span{padding:var(--spacing-xs) var(--spacing-sm);background-color:#f1f5f9;border-radius:var(--border-radius-sm);color:var(--text-light)}.lesson-objective{color:var(--text-light);margin-bottom:var(--spacing-md);font-size:.95rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.lesson-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-md);justify-content:flex-end}.edit-button,.delete-button{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);font-size:.9rem;font-weight:500;cursor:pointer;transition:all var(--transition-speed) ease}.edit-button{background-color:var(--primary-color);color:#fff;border:none}.delete-button{background-color:#fff;color:#ef4444;border:1px solid #fecaca}.delete-button:hover{background-color:#fef2f2}.no-lessons{padding:var(--spacing-xl);text-align:center;background-color:#f8fafc;border-radius:var(--border-radius-lg);color:var(--text-light)}.no-lessons p{margin-bottom:var(--spacing-lg)}.primary-button{background-color:var(--primary-color);color:#fff;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--border-radius-md);font-weight:500;border:none;cursor:pointer;display:inline-block}.loading-message{padding:var(--spacing-lg);text-align:center;color:var(--text-light)}.success-message{padding:var(--spacing-md);background-color:#ecfdf5;color:var(--success-color);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-lg);font-weight:500;display:flex;align-items:center;gap:var(--spacing-sm)}.error-message{padding:var(--spacing-md);background-color:#fef2f2;color:var(--error-color);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-lg);font-weight:500;display:flex;align-items:center;gap:var(--spacing-sm)}@media(min-width:768px){.lesson-card{flex-direction:row;align-items:center}.lesson-actions{margin-top:0;margin-left:var(--spacing-md)}.edit-mode-banner{flex-direction:row;justify-content:space-between;align-items:center}.edit-mode-info{flex:1}.edit-mode-info p{margin-bottom:0}.edit-mode-actions{margin-left:var(--spacing-lg)}}
