.chat-container{height:100vh;display:flex;flex-direction:column;position:relative;overflow:hidden;background:var(--bg-primary)}.loading-state{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;z-index:10;color:var(--text-secondary)}.loading-state p{font-size:.9375rem}.floating-home-btn{position:fixed;top:16px;left:16px;z-index:100;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#14141ee6;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:var(--text-secondary);text-decoration:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .2s ease}.floating-home-btn:hover{background:#ffffff1a;color:var(--text-primary);transform:scale(1.05)}.floating-settings-btn{position:fixed;top:16px;right:16px;z-index:100;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#14141ee6;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:var(--text-secondary);text-decoration:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .2s ease}.floating-settings-btn:hover{background:#ffffff1a;color:var(--text-primary);transform:scale(1.05)}.floating-settings-btn.custom-api-active{border-color:#22c55e80;box-shadow:0 0 12px #22c55e4d}.floating-settings-btn .api-check-icon{position:absolute;top:4px;right:4px;color:#22c55e;background:#14141ef2;border-radius:50%;animation:pulse-check 2s ease-in-out infinite}@keyframes pulse-check{0%,to{transform:scale(1);filter:drop-shadow(0 0 4px #22c55e)}50%{transform:scale(1.1);filter:drop-shadow(0 0 8px #22c55e)}}.ambient-bg{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0}.orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:.4}.orb-1{width:600px;height:600px;background:radial-gradient(circle,rgba(99,102,241,.3) 0%,transparent 70%);top:-200px;right:-100px;animation:float 8s ease-in-out infinite}.orb-2{width:400px;height:400px;background:radial-gradient(circle,rgba(139,92,246,.25) 0%,transparent 70%);bottom:-100px;left:-50px;animation:float 10s ease-in-out infinite reverse}.orb-3{width:300px;height:300px;background:radial-gradient(circle,rgba(236,72,153,.2) 0%,transparent 70%);top:40%;left:50%;transform:translate(-50%);animation:float 12s ease-in-out infinite}.messages-container{flex:1;overflow-y:auto;position:relative;z-index:1}.messages-wrapper{max-width:900px;margin:0 auto;padding:24px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 20px;gap:16px}.empty-icon{width:100px;height:100px;background:var(--bg-tertiary);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;color:var(--accent-primary);border:1px solid var(--border-accent);box-shadow:var(--shadow-glow)}.empty-state h2{font-size:1.5rem;font-weight:600;color:var(--text-primary)}.empty-state p{color:var(--text-secondary);max-width:400px}.suggestions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:16px}.suggestions button{padding:10px 18px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);color:var(--text-secondary);font-family:var(--font-sans);font-size:.875rem;cursor:pointer;transition:all .2s ease}.suggestions button:hover{background:var(--bg-message-ai);border-color:var(--border-accent);color:var(--text-primary);transform:translateY(-2px)}.messages-list{display:flex;flex-direction:column;gap:24px}.message{display:flex;gap:14px;animation:fadeInUp .4s ease-out forwards;opacity:0}.message-avatar{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.message.user .message-avatar{background:var(--bg-message-user);color:#fff}.message.assistant .message-avatar{background:var(--bg-tertiary);color:var(--accent-primary);border:1px solid var(--border-subtle)}.message-content{flex:0 1 80%;max-width:80%;min-width:0}.message-header{display:flex;align-items:center;gap:10px;margin-bottom:6px}.message-role{font-weight:600;font-size:.875rem;color:var(--text-primary)}.message-time{font-size:.75rem;color:var(--text-muted)}.message-body{display:inline-block;background:var(--bg-message-ai);border-radius:var(--radius-md);padding:16px 18px;border:1px solid var(--border-subtle);font-size:.9375rem;line-height:1.7;max-width:100%}.message.user .message-body{background:var(--bg-message-user);border:none;color:#fff}.typing-indicator{display:flex;gap:6px;padding:4px 0}.typing-indicator span{width:8px;height:8px;background:var(--accent-primary);border-radius:50%}.input-container{position:relative;z-index:10;padding:16px 24px;background:linear-gradient(0deg,var(--bg-secondary) 50%,transparent 100%)}.input-wrapper{max-width:900px;margin:0 auto;display:flex;gap:12px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:8px 8px 8px 20px;transition:all .2s ease}.input-wrapper:focus-within{border-color:var(--accent-primary);box-shadow:var(--shadow-glow)}.input-wrapper textarea{flex:1;border:none;background:transparent;color:var(--text-primary);font-family:var(--font-sans);font-size:.9375rem;resize:none;outline:none;padding:10px 0;max-height:200px}.input-wrapper textarea::placeholder{color:var(--text-muted)}.clear-btn{width:40px;height:40px;border:none;background:transparent;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.clear-btn:hover{background:#ef444426;color:#ef4444}.send-btn{width:48px;height:48px;border:none;background:var(--bg-message-user);border-radius:var(--radius-md);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.send-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:var(--shadow-glow)}.send-btn:disabled{opacity:.5;cursor:not-allowed}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.message-body h1,.message-body h2,.message-body h3{margin-top:1em;margin-bottom:.5em;font-weight:600}.message-body p{margin-bottom:.75em}.message-body p:last-child{margin-bottom:0}.message-body ul,.message-body ol{margin:.75em 0;padding-left:1.5em}.message-body code{font-family:var(--font-mono);font-size:.875em;background:#0003;padding:.15em .4em;border-radius:4px}.message-body pre{background:#0000004d;border-radius:var(--radius-sm);padding:16px;overflow-x:auto;margin:1em 0}.message-body blockquote{border-left:3px solid var(--accent-primary);padding:.75em 1em;margin:1em 0;background:#818cf814;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.message-body table{width:100%;border-collapse:collapse;margin:1em 0}.message-body th,.message-body td{border:1px solid var(--border-subtle);padding:10px 14px;text-align:left}.message-body th{background:#818cf826;font-weight:600}@media(max-width:480px){.chat-header{padding:10px 14px}.back-btn span{display:none}.header-spacer{width:40px}.messages-wrapper{padding:12px}.empty-state{padding:40px 16px}.empty-icon{width:70px;height:70px}.message{gap:10px}.message-avatar{width:32px;height:32px}.message-body{padding:12px 14px;font-size:.875rem}.input-container{padding:10px 12px 16px}.input-wrapper{padding:6px 6px 6px 14px;gap:8px}.send-btn{width:42px;height:42px}.suggestions{flex-direction:column}.suggestions button{width:100%}}.plus-btn{width:40px;height:40px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.plus-btn:hover{background:#818cf826;border-color:#818cf866;color:var(--accent-primary);transform:scale(1.05)}.plus-btn.plus-btn-active{background:#818cf833;border-color:#818cf880;color:var(--accent-primary);box-shadow:0 0 12px #818cf840}.tools-menu{position:fixed;bottom:90px;left:50%;transform:translate(-50%);width:min(340px,calc(100vw - 48px));background:#10101cf2;border:1px solid rgba(129,140,248,.25);border-radius:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 -4px 40px #00000080,0 0 0 1px #ffffff0a;z-index:200;overflow:hidden;animation:slideUpFade .2s cubic-bezier(.34,1.56,.64,1) forwards}.tools-menu-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.06);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.tools-menu-close{background:none;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;padding:4px;border-radius:6px;transition:all .15s ease}.tools-menu-close:hover{color:var(--text-primary);background:#ffffff14}.tools-menu-item{width:100%;display:flex;align-items:center;gap:14px;padding:14px 16px;background:none;border:none;cursor:pointer;text-align:left;transition:all .15s ease;color:var(--text-primary)}.tools-menu-item:hover{background:#818cf81a}.tools-menu-item-icon{width:40px;height:40px;background:linear-gradient(135deg,#6366f14d,#8b5cf64d);border:1px solid rgba(129,140,248,.3);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#818cf8;flex-shrink:0}.tools-menu-item-text{flex:1;display:flex;flex-direction:column;gap:2px}.tools-menu-item-title{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.tools-menu-item-desc{font-size:.75rem;color:var(--text-muted)}.tools-menu-item-arrow{color:var(--text-muted);flex-shrink:0}.tool-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:190;animation:fadeIn .2s ease forwards}.tool-panel{position:fixed;bottom:90px;left:50%;transform:translate(-50%);width:min(520px,calc(100vw - 32px));background:#0e0e18f7;border:1px solid rgba(129,140,248,.25);border-radius:20px;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:0 -8px 60px #0009,0 0 0 1px #ffffff0a,0 0 80px #6366f114;z-index:200;overflow:hidden;animation:slideUpFade .25s cubic-bezier(.34,1.56,.64,1) forwards}.tool-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.07);background:#818cf80d}.tool-panel-title{display:flex;align-items:center;gap:10px;font-size:1rem;font-weight:700;color:var(--text-primary)}.tool-panel-title svg{color:#818cf8}.tool-panel-close{background:none;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;padding:6px;border-radius:8px;transition:all .15s ease}.tool-panel-close:hover{color:var(--text-primary);background:#ffffff14}.subject-body{padding:24px 20px;display:flex;flex-direction:column;gap:16px}.subject-prompt{font-size:.9375rem;color:var(--text-secondary);margin:0}.subject-input{width:100%;padding:14px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:var(--text-primary);font-family:var(--font-sans);font-size:1rem;outline:none;transition:all .2s ease;box-sizing:border-box}.subject-input::placeholder{color:var(--text-muted)}.subject-input:focus{border-color:#818cf899;box-shadow:0 0 0 3px #818cf81a,0 0 20px #818cf81a;background:#ffffff12}.subject-next-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 24px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:12px;color:#fff;font-size:.9375rem;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:all .2s ease}.subject-next-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 24px #6366f166}.subject-next-btn:disabled{opacity:.4;cursor:not-allowed}.marks-panel-subtitle{padding:10px 20px 0;margin:0;font-size:.8125rem;color:var(--text-muted)}.marks-table-wrapper{padding:12px 20px;max-height:55vh;overflow-y:auto}.marks-table-wrapper::-webkit-scrollbar{width:4px}.marks-table-wrapper::-webkit-scrollbar-track{background:transparent}.marks-table-wrapper::-webkit-scrollbar-thumb{background:#818cf84d;border-radius:2px}.marks-table{width:100%;border-collapse:collapse}.marks-table thead tr{border-bottom:1px solid rgba(255,255,255,.08)}.marks-table th{padding:8px 10px;text-align:left;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.marks-table th:last-child{text-align:center}.marks-row td{padding:5px 10px;vertical-align:middle}.marks-divider td{padding:4px 0;border-top:1px solid rgba(255,255,255,.05)}.marks-label{display:flex;align-items:center;gap:10px;font-size:.875rem;color:var(--text-secondary);white-space:nowrap}.marks-badge{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;font-size:.7rem;font-weight:800;flex-shrink:0}.quiz-badge{background:#6366f133;border:1px solid rgba(99,102,241,.35);color:#818cf8}.assign-badge{background:#10b98126;border:1px solid rgba(16,185,129,.3);color:#34d399}.compre-badge{background:#f59e0b26;border:1px solid rgba(245,158,11,.35);color:#fbbf24}.marks-input{width:90px;padding:8px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.09);border-radius:9px;color:var(--text-primary);font-family:var(--font-sans);font-size:.9375rem;font-weight:600;outline:none;transition:all .18s ease;text-align:center;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.marks-input::-webkit-outer-spin-button,.marks-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.marks-input::placeholder{color:#ffffff2e;font-weight:400}.quiz-row .marks-input:focus{border-color:#6366f199;box-shadow:0 0 0 2px #6366f11f,0 0 12px #6366f126;background:#6366f10f}.assign-row .marks-input:focus{border-color:#10b98180;box-shadow:0 0 0 2px #10b9811a,0 0 12px #10b9811f;background:#10b9810d}.compre-row .marks-input:focus{border-color:#f59e0b80;box-shadow:0 0 0 2px #f59e0b1a,0 0 12px #f59e0b1f;background:#f59e0b0d}.marks-outof{text-align:center;font-size:.8125rem;color:var(--text-muted);font-weight:500}.marks-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px 18px;border-top:1px solid rgba(255,255,255,.06)}.marks-back-btn{padding:10px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:var(--text-secondary);font-family:var(--font-sans);font-size:.875rem;cursor:pointer;transition:all .2s ease}.marks-back-btn:hover{background:#ffffff14;color:var(--text-primary)}.marks-calculate-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:12px;color:#fff;font-size:.9375rem;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.marks-calculate-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.12),transparent);opacity:0;transition:opacity .2s ease}.marks-calculate-btn:hover:not(:disabled):before{opacity:1}.marks-calculate-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 28px #6366f173,0 0 0 1px #818cf84d}.marks-calculate-btn:disabled{opacity:.45;cursor:not-allowed}@keyframes slideUpFade{0%{opacity:0;transform:translate(-50%) translateY(20px) scale(.97)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media(max-width:480px){.tool-panel{bottom:80px;border-radius:16px}.marks-table-wrapper{max-height:45vh}.marks-input{width:70px;font-size:.875rem}}.m-chat{height:100dvh;display:flex;flex-direction:column;background:var(--bg-primary);position:relative;overflow:hidden}.m-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--text-secondary);font-size:.9rem}.spin{animation:mSpin 1s linear infinite}@keyframes mSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.m-topnav{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top));background:#0e0e18f2;border-bottom:1px solid rgba(255,255,255,.07);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10;flex-shrink:0}.m-nav-center{display:flex;align-items:center;gap:8px;font-size:1rem;font-weight:700;color:var(--text-primary)}.m-nav-icon{color:#818cf8}.m-nav-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:var(--text-secondary);text-decoration:none;position:relative;transition:all .2s ease}.m-nav-btn:active{background:#ffffff1a;transform:scale(.96)}.m-nav-btn-active{border-color:#22c55e66}.m-api-dot{position:absolute;top:3px;right:3px;color:#22c55e;background:#0e0e18e6;border-radius:50%}.m-messages{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px 14px 8px;display:flex;flex-direction:column}.m-messages-list{display:flex;flex-direction:column;gap:20px}.m-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 24px;gap:12px}.m-empty-icon{width:80px;height:80px;background:var(--bg-tertiary);border-radius:24px;display:flex;align-items:center;justify-content:center;color:#818cf8;border:1px solid rgba(129,140,248,.25);margin-bottom:8px}.m-empty h2{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0}.m-empty p{font-size:.875rem;color:var(--text-secondary);margin:0}.m-suggestions{display:flex;flex-direction:column;gap:10px;width:100%;max-width:320px;margin-top:12px}.m-suggestions button{padding:13px 18px;background:#ffffff0d;border:1px solid rgba(255,255,255,.09);border-radius:14px;color:var(--text-secondary);font-family:var(--font-sans);font-size:.9rem;cursor:pointer;text-align:left;transition:all .2s ease}.m-suggestions button:active{background:#818cf81f;border-color:#818cf84d;transform:scale(.98)}.m-message{display:flex;gap:10px;animation:mFadeUp .3s ease-out forwards;opacity:0}@keyframes mFadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.m-avatar{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.m-message.user .m-avatar{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.m-message.assistant .m-avatar{background:var(--bg-tertiary);color:#818cf8;border:1px solid rgba(255,255,255,.08)}.m-bubble-wrap{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.m-role{font-size:.75rem;font-weight:600;color:var(--text-primary);display:flex;gap:8px;align-items:center}.m-time{font-weight:400;color:var(--text-muted);font-size:.7rem}.m-bubble{background:var(--bg-message-ai);border:1px solid rgba(255,255,255,.07);border-radius:4px 14px 14px;padding:12px 14px;font-size:.9rem;line-height:1.65;color:var(--text-primary);overflow-x:auto}.m-message.user .m-bubble{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:14px 4px 14px 14px;color:#fff}.m-typing{display:flex;align-items:center;gap:5px;padding:14px}.m-typing .dot{width:7px;height:7px;background:#818cf8;border-radius:50%;animation:mPulse 1.4s ease-in-out infinite}@keyframes mPulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.m-bubble h1,.m-bubble h2,.m-bubble h3{margin:.75em 0 .35em;font-weight:700;font-size:1em}.m-bubble p{margin-bottom:.6em}.m-bubble p:last-child{margin-bottom:0}.m-bubble ul,.m-bubble ol{margin:.5em 0;padding-left:1.25em}.m-bubble code{font-family:var(--font-mono);font-size:.8em;background:#00000040;padding:.1em .35em;border-radius:4px}.m-bubble pre{background:#0000004d;border-radius:8px;padding:12px;overflow-x:auto;margin:.75em 0;font-size:.8em}.m-bubble blockquote{border-left:3px solid #818cf8;padding:.5em .75em;margin:.75em 0;background:#818cf812;border-radius:0 8px 8px 0}.m-bubble table{width:100%;border-collapse:collapse;font-size:.8em;margin:.75em 0;display:block;overflow-x:auto}.m-bubble th,.m-bubble td{border:1px solid rgba(255,255,255,.1);padding:7px 10px;text-align:left;white-space:nowrap}.m-bubble th{background:#818cf826;font-weight:700}.m-input-bar{flex-shrink:0;padding:10px 14px;padding-bottom:max(14px,env(safe-area-inset-bottom));background:#0e0e18f2;border-top:1px solid rgba(255,255,255,.07);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10}.m-input-row{display:flex;align-items:flex-end;gap:8px}.m-plus-btn{width:44px;height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:14px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.m-plus-btn:active,.m-plus-active{background:#818cf833;border-color:#818cf880;color:#818cf8}.m-textarea-wrap{flex:1;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:10px 14px;transition:border-color .2s ease}.m-textarea-wrap:focus-within{border-color:#818cf880}.m-textarea-wrap textarea{width:100%;background:none;border:none;outline:none;color:var(--text-primary);font-family:var(--font-sans);font-size:.9375rem;resize:none;line-height:1.5;max-height:120px}.m-textarea-wrap textarea::placeholder{color:var(--text-muted)}.m-clear-btn{width:44px;height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:12px;transition:all .2s ease}.m-clear-btn:active{color:#ef4444;background:#ef44441a}.m-send-btn{width:44px;height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:14px;color:#fff;cursor:pointer;transition:all .2s ease}.m-send-btn:active:not(:disabled){transform:scale(.94)}.m-send-btn:disabled{opacity:.45;cursor:not-allowed}.m-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50;animation:mFadeIn .2s ease}@keyframes mFadeIn{0%{opacity:0}to{opacity:1}}.m-sheet{position:fixed;bottom:0;left:0;right:0;background:#0e0e18fa;border-top:1px solid rgba(129,140,248,.25);border-radius:24px 24px 0 0;z-index:60;max-height:85dvh;display:flex;flex-direction:column;animation:mSlideUp .28s cubic-bezier(.34,1.4,.64,1) forwards;box-shadow:0 -12px 60px #000000b3,0 0 80px #6366f11a}@keyframes mSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.m-sheet-handle{width:40px;height:4px;background:#ffffff26;border-radius:2px;margin:12px auto 0;flex-shrink:0}.m-sheet-content{display:flex;flex-direction:column;flex:1;overflow:hidden;padding-bottom:env(safe-area-inset-bottom)}.m-sheet-header{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0}.m-sheet-title{flex:1;font-size:1rem;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-sheet-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffff12;border:none;border-radius:9px;color:var(--text-secondary);cursor:pointer;flex-shrink:0}.m-sheet-close:active{background:#ffffff1f}.m-back-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;border-radius:8px;flex-shrink:0}.m-back-icon:active{background:#ffffff14}.m-tool-item{display:flex;align-items:center;gap:14px;padding:16px 18px;background:none;border:none;width:100%;text-align:left;cursor:pointer;transition:all .15s ease;color:var(--text-primary)}.m-tool-item:active{background:#818cf81a}.m-tool-icon{width:46px;height:46px;background:linear-gradient(135deg,#6366f14d,#8b5cf64d);border:1px solid rgba(129,140,248,.3);border-radius:14px;display:flex;align-items:center;justify-content:center;color:#818cf8;flex-shrink:0}.m-tool-text{flex:1;display:flex;flex-direction:column;gap:3px}.m-tool-name{font-size:1rem;font-weight:600;color:var(--text-primary)}.m-tool-desc{font-size:.8rem;color:var(--text-muted)}.m-tool-arrow{color:var(--text-muted);flex-shrink:0}.m-subject-body{padding:20px 18px;display:flex;flex-direction:column;gap:16px}.m-subject-hint{font-size:.875rem;color:var(--text-muted);margin:0}.m-subject-input{width:100%;padding:16px 18px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:14px;color:var(--text-primary);font-family:var(--font-sans);font-size:1.05rem;outline:none;transition:all .2s ease;box-sizing:border-box}.m-subject-input::placeholder{color:var(--text-muted)}.m-subject-input:focus{border-color:#818cf880;box-shadow:0 0 0 3px #818cf81a;background:#ffffff12}.m-next-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:15px 24px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:14px;color:#fff;font-size:1rem;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:all .2s ease}.m-next-btn:active:not(:disabled){transform:scale(.97)}.m-next-btn:disabled{opacity:.4;cursor:not-allowed}.m-marks-hint{padding:10px 18px 0;margin:0;font-size:.8rem;color:var(--text-muted)}.m-marks-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px 18px 16px}.m-marks-scroll::-webkit-scrollbar{width:3px}.m-marks-scroll::-webkit-scrollbar-thumb{background:#818cf840;border-radius:2px}.m-section-label{font-size:.8rem;font-weight:700;color:var(--text-secondary);margin:14px 0 8px}.m-section-label:first-child{margin-top:6px}.m-mark-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.m-mark-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;transition:border-color .2s ease}.m-mark-card:focus-within{border-color:#818cf866}.quiz-card:focus-within{border-color:#6366f180;background:#6366f10a}.assign-card:focus-within{border-color:#10b98166;background:#10b98108}.compre-card:focus-within{border-color:#f59e0b73;background:#f59e0b0a}.m-mark-card-label{font-size:.75rem;font-weight:700;letter-spacing:.03em;color:var(--text-muted)}.quiz-card .m-mark-card-label{color:#818cf8}.assign-card .m-mark-card-label{color:#34d399}.compre-card .m-mark-card-label{color:#fbbf24}.m-mark-input{width:100%;padding:10px 0;background:none;border:none;outline:none;color:var(--text-primary);font-family:var(--font-sans);font-size:1.5rem;font-weight:700;text-align:center;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.m-mark-input::-webkit-outer-spin-button,.m-mark-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.m-mark-input::placeholder{color:#ffffff26;font-weight:400;font-size:1.25rem}.m-mark-max{font-size:.7rem;color:var(--text-muted);text-align:center;font-weight:500}.m-compre-card{display:flex;flex-direction:row;align-items:center;gap:14px;padding:16px 18px}.m-compre-card .m-mark-card-label{flex-shrink:0;font-size:.85rem}.m-compre-input{flex:1;font-size:1.5rem;padding:6px 0}.m-compre-card .m-mark-max{flex-shrink:0;font-size:.8rem}.m-marks-footer{padding:12px 18px 16px;border-top:1px solid rgba(255,255,255,.06);flex-shrink:0}.m-calc-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 24px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:16px;color:#fff;font-size:1rem;font-weight:700;font-family:var(--font-sans);cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.m-calc-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.1),transparent);opacity:0;transition:opacity .2s ease}.m-calc-btn:active:not(:disabled){transform:scale(.97)}.m-calc-btn:active:not(:disabled):before{opacity:1}.m-calc-btn:disabled{opacity:.45;cursor:not-allowed}:root{--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-tertiary: #1a1a25;--bg-message-user: transparent;--bg-message-ai: transparent;--text-primary: #f0f0f5;--text-secondary: #9ca3af;--text-muted: #6b7280;--accent-primary: #818cf8;--accent-secondary: #a78bfa;--accent-glow: rgba(129, 140, 248, .3);--border-subtle: rgba(255, 255, 255, .06);--border-accent: rgba(129, 140, 248, .3);--shadow-glow: 0 0 40px rgba(129, 140, 248, .15);--shadow-deep: 0 25px 50px -12px rgba(0, 0, 0, .5);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 28px;--font-sans: "Outfit", system-ui, sans-serif;--font-mono: "JetBrains Mono", monospace}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.katex{font-size:1.1em!important;color:inherit}.katex-display{margin:1.25em 0!important;overflow-x:auto;overflow-y:hidden;padding:1em 1.25em;background:#818cf814;border-radius:8px;border-left:3px solid var(--accent-primary)}.katex-display>.katex{white-space:normal;text-align:left}.katex .mord,.katex .mbin,.katex .mrel,.katex .mopen,.katex .mclose,.katex .mpunct,.katex .minner{color:inherit}.katex .mtable{margin:0 auto}.katex .col-align-l>.vlist-t{text-align:left}.katex .col-align-r>.vlist-t{text-align:right}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.animate-fade-in{animation:fadeInUp .4s ease-out forwards}.animate-pulse-dot{animation:pulse 1.4s ease-in-out infinite}.animate-float{animation:float 3s ease-in-out infinite}
