body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--base-color:#fff;--dark-color:#111113;--light-color:#3061b8;--middle-light:#255981;--middle-color:#1b2c4a;--middle-dark:#0f1b2e;--test-dark:#272729;--light-color-rgb:48,97,184;--middle-light-rgb:37,89,129;--primary-color:var(--light-color);--primary-color-rgb:var(--light-color-rgb);--primary-dark:var(--middle-light);--primary-darker:var(--middle-color);--secondary-color:#2ec4b6;--accent-color:#ff9f1c;--landing-max-width:1300px;--gray-50:#f9fafb;--gray-100:#f8f9fa;--gray-200:#e9ecef;--gray-300:#dee2e6;--gray-400:#ced4da;--gray-500:#adb5bd;--gray-600:#6c757d;--gray-700:#495057;--gray-800:#343a40;--gray-900:var(--dark-color);--font-family:"Roboto","Helvetica Neue",sans-serif;--heading-font:"Poppins","Helvetica Neue",sans-serif;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-xxl:3rem;--border-radius-sm:0.25rem;--border-radius-md:0.5rem;--border-radius-lg:0.75rem;--box-shadow:0 0.125rem 0.25rem rgba(0,0,0,.075);--box-shadow-lg:0 0.5rem 1rem #00000026;--shadow-medium:0 4px 16px #00000014;--shadow-large:0 8px 32px #0000001f;--background-primary:var(--base-color);--background-secondary:var(--gray-50);--background-tertiary:var(--gray-100);--border-color:var(--gray-200);--text-primary:var(--gray-900);--text-secondary:var(--gray-600);--primary-color-10:rgba(var(--primary-color-rgb),0.1);--primary-color-20:rgba(var(--primary-color-rgb),0.2);--success-color:#10b981;--success-color-5:#10b9810d;--math-symbols-svg:url(/static/media/test-math-symbols-2.b2c92aa50fcc49f6051e.svg)}.app-background-pattern{background:#fff;background:var(--base-color);position:relative}.app-background-pattern:after{background-image:url(/static/media/test-math-symbols-2.b2c92aa50fcc49f6051e.svg);background-image:var(--math-symbols-svg);background-position:50%;background-repeat:no-repeat;background-size:cover;content:"";height:100%;left:0;opacity:.025;pointer-events:none;position:absolute;top:0;width:100%;z-index:1}body{background:#fff;background:var(--base-color);position:relative}body:after{background-image:url(/static/media/test-math-symbols-2.b2c92aa50fcc49f6051e.svg);background-image:var(--math-symbols-svg);background-position:50%;background-repeat:no-repeat;background-size:cover;content:"";height:100vh;left:0;opacity:.015;pointer-events:none;position:fixed;top:0;width:100vw;z-index:-1}#root,*,body,html{margin:0;padding:0}#root,body,html{height:100%;overflow-x:hidden;width:100%}body{background-color:#fff;background-color:var(--base-color);font-family:Roboto,Helvetica Neue,sans-serif;font-family:var(--font-family);line-height:1.5}body,h1,h2,h3,h4,h5,h6{color:#111113;color:var(--gray-900)}h1,h2,h3,h4,h5,h6{font-family:Poppins,Helvetica Neue,sans-serif;font-family:var(--heading-font);margin-bottom:1rem;margin-bottom:var(--spacing-md)}h1{font-size:2.5rem;font-weight:600}h2{font-size:2rem}h2,h3{font-weight:500}h3{font-size:1.5rem}p{margin-bottom:1rem;margin-bottom:var(--spacing-md)}a{color:#3061b8;color:var(--primary-color);text-decoration:none}a:hover{color:#255981;color:var(--primary-dark);text-decoration:underline}ul{list-style:none}.App{display:flex;flex-direction:column;min-height:100vh;overflow-x:hidden}.App,.App-main{position:relative;width:100%}.App-main{flex:1 1;margin:0;max-width:100vw;padding:0}.btn{border-radius:.5rem;border-radius:var(--border-radius-md);font-weight:500;padding:.5rem 1rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}.btn:focus,.btn:hover{text-decoration:none}.btn:disabled{cursor:not-allowed;opacity:.65}.btn-primary{background-color:#3061b8;border-color:#3061b8}.btn-primary:focus,.btn-primary:hover{background-color:#255981;background-color:var(--primary-dark);border-color:#255981;border-color:var(--primary-dark)}.btn-secondary{background-color:#2ec4b6;background-color:var(--secondary-color);border-color:#2ec4b6;border-color:var(--secondary-color);color:#fff}.btn-secondary:focus,.btn-secondary:hover{background-color:#26a69a;border-color:#26a69a}.form-group{margin-bottom:var(--spacing-lg)}label{display:inline-block;font-weight:500;margin-bottom:.5rem;margin-bottom:var(--spacing-sm)}input,select,textarea{background-clip:padding-box;background-color:#fff;border:1px solid #ced4da;border:1px solid var(--gray-400);border-radius:.5rem;border-radius:var(--border-radius-md);color:#495057;color:var(--gray-700);display:block;font-size:1rem;line-height:1.5;padding:.5rem .75rem;transition:border-color .15s ease-in-out;width:100%}input:focus,select:focus,textarea:focus{background-color:#fff;border-color:#3061b8;border-color:var(--primary-color);box-shadow:0 0 0 .2rem #3061b840;box-shadow:0 0 0 .2rem rgba(var(--primary-color-rgb),.25);color:#495057;color:var(--gray-700);outline:0}.card{word-wrap:break-word;background-clip:initial;background-color:#fff;border:1px solid #dee2e6;border:1px solid var(--gray-300);border-radius:.5rem;border-radius:var(--border-radius-md);box-shadow:0 .125rem .25rem rgba(0,0,0,.075);box-shadow:var(--box-shadow);display:flex;flex-direction:column;min-width:0;position:relative}.card-body{flex:1 1 auto;padding:1.5rem;padding:var(--spacing-lg)}@media (max-width:768px){.App-main{padding:.5rem;padding:var(--spacing-sm)}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.3rem}}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#3061b8;color:var(--primary-color)}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.auth-loading-container{align-items:center;display:flex;flex-direction:column;height:100vh;justify-content:center}.auth-loading-spinner{animation:spin 1s linear infinite;border:3px solid #3061b833;border-top-color:#3061b8;border:3px solid rgba(var(--primary-color-rgb),.2);border-radius:50%;border-top-color:var(--primary-color);height:40px;margin-bottom:16px;width:40px}.auth-loading-container p{color:#495057;color:var(--gray-700);font-size:1rem}.markdown-body{color:#24292e;font-size:16px;line-height:1.5}.markdown-paragraph{margin-bottom:1rem}.markdown-unordered-list{list-style-type:disc;margin-bottom:1rem;padding-left:2rem}.markdown-unordered-list .markdown-unordered-list{list-style-type:circle;margin-bottom:.5rem;margin-top:.5rem}.markdown-unordered-list .markdown-unordered-list .markdown-unordered-list{list-style-type:square}.markdown-ordered-list{list-style-type:decimal;margin-bottom:1rem;padding-left:2rem}.markdown-ordered-list .markdown-ordered-list{list-style-type:lower-alpha;margin-bottom:.5rem;margin-top:.5rem}.markdown-ordered-list .markdown-ordered-list .markdown-ordered-list{list-style-type:lower-roman}.markdown-list-item,.markdown-list-item p{margin-bottom:.5rem}.markdown-list-item:last-child{margin-bottom:0}.markdown-document{background-color:#fff;border:1px solid #000;border-radius:8px;margin-bottom:1rem;max-width:100%;overflow:hidden;position:relative}.markdown-document-header{align-items:center;background-color:#4b007d;color:#fff;display:flex;font-weight:700;padding:.5rem 1rem}.markdown-document-header i{margin-right:.5rem}.markdown-document-content{color:#333;font-family:monospace;font-size:14px;line-height:1.4;padding:1rem;word-break:break-word}.markdown-code-container{border-radius:1px;font-family:monospace;max-width:1076px;overflow:hidden;position:relative;width:100%;word-break:break-word}.markdown-code-inline{background-color:#afb8c133;border-radius:6px;font-family:monospace;font-size:85%;padding:.2em .4em}.markdown-code-copy-button{align-items:center;background-color:#f6f8fa;border:none;border-radius:4px;color:#57606a;cursor:pointer;display:flex;font-size:12px;gap:4px;padding:4px 8px;position:absolute;right:8px;top:8px;transition:all .2s ease}.markdown-code-copy-button:hover{background-color:#f3f4f6;color:#24292f}.markdown-code-copy-button i{font-size:14px}.markdown-h1{font-size:1.75em;font-weight:700;margin-bottom:2rem;margin-top:1rem}.markdown-h2{font-size:1.45em;margin-top:2rem}.markdown-h2,.markdown-h3{font-weight:700;margin-bottom:1rem}.markdown-h3{font-size:1.25em;margin-top:1.5rem}.markdown-h4{font-size:1.2em}.markdown-h4,.markdown-h5{font-weight:700;margin-bottom:1rem;margin-top:1rem}.markdown-h5{font-size:1em}.markdown-h6{font-size:.875em;font-weight:700;margin-bottom:1rem;margin-top:1rem}.markdown table{border-collapse:collapse;margin-bottom:1rem;width:100%}.markdown table td,.markdown table th{border:1px solid #d0d7de;padding:.5rem}.markdown table th{background-color:#f6f8fa}.markdown-pre-copy-button{align-items:center;background:#fff3;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-family:monospace;font-size:12px;gap:5px;padding:4px 8px;position:absolute;right:10px;top:12px}.markdown-pre-inline{background-color:#f6f8fa;border-radius:3px;font-family:monospace;padding:.2em .4em}.markdown-pre-block{border-radius:5px;max-height:1000px;max-width:100%;overflow-x:hidden;overflow-y:auto;padding:1rem;white-space:pre-wrap;word-break:break-word}.markdown .katex-display{background-color:#0000;margin:1em 0;overflow-x:auto;overflow-y:hidden;padding:.5rem;text-align:center}.markdown .katex-display:after,.markdown .katex-display:before{display:none}.markdown .latex-block{border-left:3px solid #0000001a;border-radius:4px;margin:1rem 0;padding:10px 10px 10px 15px}.markdown .latex-block,.markdown .math-inline{background-color:#0000;font-family:KaTeX_Main,Times New Roman,serif}.markdown .math-inline{padding:0 2px}.markdown code .katex,.markdown code .katex-display,.markdown pre .katex,.markdown pre .katex-display{background-color:#0000;color:inherit;font-size:1em}.markdown .katex{font-size:1.15em;font:normal 1.1em KaTeX_Main,Times New Roman,serif;text-rendering:auto}.markdown .katex,.markdown .katex .katex-html{background-color:#0000}.markdown .katex .base{margin-top:-.05em}.markdown p .katex{vertical-align:middle}.markdown p .katex-display{margin-bottom:1.5rem;margin-top:1.5rem}.markdown .katex .mfrac .frac-line{border-bottom-width:1px}.markdown .katex .mord.text{white-space:normal}.markdown .katex .mbin,.markdown .katex .mop,.markdown .katex .mrel{color:#333}.markdown .katex .msupsub{vertical-align:initial}.markdown .markdown-body,.markdown .markdown-paragraph{text-align:left!important}.markdown .tool-result-image,.markdown-image{margin:1rem 0;text-align:center}.markdown .tool-result-image img,.markdown-image img{border-radius:8px;box-shadow:0 4px 6px #0000001a;max-width:100%}.markdown .tool-result-image .image-caption,.markdown-image .image-caption{color:#666;font-size:.9rem;font-style:italic;margin-top:.5rem}.markdown .message-image{margin:1rem 0;text-align:center}.markdown .message-image img{border-radius:8px;box-shadow:0 4px 6px #0000001a;max-width:100%}.markdown .message-image .image-caption{color:#666;font-size:.9rem;font-style:italic;margin-top:.5rem}.markdown .tool-use-indicator{color:#6c757d;font-size:.9rem;margin:.5rem 0}.app-header{background-color:var(--base-color);border-bottom:1px solid var(--gray-200);box-shadow:0 2px 4px #0000000a;padding:0;position:sticky;top:0;z-index:1000}.app-header,.robot-icon{display:flex;justify-content:center}.robot-icon{align-items:center;border-radius:14px;margin-right:.25rem;padding:.75rem .75rem .75rem 1.25rem;text-decoration:none;transition:background-color .2s ease}.robot-icon:hover{background-color:var(--gray-100)}.header-container{gap:0;height:60px;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 var(--spacing-md);position:relative;width:100%}.header-container,.header-left{align-items:center;display:flex}.header-left{flex-shrink:0}.brand-title{align-items:center;border-radius:14px;color:var(--gray-900);display:flex;font-size:1.1rem;font-weight:600;gap:.5rem;padding:.5rem .75rem;text-decoration:none;transition:background-color .2s ease}.brand-title:hover{background-color:var(--gray-100);color:var(--gray-900)}.brand-title:hover,.focused-brand:hover{text-decoration:none!important}.brand-text{font-family:var(--heading-font);font-weight:700}.header-center{display:flex;flex:1 1;justify-content:center;margin:0;min-width:0;padding:0}.header-right{flex-shrink:0;gap:.75rem}.auth-btn,.header-right{align-items:center;display:flex}.auth-btn{border:2px solid #0000;border-radius:14px;cursor:pointer;font-family:inherit;font-size:.875rem;font-weight:600;justify-content:center;min-width:80px;padding:.625rem 1.25rem;text-decoration:none;transition:all .2s ease}.login-btn{background-color:var(--dark-color);border-color:var(--dark-color);color:#fff}.login-btn:hover{background-color:var(--gray-800);border-color:var(--gray-800);box-shadow:0 4px 12px #00000026;color:#fff;transform:translateY(-1px)}.signup-btn{background-color:#fff;border-color:var(--gray-300);color:var(--dark-color)}.signup-btn:hover{background-color:var(--gray-50);border-color:var(--gray-400);box-shadow:0 4px 12px #0000001a;color:var(--dark-color);transform:translateY(-1px)}.logout-btn{background-color:var(--gray-700);border-color:var(--gray-700);color:#fff}.logout-btn:hover{background-color:var(--gray-800);border-color:var(--gray-800);box-shadow:0 4px 12px #00000026;color:#fff;transform:translateY(-1px)}.auth-btn:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.brand-title:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.notebook-tabs{-webkit-overflow-scrolling:touch;align-items:center;display:flex;gap:.25rem;height:100%;justify-content:center;margin:0;overflow-x:auto;padding:0;scroll-behavior:smooth;scrollbar-width:none}.notebook-tabs::-webkit-scrollbar{display:none}.notebook-tab{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#ffffffb3;border:2px solid #0000;border-radius:14px;box-sizing:border-box;color:var(--gray-700);cursor:pointer;font-family:inherit;font-size:.875rem;font-weight:600;height:fit-content;margin:0;padding:.6rem 1.2rem;position:relative;text-decoration:none;transform:translateZ(0);transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap;will-change:transform,background-color,box-shadow}.notebook-tab.active{background-color:var(--dark-color);box-shadow:0 2px 8px #0000001a;color:#fff;font-weight:600;transform:translateY(-1px)}.notebook-tab:hover:not(.active){background-color:var(--gray-200);color:var(--primary-dark);transform:translateY(-1px)}.notebook-tab:focus,.notebook-tab:hover{text-decoration:none!important}.notebook-tab,.notebook-tab:active,.notebook-tab:focus,.notebook-tab:hover,.notebook-tab:visited{outline:none;text-decoration:none!important}.notebook-tab:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.menu-tab{align-items:center;display:flex;gap:5px;padding:.5rem 1rem}.menu-icon-down{font-size:12px;margin-left:2px;transition:transform .2s ease}.menu-tab.active .menu-icon-down{transform:rotate(180deg)}.more-tabs-dropdown{display:inline-block;position:relative;z-index:99999}.dropdown-content{background-color:#fff;border:1px solid var(--gray-200);border-radius:8px;box-shadow:0 8px 24px #00000026;display:none;margin-top:4px;min-width:200px;opacity:0;overflow:hidden;position:fixed;transform:translateY(-10px);transition:opacity .2s ease,transform .2s ease;z-index:10000}.dropdown-content.show{display:block!important;opacity:1!important;transform:translateY(0)!important;visibility:visible!important}.dropdown-content a,.dropdown-content button{background:none;border:none;color:var(--gray-700);cursor:pointer;display:block;font-family:inherit;font-size:inherit;padding:12px 16px;text-align:left;text-decoration:none;transition:background-color .2s ease;width:100%}.dropdown-content a:hover,.dropdown-content button:hover{background-color:var(--gray-100);color:var(--primary-color)}.dropdown-content a:focus-visible,.dropdown-content button:focus-visible{background-color:var(--primary-color);color:#fff;outline:none}.dropdown-divider{background-color:var(--gray-200);height:1px;margin:4px 0}.scroll-indicator{background:linear-gradient(to right,#faf9f800,var(--base-color));display:none;height:100%;pointer-events:none;position:absolute;right:0;top:0;width:30px}.app-header.focused-mode .header-container{height:60px}.app-header.focused-mode .header-container,.app-header.focused-mode .notebook-tabs,.focused-header-content{align-items:center;display:flex;justify-content:space-between;width:100%}.focused-header-content{gap:1rem}.focused-header-left{flex-shrink:0}.focused-brand{align-items:center;color:var(--gray-900);display:flex;font-size:1rem;font-weight:600;gap:.5rem;text-decoration:none}.focused-brand-text{font-family:var(--heading-font);font-weight:700}.focused-center{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:.75rem;justify-content:center;max-width:600px}.focused-lesson-title{color:var(--gray-900);flex-shrink:0;font-family:var(--heading-font);font-size:.95rem;font-weight:600;line-height:1.2;margin:0;text-align:center}.focused-lesson-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.focused-meta-badge{border-radius:12px;font-size:.75rem;font-weight:500;padding:.25rem .625rem;white-space:nowrap}.focused-meta-badge.chapter{background-color:var(--gray-100);color:var(--gray-700)}.focused-meta-badge.difficulty{font-weight:600}.focused-meta-badge.difficulty.easy{background-color:#eefbf0;border:1px solid #a3d9a5;color:#126031}.focused-meta-badge.difficulty.medium{background-color:#ecf4ff;border:1px solid #a3c7ff;color:#153e9f}.focused-meta-badge.difficulty.hard{background-color:#fff3f4;border:1px solid #ffb3ba;color:#b0193f}.focused-actions{align-items:center;flex-shrink:0}.focused-action-btn{align-items:center;border:2px solid #0000;border-radius:6px;cursor:pointer;display:flex;font-family:inherit;font-size:.875rem;font-weight:600;gap:.5rem;justify-content:center;min-width:90px;padding:.5rem 1rem;transition:all .2s ease}.focused-action-btn:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.focused-action-btn.secondary{background-color:#fff;border-color:var(--gray-300);color:var(--gray-700)}.focused-action-btn.secondary:hover{background-color:var(--gray-50);border-color:var(--gray-400);box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.focused-action-btn.primary{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.focused-action-btn.primary:hover{background-color:var(--primary-dark);border-color:var(--primary-dark);box-shadow:0 4px 12px rgba(var(--primary-color-rgb),.3);transform:translateY(-1px)}.focused-mobile-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;padding:.75rem 0 .25rem;width:100%}.focused-btn.primary:hover{background-color:var(--primary-dark)}@media (max-width:768px){.focused-header-content{flex-direction:column;gap:.75rem;padding:.75rem 0}.focused-header-left{justify-content:flex-start;width:100%}.focused-center{order:3;width:100%}.focused-actions{justify-content:center;order:2;width:100%}.focused-mobile-meta{margin-top:.5rem;order:4}.focused-lesson-title{font-size:.85rem}.focused-action-btn span{display:none}.focused-action-btn{justify-content:center;min-width:40px;padding:.5rem}.focused-meta-badge{font-size:.7rem;padding:.2rem .5rem}}@media (max-width:480px){.focused-brand-text{display:none}.focused-lesson-title{font-size:.8rem}.focused-actions{gap:.5rem}}@media (max-width:768px){.app-header{padding:0 .5rem}.app-header,.header-container{min-height:64px;overflow:visible!important}.header-container{max-width:100%;padding:0}.notebook-tabs{gap:.25rem;justify-content:flex-start;min-height:64px;overflow-x:auto;overflow-y:visible!important;padding-right:30px;scrollbar-width:none}.more-tabs-dropdown{display:inline-block;z-index:9999}.dropdown-content{box-shadow:0 8px 32px #0003;margin-top:8px;max-height:calc(100vh - 100px);max-width:calc(100vw - 32px);min-width:240px;position:relative;transform-origin:top right}.dropdown-content.align-left{left:0!important;right:auto!important;transform-origin:top left}.notebook-tab{align-items:center;display:flex;font-size:.9rem;justify-content:center;min-width:fit-content;padding:1rem 1.25rem}.notebook-tab,.robot-icon{flex-shrink:0;min-height:48px}.robot-icon{margin-right:.5rem;min-width:48px;padding:1rem}.more-tabs-dropdown{position:relative;z-index:99998}.app-header,.header-container{overflow:visible}.notebook-tabs:before{display:none}.menu-tab{justify-content:center;min-height:48px;min-width:60px;padding:1rem 1.25rem;position:relative;z-index:1}.app-header.focused-mode{min-height:auto;padding:.75rem}.app-header.focused-mode .notebook-tabs{align-items:center;flex-direction:row;flex-wrap:wrap;gap:.5rem;justify-content:flex-start}.focused-header-content{align-items:center;flex:1 1;flex-direction:row;gap:.5rem;justify-content:space-between;min-width:0;padding:0}.focused-header-left{align-items:center;display:flex;flex:1 1;gap:.75rem;justify-content:flex-start;min-width:0}.focused-back-btn{flex-shrink:0;font-size:1.1rem;min-height:48px;min-width:48px;padding:.75rem}.focused-title{flex:1 1;font-size:1rem;line-height:1.2;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.focused-module-info{display:none}.focused-module-info-mobile{align-items:center;display:flex;gap:.5rem;justify-content:center;padding:.5rem 0;width:100%}.focused-badge{font-size:.75rem;padding:.25rem .6rem;text-align:center}.focused-actions{display:flex;flex-shrink:0;gap:.5rem;justify-content:flex-end}.focused-btn{font-size:.85rem;justify-content:center;min-height:48px;min-width:48px;padding:.75rem .5rem}.focused-btn svg{height:16px;width:16px}.focused-btn span{display:none}}@media (max-width:480px){.app-header{padding:0 .25rem}.notebook-tab{font-size:.85rem;padding:.75rem 1rem}.robot-icon{min-height:44px;min-width:44px;padding:.75rem}.dropdown-content{max-width:calc(100vw - 16px);min-width:220px}.focused-title{font-size:.9rem}.focused-badge{font-size:.7rem;padding:.2rem .5rem}.focused-btn{font-size:.8rem;min-width:44px;padding:.75rem .375rem}.focused-btn svg{height:14px;width:14px}}@media (prefers-reduced-motion:reduce){.dropdown-content,.focused-btn,.menu-icon-down,.notebook-tab{transition:none!important}}@media (prefers-contrast:high){.dropdown-content,.notebook-tab.active{border:2px solid}}@media (hover:none) and (pointer:coarse){.dropdown-content a,.dropdown-content button,.focused-btn,.notebook-tab{-webkit-tap-highlight-color:rgba(59,130,246,.2)}.focused-btn:active,.notebook-tab:active{background-color:#3b82f61a}}@media (max-width:768px){.app-header{-webkit-overflow-scrolling:touch;transform:translateZ(0)}.dropdown-content{backface-visibility:hidden;will-change:opacity,transform}.header-container{gap:.5rem;height:auto;min-height:60px;padding:.5rem}.header-left{flex-shrink:0}.brand-title{font-size:1rem;padding:.5rem}.brand-text{display:none}.header-center{max-width:none}.notebook-tabs{-webkit-overflow-scrolling:touch;gap:.125rem;justify-content:flex-start;overflow-x:auto;scrollbar-width:none}.notebook-tab{border-radius:4px;flex-shrink:0;font-size:.8rem;padding:.5rem .875rem}.header-right{flex-shrink:0;gap:.5rem}.auth-btn{border-radius:4px;font-size:.8rem;min-width:60px;padding:.5rem .875rem}}.app-header a,.app-header a:active,.app-header a:focus,.app-header a:hover,.app-header a:visited,.app-header button,.app-header button:active,.app-header button:focus,.app-header button:hover{text-decoration:none!important}.app-footer{background-color:initial;color:var(--gray-600);margin-top:var(--spacing-xxl);padding:var(--spacing-md) 0}.copyright{color:var(--gray-600);font-size:.9rem;text-align:center}.copyright p{margin-bottom:0}html{-webkit-overflow-scrolling:touch}.home-container-unified{contain:layout style paint;display:flex;flex-direction:column;isolation:isolate;margin:0;overflow-x:hidden;padding:0;position:relative;transform:translateZ(0);width:100%;will-change:scroll-position}.home-page-container.logged-in .home-container-unified{height:100%;overflow-y:auto}.main-showcase-section{align-items:flex-start;display:flex;flex:1 1;justify-content:center;padding:2rem;position:relative;transform:translateZ(0);z-index:2}.home-page-container.logged-in .main-showcase-section{align-items:center;padding:1rem}.unified-showcase{justify-content:center}.showcase-container,.unified-showcase{align-items:flex-start;display:flex;width:100%}.showcase-container{flex-direction:column;max-width:var(--landing-max-width);padding:4rem 2rem;position:relative}.home-page-container.logged-in .showcase-container{padding:2rem}.showcase-header{margin-bottom:3rem;margin-left:2rem;max-width:1300px;position:relative;text-align:left;z-index:10}.showcase-title{-webkit-text-fill-color:#0000;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,var(--dark-color) 0,var(--primary-color) 60%,var(--light-color) 100%);-webkit-background-clip:text;background-clip:text;font-family:var(--heading-font);font-size:clamp(4.5rem,10vw,12rem);font-weight:900;letter-spacing:-.04em;line-height:.9;margin-bottom:1.5rem;position:relative;text-rendering:optimizeLegibility;text-shadow:0 4px 8px #0000001a}.showcase-subtitle{color:var(--gray-700);font-family:var(--font-family);font-size:clamp(1.5rem,3vw,2.2rem);font-weight:500;letter-spacing:-.01em;line-height:1.3;margin-bottom:2.5rem}.feature-bullets{margin:2rem 0 1.5rem;text-align:left}.feature-bullets ul{display:flex;flex-direction:column;gap:.75rem;list-style:none;margin:0;padding:0}.feature-bullets li{color:var(--gray-600);font-family:var(--font-family);font-size:1.1rem;font-weight:400;line-height:1.4;padding-left:1.5rem;position:relative}.feature-bullets li:before{color:var(--primary-color);content:"•";font-weight:700;left:0;position:absolute;top:0}.showcase-welcome{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#fffc;border:1px solid #fff3;border-radius:20px;box-shadow:0 8px 32px #00000014,0 4px 16px #0000000a,inset 0 1px 0 #fffc;color:var(--dark-color);font-size:1.1rem;font-weight:600;margin:0 0 2rem;overflow:hidden;padding:1.25rem 2rem;position:relative;text-align:center;text-rendering:optimizeLegibility;transition:all .3s cubic-bezier(.4,0,.2,1)}.showcase-welcome.authenticated{background:#fff9;border:1px solid #00000014;border-radius:16px;box-shadow:0 2px 8px #0000000a;margin-bottom:2.5rem;padding:1.5rem 2rem;transition:all .2s ease}.showcase-welcome.public{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:rgba(var(--primary-color-rgb),.08);border:1px solid rgba(var(--primary-color-rgb),.2);box-shadow:0 8px 32px rgba(var(--primary-color-rgb),.1),0 4px 16px #0000000a,inset 0 1px 0 #fffc}.showcase-welcome-message{color:var(--gray-700);font-size:clamp(1.1rem,2vw,1.3rem);font-weight:500;letter-spacing:-.005em;line-height:1.5;margin:0}.showcase-welcome.authenticated .showcase-welcome-message{color:var(--gray-800);font-size:1.15rem;font-weight:500;text-align:left}.showcase-welcome-cta{color:var(--gray-700);font-size:.95rem;font-weight:500;margin-top:.4rem;opacity:.9}.scroll-hint{align-items:center;color:var(--primary-color);display:inline-flex;font-weight:600;gap:.5rem;margin-left:.5rem}.scroll-arrow{animation:bounce-down 2s ease-in-out infinite;font-size:.9rem}@keyframes bounce-down{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(4px)}60%{transform:translateY(2px)}}.showcase-welcome:before{animation:gradient-shift 6s ease-in-out infinite;background:linear-gradient(45deg,var(--primary-color),var(--light-color),#10b981,var(--primary-color));background-size:300% 300%;border-radius:22px;bottom:-2px;content:"";left:-2px;opacity:0;position:absolute;right:-2px;top:-2px;transition:opacity .4s ease;z-index:-1}.showcase-welcome:hover:before{opacity:.7}.showcase-welcome:hover{border-color:#3b82f64d;box-shadow:0 8px 24px #3b82f61f,0 4px 12px #0000000f;transform:none!important}@keyframes gradient-shift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.modern-cta-section{margin:2rem 0 4rem 2rem;max-width:600px;padding:0;text-align:left;z-index:10}.primary-ctas{display:flex;flex-wrap:wrap;gap:1.25rem;justify-content:flex-start;margin-bottom:2rem}.cta-button{align-items:center;border:none;border-radius:14px;cursor:pointer;display:inline-flex;font-family:var(--font-family);font-size:1.05rem;font-weight:600;justify-content:center;letter-spacing:-.005em;min-width:180px;padding:1.125rem 2.25rem;position:relative;text-decoration:none;transform:translateZ(0);transition:all .2s cubic-bezier(.4,0,.2,1);will-change:transform,box-shadow}.cta-button.primary{background:var(--dark-color);border:2px solid var(--dark-color);box-shadow:0 4px 14px #00000026,0 2px 4px #0000000d;color:#fff}.cta-button.primary:hover{background:var(--gray-800);border-color:var(--gray-800);box-shadow:0 6px 20px #00000040,0 4px 8px #00000014;transform:translateY(-1px)}.cta-button.secondary{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffffe6;border:1.5px solid rgba(var(--primary-color-rgb),.3);box-shadow:0 2px 8px #0000000a,inset 0 1px 0 #fffc;color:var(--primary-color)}.cta-button.secondary:hover{background:var(--primary-color);border-color:var(--primary-color);box-shadow:0 4px 14px rgba(var(--primary-color-rgb),.2),0 2px 4px #0000000d;color:#fff;transform:translateY(-1px)}.auth-links{color:var(--gray-600);font-size:.95rem}.auth-link{color:var(--primary-color);font-weight:500;text-decoration:none;transition:color .15s ease}.auth-link:hover{color:var(--primary-dark);text-decoration:underline}.hero-description{color:var(--gray-600);font-family:var(--font-family);font-size:clamp(1.25rem,2.2vw,1.4rem);letter-spacing:-.005em;max-width:600px;text-align:left}.showcase-welcome-modern{margin:0 0 2rem;padding:0;text-align:left}.showcase-welcome-modern p{margin:0;padding:0}.auth-buttons{display:flex;flex-wrap:wrap;gap:1rem;margin:2rem 0}.auth-button,.auth-buttons,.card-button{align-items:center;justify-content:center}.auth-button,.card-button{border:2px solid #0000;border-radius:16px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;overflow:hidden;padding:1rem 1.5rem;position:relative;text-decoration:none;transition:all .4s cubic-bezier(.4,0,.2,1)}.card-button{background:var(--gray-100);border:1px solid var(--gray-200);border-radius:12px;color:var(--gray-700);font-size:.95rem;font-weight:500;gap:.5rem;margin-top:auto;padding:.875rem 1.25rem;transform:translateZ(0);transition:all .15s ease;will-change:background-color,color}.card-button:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff;text-decoration:none}.card-button svg{height:16px;width:16px}.auth-button.primary,.card-button.primary{background:linear-gradient(135deg,#fff,#fafafa);border:2px solid #cbd5e080;box-shadow:0 6px 24px #00000014,0 3px 12px #0000000a;color:var(--primary-color);overflow:hidden;position:relative}.auth-button.primary:before,.card-button.primary:before{background:linear-gradient(90deg,#0000,#3b82f61a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .6s ease;width:100%}.auth-button.primary:hover:before,.card-button.primary:hover:before{left:100%}.auth-button.primary:hover,.card-button.primary:hover{background:linear-gradient(135deg,#fff,#f1f5f9);border-color:#6b7280b3;box-shadow:0 10px 32px #0000001f,0 6px 20px #2563eb26;color:#2563eb;text-decoration:none;transform:translateY(-2px)}.auth-button.secondary,.card-button.secondary{background:linear-gradient(135deg,#fff,#fafafa);border:2px solid #9ca3af80;box-shadow:0 6px 24px #00000014,0 3px 12px #0000000a;color:var(--primary-color)}.auth-button.secondary:hover,.card-button.secondary:hover{background:linear-gradient(135deg,#fff,#f1f5f9);border-color:#6b7280b3;box-shadow:0 10px 32px #0000001f,0 6px 20px #1e40af1f;color:#1e40af;text-decoration:none;transform:translateY(-2px)}.card-button.tertiary{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#ffffffd9;border:1px solid #ffffff4d;box-shadow:0 2px 8px #0000000f,0 1px 2px #00000005,inset 0 1px 0 #ffffffe6;color:var(--primary-color);font-size:.95rem;font-weight:600;padding:.875rem 1.25rem;transform:translateZ(0);transition:all .25s cubic-bezier(.4,0,.2,1);will-change:transform,box-shadow}.card-button.tertiary:before{background:linear-gradient(90deg,#0000,rgba(var(--primary-color-rgb),.08),#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .4s ease;width:100%}.card-button.tertiary:hover:before{left:100%}.card-button.tertiary:hover{background:var(--primary-color);border-color:var(--primary-color);box-shadow:0 6px 20px rgba(var(--primary-color-rgb),.25),0 4px 8px #00000014,inset 0 1px 0 #fff3;color:#fff;text-decoration:none;transform:translateY(-2px)}.feature-cards{grid-gap:2rem;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin:4rem 0 6rem;max-width:var(--landing-max-width);padding:0 1rem;width:100%}.feature-card{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #ffffff4d;border-radius:20px;box-shadow:0 4px 16px #0000000a,0 2px 4px #00000005,inset 0 1px 0 #fffc;display:flex;flex-direction:column;height:100%;min-height:320px;padding:2.5rem 2rem;position:relative;transform:translateZ(0);transition:all .3s cubic-bezier(.4,0,.2,1);will-change:transform,box-shadow}.feature-card:hover{border-color:#ffffff80;box-shadow:0 12px 32px #00000014,0 6px 16px #0000000a,0 2px 8px rgba(var(--primary-color-rgb),.06),inset 0 1px 0 #ffffffe6}.card-content{display:flex;flex:1 1;flex-direction:column;margin-bottom:1.5rem}.card-number{background:rgba(var(--primary-color-rgb),.08);border:1px solid rgba(var(--primary-color-rgb),.15);border-radius:12px;color:var(--primary-color);display:inline-block;font-size:1.25rem;font-weight:700;line-height:1;margin-bottom:1.25rem;padding:.6rem 1rem;position:relative;width:fit-content}.card-number,.card-title{font-family:var(--heading-font)}.card-title{color:var(--dark-color);font-size:1.35rem;font-weight:600;letter-spacing:-.01em;line-height:1.3;margin-bottom:1rem}.card-description{color:var(--gray-600);flex:1 1;font-family:var(--font-family);font-size:1rem;line-height:1.65;margin-bottom:1.5rem}.coming-soon{background:#fbbf24;border-radius:8px;color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.showcase-preview{background:#fffffff2;border:1px solid #ffffff80;border-radius:24px;box-shadow:0 20px 60px #0000001a,0 8px 32px rgba(var(--primary-color-rgb),.1),inset 0 1px 0 #fffc;height:500px;margin:3rem 0 2rem;min-height:500px;overflow:hidden;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}.preview-slide,.showcase-preview{align-items:center;display:flex;justify-content:center;width:100%}.preview-slide{height:100%;padding:3rem 2rem}.preview-content{grid-gap:4rem;align-items:center;display:grid;gap:4rem;grid-template-columns:1fr 1.2fr;height:100%;max-width:var(--landing-max-width);width:100%}.preview-text{display:flex;flex-direction:column;height:100%;justify-content:center;padding-right:1rem;text-align:left}.preview-title{color:var(--dark-color);font-size:2.2rem;font-weight:700;line-height:1.2;margin-bottom:2rem}.preview-description{color:var(--gray-700);font-size:1.2rem;line-height:1.6;margin-bottom:0}.preview-visual{height:100%}.demo-screenshot,.preview-visual{align-items:center;display:flex;justify-content:center;width:100%}.demo-screenshot{background:#f8fafce6;border-radius:15px;box-shadow:0 12px 40px #00000026;max-height:350px;max-width:500px;overflow:hidden;transition:transform .3s ease}.demo-screenshot:hover{transform:scale(1.02)}.screenshot-image{display:block;height:auto;max-height:350px;object-fit:contain;object-position:center;width:100%}.showcase-navigation{gap:2.5rem;margin:2rem 0 3rem;z-index:20}.nav-arrow,.showcase-navigation{align-items:center;display:flex;justify-content:center}.nav-arrow{background:#fffffff2;border:2px solid #3b82f633;border-radius:50%;box-shadow:0 8px 32px #0000001a,0 4px 16px rgba(var(--primary-color-rgb),.1),inset 0 1px 0 #fffc;color:var(--primary-color);cursor:pointer;font-size:1.3rem;height:56px;overflow:hidden;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1);width:56px}.nav-arrow:before{background:linear-gradient(90deg,#0000,#fff6,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .6s ease;width:100%}.nav-arrow:hover:before{left:100%}.nav-arrow:hover{background:linear-gradient(135deg,var(--primary-color) 0,var(--light-color) 100%);border-color:#ffffff4d;box-shadow:0 16px 40px rgba(var(--primary-color-rgb),.3),0 8px 24px #00000026;color:#fff;transform:scale(1.1) translateY(-2px)}.slide-indicators{display:flex;gap:1rem}.slide-indicator{background:#cbd5e099;border:2px solid #fffc;border-radius:50%;cursor:pointer;height:14px;overflow:hidden;position:relative;width:14px}.slide-indicator,.slide-indicator:before{transition:all .4s cubic-bezier(.4,0,.2,1)}.slide-indicator:before{background:radial-gradient(circle,var(--primary-color),var(--light-color));border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:0}.slide-indicator.active{background:#0000;border-color:var(--primary-color);box-shadow:0 6px 20px rgba(var(--primary-color-rgb),.4),0 3px 12px #0000001a;transform:scale(1.4)}.slide-indicator.active:before{height:100%;width:100%}.slide-indicator:hover{border-color:var(--primary-color);transform:scale(1.2)}.slide-indicator:hover:before{height:60%;width:60%}@media (max-width:1024px){.showcase-container{max-width:var(--landing-max-width)}.showcase-preview{margin:2rem 0}.preview-slide{padding:2rem}}@media (max-width:768px){.main-showcase-section,.showcase-container{padding:1rem}.showcase-title{font-size:clamp(2.5rem,12vw,4rem);margin-bottom:1rem}.showcase-subtitle{font-size:clamp(1.1rem,4vw,1.4rem);margin-bottom:1.5rem}.primary-ctas{gap:1rem;margin-bottom:1.5rem}.cta-button{font-size:1rem;min-width:160px;padding:1rem 1.75rem}.showcase-preview{height:400px;margin:1.5rem 0;min-height:400px}.preview-content{gap:2rem;grid-template-columns:1fr;text-align:center}.preview-visual .demo-screenshot{height:250px;max-height:250px;max-width:100%}.preview-visual .screenshot-image{max-height:250px}.preview-slide{padding:1.5rem}.preview-text{text-align:center}.preview-title{font-size:1.8rem}.preview-description{font-size:1rem;margin-bottom:1rem}.auth-buttons{flex-direction:column;gap:.75rem}.auth-button{font-size:1rem;min-width:240px;padding:.875rem 1.5rem}.showcase-navigation{gap:1rem;margin-top:1.5rem}.nav-arrow{font-size:1rem;height:40px;width:40px}.slide-indicators{gap:.5rem}.slide-indicator{height:10px;width:10px}}@media (min-width:768px){.auth-buttons{flex-direction:row;flex-wrap:wrap;justify-content:center}.auth-button{flex:0 1 auto;min-width:160px}}@media (min-width:1024px){.showcase-container{max-width:var(--landing-max-width)}.showcase-preview{margin:3rem 0}.preview-slide{padding:3rem}}@media (max-width:480px){.showcase-preview{height:350px;margin:1rem 0;min-height:350px}.preview-visual .demo-screenshot{height:200px;max-height:200px}.preview-visual .screenshot-image{max-height:200px}.preview-slide{padding:1rem}.preview-title{font-size:1.5rem}.preview-description{font-size:.9rem}.auth-button{min-width:200px}}@media (max-width:768px){.auth-button,.card-button,.nav-arrow,.slide-indicator{min-height:48px;min-width:48px}.auth-buttons{gap:1rem;padding:0 1rem}.auth-button{font-size:1.1rem;max-width:320px;padding:1rem 1.5rem;width:100%}.feature-cards{gap:1.5rem;grid-template-columns:1fr;margin:2rem 0 3rem;padding:0 .5rem}.feature-card{min-height:240px;padding:1.5rem}.card-title{font-size:1.3rem;margin-bottom:.75rem}.card-description{font-size:.95rem;line-height:1.5}.showcase-preview{height:auto;margin:1.5rem 0;min-height:300px;padding:1rem}.preview-content{gap:1.5rem;grid-template-columns:1fr;padding:0}.preview-title{font-size:1.6rem;margin-bottom:1rem}.preview-description{font-size:1rem;margin-bottom:1rem}.demo-screenshot,.screenshot-image{max-height:200px;width:100%}.screenshot-image{object-fit:cover}.showcase-navigation{gap:1rem;margin:1rem 0 2rem}.nav-arrow{font-size:1.2rem;height:48px;width:48px}.slide-indicators{gap:.75rem}.slide-indicator{height:12px;width:12px}.auth-button:before,.card-button:before,.nav-arrow:before,.showcase-welcome:before{display:none!important}.auth-button:hover,.card-button:hover,.feature-card:hover,.nav-arrow:hover{transform:none!important}.feature-card:hover{box-shadow:0 8px 20px #00000014!important}}@media (max-width:480px){.main-showcase-section{padding:.5rem}.showcase-container{padding:1rem .5rem}.showcase-title{font-size:clamp(2rem,6vw,3rem)!important;margin-bottom:.75rem!important}.showcase-subtitle{font-size:clamp(1rem,4vw,1.4rem)!important;margin-bottom:1rem!important}.auth-buttons{gap:.5rem!important}.auth-button{font-size:.9rem!important;min-width:180px!important;padding:.75rem 1.25rem!important}}@media (max-width:768px) and (-webkit-max-device-pixel-ratio:1.5625),(max-width:768px) and (max-resolution:150dpi){.card-number,.showcase-title{-webkit-text-fill-color:#0000;background:var(--primary-color);-webkit-background-clip:text;background-clip:text}.auth-button,.card-button,.feature-card{animation:none!important;transition:none!important}}@media (prefers-reduced-motion:reduce){.auth-button,.card-button,.feature-card,.showcase-title{animation:none!important;transition:none!important}}@media (max-width:768px){.home-container-unified{-webkit-overflow-scrolling:touch;transform:translateZ(0);will-change:scroll-position}.showcase-title{-webkit-text-fill-color:#0000;background:var(--primary-color);-webkit-background-clip:text;background-clip:text}.showcase-title:before{display:none}.feature-card{box-shadow:0 4px 12px #00000014!important;transform:none!important;will-change:auto}.feature-card:hover{box-shadow:0 6px 16px #0000001f!important}.auth-button,.card-button{transform:none!important;will-change:auto}.demo-screenshot,.screenshot-image{contain:strict;image-rendering:optimizeSpeed}.showcase-container{box-shadow:none}}@media (hover:none) and (pointer:coarse){.auth-button,.card-button,.feature-card{-webkit-tap-highlight-color:rgba(58,123,238,.2)}.auth-button:active,.card-button:active{background-color:#3a7bee1a;transform:none!important}.auth-button,.card-button{min-height:48px;min-width:120px}}@media (max-width:768px){.showcase-welcome{margin:1rem 0!important;padding:1rem!important}.showcase-welcome-message{font-size:1.1rem!important;line-height:1.5!important}.feature-cards{gap:1.5rem!important;grid-template-columns:1fr!important;margin:2rem 0!important}.feature-card{min-height:200px!important;padding:1.5rem!important}.card-title{font-size:1.3rem!important;margin-bottom:.75rem!important}.card-description{font-size:.95rem!important;line-height:1.5!important}}.showcase-welcome-modern{margin:0 auto 3rem;max-width:600px;text-align:center}.hero-description{color:var(--gray-700);font-size:1.3rem;font-weight:400;letter-spacing:.01em;line-height:1.6;margin:0}@media (max-width:768px){.hero-description{font-size:1.1rem;line-height:1.5}.showcase-container{padding:2rem 1rem}.showcase-header{margin-bottom:2rem}.showcase-title{font-size:clamp(2.5rem,12vw,4rem);line-height:1;margin-bottom:1rem}.showcase-subtitle{font-size:clamp(1.1rem,4vw,1.4rem);margin-bottom:1.5rem}.modern-cta-section{margin:2rem 0 3rem;padding:0 .5rem}.primary-ctas{flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.cta-button{font-size:1rem;margin:0 auto;max-width:300px;min-width:auto;padding:1rem 1.5rem;width:100%}.feature-cards{gap:1.5rem;grid-template-columns:1fr;margin:2rem 0 4rem;padding:0 .5rem}.feature-card{min-height:280px;padding:2rem 1.5rem}.card-title{font-size:1.25rem}.hero-description{font-size:1.1rem;line-height:1.6;padding:0 .5rem}}.home-container-unified{animation:fadeInUp .6s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.card-button:focus,.cta-button:focus{box-shadow:0 0 0 4px rgba(var(--primary-color-rgb),.1),0 4px 14px rgba(var(--primary-color-rgb),.25);outline:2px solid var(--primary-color);outline-offset:2px}@media (prefers-reduced-motion:reduce){.card-button,.cta-button,.feature-card,.home-container-unified{animation:none;transition:none}.showcase-welcome:before{animation:none}}@media (prefers-contrast:high){.feature-card{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--base-color);border:2px solid var(--gray-400)}.cta-button.secondary{border-color:var(--primary-color);border-width:2px}.showcase-welcome{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--base-color);border:2px solid var(--gray-400)}}@media (prefers-color-scheme:dark){:root{--text-shadow-light:0 1px 2px #000c}}@media print{.home-container-unified{background:#fff;color:#000}.feature-card{border:1px solid #ccc;box-shadow:none;break-inside:avoid;page-break-inside:avoid}.card-button,.cta-button{background:#fff;border:1px solid #000;color:#000}}@media (min-width:1400px){.showcase-container{max-width:1400px}.feature-cards{max-width:1200px}}.gradient-text{background:linear-gradient(135deg,var(--dark-color) 0,var(--primary-color) 60%,var(--light-color) 100%);font-weight:700}.glass-container{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #ffffff4d;border-radius:20px;box-shadow:0 8px 32px #00000014,0 4px 16px #0000000a,inset 0 1px 0 #fffc}.modern-button{align-items:center;border-radius:14px;display:inline-flex;font-family:var(--font-family);font-weight:600;justify-content:center;letter-spacing:-.005em;transform:translateZ(0);transition:all .2s cubic-bezier(.4,0,.2,1);will-change:transform,box-shadow}.hover-lift{transition:transform .2s ease}.hover-lift:hover{transform:translateY(-2px)}.landing-section{margin:0 auto;max-width:var(--landing-max-width);padding:4rem 2rem;width:100%}@media (max-width:768px){.landing-section{padding:2rem 1rem}}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.approach-container{contain:layout style paint;display:flex;flex-direction:column;isolation:isolate;overflow-x:hidden;position:relative;width:100%}.embedded-pitch{background:none;min-height:auto;padding:0}.page-header{margin:0 auto 5rem;max-width:850px;position:relative;z-index:2}.page-header h1{-webkit-text-fill-color:#0000;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,var(--dark-color) 0,var(--primary-color) 50%,var(--light-color) 100%);background-clip:text;font-size:clamp(3.5rem,8vw,10rem);font-weight:900;letter-spacing:-.02em;line-height:1.1;margin-bottom:1.5rem;position:relative;text-rendering:optimizeLegibility}.page-header p{color:var(--gray-700);font-size:clamp(1.1rem,2vw,1.3rem);font-weight:400;line-height:1.6}.pitch-hero,.pitch-section{background:#fff;border:1px solid var(--gray-200);border-radius:16px;box-shadow:0 1px 3px #0000000d;margin-bottom:2rem;padding:3rem;position:relative;transform:translateZ(0);transition:all .2s ease;will-change:box-shadow}.pitch-hero:hover,.pitch-section:hover{border-color:var(--gray-300);box-shadow:0 4px 12px #00000014,0 2px 4px #0000000a}.pitch-headline{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--dark-color) 0,var(--primary-color) 100%);background-clip:text;-webkit-background-clip:text;font-size:2.8rem;font-weight:800;line-height:1.3;margin-bottom:2rem}.lead{color:var(--gray-600);font-size:1.1rem;font-weight:500;line-height:1.8}.lead,.pitch-hero{margin-bottom:2rem}.pitch-hero{background:#fff;border:1px solid var(--gray-200);border-radius:16px;box-shadow:0 1px 3px #0000000d;padding:3rem;position:relative;transform:translateZ(0);transition:all .2s ease;will-change:box-shadow}.pitch-hero:hover{border-color:var(--gray-300);box-shadow:0 4px 12px #00000014,0 2px 4px #0000000a}.pitch-intro{margin-bottom:4rem;margin-left:auto;margin-right:auto;max-width:var(--landing-max-width)}.lead-paragraph{color:var(--gray-700);font-size:1.2rem;font-weight:500;line-height:1.8;margin-bottom:2rem}.story-intro{color:var(--gray-700);font-size:1.1rem;font-weight:600;line-height:1.6;margin-bottom:3rem;text-align:center}.offering-list{display:flex;flex-direction:column;gap:2rem;margin-bottom:4rem;margin-left:auto;margin-right:auto;max-width:var(--landing-max-width)}.offering-item{align-items:flex-start;background:#fff;border:1px solid var(--gray-200);border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;gap:1.5rem;padding:2rem;position:relative;transform:translateZ(0);transition:all .2s ease;will-change:box-shadow}.offering-item:hover{border-color:var(--gray-300);box-shadow:0 4px 12px #00000014,0 2px 4px #0000000a}.offering-number{align-items:center;background:rgba(var(--primary-color-rgb),.1);border-radius:8px;color:var(--primary-color);display:flex;flex-shrink:0;font-size:1.1rem;font-weight:700;height:2.5rem;justify-content:center;width:2.5rem}.offering-content{flex:1 1}.offering-content h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--dark-color) 0,var(--primary-color) 100%);background-clip:text;-webkit-background-clip:text;color:var(--dark-color);font-size:1.4rem;font-weight:800;line-height:1.3;margin-bottom:1rem}.offering-content p{color:var(--gray-700);font-size:1rem;font-weight:500;line-height:1.7}.lead-paragraph strong,.offering-content p strong,.story-intro strong{color:var(--dark-color);font-weight:700}.demo-intro em,.lead-paragraph em,.offering-content p em,.story-intro em{color:var(--gray-700);font-style:italic;font-weight:600}.key-highlight{color:var(--primary-color);font-weight:700}.demo-section{margin-bottom:3rem;margin-top:4rem}.demo-intro{color:var(--gray-700);font-size:1.2rem;font-weight:600;margin-bottom:2rem;text-align:center}.demo-intro em{color:var(--primary-color);font-style:normal;font-weight:700}.video-wrapper{background:linear-gradient(135deg,#fffffffa,#f8fafcf2);border:2px solid #ffffffe6;border-radius:24px;box-shadow:0 25px 70px #00000026,0 10px 35px #3b82f61f;margin:0 auto;max-width:900px;overflow:hidden;padding-top:50.625%;position:relative;transition:all .5s cubic-bezier(.4,0,.2,1);width:100%}.video-wrapper:before{background:linear-gradient(90deg,var(--primary-color),var(--light-color));content:"";height:4px;left:0;position:absolute;top:0;width:100%;z-index:2}.video-wrapper:hover{border-color:#3b82f680;box-shadow:0 20px 45px #0000001f,0 8px 25px #3b82f61a}.video-wrapper iframe{border:none}.video-placeholder,.video-wrapper iframe{border-radius:20px;height:calc(100% - 4px);left:0;position:absolute;top:4px;width:100%}.video-placeholder{align-items:center;background:linear-gradient(135deg,#fffffffa,#f8fafcf2);display:flex;justify-content:center;text-align:center}.placeholder-content{max-width:400px;padding:2rem}.placeholder-icon{font-size:4rem;margin-bottom:1rem;opacity:.7}.placeholder-content h3{color:var(--dark-color);font-size:1.5rem;font-weight:700;margin-bottom:1rem}.placeholder-content p{color:var(--gray-600);font-size:1rem;line-height:1.6;margin-bottom:2rem}.placeholder-content .btn{font-size:.9rem;padding:.8rem 1.5rem}.cta-buttons{flex-wrap:wrap;gap:1.5rem;margin-top:2rem}.demo-section .cta-buttons,.pitch-hero .cta-buttons{margin-bottom:2rem;margin-top:3rem}.btn{align-items:center;border:2px solid #0000;border-radius:16px;display:inline-flex;font-weight:700;gap:.5rem;justify-content:center;letter-spacing:.5px;overflow:hidden;padding:1.2rem 2rem;position:relative;text-transform:uppercase;transition:all .4s cubic-bezier(.4,0,.2,1)}.btn:before{display:none}.btn{transition:background-color .2s ease,box-shadow .2s ease}.btn-primary{align-items:center;background:var(--primary-color);border:none;border-radius:12px;box-shadow:0 4px 12px rgba(var(--primary-color-rgb),.3);display:inline-flex;font-weight:600;justify-content:center;padding:1rem 2rem;text-decoration:none;transform:translateZ(0);transition:all .15s ease;will-change:transform}.btn-primary:hover{background:var(--primary-dark);box-shadow:0 8px 20px rgba(var(--primary-color-rgb),.4)}.btn-secondary{align-items:center;background:#0000;border:2px solid var(--primary-color);border-radius:12px;color:var(--primary-color);display:inline-flex;font-weight:600;justify-content:center;padding:1rem 2rem;text-decoration:none;transform:translateZ(0);transition:all .15s ease;will-change:transform}.btn-secondary:hover{background:var(--primary-color);border-color:var(--primary-color);box-shadow:0 4px 12px rgba(var(--primary-color-rgb),.2);color:#fff;text-decoration:none;transform:translateY(-2px)}.pitch-section h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--dark-color) 0,var(--primary-color) 100%);background-clip:text;-webkit-background-clip:text;font-size:2.5rem;font-weight:800;line-height:1.3;margin-bottom:3rem;padding-bottom:1rem;position:relative;text-align:center}.pitch-section h2:after{background:linear-gradient(90deg,var(--primary-color),var(--light-color));border-radius:2px;bottom:0;content:"";height:4px;left:50%;position:absolute;transform:translateX(-50%);width:80px}.value-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.value-item{background:#fff;border:1px solid var(--gray-200);border-radius:12px;box-shadow:0 1px 3px #0000000d;padding:2rem;position:relative;transform:translateZ(0);transition:all .2s ease;will-change:box-shadow}.value-item:hover{border-color:var(--gray-300);box-shadow:0 4px 12px #00000014,0 2px 4px #0000000a}.value-icon{font-size:2rem;margin-bottom:1rem}.value-item h3{color:var(--dark-color);font-size:1.25rem;font-weight:600;line-height:1.3;margin-bottom:.75rem}.value-item p{color:var(--gray-600);font-size:1rem;line-height:1.6}.steps{counter-reset:step;margin:0 auto;max-width:800px}.step{align-items:flex-start;background:#fffffffa;border:1px solid #fffc;border-radius:20px;box-shadow:0 10px 40px #00000014,0 4px 15px #3b82f61a;display:flex;margin-bottom:3rem;padding:2.5rem;position:relative;transition:all .5s cubic-bezier(.4,0,.2,1)}.step:before{background:linear-gradient(90deg,var(--primary-color),var(--light-color));border-radius:20px 20px 0 0;content:"";height:4px;left:0;opacity:0;position:absolute;top:0;transition:opacity .3s ease;width:100%}.about-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:3rem}.about-item{background:linear-gradient(135deg,#fffffff2,#f8fafce6);border:1px solid #fffc;border-radius:20px;box-shadow:0 10px 40px #00000014,0 4px 15px #3b82f61a;overflow:hidden;padding:2.5rem;position:relative;transition:all .5s cubic-bezier(.4,0,.2,1)}.about-item:before{background:linear-gradient(90deg,var(--primary-color),var(--light-color));content:"";height:4px;left:0;opacity:0;position:absolute;top:0;transition:opacity .3s ease;width:100%}.curriculum-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:3rem}.curriculum-item{background:linear-gradient(135deg,#fffffff2,#f8fafce6);border:1px solid #fffc;border-radius:16px;box-shadow:0 8px 30px #00000014,0 3px 12px #3b82f61a;color:var(--dark-color);font-size:1.05rem;font-weight:600;overflow:hidden;padding:2rem 1.5rem;position:relative;text-align:center;transition:all .4s cubic-bezier(.4,0,.2,1)}.curriculum-item:before{background:linear-gradient(90deg,var(--primary-color),var(--light-color));content:"";height:4px;left:0;opacity:0;position:absolute;top:0;transition:opacity .3s ease;width:100%}.cta{background:linear-gradient(135deg,var(--primary-color) 0,var(--light-color) 50%,var(--primary-dark) 100%);border-radius:30px;box-shadow:0 20px 60px #3b82f64d,0 8px 25px #0000001a;margin:3rem 0;overflow:hidden;padding:4rem 2rem;text-align:center}.cta,.cta h2{color:#fff;position:relative}.cta h2{font-size:2.8rem;font-weight:800;margin-bottom:1.5rem;text-shadow:0 2px 10px #0003;z-index:2}.cta h2:after{background:linear-gradient(90deg,#fffc,#fff6,#fffc);height:3px;width:100px}.cta p{color:#fffffff2;font-size:1.2rem;font-weight:500;line-height:1.6;margin-bottom:2.5rem;margin-left:auto;margin-right:auto;max-width:600px;text-shadow:0 1px 5px #0000001a}.cta .cta-buttons,.cta p{position:relative;z-index:2}.cta .cta-buttons{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center}.cta .btn-primary{background:linear-gradient(135deg,#fffffff2,#f8fafce6);border:2px solid #ffffff4d;color:var(--primary-color);font-weight:700;overflow:hidden;position:relative;text-shadow:none}.cta .btn-secondary{background:#ffffff1a;border:2px solid #fff9;color:#fff;font-weight:600}.tutoring-steps{display:flex;flex-direction:column;gap:2rem;margin:0 auto;max-width:900px}.tutoring-step{align-items:flex-start;border:1px solid #fffc;border-radius:20px;box-shadow:0 10px 30px #0000000d,0 4px 10px #00000008;padding:2rem}.step-icon,.tutoring-step{background:#fff;display:flex;transition:all .3s ease}.step-icon{align-items:center;border-radius:50%;box-shadow:0 4px 15px #0000000d;flex-shrink:0;font-size:2rem;height:3.5rem;justify-content:center;margin-right:1.5rem;width:3.5rem}.setup-icon{background:#fff;border:1px solid #d0f0e0;color:#16a34a}.topic-icon{background:#fff;border:1px solid #d0e8ff;color:#3b82f6}.mode-icon{background:#fff;border:1px solid #ffe0d0;color:#f97316}.chat-icon{background:#fff;border:1px solid #e0e0ff;color:#6366f1}.step-content{flex:1 1}.tutoring-step h3{color:var(--dark-color);font-size:1.4rem;font-weight:600;margin-bottom:.6rem}.tutoring-step p{color:var(--gray-600);line-height:1.6;margin-bottom:1rem}.difficulty-showcase{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.difficulty-option{border-radius:12px;display:flex;flex-direction:column;gap:.5rem;padding:1rem;transition:all .3s ease}.difficulty-option.get-basics{background:#16a34a0d;border:1px solid #16a34a33}.difficulty-option.revision{background:#ca8a040d;border:1px solid #ca8a0433}.difficulty-option.expert{background:#dc26260d;border:1px solid #dc262633}.difficulty-badge{border-radius:9999px;display:inline-block;font-size:.85rem;font-weight:600;margin-bottom:.25rem;padding:.4rem .8rem}.get-basics .difficulty-badge{background-color:#16a34ae6;color:#fff}.revision .difficulty-badge{background-color:#ca8a04e6;color:#fff}.expert .difficulty-badge{background-color:#dc2626e6;color:#fff}.difficulty-description{color:var(--gray-700);font-size:.9rem}@media (max-width:1024px){.offering-list,.pitch-intro{max-width:900px}}@media (max-width:768px){.offering-list,.pitch-intro{gap:1.5rem;max-width:100%}.page-header h1{font-size:2.4rem}.lead{font-size:1.1rem}.pitch-headline{font-size:1.9rem}.pitch-section h2{font-size:2rem}.pitch-section{padding:2rem 1rem}.about-grid,.value-grid{gap:1.5rem;grid-template-columns:1fr}.curriculum-grid{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.step{flex-direction:column;padding:2rem;text-align:center}.step-number{font-size:1.2rem;height:3rem;margin-bottom:1rem;margin-right:0;width:3rem}.step:not(:last-child):after{display:none}.cta{border-radius:20px;margin:2rem 1rem;padding:3rem 1.5rem}.cta h2{font-size:2.2rem}.cta .cta-buttons{align-items:center;flex-direction:column}.btn{max-width:300px;width:100%}.video-wrapper{margin:2rem 0}.cta-buttons{align-items:center;flex-direction:column;gap:1rem}}@media (max-width:480px){.page-header h1{font-size:2rem}.pitch-headline{font-size:1.6rem}.pitch-section h2{font-size:1.8rem}.about-item,.step,.value-item{padding:1.5rem}.cta h2{font-size:1.8rem}.cta p{font-size:1rem}}@media (max-width:768px){.tutoring-step{flex-direction:column;padding:1.5rem}.step-icon{margin-bottom:1rem;margin-right:0}.difficulty-showcase{gap:.75rem}.difficulty-option{padding:.75rem}}@media (min-width:768px){.difficulty-showcase{flex-direction:row;flex-wrap:wrap}.difficulty-option{flex:1 1;min-width:180px}}.curriculum-structure{margin-left:auto;margin-right:auto;margin-top:3rem;max-width:var(--landing-max-width)}.state-section{background:linear-gradient(135deg,#fffffff2,#f8fafce6);border:1px solid #fffc;border-radius:20px;box-shadow:0 10px 40px #00000014,0 4px 15px #3b82f61a;overflow:hidden;padding:2.5rem;position:relative;transition:all .5s cubic-bezier(.4,0,.2,1)}.state-section:before{background:linear-gradient(90deg,var(--primary-color),var(--light-color));content:"";height:4px;left:0;opacity:0;position:absolute;top:0;transition:opacity .3s ease;width:100%}.state-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--dark-color) 0,var(--primary-color) 100%);background-clip:text;-webkit-background-clip:text;color:var(--dark-color);font-size:1.8rem;font-weight:800;margin-bottom:2rem;position:relative;text-align:center}.state-title:after{background:linear-gradient(90deg,var(--primary-color),var(--light-color));border-radius:2px;bottom:-8px;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.year-levels{display:flex;flex-direction:column;gap:1.5rem}.year-level{background:#ffffffb3;border:1px solid #3b82f626;border-radius:16px;padding:2rem;transition:all .3s ease}.year-title{color:var(--primary-color);font-size:1.4rem;font-weight:700;margin-bottom:1.5rem;text-align:center}.textbooks-list{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.textbook-item{background:linear-gradient(135deg,var(--primary-color) 0,var(--light-color) 100%);border-radius:25px;box-shadow:0 4px 15px #3b82f64d;color:#fff;font-size:1.1rem;min-width:140px;transition:all .3s ease}.beta-note,.textbook-item{font-weight:600;padding:1rem 2rem;text-align:center}.beta-note{background:linear-gradient(135deg,#f59e0b1a,#fbbf240d);border:1px solid #f59e0b33;border-radius:12px;color:#92400e;font-size:.95rem;margin-top:2rem}.beta-note strong{color:#f59e0b;font-weight:800}@media (max-width:768px){.curriculum-structure{max-width:100%}.state-section{border-radius:16px;padding:2rem 1.5rem}.state-title{font-size:1.5rem;margin-bottom:1.5rem}.year-level{border-radius:12px;padding:1.5rem}.year-title{font-size:1.2rem;margin-bottom:1rem}.textbook-item{border-radius:20px;font-size:1rem;min-width:120px;padding:.8rem 1.5rem}.beta-note{border-radius:10px;font-size:.9rem;margin-top:1.5rem;padding:.8rem 1.5rem}}@media (max-width:480px){.state-section{padding:1.5rem 1rem}.state-title{font-size:1.3rem}.year-level{padding:1.25rem}.year-title{font-size:1.1rem}.textbooks-list{align-items:center;flex-direction:column}.textbook-item{max-width:200px;width:100%}}.pricing-container{display:flex;justify-content:center;margin-top:3rem}.pricing-card{background:linear-gradient(135deg,#fffffffa,#f8fafcf2);border:2px solid #3b82f633;border-radius:24px;box-shadow:0 20px 60px #00000014,0 8px 30px #3b82f61f;max-width:500px;overflow:hidden;padding:3rem;position:relative;transition:all .5s cubic-bezier(.4,0,.2,1);width:100%}.pricing-card:before{background:linear-gradient(90deg,var(--primary-color),var(--light-color));content:"";height:4px;left:0;opacity:1;position:absolute;top:0;width:100%}.pricing-header{margin-bottom:2rem;position:relative}.pricing-header h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--dark-color) 0,var(--primary-color) 100%);background-clip:text;-webkit-background-clip:text;font-size:2rem;font-weight:800;margin-bottom:1rem}.pricing-badge{background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:25px;box-shadow:0 4px 15px #f59e0b4d;color:#fff;display:inline-block;font-size:.9rem;font-weight:600;letter-spacing:.5px;padding:.5rem 1.5rem;text-transform:uppercase}.pricing-content{margin-bottom:2.5rem}.price-display{margin-bottom:2rem}.price-text{color:var(--primary-color);display:block;font-size:1.5rem;font-weight:700;margin-bottom:1rem}.pricing-description{color:var(--gray-600);font-size:1.1rem;font-weight:500;line-height:1.7;margin-bottom:2rem}.pricing-features{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.feature-item{align-items:center;background:#3b82f60d;border:1px solid #3b82f61a;border-radius:12px;display:flex;gap:1rem;padding:.75rem 1rem;transition:all .3s ease}.feature-icon{color:#22c55e;flex-shrink:0;font-size:1rem;font-weight:800;text-align:center;width:20px}.feature-item span:last-child{color:var(--gray-700);font-size:1rem;font-weight:500}.pricing-footer{text-align:center}.pricing-footer .btn{justify-content:center;margin-bottom:1rem;width:100%}.early-access-note{color:var(--gray-500);font-size:.9rem;font-weight:500;line-height:1.5;margin:0}@media (max-width:768px){.pricing-container{margin-top:2rem;padding:0 1rem}.pricing-card{border-radius:20px;max-width:100%;padding:2.5rem 2rem}.pricing-header h3{font-size:1.7rem}.pricing-badge{border-radius:20px;font-size:.85rem;padding:.4rem 1.2rem}.price-text{font-size:1.3rem}.pricing-description{font-size:1rem;margin-bottom:1.5rem}.pricing-features{gap:.75rem;margin-bottom:1.5rem}.feature-item{border-radius:10px;padding:.6rem .8rem}.feature-item span:last-child{font-size:.95rem}}@media (max-width:480px){.pricing-card{border-radius:16px;padding:2rem 1.5rem}.pricing-header h3{font-size:1.5rem}.pricing-badge{font-size:.8rem;padding:.35rem 1rem}.price-text{font-size:1.2rem}.pricing-description{font-size:.95rem}.feature-item span:last-child{font-size:.9rem}.early-access-note{font-size:.85rem}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.about-item:hover,.curriculum-item:hover,.offering-item:hover,.pitch-hero:hover,.pitch-section:hover,.step:hover,.value-item:hover,.video-wrapper:hover{border-color:initial!important;box-shadow:none!important;transform:none!important}}@media (hover:none),(max-width:768px){.about-item:hover,.curriculum-item:hover,.offering-item:hover,.pitch-hero:hover,.pitch-section:hover,.step:hover,.value-item:hover,.video-wrapper:hover{border-color:initial!important;box-shadow:none!important}.about-item,.curriculum-item,.offering-item,.pitch-hero,.pitch-section,.step,.value-item,.video-wrapper{transition:border-color .2s ease!important}.pitch-hero,.pitch-section{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#fffffffa!important}}.approach-container{transform:translateZ(0);will-change:scroll-position}.pitch-hero,.pitch-section{will-change:border-color}@media (max-width:480px){.approach-container:before{display:none!important}}.placeholder-content,.video-placeholder{image-rendering:auto;image-rendering:crisp-edges;image-rendering:-webkit-optimize-contrast}@media (prefers-reduced-data:reduce){.approach-container:before{display:none!important}}.offering-number,.step-number,.value-icon{contain:layout style paint}@media (max-width:768px){.about-item,.offering-item,.pitch-hero,.pitch-section,.pricing-card,.step,.tutoring-step,.value-item{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;transform:none!important}.offering-item:hover,.pricing-card:hover,.tutoring-step:hover,.value-item:hover{box-shadow:0 4px 10px #0000001a!important;transform:none!important}.approach-container{margin:0;padding:0}.embedded-pitch{padding:1rem .5rem}.page-header{margin-bottom:2rem;padding:0 1rem}.page-header h1{font-size:clamp(2rem,6vw,2.8rem);margin-bottom:1rem}.page-header p{font-size:1.1rem;line-height:1.6}.pitch-hero,.pitch-section{border-radius:16px;margin-bottom:1.5rem;padding:2rem 1rem}.pitch-headline{font-size:2rem;margin-bottom:1.5rem}.lead-paragraph{font-size:1rem;margin-bottom:1.5rem}.story-intro{font-size:1rem;margin-bottom:2rem}.offering-list{gap:1rem;margin-bottom:2rem}.offering-item{flex-direction:column;gap:1rem;padding:1.5rem;text-align:center}.offering-number{font-size:1.2rem;height:2.5rem;margin:0 auto .5rem;width:2.5rem}.offering-content h3{font-size:1.3rem;margin-bottom:.75rem}.offering-content p{font-size:.95rem;line-height:1.5}.tutoring-steps{gap:1rem}.tutoring-step{align-items:center;flex-direction:column;padding:1.5rem;text-align:center}.step-icon{font-size:2.5rem;margin-bottom:1rem}.tutoring-step h3{font-size:1.2rem;margin-bottom:.75rem}.tutoring-step p{font-size:.9rem;line-height:1.5}.difficulty-showcase{flex-direction:column;gap:1rem;margin:2rem 0}.difficulty-option{padding:1rem;text-align:center}.difficulty-badge{font-size:.9rem;margin-bottom:.75rem;padding:.5rem 1rem}.difficulty-description{font-size:.9rem}.video-wrapper{border-radius:12px;margin:2rem 0}.video-placeholder{min-height:200px;padding:2rem 1rem}.placeholder-icon{font-size:3rem;margin-bottom:1rem}.placeholder-content h3{font-size:1.3rem;margin-bottom:1rem}.placeholder-content p{font-size:.95rem;margin-bottom:1.5rem}.curriculum-structure{gap:1.5rem}.state-section{padding:1.5rem}.state-title{font-size:1.4rem;margin-bottom:1rem}.year-levels{gap:1rem}.year-level{padding:1rem}.year-title{font-size:1.1rem;margin-bottom:.75rem}.textbooks-list{gap:.5rem}.textbook-item{font-size:.9rem;padding:.5rem .75rem}.pricing-container{padding:0}.pricing-card{margin:0;max-width:100%;padding:2rem 1.5rem}.pricing-header h3{font-size:1.5rem}.price-display{margin:1.5rem 0}.price-text{font-size:2.5rem}.pricing-features{gap:.75rem;margin:1.5rem 0}.feature-item{font-size:.95rem}.btn{font-size:1rem;max-width:280px;min-height:48px;padding:1rem 1.5rem;width:100%}.cta-buttons{align-items:center;flex-direction:column;gap:1rem}.cta{padding:3rem 1.5rem;text-align:center}.cta h2{font-size:2rem;margin-bottom:1rem}.cta p{font-size:1rem;margin-bottom:2rem}.beta-note{font-size:.9rem;margin:1.5rem 0;padding:1rem}.early-access-note{margin:2rem 0 0;padding:1rem}.early-access-note p{font-size:.9rem}.offering-item:before,.pricing-card:before,.state-section:before,.tutoring-step:before{display:none!important}.difficulty-option:hover,.offering-item:hover,.pricing-card:hover,.tutoring-step:hover{transform:none!important}}@media (max-width:480px){.pitch-hero,.pitch-section{margin-bottom:1rem;padding:1.5rem .75rem}.page-header{padding:0 .5rem}.page-header h1{font-size:clamp(1.8rem,7vw,2.4rem)}.page-header p{font-size:1rem}.offering-item,.pricing-card,.tutoring-step{padding:1.25rem}.btn{font-size:.95rem;padding:.875rem 1.25rem}.video-placeholder{min-height:180px;padding:1.5rem .75rem}.placeholder-icon{font-size:2.5rem}}@media (hover:none) and (pointer:coarse){.btn,.offering-item,.tutoring-step{-webkit-tap-highlight-color:rgba(59,130,246,.2)}.btn:active{background-color:#3b82f61a}}@media (max-width:768px){.approach-container{-webkit-overflow-scrolling:touch;transform:translateZ(0)}.page-header h1,.pitch-headline{-webkit-text-fill-color:#0000;background:var(--primary-color);-webkit-background-clip:text;background-clip:text}.pitch-hero,.pitch-section{box-shadow:0 2px 8px #0000000f}.video-placeholder{image-rendering:optimizeSpeed}}@media (prefers-reduced-motion:reduce){.btn,.offering-number,.step-icon{animation:none!important;transition:none!important}}@media (max-width:768px){.approach-container{margin:0!important;overflow-x:hidden;padding:0 1rem!important}.pitch-hero{background:#fffffff2!important;padding:1.5rem!important}.pitch-hero,.pitch-section{border-radius:16px!important;margin:1rem 0!important}.pitch-section{padding:1.5rem 1rem!important}.offering-list{gap:1rem!important;margin-bottom:2rem!important;padding:0!important}.offering-item{align-items:flex-start!important;border-radius:12px!important;flex-direction:row!important;gap:1rem!important;margin:0!important;padding:1rem!important}.offering-number{flex-shrink:0!important;font-size:1.1rem!important;height:2.5rem!important;width:2.5rem!important}.offering-content h3{font-size:1.2rem!important;line-height:1.3!important;margin-bottom:.5rem!important}.offering-content p{font-size:.9rem!important;line-height:1.5!important;margin:0!important}.page-header{margin:0 auto 2rem!important;padding:1rem 0!important}.page-header h1{font-size:2.2rem!important;margin-bottom:1rem!important}.page-header p{font-size:1rem!important;padding:0 1rem!important}.pitch-headline{font-size:1.8rem!important;margin-bottom:1rem!important}.pitch-intro{margin-bottom:1.5rem!important}.lead-paragraph{margin-bottom:1rem!important}.lead-paragraph,.story-intro{font-size:.95rem!important;line-height:1.6!important}.story-intro{margin-bottom:1.5rem!important}.demo-section{margin:1.5rem 0!important;padding:0!important}.demo-intro{font-size:.95rem!important;margin-bottom:1rem!important}.cta-buttons{flex-direction:column!important;gap:.75rem!important;margin-top:1.5rem!important;padding:0!important}.cta-buttons .btn{font-size:.95rem!important;max-width:none!important;padding:.875rem 1.5rem!important;width:100%!important}.value-grid{gap:1rem!important;margin:1rem 0!important}.value-item{border-radius:12px!important;padding:1.25rem!important}.value-item h3{font-size:1.1rem!important;margin-bottom:.5rem!important}.value-item p{font-size:.9rem!important;line-height:1.5!important}.tutoring-steps{gap:1rem!important;margin:1rem 0!important}.tutoring-step{border-radius:12px!important;gap:1rem!important;padding:1.25rem!important}.step-icon{font-size:1.2rem!important;height:2.5rem!important;width:2.5rem!important}.step-content h3{font-size:1.1rem!important;margin-bottom:.5rem!important}.step-content p{font-size:.9rem!important;line-height:1.5!important}.video-wrapper{margin:1rem 0!important}.video-placeholder{border-radius:12px!important;padding:2rem 1rem!important}.placeholder-content h3{font-size:1.3rem!important;margin-bottom:.75rem!important}.placeholder-content p{font-size:.9rem!important;margin-bottom:1rem!important}}@media (max-width:480px){.approach-container{padding:0 .75rem!important}.pitch-hero{margin:.75rem 0!important;padding:1rem!important}.pitch-section{padding:1rem .75rem!important}.offering-item{flex-direction:column!important;gap:.75rem!important;padding:.875rem!important;text-align:center!important}.offering-number{font-size:1rem!important;height:2.25rem!important;margin:0 auto!important;width:2.25rem!important}.offering-content h3{font-size:1.1rem!important;margin-bottom:.5rem!important;text-align:center!important}.offering-content p{font-size:.85rem!important;text-align:left!important}.page-header h1{font-size:1.9rem!important}.pitch-headline{font-size:1.6rem!important}.cta-buttons .btn,.lead-paragraph,.story-intro{font-size:.9rem!important}.cta-buttons .btn{padding:.75rem 1.25rem!important}}@media (hover:none) and (pointer:coarse){.offering-item{cursor:default!important}.offering-item:hover{box-shadow:0 2px 10px #00000014!important;transform:none!important}.btn{min-height:44px!important;touch-action:manipulation!important}.lead-paragraph,.offering-content p,.story-intro{-webkit-user-select:text!important;user-select:text!important}}@media (max-width:768px){.approach-container{-webkit-overflow-scrolling:touch!important;scroll-behavior:smooth!important}.offering-item,.pitch-hero,.pitch-section{transition:opacity .2s ease!important}}.mobile-optimized{margin:0!important;padding:0!important}.mobile-optimized .pitch-hero,.mobile-optimized .pitch-section{max-width:100%!important;width:100%!important}@media (max-width:768px){.offering-item,.pitch-hero,.pitch-section,.tutoring-step,.value-item{box-shadow:0 2px 8px #0000000f!important}.btn{box-shadow:0 2px 6px #0000001a!important}.btn:hover{box-shadow:0 4px 10px #00000026!important}.offering-number{transform:none!important;will-change:auto}.page-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--dark-color) 0,var(--primary-color) 100%);-webkit-background-clip:text;background-clip:text}.video-placeholder{contain:strict;will-change:auto}.offering-item:hover,.tutoring-step:hover,.value-item:hover{background:#fffffffa!important;transform:none!important}}@media (max-width:768px) and (-webkit-max-device-pixel-ratio:1.5625),(max-width:768px) and (max-resolution:150dpi){.offering-item,.pitch-hero,.pitch-section,.tutoring-step{border:1px solid #cbd5e04d;box-shadow:none!important}.offering-number,.page-header h1,.pitch-headline{-webkit-text-fill-color:#0000;background:var(--primary-color);-webkit-background-clip:text;background-clip:text}}.home-page-container{background:#0000;margin:0;padding:0;position:relative;width:100%}.home-page-container.logged-in{height:calc(100vh - 60px);overflow:hidden}.hero-section,.home-page-background,.scrollable-home-content{display:none}.cta-buttons{display:flex;gap:var(--spacing-lg);justify-content:center}.cta-buttons .btn{font-size:1.1rem;padding:var(--spacing-md) var(--spacing-lg)}.hero-section:after{animation:bounce 2s infinite;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 13 5 5 5-5M7 7l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;bottom:10px;content:"";display:none;height:40px;left:50%;opacity:.5;position:absolute;transform:translateX(-50%);width:40px}.hero-section.not-logged-in:after{display:block}.hero-section.logged-in:after{display:none}@keyframes bounce{0%,20%,50%,80%,to{transform:translateX(-50%) translateY(0)}40%{transform:translateX(-50%) translateY(-10px)}60%{transform:translateX(-50%) translateY(-5px)}}.features-section{padding:var(--spacing-xxl) var(--spacing-md);text-align:center}.features-section h2{margin-bottom:var(--spacing-xl)}.features-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:var(--spacing-lg)}.feature-card{background-color:#fff;border-radius:var(--border-radius-md);box-shadow:var(--box-shadow);padding:var(--spacing-lg);transition:transform .3s ease,box-shadow .3s ease}.feature-card:hover{box-shadow:var(--box-shadow-lg);transform:translateY(-5px)}.feature-icon{font-size:2.5rem;margin-bottom:var(--spacing-md)}.feature-card h3{margin-bottom:var(--spacing-sm)}.quick-access{padding:var(--spacing-xl) var(--spacing-md);text-align:center}.quick-links{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:var(--spacing-lg)}.link-card{background-color:var(--gray-100);border:1px solid var(--gray-200);border-radius:var(--border-radius-md);box-shadow:var(--box-shadow);color:var(--gray-800);display:block;padding:var(--spacing-lg);text-decoration:none;transition:transform .3s ease,box-shadow .3s ease}.link-card:hover{border-color:var(--primary-color);box-shadow:var(--box-shadow-lg);color:var(--primary-color);text-decoration:none;transform:translateY(-5px)}.link-card h3{color:var(--gray-900);margin-bottom:var(--spacing-sm)}.link-card p{color:var(--gray-600);margin-bottom:0}.pitch-section-wrapper{background:#0000;border-radius:40px 40px 0 0;margin-top:0;overflow:hidden;position:relative}.pitch-section-wrapper:before{background:radial-gradient(circle at 20% 35%,#6366f10a 0,#0000 40%),radial-gradient(circle at 80% 80%,#3b82f60f 0,#0000 50%);content:"";height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.embedded-pitch{padding:4rem 2rem;position:relative;z-index:2}.embedded-pitch .pitch-hero{background:linear-gradient(135deg,#fffffff2,#f8fafce6);border:1px solid #fffc;border-radius:24px;box-shadow:0 20px 60px #00000014,0 4px 20px #3b82f61a;margin-bottom:3rem;overflow:hidden;padding:3rem;position:relative;transition:all .5s cubic-bezier(.4,0,.2,1)}@media (max-width:768px){.hero-content h1{font-size:2.2rem}.cta-buttons{flex-direction:column;gap:var(--spacing-md)}.features-grid,.quick-links{grid-template-columns:1fr}}.setup-container{display:flex;justify-content:center;min-height:100vh;padding:2rem 1rem 4rem}.setup-content{background-color:#fff;border-radius:12px;box-shadow:0 4px 16px #00000014;max-width:900px;padding:2.5rem;width:100%}.setup-header{margin-bottom:2.5rem;text-align:center}.setup-header h1{color:var(--dark-color);font-size:2rem;font-weight:700;margin-bottom:.5rem}.setup-header p{color:var(--gray-600);font-size:1.1rem}.setup-form{display:flex;flex-direction:column;gap:2rem}.form-group label,.form-label{color:var(--dark-color);font-size:1rem;font-weight:600}.form-label{display:block;margin-bottom:.8rem}.form-control{border:2px solid var(--gray-200);border-radius:8px;font-size:1rem;padding:.8rem 1rem;transition:border-color .2s,box-shadow .2s;width:100%}.form-control:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb),.1);outline:none}.form-section{background-color:#fff;border:1px solid var(--gray-200);border-radius:10px;box-shadow:0 1px 3px #0000000d;margin-bottom:2rem;padding:1.5rem}.form-section h3{color:var(--dark-color);font-size:1.25rem;font-weight:600;margin-bottom:1.2rem}.coming-soon{background-color:rgba(var(--primary-color-rgb),.1);border-radius:4px;color:var(--primary-color);display:inline-block;font-size:.75rem;font-weight:600;margin-top:6px;padding:.2rem .5rem}.error-message{background-color:#dc26261a;border-radius:8px;color:#b91c1c;margin-bottom:1.5rem;padding:1rem}.form-actions{display:flex;justify-content:flex-end;margin-top:1rem}.btn{border:none;font-size:1rem;padding:.8rem 1.6rem;transition:all .2s}.btn-primary:hover{box-shadow:0 4px 12px rgba(var(--primary-color-rgb),.2)}.btn-primary:disabled{cursor:not-allowed;opacity:.7}.setup-loader{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:300px}.loader-spinner{animation:spin 1s linear infinite;border:4px solid rgba(var(--primary-color-rgb),.1);border-left-color:var(--primary-color);border-radius:50%;height:50px;margin-bottom:1rem;width:50px}.state-area-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-bottom:20px}.state-area-card{border:2px solid var(--gray-200);border-radius:10px;cursor:pointer;padding:15px;position:relative;transition:all .2s ease}.state-area-card:hover:not(.disabled){border-color:var(--primary-color);box-shadow:0 4px 12px rgba(var(--primary-color-rgb),.1);transform:translateY(-2px)}.state-area-card.selected{background-color:rgba(var(--primary-color-rgb),.05);border-color:var(--primary-color)}.state-area-card.disabled{background-color:var(--gray-100);cursor:not-allowed;opacity:.7}.state-area-input{opacity:0;position:absolute}.state-area-label{cursor:pointer;display:flex;flex-direction:column;width:100%}.state-area-card.disabled .state-area-label{cursor:not-allowed}.state-area-name{font-size:1rem;font-weight:600;margin-bottom:4px}.state-coming-soon-message{align-items:flex-start;background-color:rgba(var(--primary-color-rgb),.08);border-radius:8px;display:flex;margin-bottom:24px;padding:16px}.state-coming-soon-message .info-icon{color:var(--primary-color);flex-shrink:0;font-size:20px;margin-right:12px}.state-coming-soon-message p{color:var(--gray-600);font-size:.95rem;margin:0}.usage-beta-note{align-items:flex-start;background-color:rgba(var(--primary-color-rgb),.08);border-radius:8px;display:flex;margin-bottom:1.5rem;padding:12px}.usage-beta-note .info-icon{color:var(--primary-color);flex-shrink:0;font-size:18px;margin-right:10px}.usage-beta-note p{color:var(--gray-600);font-size:.9rem;margin:0}.year-levels-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.year-level-card{border:2px solid var(--gray-200);border-radius:10px;cursor:pointer;padding:12px;position:relative;transition:all .2s ease}.year-level-card:hover:not(.disabled){border-color:var(--primary-color);box-shadow:0 4px 12px rgba(var(--primary-color-rgb),.1);transform:translateY(-2px)}.year-level-card.selected{background-color:rgba(var(--primary-color-rgb),.05);border-color:var(--primary-color)}.year-level-card.disabled{background-color:var(--gray-100);cursor:not-allowed;opacity:.7}.year-level-input{opacity:0;position:absolute}.year-level-label{cursor:pointer;display:flex;flex-direction:column;width:100%}.year-level-card.disabled .year-level-label{cursor:not-allowed}.year-level-name{font-size:1rem;font-weight:600}.math-types-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.math-type-card{border:2px solid var(--gray-200);border-radius:10px;cursor:pointer;padding:12px;position:relative;transition:all .2s ease}.math-type-card:hover:not(.disabled){border-color:var(--primary-color);box-shadow:0 4px 12px rgba(var(--primary-color-rgb),.1);transform:translateY(-2px)}.math-type-card.selected{background-color:rgba(var(--primary-color-rgb),.05);border-color:var(--primary-color)}.math-type-card.disabled{background-color:var(--gray-100);cursor:not-allowed;opacity:.7}.math-type-input{opacity:0;position:absolute}.math-type-label{cursor:pointer;display:flex;flex-direction:column;width:100%}.math-type-card.disabled .math-type-label{cursor:not-allowed}.math-type-name{font-size:1rem;font-weight:600}.textbooks-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.textbook-card{border:2px solid var(--gray-200);border-radius:10px;cursor:pointer;padding:12px;position:relative;transition:all .2s ease}.textbook-card:hover:not(.disabled){border-color:var(--primary-color);box-shadow:0 4px 12px rgba(var(--primary-color-rgb),.1);transform:translateY(-2px)}.textbook-card.selected{background-color:rgba(var(--primary-color-rgb),.05);border-color:var(--primary-color)}.textbook-card.disabled{background-color:var(--gray-100);cursor:not-allowed;opacity:.7}.textbook-input{opacity:0;position:absolute}.textbook-label{cursor:pointer;display:flex;flex-direction:column;width:100%}.textbook-card.disabled .textbook-label{cursor:not-allowed}.textbook-name{font-size:1rem;font-weight:600}.confidence-options{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr}.confidence-card{border:2px solid var(--gray-200);border-radius:10px;cursor:pointer;padding:12px;position:relative;transition:all .2s ease}.confidence-card:hover{border-color:var(--primary-color);box-shadow:0 4px 12px rgba(var(--primary-color-rgb),.1);transform:translateY(-2px)}.confidence-card.selected{background-color:rgba(var(--primary-color-rgb),.05);border-color:var(--primary-color)}.confidence-input{opacity:0;position:absolute}.confidence-label{cursor:pointer;display:flex;flex-direction:column;width:100%}.confidence-name{font-size:1rem;font-weight:500}.supported-configs-section{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:2rem;overflow:hidden;transition:all .3s ease}.supported-configs-header{align-items:center;background-color:#fff;border-bottom:1px solid #e9ecef;cursor:pointer;display:flex;justify-content:space-between;padding:1rem 1.5rem;transition:background-color .2s ease}.supported-configs-header:hover{background-color:#f8f9fa}.supported-configs-header h3{color:var(--primary-color);font-size:1.1rem;font-weight:600;margin:0}.dropdown-arrow{color:var(--gray-600);font-size:.8rem;transition:transform .3s ease}.dropdown-arrow.open{transform:rotate(180deg)}.supported-configs-list{background-color:#f8f9fa;padding:1.5rem}.supported-configs-intro{color:var(--gray-700);font-size:.95rem;margin-bottom:1rem}.supported-configs-grid{display:flex;flex-direction:column;gap:.5rem}.supported-config-item{grid-gap:1rem;background-color:#fff;border:1px solid #e9ecef;border-radius:6px;display:grid;font-size:.9rem;gap:1rem;grid-template-columns:2fr 3fr 2fr;padding:.75rem 1rem}.config-state{color:var(--primary-color);font-weight:600}.config-year-math{color:var(--dark-color)}.config-textbook,.no-configs-message{color:var(--gray-600);font-style:italic}.no-configs-message{padding:1rem;text-align:center}@media (max-width:768px){.setup-content{padding:1.5rem}.math-types-grid,.textbooks-grid,.year-levels-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}}@media (max-width:640px){.state-area-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.state-area-card{padding:12px}}@media (max-width:768px){.supported-config-item{gap:.25rem;grid-template-columns:1fr;padding:.75rem}.config-state{border-bottom:1px solid #e9ecef;padding-bottom:.25rem}.config-textbook{font-size:.85rem}}@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_AMS-Regular.73ea273a72f4aca30ca5.woff2) format("woff2"),url(/static/media/KaTeX_AMS-Regular.d562e886c52f12660a41.woff) format("woff"),url(/static/media/KaTeX_AMS-Regular.853be92419a6c3766b9a.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Caligraphic-Bold.a1abf90dfd72792a577a.woff2) format("woff2"),url(/static/media/KaTeX_Caligraphic-Bold.d757c535a2e5902f1325.woff) format("woff"),url(/static/media/KaTeX_Caligraphic-Bold.7489a2fbfb9bfe704420.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Caligraphic-Regular.d6484fce1ef428d5bd94.woff2) format("woff2"),url(/static/media/KaTeX_Caligraphic-Regular.db074fa22cf224af93d7.woff) format("woff"),url(/static/media/KaTeX_Caligraphic-Regular.7e873d3833eb108a0758.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Fraktur-Bold.931d67ea207ab37ee693.woff2) format("woff2"),url(/static/media/KaTeX_Fraktur-Bold.354501bac435c3264834.woff) format("woff"),url(/static/media/KaTeX_Fraktur-Bold.4c761b3711973ab04edf.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Fraktur-Regular.172d3529b26f8cedef6b.woff2) format("woff2"),url(/static/media/KaTeX_Fraktur-Regular.6fdf0ac577be0ba82a4c.woff) format("woff"),url(/static/media/KaTeX_Fraktur-Regular.ed305b5434865e06ffde.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Main-Bold.39890742bc957b368704.woff2) format("woff2"),url(/static/media/KaTeX_Main-Bold.0c3b8929d377c0e9b2f3.woff) format("woff"),url(/static/media/KaTeX_Main-Bold.8169508bf58f8bd92ad8.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/static/media/KaTeX_Main-BoldItalic.20f389c4120be058d80a.woff2) format("woff2"),url(/static/media/KaTeX_Main-BoldItalic.428978dc7837d46de091.woff) format("woff"),url(/static/media/KaTeX_Main-BoldItalic.828abcb200061cffbaae.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/static/media/KaTeX_Main-Italic.fe2176f79edaa716e621.woff2) format("woff2"),url(/static/media/KaTeX_Main-Italic.fd947498bc16392e76c2.woff) format("woff"),url(/static/media/KaTeX_Main-Italic.fa675e5e4bec9eb250b6.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Main-Regular.f650f111a3b890d116f1.woff2) format("woff2"),url(/static/media/KaTeX_Main-Regular.4f35fbcc9ee8614c2bcc.woff) format("woff"),url(/static/media/KaTeX_Main-Regular.9eba1d77abcf2aa6e94e.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/static/media/KaTeX_Math-BoldItalic.dcbcbd93bac0470b462d.woff2) format("woff2"),url(/static/media/KaTeX_Math-BoldItalic.3f07ed67f06c720120ce.woff) format("woff"),url(/static/media/KaTeX_Math-BoldItalic.bf2d440b3a42ea78a998.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/static/media/KaTeX_Math-Italic.6d3d25f4820d0da8f01f.woff2) format("woff2"),url(/static/media/KaTeX_Math-Italic.96759856b4e70f3a8338.woff) format("woff"),url(/static/media/KaTeX_Math-Italic.8a5f936332e8028c7278.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(/static/media/KaTeX_SansSerif-Bold.95591a929f0d32aa282a.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Bold.b9cd458ac6d5889ff9c3.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Bold.5b49f4993ae22d7975b4.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(/static/media/KaTeX_SansSerif-Italic.7d393d382f3e7fb1c637.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Italic.8d593cfaa96238d5e2f8.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Italic.b257a18c016f37ee4543.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(/static/media/KaTeX_SansSerif-Regular.cd5e231e0cc53b2cb2c0.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Regular.02271ec5cb9f5b4588ac.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Regular.2f7bc363fc5424ebda59.ttf) format("truetype")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Script-Regular.c81d1b2a4b75d3eded60.woff2) format("woff2"),url(/static/media/KaTeX_Script-Regular.073b3402d036714b4370.woff) format("woff"),url(/static/media/KaTeX_Script-Regular.fc9ba5249878cd8f8d88.ttf) format("truetype")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size1-Regular.6eec866c69313624be60.woff2) format("woff2"),url(/static/media/KaTeX_Size1-Regular.0108e89c9003e8c14ea3.woff) format("woff"),url(/static/media/KaTeX_Size1-Regular.6de7d4b539221a49e9e2.ttf) format("truetype")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size2-Regular.2960900c4f271311eb36.woff2) format("woff2"),url(/static/media/KaTeX_Size2-Regular.3a99e70aee4076660d38.woff) format("woff"),url(/static/media/KaTeX_Size2-Regular.57f5c1837853986ea1db.ttf) format("truetype")}@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size3-Regular.e1951519f6f0596f7356.woff2) format("woff2"),url(/static/media/KaTeX_Size3-Regular.7947224e8a9914fa332b.woff) format("woff"),url(/static/media/KaTeX_Size3-Regular.8d6b6822586eea3d3b20.ttf) format("truetype")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size4-Regular.e418bf257af1052628d8.woff2) format("woff2"),url(/static/media/KaTeX_Size4-Regular.aeffd8025cba3647f1a6.woff) format("woff"),url(/static/media/KaTeX_Size4-Regular.4ad7c7e8bb8d10a34bb7.ttf) format("truetype")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Typewriter-Regular.c295e7f71970f03c0549.woff2) format("woff2"),url(/static/media/KaTeX_Typewriter-Regular.4c6b94fd1d07f8beff7c.woff) format("woff"),url(/static/media/KaTeX_Typewriter-Regular.c5c02d763c89380dcb4e.ttf) format("truetype")}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.22"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.lesson-panels-container{border-left:1px solid var(--gray-200);box-shadow:-2px 0 10px #0000001a;display:flex;flex-direction:column;height:100%;max-width:600px;min-width:300px;overflow:hidden;overflow-x:visible;position:relative;resize:horizontal;transition:opacity .3s ease,width .3s ease}.lesson-panels-container.expanded{width:500px}.lesson-panels-container.collapsed{min-width:0;opacity:0;resize:none;width:0}.lesson-panels-container.sidebar-mode{border-left:none;max-width:none;min-width:none;resize:none;width:100%}.lesson-panels-container:after{background-color:initial;content:"";cursor:ew-resize;height:100%;left:0;position:absolute;top:0;width:8px;z-index:500}.lesson-panels-container.sidebar-mode:after{display:none}.lesson-panels-tabs{background-color:var(--gray-100);border-bottom:1px solid var(--gray-200);display:flex}.lesson-tab{flex:1 1;gap:6px;justify-content:center;padding:12px 16px;text-align:center;transition:background-color .2s}.lesson-tab.active{background-color:#fff;border-bottom:3px solid var(--primary-color)}.lesson-tab:hover:not(.active){background-color:var(--gray-200)}.lesson-tab-icon{font-size:1.2em}.lesson-panel-content{background-color:var(--base-color);color:var(--gray-900);flex:1 1;overflow-y:auto;padding:0;position:relative}.lesson-panel-content:after{background:linear-gradient(0deg,#fff 20%,#fff0);bottom:0;content:"";height:40px;left:0;pointer-events:none;position:sticky;width:100%;z-index:10}.lesson-panel-content.full-width{max-width:none}.lesson-panel{display:none;position:relative}.lesson-panel.active{animation:fadeIn .3s ease;display:block}.lesson-panel:before{bottom:0;box-shadow:inset 0 0 150px #0000000d;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:1}.toggle-panel-btn{align-items:center;background-color:var(--primary-color);border:none;border-radius:50%;box-shadow:-2px 0 8px #00000026;color:#fff;cursor:pointer;display:flex;font-size:18px;height:40px;isolation:isolate;justify-content:center;left:-20px;position:absolute;top:50%;transform:translateY(-50%);transition:transform .3s ease,background-color .2s ease;width:40px;z-index:1000}.toggle-panel-btn:hover{background-color:var(--primary-color-dark);transform:translateY(-50%) scale(1.1)}.lesson-panels-container.expanded .toggle-panel-btn{background-color:var(--primary-light);box-shadow:0 0 15px #3a7bee80;color:#fff;left:-20px}.blueprint-container{background:none;padding:16px;position:relative;z-index:2}.lesson-section{background-color:initial;border:none;border-radius:0;box-shadow:none;margin-bottom:20px;padding:15px;position:relative;text-align:left}.sidebar-mode .lesson-section{margin-bottom:0}.lesson-section h3{border-bottom:1px solid #3061b833;color:var(--primary-dark);font-size:1.3rem;font-weight:600;letter-spacing:.5px;margin-bottom:12px;padding-bottom:8px;text-shadow:none}.sidebar-mode .lesson-section h3{font-size:1.4rem;margin-bottom:12px}.lesson-section:before{border-left:1px solid #3061b833;border-top:1px solid #3061b833;left:0;top:0}.lesson-section:after,.lesson-section:before{content:"";height:10px;position:absolute;width:10px}.lesson-section:after{border-bottom:1px solid #3061b833;border-right:1px solid #3061b833;bottom:0;right:0}.lesson-list{color:var(--gray-800);list-style-type:disc;margin:6px 0;padding-left:1.5rem;text-align:left}.sidebar-mode .lesson-list{margin:8px 0;padding-left:1.7rem}.lesson-list li{margin-bottom:8px;position:relative;text-align:left}.lesson-list li::marker{color:var(--dark-colour)}.sidebar-mode .lesson-list li{line-height:1.6;margin-bottom:10px}ol.lesson-list{counter-reset:lesson-counter;list-style-type:none;padding-left:1.7rem}ol.lesson-list li{counter-increment:lesson-counter;position:relative}ol.lesson-list li:before{align-items:center;background-color:#3061b80d;border:1px solid #3061b84d;border-radius:50%;color:var(--primary-color);content:counter(lesson-counter);display:flex;font-size:.85rem;font-weight:600;height:24px;justify-content:center;left:-1.7rem;position:absolute;width:24px}.key-concept{background:#0000;border-left:2px solid var(--primary-color);box-shadow:none;font-family:Inter,sans-serif;margin-bottom:16px;padding:12px 16px;position:relative}.key-concept h4{color:var(--primary-dark);font-size:1.1rem;font-weight:700;margin:0 0 8px;text-shadow:none}.key-concept p{color:var(--gray-800);margin:0;white-space:pre-line}.outcome-highlight{border-left:2px solid var(--primary-color);border-radius:0;color:var(--gray-800);display:inline-block;margin-bottom:6px;padding:4px 8px}.outcome-highlight,.study-example{background-color:initial;box-shadow:none;position:relative}.study-example{border:none;border-radius:0;margin-bottom:16px;padding:15px}.study-example h4{color:var(--primary-dark);font-size:1.1rem;font-weight:600;margin:0 0 12px;text-shadow:none}.example-step{background:#0000;border-left:2px solid #3061b866;border-radius:0;color:var(--gray-800);font-family:Courier New,monospace;margin-bottom:10px;padding:8px 12px;position:relative;text-align:left}.example-step:last-child{background:#0000;border-left-color:var(--secondary-color);margin-bottom:0}.concept-card{background:#0000;border-left:2px solid var(--secondary-color);border-radius:0;box-shadow:none;color:var(--gray-800);margin-bottom:14px;padding:12px 16px;position:relative}.concept-card h4{color:var(--primary-dark);font-size:1.05rem;font-weight:600;margin:0 0 10px}.common-mistake-card{background:#0000;border-left:2px solid var(--primary-color);border-radius:0;box-shadow:none;color:var(--gray-800);margin-bottom:14px;padding:12px 16px;position:relative}.common-mistake-card h4{color:var(--primary-dark);font-size:1.05rem;font-weight:600;margin:0 0 10px}.common-mistake-card:before{content:"⚠️";font-size:.9rem;opacity:.5;position:absolute;right:12px;top:10px}.lesson-hint{animation:fadeIn .5s ease;background-color:initial;border-left:2px solid var(--primary-color);border-radius:0;box-shadow:none;color:var(--gray-800);font-size:.95rem;margin:16px 0;padding:10px 14px;position:relative}@keyframes glowPulse{0%{box-shadow:none}50%{box-shadow:0 0 8px #3061b81a}to{box-shadow:none}}.lesson-section:hover{animation:glowPulse 2s infinite}.mobile-panels-toggle{align-items:center;background-color:var(--primary-color);border-radius:50%;bottom:80px;box-shadow:0 2px 10px #0003;color:#fff;cursor:pointer;display:none;height:56px;justify-content:center;position:fixed;right:20px;transition:transform .3s,background-color .3s;width:56px;z-index:100}.mobile-panels-toggle:hover{background-color:var(--primary-color-dark);transform:scale(1.05)}.mobile-overlay{background-color:#00000080;display:none;top:0;z-index:90}.mobile-lesson-panels,.mobile-overlay{bottom:0;left:0;position:fixed;right:0}.mobile-lesson-panels{background-color:var(--dark-color);border-top-left-radius:16px;border-top-right-radius:16px;box-shadow:0 -5px 20px #0000004d;height:70%;overflow:hidden;transform:translateY(100%);transition:transform .3s ease;z-index:95}.mobile-lesson-panels.open{transform:translateY(0)}.mobile-handle{background-color:var(--gray-300);border-radius:3px;height:5px;margin:10px auto;width:40px}@media (max-width:992px){.lesson-panels-container{display:none}.mobile-panels-toggle{display:flex}.mobile-overlay.open{display:block}.mobile-lesson-panels{display:flex;flex-direction:column}.blueprint-container{padding:16px}}.blueprint-detail{color:var(--dark-color);font-family:Courier New,monospace;font-size:.7rem;pointer-events:none;position:absolute;z-index:0}.blueprint-detail.top-left{left:15px;top:15px}.blueprint-detail.top-right{right:15px;top:15px}.blueprint-detail.bottom-left{bottom:15px;left:15px}.blueprint-detail.bottom-right{bottom:15px;right:15px}.blueprint-circle{border:1px solid #3061b84d;border-radius:50%;height:30px;pointer-events:none;position:absolute;width:30px;z-index:0}.blueprint-circle.top-right{right:25px;top:25px}.blueprint-circle.bottom-left{bottom:25px;left:25px}.blueprint-diagonal{background-color:#3061b833;height:1px;pointer-events:none;position:absolute;transform:rotate(45deg);width:50px;z-index:0}.blueprint-diagonal.top-right{right:20px;top:50px}.blueprint-diagonal.bottom-left{bottom:50px;left:20px}.blueprint-measurement{align-items:center;color:#3061b899;display:flex;font-family:Courier New,monospace;font-size:.6rem;pointer-events:none;position:absolute;z-index:0}.blueprint-measurement.horizontal{left:50%;top:10px;transform:translateX(-50%)}.blueprint-measurement.vertical{left:10px;top:50%;transform:translateY(-50%) rotate(-90deg)}.blueprint-measurement:before{background-color:#3061b84d;content:"";height:1px;margin-right:5px;width:30px}.engineering-paper-texture{display:none}.chat-messages-container{flex:1 1;flex-direction:column;gap:0;max-width:100%;overflow-x:hidden;overflow-y:auto;padding:1rem;position:relative;width:100%}.chat-messages-container,.message{box-sizing:border-box;display:flex}.message{flex-direction:column;max-width:90%;width:fit-content}.message .message-content{border-radius:12px;flex:0 1 auto;padding:12px 16px}.message .message-content,.message.assistant .message-content{box-sizing:border-box;max-width:100%;overflow:hidden;overflow-wrap:break-word;width:fit-content;word-break:break-word}.message .avatar{align-items:center;background-color:#e0e0e0;border-radius:50%;display:flex;flex-shrink:0;font-size:1.2rem;height:36px;justify-content:center;width:36px}.message.assistant{margin-left:0}.message.user{align-self:flex-end;margin-left:auto!important;margin-right:0!important;text-align:right}.message.assistant .message-content{align-self:flex-start}.message.user .message-content{align-self:flex-end;background:#e3f2fd;margin-left:auto;text-align:left}.message.assistant .message-content{background:#0000}.message.system .message-content{background-color:#fff3cd;font-style:italic}.msg-header{align-items:center;display:flex;font-size:.85rem;font-weight:600;gap:6px;margin-bottom:6px}.msg-icon{font-size:1rem}.message.user .msg-header{justify-content:flex-end}.message.ephemeral .message-content{background-color:#f8f9fa;border:1px dashed #dee2e6;color:#6c757d;font-style:italic}.message .image-segment{box-sizing:border-box;margin:8px 0;max-width:100%!important;overflow:hidden;width:auto!important}.message .image-segment img{box-shadow:0 2px 4px #0000001a}.assistant-image,.message .image-segment img{border-radius:8px;display:block;height:auto!important;max-width:100%!important;object-fit:contain}.assistant-image{max-height:400px;width:auto}.drawing-image,.user-drawing-image,.user-image{border-radius:8px}.drawing-image,.image-segment img,.user-drawing-image,.user-image{box-shadow:0 2px 4px #0000001a;height:auto!important;max-width:100%!important}.image-segment img{border-radius:8px!important;display:block}.message .image-caption{color:#666;font-size:.9rem;font-style:italic;margin-top:6px}.file-preview{margin-top:8px;max-width:300px;overflow:hidden;width:100%}.uploaded-image{border-radius:8px;box-shadow:0 2px 5px #0000001a;display:block;max-height:250px;object-fit:contain;width:100%}.drawing-container{max-width:100%;overflow:hidden}.drawing-container img,.drawing-reference img{display:block;height:auto!important;max-width:100%!important}.message pre{background-color:#f8f9fa;border-radius:6px;font-size:.9rem;overflow-x:auto;padding:12px}.message code{background-color:#0000000d;border-radius:4px;font-size:.9em;padding:2px 4px}.message table{border-collapse:collapse;margin:1rem 0;width:100%}.message table td,.message table th{border:1px solid #dee2e6;padding:8px}.message table th{background-color:#f8f9fa}.file-upload-content{gap:12px;max-width:100%}.file-info,.file-upload-content{display:flex;flex-direction:column}.file-info{min-width:0;width:100%}.file-name{align-items:center;display:flex;font-weight:600;gap:8px;margin-bottom:5px}.extracted-text{background-color:#0000000d;border-radius:8px;margin-top:8px;padding:12px}.text-preview{font-size:.9em;line-height:1.4;max-height:100px;overflow-wrap:break-word;overflow-y:auto;white-space:pre-wrap}.text-preview.expanded{max-height:400px}.expand-text-btn{background:#0000;border:none;border-radius:4px;color:#4a6fa5;color:var(--primary-color,#4a6fa5);cursor:pointer;font-size:.85em;margin-top:8px;padding:4px 8px}.expand-text-btn:hover{background-color:#0000000d;color:#385a8a;color:var(--primary-hover,#385a8a)}.user_attachment-message .message-body{background-color:#f3f4f6;background-color:var(--gray-100,#f3f4f6)}.chat-input-container{background-color:#fff;border-top:1px solid #e5e7eb;display:flex;flex-direction:column;padding:10px;position:relative;transition:all .2s ease}.chat-input-container.drag-active{background-color:#f0f8ff;border:2px dashed #07c;border-radius:8px}.chat-input-container.busy{pointer-events:none}.upload-overlay{align-items:center;background-color:#ffffffe6;border-radius:8px;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.upload-overlay .spinner{animation:spin 1s ease-in-out infinite;border:3px solid #0077cc4d;border-radius:50%;border-top-color:#07c;height:40px;margin-bottom:15px;width:40px}.upload-overlay p{color:#07c;font-weight:500}.chat-input-errors{background-color:#fff6f6;border:1px solid #ffb2b2;border-radius:6px;margin-top:8px;padding:8px 12px}.chat-input-errors .error-message{color:#d32f2f;font-size:.85rem;margin:4px 0}.chat-limit-warning{background-color:#fff8e1;border:1px solid #ffd54f;border-radius:6px;color:#ff9800;font-size:.85rem;margin-top:8px;padding:8px 12px}.chat-input{border:1px solid #e5e7eb;border-radius:20px;font-size:16px;line-height:1.5;max-height:120px;min-height:40px;overflow-y:auto;padding:10px 15px;resize:none;transition:border-color .2s;width:100%}.chat-input:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #93c5fd40;outline:none}.chat-input:disabled{background-color:#f9fafb;cursor:not-allowed}.input-actions{justify-content:space-between;margin-top:10px}.send-btn,.stop-btn{border:none;border-radius:20px;cursor:pointer;font-weight:500;padding:8px 16px;transition:background-color .2s}.send-btn{background-color:#07c;color:#fff}.send-btn:hover{background-color:#0066b3}.send-btn:disabled{background-color:#a0aec0;cursor:not-allowed}.stop-btn{background-color:#e53e3e;color:#fff}.stop-btn:hover{background-color:#c53030}.tts-indicator{border-radius:4px;display:inline-block;font-size:.75em!important;font-weight:500;line-height:1.2;padding:2px 6px}.tts-indicator.loading{animation:pulse 1.5s ease-in-out infinite;background-color:#f0f0f0;color:#666!important}.tts-indicator.speaking{animation:speak-pulse 1s ease-in-out infinite;background-color:#e8f5e8;color:#4a9f5a!important}@keyframes speak-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@media (max-width:640px){.message-avatar{font-size:1rem;height:32px;width:32px}.message-body{padding:10px 12px}.file-preview{max-width:100%}.uploaded-image{max-height:200px}.chat-input{font-size:14px}.send-btn,.stop-btn{font-size:14px;padding:6px 12px}.message.assistant.ephemeral .message-content .tool-executing,.message.assistant.ephemeral .message-content .tool-thinking{align-items:center;color:#545d65;display:flex;font-style:italic;gap:8px}.message.assistant.ephemeral .message-content .tool-executing svg,.message.assistant.ephemeral .message-content .tool-thinking svg{color:#4a6fa5;color:var(--primary-color,#4a6fa5);vertical-align:middle}.message.system-tool-result.ephemeral .message-content{align-self:center;background-color:#f8f9fa;border:1px dashed #e9ecef;border-radius:8px;color:#6c757d;font-size:.85rem;font-style:italic;margin-bottom:4px;margin-top:4px;max-width:70%;padding:8px 12px}.message.system-tool-result.ephemeral .tool-result-info{align-items:center;display:flex;gap:8px}.message.system-tool-result.ephemeral.success .tool-result-info{color:#155724}.message.system-tool-result.ephemeral.success .message-content{background-color:#d4edda;border-color:#c3e6cb}.message.system-tool-result.ephemeral.success .tool-result-info svg{color:#28a745}.message.system-tool-result.ephemeral.error .tool-result-info{color:#721c24}.message.system-tool-result.ephemeral.error .message-content{background-color:#f8d7da;border-color:#f5c6cb}.message.system-tool-result.ephemeral.error .tool-result-info svg{color:#dc3545}.dot-animation{display:inline-block;overflow:hidden;vertical-align:bottom}.dot-animation:after{animation:ellipsis 1.5s steps(3) infinite;content:"...";display:inline-block}@keyframes ellipsis{0%{width:0}33%{width:.33em}66%{width:.66em}to{width:1em}}}.modal-overlay{height:100%;width:100%;z-index:1000}.modal{background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:550px;overflow-y:auto;padding:24px;width:90%}.modal h2{color:#2c3e50;color:var(--primary-color,#2c3e50);font-size:1.5rem;margin-bottom:20px;margin-top:0}.dropzone{align-items:center;background-color:#f9fafb;background-color:var(--gray-50,#f9fafb);border:2px dashed #d1d5db;border:2px dashed var(--gray-300,#d1d5db);border-radius:8px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;margin-bottom:20px;min-height:180px;padding:24px;text-align:center;transition:all .2s}.dropzone:hover{background-color:#f3f4f6;background-color:var(--gray-100,#f3f4f6);border-color:#2c3e50;border-color:var(--primary-color,#2c3e50)}.dropzone-icon{color:#9ca3af;color:var(--gray-400,#9ca3af);font-size:3rem;margin-bottom:16px}.dropzone-content{align-items:center;display:flex;flex-direction:column;justify-content:center}.dropzone-content p{margin:4px 0}.dropzone-info{color:#6b7280;color:var(--gray-500,#6b7280);font-size:.85rem;margin-top:4px!important}.processing-message{color:#2c3e50;color:var(--primary-color,#2c3e50);font-weight:500;margin:16px 0;text-align:center}.error-container{background-color:#fee2e2;border:1px solid #fecaca;border-radius:6px;margin:16px 0;padding:12px}.error{color:#b91c1c;font-size:.9rem;margin:4px 0}.modal-close-btn{align-self:flex-end;background-color:#2c3e50;background-color:var(--primary-color,#2c3e50);border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;margin-top:16px;padding:10px 16px}.modal-close-btn:hover{background-color:#1a252f}.file-upload-modal-backdrop{align-items:center;background-color:initial;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.file-upload-modal{background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #0003;max-height:90vh;max-width:500px;overflow-y:auto;padding:20px;width:90%}.file-upload-modal-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:10px}.file-upload-modal-header h3{font-size:1.25rem;margin:0}.file-upload-close-btn{background:none;border:none;color:#666;cursor:pointer;font-size:1.5rem}.file-upload-close-btn:hover{color:#333}.file-upload-close-btn:disabled{color:#ccc;cursor:not-allowed}.file-upload-dropzone{background-color:#f9f9f9;border:2px dashed #ccc;border-radius:8px;cursor:pointer;margin-bottom:20px;padding:30px 20px;text-align:center;transition:all .2s ease}.file-upload-dropzone.active{background-color:#f0f8ff;border-color:#07c}.file-upload-dropzone.busy{cursor:not-allowed;opacity:.7}.upload-icon{color:#666;font-size:2.5rem;margin-bottom:15px}.upload-hint{color:#777;font-size:.85rem;margin:8px 0}.upload-busy-indicator{align-items:center;display:flex;flex-direction:column;justify-content:center}.spinner{animation:spin 1s ease-in-out infinite;border:3px solid #0077cc4d;border-top-color:#07c;margin-bottom:15px}.file-upload-errors{background-color:#fff8f8;border:1px solid #ffdbdb;border-radius:4px;margin-top:15px;padding:12px 15px}.file-upload-errors h4{color:#d32f2f;font-size:1rem;margin-bottom:10px;margin-top:0}.file-upload-errors ul{color:#d32f2f;margin:0;padding-left:20px}.file-upload-errors li{margin-bottom:5px}.screenshot-help{background-color:#f0f8ff;border:1px solid #cce5ff;border-radius:6px;margin-top:15px;padding:12px}.screenshot-help h4{color:#06c;font-size:1rem;margin-bottom:8px;margin-top:0}.screenshot-help p{color:#333;font-size:.9rem;margin:5px 0}.screenshot-help ul{margin:8px 0;padding-left:20px}.screenshot-help li{font-size:.9rem;margin-bottom:4px}.screenshot-help code{background-color:#eef;border-radius:3px;font-family:monospace;font-size:.85rem;padding:2px 4px}.screenshot-button{background-color:#2c3e50;background-color:var(--primary-color,#2c3e50);border:none;border-radius:4px;color:#fff;cursor:pointer;display:block;font-weight:500;margin-top:8px;padding:10px;transition:background-color .2s;width:100%}.screenshot-button:hover{background-color:#1a252f}.screenshot-button:disabled{background-color:#a0aec0;cursor:not-allowed}.screenshot-option{margin-top:15px}.screenshot-help-toggle{background-color:initial;border:none;border-radius:4px;color:#06c;cursor:pointer;display:block;font-size:.9rem;font-weight:400;margin-top:8px;padding:10px;text-align:center;text-decoration:underline;transition:all .2s;width:100%}.screenshot-help-toggle:hover{color:#004c99}.screenshot-help-toggle:disabled{color:#a0aec0;cursor:not-allowed}.screenshot-limitation-note{color:#666;font-size:.85rem;font-style:italic;margin-top:8px}.camera-option{margin-top:15px}.camera-button{align-items:center;background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;display:block;display:flex;font-weight:500;justify-content:center;margin-top:12px;padding:12px;transition:background-color .2s;width:100%}.camera-button:before{content:"📷";font-size:1.2rem;margin-right:8px}.camera-button:hover{background-color:#3e8e41}.camera-button:disabled{background-color:#9e9e9e;cursor:not-allowed}@media (max-width:640px){.modal{padding:16px;width:95%}.dropzone{min-height:140px;padding:16px}.dropzone-icon{font-size:2.5rem;margin-bottom:12px}}.suggested-responses-container{-ms-overflow-style:none;animation:fadeIn .3s ease-in-out;display:flex;gap:8px;margin-bottom:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin;white-space:nowrap;width:100%}.suggested-responses-container::-webkit-scrollbar{height:4px}.suggested-responses-container::-webkit-scrollbar-track{background:#0000}.suggested-responses-container::-webkit-scrollbar-thumb{background:#d1d5db;background:var(--gray-300,#d1d5db);border-radius:4px}.suggestion-bubble{background-color:#ecf4ff;border:1px solid #3061b8cc;border:1px solid rgba(var(--primary-color-rgb,48,97,184),.8);border-radius:18px;box-shadow:0 1px 2px #0000000d;color:#000;cursor:pointer;flex-shrink:0;font-size:.85rem;padding:6px 14px;transition:all .2s ease;white-space:nowrap}.suggestion-bubble:hover{background-color:#1b2c4a;background-color:var(--primary-light,#1b2c4a);box-shadow:0 2px 4px #0000001a;color:#fff;transform:translateY(-1px)}.suggestions-toggle{align-items:center;background:none;border:none;color:#4b5563;color:var(--gray-600,#4b5563);cursor:pointer;display:flex;font-size:.8rem;margin-left:auto;padding:4px 0}.suggestions-toggle svg{margin-right:4px}.input-options-container{display:flex;flex-direction:column;margin:0 auto;max-width:95%;width:100%}.input-actions{margin-bottom:0}.tutor-session-page{display:flex;flex-direction:column;height:100vh;left:0;margin:0;max-width:100%;overflow:hidden;padding:0;position:fixed;top:0;width:100vw;z-index:100}.tutor-session-header{align-items:center;background-color:#fff;border-bottom:1px solid var(--gray-200);box-shadow:0 2px 10px #0000000a;display:flex;height:60px;left:0;padding:1rem 2.5rem;position:fixed;right:0;top:0;width:100%;z-index:110}.tutor-session-header h1{color:var(--dark-color);font-size:1.8rem;font-weight:700;margin:0}.tutor-content{display:flex;flex:1 1 auto;min-height:0;overflow:hidden}.tutor-sidebar{background-color:var(--gray-100);box-shadow:4px 0 10px #00000005;overflow-y:auto;padding:2rem 1.5rem;width:280px}.lesson-sidebar,.tutor-sidebar{border-right:1px solid var(--gray-200);display:flex;flex-direction:column;flex-shrink:0;height:100%;z-index:5}.lesson-sidebar{background-color:var(--gray-50);box-shadow:4px 0 10px #0000000d;overflow:hidden;position:relative;width:500px}.lesson-sidebar-header{align-items:center;background-color:#fff;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;padding:.75rem 1rem}.lesson-tabs{display:flex;flex:1 1;gap:.5rem}.lesson-tab{align-items:center;border-radius:6px;cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:.5rem;padding:.6rem 1rem;transition:all .2s ease}.lesson-tab:hover{background-color:var(--gray-100)}.lesson-tab.active{background-color:var(--primary-dark);color:#fff}.sidebar-collapse-btn{align-items:center;background:none;border:none;border-radius:4px;color:var(--gray-600);cursor:pointer;display:flex;font-size:1.2rem;height:32px;justify-content:center;transition:all .2s ease;width:32px}.sidebar-collapse-btn:hover{background-color:var(--gray-100);color:var(--gray-800)}.lesson-sidebar-content{display:flex;flex:1 1;overflow-y:auto;padding:0}.lesson-sidebar-content .lesson-panels-container{flex:1 1;max-width:none!important;min-width:none!important;resize:none;width:100%!important}.lesson-sidebar-content .lesson-panel-content{padding-bottom:50px}.show-lesson-btn{align-items:center;background-color:var(--primary-dark);border:none;border-radius:0 6px 6px 0;box-shadow:2px 2px 5px #0000001a;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;left:0;position:absolute;top:70px;transition:all .2s ease;width:40px;z-index:50}.show-lesson-btn:hover{background-color:var(--primary-dark);width:48px}.reset-button-container{padding:0 0 1.5rem}.reset-button{background-color:var(--gray-200);border:none;border-radius:6px;color:var(--gray-700);font-size:.9rem;font-weight:600;padding:.6rem 1rem;transition:all .2s ease}.reset-button:hover{background-color:var(--gray-300);color:var(--gray-800);transform:translateY(-2px)}.reset-icon{font-size:1.1rem}.sidebar-options{gap:1.5rem}.sidebar-option,.sidebar-options{display:flex;flex-direction:column}.sidebar-option{align-items:center;background-color:#fff;border:2px solid #0000;border-radius:16px;box-shadow:0 3px 10px #0000000d;cursor:pointer;justify-content:center;padding:2rem 1.5rem;text-align:center;transition:all .3s ease}.sidebar-option:hover{border-color:var(--primary-color);box-shadow:0 8px 20px rgba(var(--primary-color-rgb),.15);transform:translateY(-5px)}.sidebar-option.active{background-color:rgba(var(--primary-color-rgb),.03);border-color:var(--primary-color)}.option-icon{color:var(--primary-color);font-size:2.5rem;margin-bottom:1rem}.option-title{color:var(--gray-800);font-size:1.2rem;font-weight:600;margin-bottom:.5rem}.option-description{color:var(--gray-600);font-size:.9rem}.tutor-main-area{background-color:#fff;box-shadow:0 0 20px #0000000d;display:flex;flex:1 1 auto;flex-direction:column;height:100%;min-height:0;overflow:hidden;position:relative;width:100%}.chapters-container{height:100%;overflow-y:auto;padding:2rem}.chapters-heading{color:var(--gray-900);font-size:1.8rem;font-weight:600;margin-bottom:1.5rem}.chapter-accordion{background-color:initial;border:none;border-radius:0;box-shadow:none;margin-bottom:.5rem;overflow:hidden}.chapter-header{align-items:center;background-color:var(--gray-50);border-bottom:1px solid var(--gray-200);cursor:pointer;display:flex;font-weight:600;grid-template-columns:40px 1fr 24px;justify-content:space-between;padding:1.25rem 1.5rem;transition:background-color .2s}.chapter-header:hover{background-color:var(--gray-100)}.chapter-title{align-items:center;display:flex;font-size:1.1rem}.chapter-name{color:var(--gray-800);font-weight:600}.chapter-toggle{color:var(--gray-600);font-size:1.2rem;transition:transform .2s}.chapter-accordion.expanded .chapter-toggle{transform:rotate(180deg)}.chapter-content{max-height:0;overflow:hidden;transition:max-height .3s ease}.chapter-accordion.expanded .chapter-content{max-height:2000px}.chapter-row{align-items:center;border-bottom:1px solid var(--gray-200);cursor:pointer;display:grid;grid-template-columns:auto 1fr minmax(0,1fr) 20px;padding:.85rem 0;position:relative}.chapter-row:hover{color:var(--primary-dark)}.chap-num{color:var(--primary-dark);font-family:monospace;padding-right:10px}.chap-num,.chap-title{font-weight:600;text-align:left}.dot-leader{background-image:radial-gradient(currentColor 30%,#0000 0);background-position-y:center;background-repeat:repeat-x;background-size:4px 1px;height:1px;opacity:.4}.rotate-180{transform:rotate(180deg);transition:.2s}.sub-list{border-left:2px dashed var(--gray-200);list-style:none;margin:0;padding:.3rem 0 .8rem 44px}.sub-item{display:flex;font-size:.92rem;justify-content:space-between;padding:.45rem 0}.sub-item:not(:last-child){border-bottom:1px dotted var(--gray-100)}.sub-item:hover{background:rgba(var(--primary-color-rgb),.03)}.diff-chips{display:flex;gap:.4rem;padding-right:10px}.difficulty-button{border-width:0;font-size:.72rem;padding:.28rem .55rem}.difficulty-button.easy{background:#eefbf0;color:#126031}.difficulty-button.medium{background:#ecf4ff;color:#153e9f}.difficulty-button.hard{background:#fff3f4;color:#b0193f}.difficulty-button:hover{box-shadow:0 2px 4px #0000000d;filter:brightness(1.05);transform:translateY(-1px)}.difficulty-explainer{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:8px;display:flex;gap:1.5rem;justify-content:space-between;margin:1.5rem 0 2rem;padding:1rem}.difficulty-type{align-items:center;display:flex;flex-direction:column;text-align:center;width:33.333%}.diff-icon-title{align-items:center;display:flex;gap:.5rem;margin-bottom:.75rem}.diff-icon{border-radius:50%;height:20px;width:20px}.diff-icon.easy{background-color:#eefbf0;border:2px solid #126031}.diff-icon.medium{background-color:#ecf4ff;border:2px solid #153e9f}.diff-icon.hard{background-color:#fff3f4;border:2px solid #b0193f}.diff-name{color:var(--gray-800);font-size:.95rem;font-weight:600}.diff-desc{color:var(--gray-600);font-size:.85rem;line-height:1.4}.difficulty-button.in-progress{animation:pulse 2s infinite;border:1px solid}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(var(--primary-color-rgb),.3)}70%{box-shadow:0 0 0 5px rgba(var(--primary-color-rgb),0)}to{box-shadow:0 0 0 0 rgba(var(--primary-color-rgb),0)}}.module-list{padding:.5rem 1rem}.module-row{align-items:center;border-bottom:1px solid var(--gray-200);display:flex;padding:1rem .5rem;transition:background-color .2s ease}@media (min-width:993px){.module-row{justify-content:space-between}}.module-row:last-child{border-bottom:none}.module-row:hover{background-color:rgba(var(--primary-color-rgb),.03)}.module-info{flex:1 1;padding-right:1.5rem}.module-title{color:var(--gray-800);font-size:1rem;font-weight:600;margin-bottom:.25rem}.module-section{color:var(--gray-600);font-size:.9rem}.difficulty-buttons{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.difficulty-button{align-items:center;border-radius:6px;border-radius:9999px;border-width:1px;border:0 solid var(--gray-300);cursor:pointer;display:flex;font-size:.76rem;font-weight:600;gap:.5rem;padding:.35rem .6rem;transition:all .25s ease;white-space:nowrap}.difficulty-button.easy{background-color:#f0f9f0;border-color:#dcfce7;color:#166534}.difficulty-button.easy:hover{background-color:#dcfce7;box-shadow:0 4px 8px #1665341a;transform:translateY(-2px)}.difficulty-button.easy.completed{background-color:#dcfce7;border-color:#166534}.difficulty-button.medium{background-color:#eff6ff;border-color:#dbeafe;color:#1e40af}.difficulty-button.medium:hover{background-color:#dbeafe;box-shadow:0 4px 8px #1e40af1a;transform:translateY(-2px)}.difficulty-button.medium.completed{background-color:#dbeafe;border-color:#1e40af}.difficulty-button.hard{background-color:#fff1f2;border-color:#ffe4e6;color:#be123c}.difficulty-button.hard:hover{background-color:#ffe4e6;box-shadow:0 4px 8px #be123c1a;transform:translateY(-2px)}.difficulty-button.hard.completed{background-color:#ffe4e6;border-color:#be123c}.difficulty-label{align-items:center;display:flex;gap:.5rem}.status-indicator{align-items:center;display:flex;font-size:.8rem;font-weight:400;gap:.25rem}.status-badge.easy{background-color:#f0f9f0;color:#166534}.status-badge.medium{background-color:#eff6ff;color:#1e40af}.status-badge.hard{background-color:#fff1f2;color:#be123c}.session-history-container{background-color:var(--gray-50);height:100%;overflow-y:auto;padding:2rem}.history-header{align-items:center;display:flex;justify-content:space-between;margin:0 auto 1.5rem;max-width:1000px;padding:0 .5rem}.history-heading{color:var(--gray-900);font-size:1.8rem;font-weight:600;margin:0}.history-actions,.refresh-history-btn{display:flex;gap:.5rem}.refresh-history-btn{align-items:center;background-color:#fff;border:1px solid var(--gray-300);border-radius:6px;color:var(--gray-700);font-size:.9rem;padding:.6rem 1rem;transition:all .2s}.refresh-history-btn:hover{background-color:var(--gray-100);box-shadow:0 2px 5px #0000000d;color:var(--gray-800)}.history-dashboard{background:#fff;border:1px solid var(--gray-200);border-radius:8px;box-shadow:0 2px 10px #0000000d;margin:0 auto;max-width:1000px;overflow:hidden}.history-dashboard table{border-collapse:collapse;width:100%}.history-dashboard thead{background-color:var(--gray-100);border-bottom:1px solid var(--gray-200)}.history-dashboard th{color:var(--gray-700);font-size:.9rem;font-weight:600;padding:1rem;text-align:left;white-space:nowrap}.history-dashboard tbody tr{border-bottom:1px solid var(--gray-200);cursor:pointer;transition:all .2s}.history-dashboard tbody tr:last-child{border-bottom:none}.history-dashboard tbody tr:hover{background-color:rgba(var(--primary-color-rgb),.05)}.history-dashboard td{padding:1rem;vertical-align:middle}.history-session-title{color:var(--gray-900);font-size:.95rem;font-weight:500}.chapter-info{align-items:center;display:flex;gap:.5rem}.chapter-number{color:var(--primary-dark);font-family:monospace;font-weight:600}.chapter-name{color:var(--gray-700);font-size:.9rem}.session-date{color:var(--gray-600);font-size:.85rem;white-space:nowrap}.status-badge{align-items:center;border-radius:30px;display:inline-flex;font-size:.75rem;font-weight:600;gap:.25rem;padding:.3rem .6rem;white-space:nowrap}.status-badge.completed{background-color:#ecfdf5;color:#065f46}.status-badge.in-progress{background-color:#eff6ff;color:#1e40af}.no-sessions{align-items:center;background-color:#fff;border:1px dashed var(--gray-300);border-radius:8px;box-shadow:0 2px 10px #00000008;color:var(--gray-600);display:flex;flex-direction:column;font-size:1.1rem;gap:1rem;justify-content:center;padding:3rem;text-align:center}.no-sessions-icon{color:var(--gray-400);font-size:3rem}.history-pagination{gap:.25rem;margin-top:1.5rem}.history-pagination,.page-button{align-items:center;display:flex;justify-content:center}.page-button{background-color:#fff;border:1px solid var(--gray-200);border-radius:4px;color:var(--gray-700);cursor:pointer;font-size:.9rem;height:2.5rem;transition:all .2s;width:2.5rem}.page-button:hover{background-color:var(--gray-100)}.page-button.active{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.welcome-screen{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;padding:3rem;text-align:center}.welcome-icon{color:var(--primary-color);font-size:5rem;margin-bottom:2rem}.welcome-title{color:var(--gray-900);font-size:2.5rem;font-weight:700;margin-bottom:1rem}.welcome-subtitle{color:var(--gray-600);font-size:1.2rem;margin-bottom:2rem;max-width:600px}.focused-tutor-mode{background-color:#fff;display:flex;flex-direction:row;inset:0;overflow:hidden;position:fixed;position:absolute;width:100%;z-index:1000}.focused-header{align-items:center;background-color:var(--primary-color);box-shadow:0 2px 4px #0000001a;color:#fff;display:flex;justify-content:space-between;padding:.75rem 1.5rem}.focused-header-left{align-items:center;display:flex;gap:1rem}.focused-back-btn{align-items:center;background:none;border:none;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;transition:transform .2s}.focused-back-btn:hover{transform:translateX(-3px)}.focused-title{font-size:1.1rem;font-weight:600;margin:0}.focused-module-info{align-items:center;display:flex;gap:.75rem}.focused-badge{background-color:#fff3;border-radius:30px;font-size:.75rem;padding:.25rem .75rem}.focused-actions{display:flex;gap:.75rem}.focused-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.focused-btn.secondary{background-color:#fff3;color:#fff}.focused-btn.secondary:hover{background-color:#ffffff4d}.focused-btn.primary{background-color:#fff;color:var(--primary-color)}.focused-btn.primary:hover{background-color:var(--gray-100)}.focused-content{display:flex;flex:1 1 auto;flex-direction:column;height:100%;min-height:0;position:relative}.messages-container{display:flex;flex:1 1;flex-direction:column;overflow-y:auto;padding:1.5rem 1.5rem 170px;width:100%}.messages-container .markdown-content,.messages-container .message-content,.messages-container p{max-width:100%;overflow-wrap:break-word;text-align:left!important}.message.assistant{align-self:flex-start;margin-right:auto;max-width:100%;text-align:left}.messages-container::-webkit-scrollbar{width:8px}.messages-container::-webkit-scrollbar-track{background:var(--gray-100)}.messages-container::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:4px}.messages-container::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.chat-input-area{background-color:#fff;border-top:1px solid var(--gray-200);padding:.75rem 1.25rem 1.25rem;z-index:10}.chat-input-area .chat-input-container{border-radius:24px;box-shadow:0 4px 20px #00000014}.input-actions{align-items:center;display:flex;justify-content:flex-end;margin-left:auto;margin-top:0}.action-buttons{gap:8px}.chat-input-area .chat-input-container textarea:focus,.chat-input-area .chat-input-container textarea:focus-visible{border:none;box-shadow:none;outline:none}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.modal-content{background-color:#fff;border-radius:8px;box-shadow:0 8px 30px #0003;max-width:500px;overflow:hidden;width:90%}.modal-header{align-items:center;border-bottom:1px solid var(--gray-200);padding:1.25rem}.modal-header h3{color:var(--gray-900);font-size:1.25rem;margin:0}.modal-body{padding:1.5rem}.modal-actions{justify-content:flex-end;margin-top:1.5rem}.cancel-btn{background-color:var(--gray-200);border:none;border-radius:6px;color:var(--gray-700);cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.cancel-btn:hover{background-color:var(--gray-300)}.confirm-btn{background-color:var(--primary-color);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.confirm-btn:hover{background-color:var(--primary-dark)}.close-btn{background:none;border:none;color:var(--gray-500);cursor:pointer;font-size:1.5rem;transition:color .2s}.close-btn:hover{color:var(--gray-700)}.loading-indicator{color:var(--gray-600);padding:2rem;text-align:center}.spinner{animation:spin 1s linear infinite;border:3px solid rgba(var(--primary-color-rgb),.1);border-radius:50%;border-top-color:var(--primary-color);height:40px;margin:0 auto 1rem;width:40px}@media (max-width:992px){.tutor-content{flex-direction:column}.tutor-sidebar{border-bottom:1px solid var(--gray-200);border-right:none;height:auto;padding:1.5rem;width:100%}.sidebar-options{flex-direction:row;gap:1rem}.sidebar-option{flex:1 1;padding:1.5rem 1rem}.option-icon{font-size:2rem;margin-bottom:.75rem}.option-title{font-size:1rem}.option-description{display:none}.module-row{align-items:flex-start;flex-direction:column;padding:1rem}.module-info{margin-bottom:.75rem;padding-right:0;width:100%}.difficulty-buttons{justify-content:flex-start;width:100%}.session-table{display:block;overflow-x:auto}.session-row td{padding:.75rem}.chapters-container,.session-history-container{padding:1.5rem}}@media (max-width:768px){.tutor-session-header{padding:.75rem 1.25rem}.tutor-session-header h1{font-size:1.4rem}.welcome-screen{padding:2rem 1.5rem}.welcome-title{font-size:1.8rem}.welcome-subtitle{font-size:1rem}.focused-header{flex-wrap:wrap;padding:.75rem 1rem}.focused-header-left{margin-bottom:.5rem;width:100%}.focused-actions{justify-content:space-between;width:100%}.focused-title{font-size:1rem}.focused-btn{font-size:.85rem;padding:.4rem .75rem}.chat-input-area,.messages-container{padding:1rem}.modal-content{width:95%}}.toc-sheet{background:#fff;border:1px solid var(--gray-200);border-radius:2px;box-shadow:0 2px 8px #0000000d;margin:0 auto;max-width:1000px;overflow:visible;padding:2rem;position:relative;width:100%}.toc-sheet:after{background:linear-gradient(90deg,#00000003,#0000000d);content:"";height:100%;position:absolute;right:0;top:0;width:3px}.select-lesson-highlight{background:var(--gray-100);border-radius:4px;color:var(--gray-800);display:inline-block;font-size:1.1rem;font-weight:500;margin:.75rem 0;padding:.4rem .9rem;position:relative;text-align:left}.toc-sub{text-align:left}.select-lesson-highlight:before{background:var(--primary-color);border-radius:4px 0 0 4px;content:"";height:100%;left:0;position:absolute;top:0;width:4px}.info-message{align-items:center;background-color:var(--gray-100);border-radius:6px;color:var(--gray-700);display:flex;font-size:.95rem;gap:.6rem;margin:1rem 0;padding:.7rem 1rem}.info-icon{color:var(--gray-500);flex-shrink:0;font-size:1.1rem}.mobile-restriction-overlay{-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;height:100vh;left:0;overflow-y:auto;position:fixed;top:0;width:100vw;z-index:200}.mobile-restriction-content{align-items:center;background-color:#ffffff0d;display:flex;flex:1 1;justify-content:center;margin-top:140px;min-height:calc(100vh - 140px);padding:2rem 1rem}.mobile-restriction-card{background:#fff;border-radius:16px;box-shadow:0 20px 40px #00000026;margin:1rem;max-width:400px;padding:2.5rem 2rem;text-align:center;width:100%}.mobile-restriction-icon{color:var(--primary-color);margin-bottom:1.5rem}.mobile-restriction-card h2{color:var(--dark-color);font-size:1.75rem;font-weight:700;margin-bottom:1rem}.mobile-restriction-card p{color:var(--text-secondary);font-size:1rem;line-height:1.5;margin-bottom:1.5rem}.mobile-alternative{background:#f8f9ff;border:1px solid #e3e8ff;border-radius:12px;margin:1.5rem 0;padding:1.5rem}.mobile-alternative h3{color:var(--dark-color);font-size:1.25rem;font-weight:600;margin-bottom:.75rem}.mobile-alternative p{color:var(--text-secondary);font-size:.95rem;margin-bottom:1.25rem}.homework-help-btn{align-items:center;background:var(--primary-color);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-weight:600;gap:.5rem;padding:.875rem 1.5rem;text-decoration:none;transition:all .2s ease}.homework-help-btn:hover{background:var(--primary-dark);color:#fff;text-decoration:none;transform:translateY(-1px)}.btn-icon{font-size:1.1rem}.mobile-tip{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;margin-top:1.5rem;padding:1rem}.mobile-tip small{color:#856404;font-size:.875rem;line-height:1.4}.chapter-row{grid-column-gap:.5rem!important;align-items:center!important;column-gap:.5rem!important;display:grid!important;grid-template-columns:auto auto 1fr minmax(0,1fr) 20px!important}.chap-num{font-family:inherit!important;padding-right:0!important;text-align:left!important;width:auto!important}.chap-num,.chap-separator{color:var(--gray-800)!important;font-size:1.1rem!important;font-weight:600!important}.chap-separator{margin:0 .5rem!important}.chap-title{font-size:1.1rem!important;font-weight:600!important;text-align:left!important}.early-access-page{background:var(--base-color);min-height:100vh;padding:0;position:relative}.early-access-content{margin:0 auto;max-width:var(--landing-max-width);padding:4rem 2rem 2rem;position:relative;z-index:2}.hero-section{margin-bottom:4rem;text-align:center}.hero-section h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--gray-900) 0,var(--primary-color) 100%);background-clip:text;-webkit-background-clip:text;font-family:var(--heading-font);font-size:3rem;font-weight:700;letter-spacing:-.02em;margin-bottom:1rem}.hero-subtitle{color:var(--gray-600);font-size:1.25rem;font-weight:400;line-height:1.6;margin:0 auto;max-width:600px}.highlight-blue{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--primary-color) 0,var(--light-color) 100%);background-clip:text;-webkit-background-clip:text;color:var(--primary-color);font-weight:600}.main-content{grid-gap:3rem;display:grid;gap:3rem}.email-section{background:#fff;border:1px solid var(--gray-100);border-radius:16px;box-shadow:0 4px 24px #0000000f;padding:2.5rem}.email-section h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--gray-900) 0,var(--primary-color) 100%);background-clip:text;-webkit-background-clip:text;font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.email-section>p{color:var(--gray-600);font-size:1rem}.email-container,.email-section>p{margin-bottom:2rem}.email-address{align-items:center;background:linear-gradient(135deg,var(--gray-50) 0,rgba(var(--primary-color-rgb),.02) 100%);border:2px solid var(--gray-200);border-radius:12px;color:var(--gray-900);cursor:pointer;display:flex;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:1rem;justify-content:space-between;overflow:hidden;padding:1rem 1.25rem;position:relative;transition:all .2s ease}.email-address:before{background:linear-gradient(90deg,#0000,rgba(var(--primary-color-rgb),.1),#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .6s ease;width:100%}.email-address:hover{background:#fff;border-color:var(--primary-color);box-shadow:0 4px 12px rgba(var(--primary-color-rgb),.15);transform:translateY(-1px)}.email-address:hover:before{left:100%}.copy-btn{background:none;border:none;border-radius:6px;color:var(--gray-600);cursor:pointer;font-size:1.1rem;padding:.25rem;transition:background-color .2s ease}.copy-btn:hover{background:var(--gray-200)}.action-buttons{display:flex;flex-wrap:wrap;gap:1rem}.primary-btn{align-items:center;background:var(--dark-color);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;justify-content:center;min-width:140px;padding:.875rem 2rem;text-decoration:none;transition:all .2s ease}.primary-btn:hover{background:var(--gray-800);box-shadow:0 4px 12px rgba(var(--dark-color),.2);color:#fff;text-decoration:none;transform:translateY(-1px)}.secondary-btn{align-items:center;background:#fff;border:2px solid var(--gray-300);border-radius:8px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;justify-content:center;min-width:140px;padding:.875rem 2rem;transition:all .2s ease}.secondary-btn,.secondary-btn:hover{color:var(--gray-700);text-decoration:none}.secondary-btn:hover{background:var(--gray-50);border-color:var(--primary-color);box-shadow:0 4px 12px rgba(var(--primary-color-rgb),.1);transform:translateY(-1px)}.info-section{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}.info-card{background:#fff;border:1px solid var(--gray-100);border-radius:16px;box-shadow:0 4px 24px #0000000f;padding:2rem;transition:all .2s ease}.info-card:hover{box-shadow:0 8px 32px #00000014;transform:translateY(-2px)}.info-card h3{border-bottom:2px solid var(--primary-color);color:var(--gray-900);font-size:1.25rem;font-weight:600;margin-bottom:1.5rem;padding-bottom:1rem;text-align:center}.info-card ul{display:flex;flex-direction:column;gap:.75rem;list-style:none;margin:0;padding:0}.info-card li{align-items:center;color:var(--gray-700);display:flex;font-size:.95rem;line-height:1.5;padding:.5rem 0}.info-card li:before{color:var(--primary-color);content:"•";font-size:1.2rem;font-weight:700;margin-right:.75rem}.primary-btn:focus-visible,.secondary-btn:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.email-address:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}@media (max-width:768px){.early-access-content{padding:2rem 1rem 1rem}.hero-section{margin-bottom:2.5rem}.hero-section h1{font-size:2.25rem}.hero-subtitle{font-size:1.125rem}.email-section,.info-section{padding:1.5rem}.info-section{gap:1.5rem;grid-template-columns:1fr}.info-card:hover{transform:none}.action-buttons{flex-direction:column}.primary-btn,.secondary-btn{justify-content:center;width:100%}.email-address{flex-direction:column;gap:.75rem;text-align:center}.copy-btn{align-self:center}}@media (max-width:480px){.early-access-content{padding:1.5rem .75rem .75rem}.hero-section h1{font-size:1.875rem}.email-section,.info-section{padding:1.25rem}}@media (prefers-reduced-motion:reduce){.copy-btn,.email-address,.primary-btn,.secondary-btn{transition:none}.email-address:hover,.primary-btn:hover,.secondary-btn:hover{transform:none}}@media (prefers-contrast:high){.email-address{border-color:var(--gray-400)}.info-card li{border-bottom-color:var(--gray-300)}}.gradient-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--primary-color) 0,var(--light-color) 100%);background-clip:text;-webkit-background-clip:text}.help-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:280px 1fr;margin-top:3rem;width:100%}.help-sidebar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#fff;border:1px solid var(--gray-300);border-radius:12px;box-shadow:0 4px 16px #00000014;height:fit-content;opacity:1;padding:1.8rem;position:sticky;top:2rem;transition:all .3s ease;z-index:5}.help-sidebar:hover{border-color:rgba(var(--primary-color-rgb),.2);box-shadow:0 8px 25px rgba(var(--primary-color-rgb),.15)}.help-sidebar h3{border-bottom:2px solid rgba(var(--primary-color-rgb),.15);color:var(--dark-color);font-size:1.3rem;font-weight:600;margin-bottom:1.2rem;padding-bottom:.5rem}.category-list{list-style:none;margin:0 0 2rem;padding:0}.category-list li{border-radius:8px;color:var(--gray-700);cursor:pointer;font-weight:500;margin-bottom:.3rem;padding:.8rem 1rem;position:relative;transition:all .2s ease}.category-list li:before{background:var(--primary-color);border-radius:1px;content:"";height:2px;left:0;position:absolute;top:50%;transform:translateY(-50%);transition:width .3s ease;width:0}.category-list li:hover{background-color:rgba(var(--primary-color-rgb),.05);color:var(--primary-color);transform:translateX(4px)}.category-list li:hover:before{width:3px}.category-list li.active{background-color:rgba(var(--primary-color-rgb),.1);color:var(--primary-color);font-weight:600;transform:translateX(4px)}.category-list li.active:before{width:3px}.help-contact{border-top:1px solid var(--gray-300);margin-top:2rem;padding-top:1.5rem}.help-contact h3{border:none;margin-bottom:.8rem;padding-bottom:0}.help-contact p{color:var(--gray-600);font-size:.95rem;margin-bottom:1.2rem}.btn{border:1px solid #0000;border-radius:8px;cursor:pointer;display:inline-block;font-size:.95rem;font-weight:600;line-height:1.5;padding:.7rem 1.2rem;text-align:center;text-decoration:none;transition:all .2s ease;-webkit-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap;width:100%}.btn-primary{background-color:var(--primary-color);border-color:var(--primary-color);box-shadow:0 4px 10px rgba(var(--primary-color-rgb),.25);color:#fff}.btn-primary:hover{background-color:var(--primary-dark);border-color:var(--primary-dark);box-shadow:0 6px 15px rgba(var(--primary-color-rgb),.35);color:#fff;text-decoration:none;transform:translateY(-2px)}.help-main{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#fff;border:1px solid var(--gray-300);border-radius:12px;box-shadow:0 4px 16px #00000014;opacity:1;padding:2.5rem;transition:all .25s ease;z-index:5}.help-main:hover{border-color:rgba(var(--primary-color-rgb),.2);box-shadow:0 8px 25px rgba(var(--primary-color-rgb),.1)}.help-main h2{border-bottom:2px solid rgba(var(--primary-color-rgb),.15);color:var(--dark-color);font-size:2rem;font-weight:600;margin-bottom:1.8rem;padding-bottom:.75rem;position:relative}.help-main h2:after{background:var(--primary-color);border-radius:1px;bottom:-2px;content:"";height:2px;left:0;position:absolute;width:60px}.faq-list{display:flex;flex-direction:column;gap:1.5rem}.faq-item{background-color:#fff;border:1px solid var(--gray-300);border-radius:10px;opacity:1;padding:1.5rem;position:relative;transition:all .25s ease}.faq-item:before{background:linear-gradient(135deg,var(--primary-color),var(--light-color));border-radius:10px 0 0 10px;bottom:0;content:"";left:0;position:absolute;top:0;transition:width .3s ease;width:0}.faq-item:hover{border-color:rgba(var(--primary-color-rgb),.3);box-shadow:0 6px 18px rgba(var(--primary-color-rgb),.1);transform:translateY(-3px)}.faq-item:hover:before{width:4px}.faq-item h3{color:var(--primary-color);font-size:1.25rem;font-weight:600;margin-bottom:1rem;position:relative}.faq-item h3:before{color:var(--primary-color);content:"•";font-weight:700;margin-right:.5rem}.faq-item p{color:var(--gray-600);font-size:1.05rem;line-height:1.6}.quick-links{border-top:1px solid var(--gray-300);margin-top:3rem;padding-top:2rem}.quick-links h3{color:var(--dark-color);font-size:1.4rem;font-weight:600;margin-bottom:1.5rem;position:relative}.quick-links h3:after{background:var(--primary-color);border-radius:1px;bottom:-5px;content:"";height:2px;left:0;position:absolute;width:40px}.resource-links{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.resource-link{align-items:center;background-color:#fff;border:1px solid var(--gray-300);border-radius:10px;display:flex;gap:1rem;opacity:1;overflow:hidden;padding:1.2rem;position:relative;text-decoration:none;transition:all .25s ease}.resource-link:before{background:linear-gradient(90deg,#0000,rgba(var(--primary-color-rgb),.1),#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.resource-link:hover{border-color:var(--primary-color);box-shadow:0 6px 18px rgba(var(--primary-color-rgb),.1);text-decoration:none;transform:translateY(-3px)}.resource-link:hover:before{left:100%}.resource-icon{color:var(--primary-color);font-size:2rem;transition:transform .3s ease}.resource-link:hover .resource-icon{transform:scale(1.1)}.resource-text h4{color:var(--dark-color);font-size:1.1rem;font-weight:600;margin-bottom:.4rem}.resource-text p{color:var(--gray-600);font-size:.95rem;line-height:1.4}@media (max-width:992px){.help-content{gap:1.5rem;grid-template-columns:1fr;margin-top:2rem}.help-sidebar{margin-bottom:0;position:static}}@media (max-width:768px){.help-main{padding:1.5rem}.help-main h2{font-size:1.6rem}.faq-item{padding:1.2rem}.faq-item h3{font-size:1.1rem}.faq-item p{font-size:1rem}.resource-link{padding:1rem}.resource-links{grid-template-columns:1fr}.help-sidebar{padding:1.5rem}.category-list li{padding:.7rem .8rem}.help-content{gap:1rem;margin-top:1.5rem}}.parent-portal-container{min-height:100vh;padding:2rem 1rem 4rem}.page-header{margin:0 auto 3rem;max-width:900px;text-align:center}.page-header h1{background:linear-gradient(90deg,var(--dark-color),var(--primary-color));-webkit-background-clip:text;color:#0000;font-size:clamp(2.2rem,5vw,3rem);font-weight:700;line-height:1.2;margin:0}.label-soon{background:rgba(var(--primary-color-rgb),.1);border-radius:6px;color:var(--primary-color);font-size:.55em;font-weight:600;margin-left:.4em;padding:.1em .4em;vertical-align:middle}.page-header p{color:var(--gray-600);font-size:1.15rem;margin-top:1rem}.coming-soon-section{background:#fff;border-radius:12px;box-shadow:0 6px 24px #00000012;margin:0 auto 4rem;max-width:900px;padding:3rem 2rem;text-align:center}.coming-soon-icon{color:var(--primary-color);font-size:4.5rem;margin-bottom:1.5rem}.coming-soon-section h2{color:var(--dark-color);font-size:2rem;margin-bottom:1rem}.coming-soon-section p{color:var(--gray-600);line-height:1.55;margin:0 auto 2rem;max-width:580px}.notify-form,.success-message{align-items:center;display:flex;flex-direction:column}.form-input-group{max-width:480px;width:100%}.notify-form input{border:2px solid var(--gray-200);border-radius:8px;font-size:1rem;padding:1rem 1.4rem;width:100%}.notify-form input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb),.15);outline:none}.form-button,.notify-button{background:var(--primary-color);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:1.2rem;padding:.9rem 2.3rem;transition:.25s}.form-button:hover,.notify-button:hover{background:var(--primary-dark);transform:translateY(-2px)}.feature-cards{grid-gap:1.8rem;display:grid;gap:1.8rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin:0 auto 4rem;max-width:1200px}.feature-card{background:#fff;border:1px solid var(--gray-200);border-radius:12px;box-shadow:0 4px 16px #0000000d;padding:2rem;transition:.25s}.feature-card:hover{box-shadow:0 8px 24px rgba(var(--primary-color-rgb),.15);transform:translateY(-4px)}.feature-icon{color:var(--primary-color);font-size:2.4rem;margin-bottom:1rem}.feature-card h3{color:var(--dark-color);font-size:1.25rem;margin:0 0 .8rem}.feature-card p{color:var(--gray-600);font-size:.97rem;line-height:1.55}.sample-dashboard{margin:0 auto;max-width:1200px;text-align:center}.sample-dashboard h2{color:var(--dark-color);font-size:1.8rem;margin-bottom:.8rem}.sample-dashboard p{color:var(--gray-600);margin:0 auto 2.2rem;max-width:720px}.dashboard-preview{background:#fff;border:1px solid var(--gray-200);border-radius:12px;box-shadow:0 8px 28px #0000001f;overflow:hidden;padding:1.2rem;position:relative}.preview-label{background:rgba(var(--primary-color-rgb),.9);border-radius:50px;color:#fff;font-size:.82rem;font-weight:600;padding:.35rem .9rem;position:absolute;right:1rem;top:1rem}.mock-dashboard{display:flex;flex-direction:column;gap:1rem}.mock-row{display:flex;flex-wrap:wrap;gap:1rem}.mock-card{background:var(--gray-100);border-radius:8px;color:var(--dark-color);flex:1 1 260px;padding:1rem;position:relative}.donut-card{max-width:320px;text-align:center}.donut{background:conic-gradient(var(--primary-color) 0 72%,var(--gray-200) 0 100%);border-radius:50%;height:120px;margin:.5rem auto 1rem;width:120px}.trend-card{min-width:300px}.sparkline{background:repeating-linear-gradient(to right,var(--primary-color) 0 2px,#0000 2px 6px);border-radius:4px;height:60px;margin:.5rem 0 1rem;opacity:.4;width:100%}.swat-card ul{list-style:none;margin:0;padding:0}.swat-list li{font-size:.9rem;margin-bottom:.25rem}.swat-list strong{color:var(--primary-color)}.calendar-card{min-width:300px}.calendar-grid{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr);margin-top:.5rem}.calendar-cell{background:var(--gray-100);border-radius:4px;padding-top:100%;position:relative}.calendar-cell.active{background:var(--primary-color);opacity:.8}@media (max-width:680px){.feature-cards{gap:1.2rem}.coming-soon-section{padding:2rem 1.2rem}}.exam-prep-container{background:var(--background-primary);display:flex;flex-direction:column;min-height:100vh}.exam-prep-banner{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#fffffffa;border-bottom:1px solid var(--border-color);box-shadow:0 1px 3px #0000000a;justify-content:space-between;padding:1.5rem 2rem;position:sticky;top:0;z-index:100}.banner-left,.exam-prep-banner{align-items:center;display:flex}.banner-left{flex:1 1;gap:2rem}.banner-title{color:var(--text-primary);font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin:0}.banner-subtitle{color:var(--text-secondary);font-size:.875rem;font-weight:500;margin-top:.25rem}.banner-selectors{align-items:center;display:flex;gap:.75rem}.banner-select{background:var(--background-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:.875rem;font-weight:500;min-width:120px;padding:.5rem .75rem;transition:all .2s ease}.banner-select:hover{background:var(--background-secondary);border-color:var(--primary-color)}.banner-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-20);outline:none}.banner-center{align-items:center;display:flex;flex:1 1;gap:1.5rem;justify-content:center;margin:0 2rem;max-width:600px}.search-container{position:relative;width:100%}.search-input{background:var(--background-secondary);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);font-size:.875rem;padding:.75rem 1rem .75rem 2.75rem;transition:all .2s ease;width:100%}.search-input:focus{background:var(--background-primary);border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-20);outline:none}.search-icon,.search-input::placeholder{color:var(--text-secondary)}.search-icon{font-size:.875rem;left:.875rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.banner-difficulty-filters{align-items:center;display:flex;flex-shrink:0;gap:.5rem}.banner-difficulty-btn{background:var(--background-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:.75rem;font-weight:600;letter-spacing:.5px;min-width:70px;padding:.5rem 1rem;text-transform:uppercase;transition:all .2s ease}.banner-difficulty-btn:hover{background:var(--background-primary);box-shadow:0 2px 8px #0000000d}.banner-difficulty-btn.active,.banner-difficulty-btn:hover{border-color:var(--primary-color);transform:translateY(-1px)}.banner-difficulty-btn.active{background:var(--primary-color);box-shadow:0 2px 8px #0000001a;color:#fff}.banner-difficulty-btn.easy.active{background:#059669;border-color:#059669}.banner-difficulty-btn.medium.active{background:#d97706;border-color:#d97706}.banner-difficulty-btn.hard.active{background:#dc2626;border-color:#dc2626}.banner-stats{color:var(--text-secondary);flex-shrink:0;font-size:.875rem;gap:1.5rem}.banner-stat,.banner-stats{align-items:center;display:flex}.banner-stat{background:var(--background-secondary);border:1px solid var(--border-color);border-radius:12px;gap:.75rem;padding:.75rem 1rem;transition:all .2s ease}.banner-stat:hover{background:var(--background-primary);border-color:var(--primary-color);box-shadow:0 4px 12px #0000000d;transform:translateY(-1px)}.banner-stat-icon{color:var(--primary-color);flex-shrink:0;font-size:1.25rem}.banner-stat-content{align-items:flex-start;display:flex;flex-direction:column;gap:.125rem}.banner-stat-value{color:var(--text-primary);font-size:1rem;font-weight:700;line-height:1}.banner-stat-label{color:var(--text-secondary);font-size:.75rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.exam-prep-main{display:flex;flex:1 1;overflow:hidden}.exam-prep-sidebar{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#fffffffa;border-right:1px solid var(--border-color);flex-shrink:0;overflow-y:auto;padding:2rem 1.5rem;width:320px}.sidebar-section{margin-bottom:2.5rem}.sidebar-title{color:var(--text-secondary);font-size:.75rem;font-weight:700;letter-spacing:1px;margin-bottom:1rem;text-transform:uppercase}.topic-list{display:flex;flex-direction:column;gap:.25rem}.topic-item{align-items:center;background:#0000;border:1px solid #0000;border-radius:10px;cursor:pointer;display:flex;font-size:.875rem;justify-content:space-between;min-height:44px;padding:.75rem 1rem;transition:all .15s ease}.topic-item:hover{background:var(--background-secondary);border-color:var(--border-color)}.topic-item.selected{background:var(--primary-color-10);border-color:var(--primary-color);color:var(--primary-color);font-weight:600}.topic-item.all-topics{color:var(--text-primary);font-weight:600}.topic-name{flex:1 1;font-size:.875rem;font-weight:500;margin-right:.75rem;text-align:left}.topic-meta{align-items:center;color:var(--text-secondary);display:flex;flex-shrink:0;font-size:.75rem;gap:.5rem}.topic-count{background:var(--background-secondary);border-radius:6px;color:var(--text-primary);font-size:.7rem;font-weight:600;padding:.25rem .5rem}.topic-progress-ring{align-items:center;background:var(--gray-300);border:1px solid var(--gray-300);border-radius:11px;color:var(--gray-600);display:flex;flex-shrink:0;font-size:.65rem;font-weight:600;height:22px;justify-content:center;min-width:42px;transition:all .2s ease}.topic-progress-ring.has-progress{background:linear-gradient(135deg,var(--primary-color) 0,#2563eb 100%);border-color:var(--primary-color);box-shadow:0 2px 4px rgba(var(--primary-color-rgb),.2);color:#fff}.progress-fill{display:none}.progress-text{color:inherit;font-size:.65rem;font-weight:600;line-height:1}.progress-filters{display:flex;flex-direction:column;gap:.25rem}.progress-filter{align-items:center;background:#0000;border:1px solid #0000;border-radius:10px;cursor:pointer;display:flex;font-size:.875rem;gap:.75rem;min-height:44px;padding:.75rem 1rem;transition:all .15s ease}.progress-filter:hover{background:var(--background-secondary);border-color:var(--border-color)}.progress-filter.selected{background:var(--primary-color-10);border-color:var(--primary-color);color:var(--primary-color);font-weight:600}.filter-icon{color:var(--primary-color);display:flex;flex-shrink:0;font-size:.875rem;justify-content:center;width:16px}.filter-label{flex:1 1;font-size:.875rem;font-weight:500;text-align:left}.difficulty-filters{display:flex;flex-direction:column;gap:.25rem}.difficulty-filter{align-items:center;border-radius:10px;cursor:pointer;display:flex;font-size:.875rem;gap:.75rem;padding:.75rem 1rem;transition:all .15s ease}.difficulty-filter:hover{background:var(--background-secondary)}.difficulty-checkbox{align-items:center;border:2px solid var(--border-color);border-radius:4px;display:flex;font-size:.75rem;height:18px;justify-content:center;transition:all .15s ease;width:18px}.difficulty-checkbox.checked{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.difficulty-label{font-size:.875rem;font-weight:500}.difficulty-label.easy{color:#059669}.difficulty-label.medium{color:#d97706}.difficulty-label.hard{color:#dc2626}.exam-prep-content{background:var(--background-secondary);flex:1 1;overflow-y:auto;padding:2rem}.questions-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(420px,1fr))}.question-card{aspect-ratio:1.6/1;background:var(--background-primary);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 1px 3px #0000000a;cursor:pointer;display:flex;flex-direction:column;height:250px;overflow:hidden;padding:1.75rem;position:relative;transition:all .2s ease}.question-card:hover{border-color:var(--primary-color-20);box-shadow:0 8px 25px #00000014;transform:translateY(-2px)}.question-card.completed{background:var(--success-color-5);border-color:var(--success-color)}.question-card-header{flex-shrink:0;margin-bottom:1rem}.question-title{color:var(--text-primary);font-size:1rem;font-weight:600;letter-spacing:-.01em;line-height:1.4}.question-difficulty-badge{border-radius:8px;box-shadow:0 1px 2px #0000000d;flex-shrink:0;font-size:.7rem;font-weight:600;letter-spacing:.75px;padding:.375rem .75rem;text-transform:uppercase}.question-difficulty-badge.easy{background:#059669;color:#fff}.question-difficulty-badge.medium{background:#d97706;color:#fff}.question-difficulty-badge.hard{background:#dc2626;color:#fff}.question-preview{-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;flex:1 1;font-size:.9rem;line-height:1.6;margin-bottom:1.5rem;min-height:0;overflow:hidden}.question-preview p{line-height:inherit;margin:0}.question-card-footer{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;margin-top:auto}.question-status{gap:.75rem}.question-status,.status-icon{align-items:center;display:flex}.status-icon{border-radius:50%;flex-shrink:0;font-size:.75rem;height:22px;justify-content:center;width:22px}.status-icon.not-attempted{background:var(--gray-200);color:var(--gray-500)}.status-icon.correct{background:var(--success-color);color:#fff}.status-icon.incorrect{background:#dc2626;color:#fff}.status-label{color:var(--text-secondary);font-size:.8rem;font-weight:500}.question-topics{align-items:center;display:flex;font-size:.75rem}.additional-topics{background:var(--background-secondary);border-radius:4px;color:var(--text-secondary);font-size:.7rem;font-style:italic;padding:.2rem .5rem}.question-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#0006;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:1000}.question-modal{animation:slideUp .3s ease-out;background:var(--background-primary);border:1px solid var(--border-color);border-radius:20px;box-shadow:0 20px 60px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:500px;overflow:hidden;width:100%}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{align-items:flex-start;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:2rem 2rem 1rem}.modal-header-left{flex:1 1}.modal-title{color:var(--text-primary);font-size:1.25rem;font-weight:700;letter-spacing:-.01em;margin:0 0 .75rem}.modal-question-meta{align-items:center;display:flex;font-size:.875rem;gap:1rem}.modal-difficulty-badge{border-radius:6px;font-size:.7rem;font-weight:700;letter-spacing:.5px;padding:.25rem .5rem;text-transform:uppercase}.modal-difficulty-badge.easy{background:#dcfce7;color:#059669}.modal-difficulty-badge.medium{background:#fef3c7;color:#d97706}.modal-difficulty-badge.hard{background:#fee2e2;color:#dc2626}.modal-topics{color:var(--text-secondary);font-style:italic}.modal-header-right{align-items:center;display:flex;gap:.5rem}.modal-nav-btn{align-items:center;background:var(--background-secondary);border:none;border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;font-size:.875rem;height:36px;justify-content:center;transition:all .15s ease;width:36px}.modal-nav-btn:hover:not(:disabled){background:var(--primary-color);color:#fff}.modal-nav-btn:disabled{cursor:not-allowed;opacity:.4}.modal-close{align-items:center;background:var(--background-secondary);border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:1rem;height:36px;justify-content:center;transition:all .15s ease;width:36px}.modal-close:hover{background:#fee2e2;color:#dc2626}.modal-content{display:flex;flex:1 1;flex-direction:column;min-height:0;min-width:0;overflow-y:auto;padding:1.5rem 2rem;width:100%}.modal-question{background:var(--background-secondary);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);font-size:1.125rem;line-height:1.7;padding:1rem 1.25rem}.modal-answer-section,.modal-question{flex-shrink:0;margin-bottom:1.5rem}.modal-answer-textarea{background:var(--background-secondary);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);font-family:inherit;font-size:1rem;line-height:1.6;min-height:120px;padding:1.25rem;resize:vertical;transition:all .15s ease;width:100%}.modal-answer-textarea:focus{background:var(--background-primary);border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-20);outline:none}.modal-actions{display:flex;gap:1rem;margin-bottom:1.5rem}.modal-button{border:none;border-radius:12px;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:600;padding:.875rem 1.5rem;transition:all .15s ease}.modal-button.primary{background:var(--primary-color);color:#fff}.modal-button.primary:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px)}.modal-button.secondary{background:var(--background-secondary);border:1px solid var(--border-color);color:var(--text-primary)}.modal-button.secondary:hover:not(:disabled){background:var(--background-primary);border-color:var(--primary-color)}.modal-button:disabled{cursor:not-allowed;opacity:.5}.modal-hint-section{margin-bottom:1.25rem}.modal-hint-button{align-items:center;background:var(--background-secondary);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .15s ease}.modal-hint-button:hover{background:var(--primary-color-10);border-color:var(--primary-color);color:var(--primary-color)}.modal-upload-button{align-items:center;background:var(--background-secondary);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;margin-top:.75rem;padding:.6rem 1.25rem;transition:all .15s ease}.modal-upload-button:hover{background:var(--primary-color-10);border-color:var(--primary-color);color:var(--primary-color)}.modal-upload-button.uploaded{background:#dcfce7;border-color:#16a34a;color:#166534}.modal-upload-button.uploaded:hover{background:#bbf7d0}.modal-uploaded-file-info{color:var(--text-secondary);font-size:.8rem;margin-top:.5rem}.modal-uploaded-file-info small{align-items:center;display:inline-flex;gap:.25rem}.modal-hint-content{background:#f0f9ff;border:1px solid #bae6fd;border-radius:12px;margin-top:1rem;padding:1rem}.modal-hint-text{color:var(--text-primary);font-size:.875rem;line-height:1.6;margin:0}.modal-feedback{background:var(--background-primary);border:1px solid var(--border-color);border-radius:16px;margin-bottom:1rem;padding:1.5rem}.modal-feedback-header{align-items:center;display:flex;gap:.75rem;margin-bottom:1rem}.modal-feedback-icon{align-items:center;display:flex;font-size:1.25rem;justify-content:center}.modal-feedback-status{font-size:1.125rem;font-weight:700}.modal-feedback-status.correct{color:#059669}.modal-feedback-status.incorrect{color:#dc2626}.modal-feedback-text{color:var(--text-primary);line-height:1.7;margin-bottom:1rem}.modal-correct-answer{background:var(--background-secondary);border-radius:12px;margin-bottom:1rem;padding:1rem}.modal-correct-answer strong{color:var(--text-primary);display:block;font-weight:600;margin-bottom:.5rem}.modal-correct-answer p{color:var(--text-secondary);font-family:ui-monospace,SF Mono,Monaco,monospace;font-size:.875rem;margin:0}.modal-next-button{align-items:center;background:var(--primary-color);border:none;border-radius:12px;color:#fff;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;justify-content:center;margin-top:.5rem;padding:1rem;transition:all .15s ease;width:100%}.modal-next-button:hover{background:var(--primary-dark);transform:translateY(-1px)}.modal-nav-button{align-items:center;background:var(--background-secondary);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;justify-content:center;margin-top:.5rem;padding:.75rem 1.5rem;transition:all .15s ease}.modal-nav-button:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff;transform:translateY(-1px)}.empty-state{color:var(--text-secondary);padding:4rem 2rem;text-align:center}.empty-state-icon{align-items:center;color:var(--text-secondary);display:flex;font-size:3rem;justify-content:center;margin-bottom:1rem;opacity:.6}.empty-state-icon svg{height:48px;width:48px}.empty-state h3{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.empty-state p{font-size:.9rem;margin:0}.loading-state{align-items:center;color:var(--text-secondary);display:flex;justify-content:center;padding:4rem 2rem}.loading-spinner{animation:spin 1s linear infinite;border-top:3px solid var(--border-color);border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);height:32px;margin-right:1rem;width:32px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.exam-prep-banner{flex-direction:column;gap:1rem;padding:1rem}.banner-left{justify-content:space-between;width:100%}.banner-center{flex-direction:column;gap:1rem;margin:0;max-width:none;width:100%}.banner-difficulty-filters{justify-content:center}.banner-stats{gap:1rem;justify-content:space-around;width:100%}.banner-stat{flex:1 1;justify-content:center;min-width:0;text-align:center}.exam-prep-main{flex-direction:column}.exam-prep-sidebar{border-bottom:1px solid var(--border-color);border-right:none;overflow-y:visible;padding:1rem;width:100%}.sidebar-section{margin-bottom:1.5rem}.questions-grid{gap:1rem;grid-template-columns:1fr;padding:1rem}.question-card{height:auto;min-height:180px;padding:1.5rem}.question-modal-overlay{padding:1rem}.question-modal{max-height:95vh;overflow:hidden}.modal-header{padding:1.5rem 1rem 1rem}.modal-content{min-height:0;overflow-y:auto;padding:1.5rem}.modal-question{font-size:1rem;margin-bottom:2rem;padding:1.25rem}.modal-actions{flex-direction:column;gap:.75rem;margin-bottom:2rem}}@media (max-width:480px){.banner-title{font-size:1.5rem}.banner-selectors{flex-direction:column;gap:.5rem;width:100%}.banner-select{width:100%}.search-input{font-size:1rem}.questions-grid{gap:.75rem;grid-template-columns:1fr;padding:.5rem}.question-card{height:auto;min-height:160px;padding:1.25rem}.question-title{font-size:.8rem}.question-preview{-webkit-line-clamp:3;line-clamp:3;font-size:.85rem}}.exam-prep-container *{box-sizing:border-box}.exam-prep-content,.exam-prep-sidebar,.question-modal{scroll-behavior:smooth}.banner-select:focus,.difficulty-filter:focus,.modal-button:focus,.modal-close:focus,.modal-nav-btn:focus,.progress-filter:focus,.question-card:focus,.search-input:focus,.topic-item:focus{outline:2px solid var(--primary-color);outline-offset:2px}@media (prefers-contrast:high){.question-card{border-width:2px}.question-difficulty-badge,.status-icon{border:1px solid}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.loading-spinner{animation:none}}@media print{.exam-prep-banner,.exam-prep-sidebar,.question-modal-overlay{display:none}.exam-prep-main{flex-direction:column}.exam-prep-content{padding:0}.questions-grid{gap:.75rem;grid-template-columns:1fr}.question-card{aspect-ratio:auto;border:1px solid #000;break-inside:avoid;height:auto;margin-bottom:1rem;min-height:160px;page-break-inside:avoid}}.error-state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:2rem;text-align:center}.error-state h3{color:#dc3545;color:var(--error-color,#dc3545);margin-bottom:1rem}.error-state p{color:#666;color:var(--text-secondary,#666);margin-bottom:1.5rem;max-width:400px}.retry-button{background:#007bff;background:var(--primary-color,#007bff);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:background-color .2s}.retry-button:hover{background:#0056b3;background:var(--primary-hover,#0056b3)}.progress-error-banner{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;justify-content:space-between;margin:1rem 2rem;padding:1rem 1.5rem}.error-message{align-items:center;color:#dc2626;display:flex;font-weight:500;gap:.5rem}.retry-progress-button{background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;flex-shrink:0;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.5rem 1rem;text-transform:uppercase;transition:all .2s ease}.retry-progress-button:hover{background:#b91c1c;box-shadow:0 2px 8px #dc262633;transform:translateY(-1px)}.homework-help-page{background:linear-gradient(135deg,#fafafa,#f5f5f5);display:flex;flex-direction:column;height:100vh;height:calc(var(--vh, 1vh)*100);left:0;margin:0;max-width:100%;overflow:hidden;padding:60px 0 0;position:fixed;top:0;width:100vw;z-index:100}.homework-content{display:flex;flex:1 1;gap:1px;height:calc(100vh - 60px);height:calc(var(--vh, 1vh)*100 - 60px);overflow:hidden;position:relative;width:100%}.homework-sidebar{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffffe6;border-right:1px solid #00000014;box-shadow:0 0 0 1px #0000000a;display:flex;flex-direction:column;flex-shrink:0;height:100%;overflow-y:auto;width:320px;z-index:5}.sidebar-title{display:none}.config-panel,.history-panel{border-bottom:1px solid #0000000f;margin-bottom:0;padding:1.5rem}.config-panel h3,.history-panel h3{color:#1f2937;font-size:.875rem;font-weight:600;letter-spacing:.05em;margin:0 0 1.25rem;opacity:.8;text-transform:uppercase}.explanation-level{margin-bottom:1.5rem}.explanation-level>label{display:none}.level-options{display:flex;flex-direction:column;gap:.5rem}.level-option{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background-color:#ffffffb3;border:1px solid #0000001a;border-radius:8px;cursor:pointer;display:flex;justify-content:flex-start;padding:.75rem 1rem;position:relative;text-align:left;transition:all .15s ease;-webkit-user-select:none;user-select:none}.level-option:hover{background-color:#ffffffe6;border-color:#0003;transform:translateY(-1px)}.level-option.active{background-color:rgba(var(--primary-color-rgb),.08);border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb),.1)}.level-option input[type=radio]{display:none}.option-title{color:#374151;font-size:.875rem;font-weight:500}.reset-button-container{border-bottom:1px solid #0000000f;padding:1.5rem}.reset-button{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border:1px solid #0000001a;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center;padding:.75rem 1rem;transition:all .15s ease;width:100%}.reset-button:hover{background:linear-gradient(135deg,#e5e7eb,#d1d5db);border-color:#0003;transform:translateY(-1px)}.reset-icon{font-size:1rem}.session-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;max-height:280px;overflow-y:auto;padding-right:.25rem}.session-list::-webkit-scrollbar{width:4px}.session-list::-webkit-scrollbar-track{background:#0000}.session-list::-webkit-scrollbar-thumb{background:#0003;border-radius:4px}.session-list::-webkit-scrollbar-thumb:hover{background:#0000004d}.session-item{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#fff9;border:1px solid #00000014;border-radius:6px;cursor:pointer;padding:.75rem;position:relative;transition:all .15s ease}.session-item:hover{background:#fffc;border-color:#00000026;transform:translateY(-1px)}.session-title{color:#374151;font-size:.875rem;font-weight:500;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-date{color:#6b7280;font-size:.75rem}.refresh-history-btn{background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-dark) 100%);border:none;border-radius:8px;box-shadow:0 2px 8px rgba(var(--primary-color-rgb),.25);color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem;transition:all .15s ease;width:100%}.refresh-history-btn:hover{box-shadow:0 4px 12px rgba(var(--primary-color-rgb),.35);transform:translateY(-1px)}.voice-option{align-items:center;background:#fff9;border:1px solid #00000014;border-radius:6px;display:flex;margin-top:1rem;padding:.75rem}.voice-option input[type=checkbox]{margin-right:.5rem}.chat-main-area{background:#ffffffb3;border-radius:0;flex:1 1;height:100%;min-height:0;overflow:hidden;position:relative;will-change:transform}.chat-main-area,.initial-view{display:flex;flex-direction:column;width:100%}.initial-view{align-items:center;animation:fadeIn .6s ease-out;flex:1 1;justify-content:center;overflow-y:auto;padding:3rem 2rem}.welcome-message-container{align-items:center;display:flex;flex-direction:column;margin:0 auto 3rem;max-width:800px;width:100%}.ai-tutor-message-card{background:#0000;border-radius:16px;max-width:800px;padding:2rem;position:relative;text-align:center;width:100%}.ai-tutor-identity{gap:1rem}.ai-tutor-identity,.robot-icon-container{align-items:center;display:flex;justify-content:center}.robot-icon-container{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:rgba(var(--primary-color-rgb),.1);border:1px solid rgba(var(--primary-color-rgb),.2);border-radius:20px;padding:1rem}.ai-tutor-greeting{text-align:left}.greeting-heading{color:#111827;font-size:1.75rem;font-weight:600;line-height:1.3;margin:0 0 .5rem}.greeting-subtext{color:#6b7280;font-size:1.125rem;font-weight:400;margin:0}.combined-input-area{background-color:#fff;border:2px solid var(--gray-200);border-radius:12px;box-shadow:0 4px 20px #00000014;display:flex;flex-direction:column;margin:0 auto;max-width:900px;overflow:hidden;transition:all .3s cubic-bezier(.25,.46,.45,.94);width:100%}.combined-input-area.drag-active{border-color:var(--primary-color);box-shadow:0 8px 30px rgba(var(--primary-color-rgb),.2);transform:translateY(-4px)}.combined-input-content{display:flex;flex-direction:column;padding:1.5rem}.input-panels{display:flex;gap:1.5rem}.upload-panel{flex:0.45 1}.upload-container{align-items:center;background-color:var(--gray-50);border:2px dashed var(--gray-300);border-radius:8px;display:flex;flex-direction:column;height:100%;justify-content:center;min-height:200px;padding:1.5rem;transition:all .25s ease}.upload-container:hover{background-color:var(--gray-100);border-color:var(--primary-color);transform:translateY(-2px)}.upload-icon{align-items:center;color:var(--primary-color);display:flex;justify-content:center;margin-bottom:1rem}.upload-container p{color:var(--gray-600);font-size:1rem;margin-bottom:1.5rem}.upload-button-container{display:flex;justify-content:center}.upload-btn{background-color:var(--primary-color);border-radius:8px;color:#fff;cursor:pointer;display:inline-block;font-weight:600;padding:.8rem 1.8rem;transition:all .25s ease}.math-symbols-btn:hover,.upload-btn:hover{background-color:var(--primary-dark);box-shadow:0 6px 15px rgba(var(--primary-color-rgb),.3);transform:translateY(-2px)}.upload-btn input{display:none}.text-input-panel{display:flex;flex:0.55 1;flex-direction:column}.question-input{height:100%;width:100%}.question-input textarea{height:100%;min-height:200px;resize:none}.input-notes{background-color:var(--gray-50);border:1px solid var(--gray-200);border-radius:8px;color:var(--gray-600);font-size:.85rem;margin-top:1.5rem;padding:1rem}.input-notes h4{color:var(--gray-700);font-size:.9rem;font-weight:600;margin-bottom:.75rem;margin-top:0}.input-notes ul{margin:0;padding-left:1.5rem}.input-notes li{line-height:1.4;margin-bottom:.5rem}.input-notes li:last-child{margin-bottom:0}.disclaimer-notes{margin-left:auto;margin-right:auto;margin-top:1rem;max-width:900px;width:100%}.disclaimer-notes ul{color:var(--gray-600);font-size:.85rem;margin:0;padding-left:1.5rem}.disclaimer-notes li{line-height:1.4;margin-bottom:.5rem}.disclaimer-notes li:last-child{margin-bottom:0}.chat-view{bottom:0;display:flex;flex-direction:column;height:100%;left:0;overflow:hidden;position:absolute;right:0;top:0;width:100%}.chat-input-area .suggested-responses-container{margin-bottom:8px;padding-left:1.5rem}.chat-input-area{border-top:none;bottom:0;box-shadow:none;flex:0 0 auto;left:0;padding:0 2rem 1.2rem;position:absolute;right:0;width:100%;z-index:5}.chat-input-area .chat-input-container{align-items:center;background-color:#fff;border:1px solid var(--gray-200);border-radius:16px;box-shadow:0 4px 20px #0000001a;display:flex;margin:0 auto;max-width:95%;padding:.8rem 1.2rem;transition:all .2s ease}.chat-input-area .chat-input-container:focus-within,.chat-input-area .chat-input-container:hover{border-color:rgba(var(--primary-color-rgb),.3);box-shadow:0 6px 24px rgba(var(--primary-color-rgb),.15);transform:translateY(-2px)}.chat-input-area .chat-input-container textarea{background-color:initial;border:none;border-radius:10px;flex:1 1;outline:none;padding:.5rem}.chat-input-area .chat-input-container textarea:focus{border:none;box-shadow:none;outline:none}.chat-input-area .chat-input-container textarea:focus-visible{border:none;box-shadow:none;outline:none}.message-limit-notification{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 6px #0000000d;margin:20px auto;max-width:600px;padding:15px;text-align:center}.limit-notification-content{padding:10px}.limit-notification-content h3{color:var(--primary-color);font-size:1.2rem;margin-bottom:10px}.limit-notification-content p{color:#495057;margin-bottom:8px}.limit-notification-content .reset-button{align-items:center;background-color:var(--primary-color);border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-flex;gap:8px;margin-top:15px;padding:8px 16px;transition:background-color .2s}.limit-notification-content .reset-button:hover{background-color:var(--primary-dark)}.limit-notification-content .reset-icon{height:16px;width:16px}@media (max-width:1024px) and (min-width:769px){.homework-sidebar{width:300px}.chat-input-area{bottom:0;padding:1rem 1.5rem 1.5rem;position:absolute}}@media (max-width:768px){.homework-help-page{overflow-y:hidden}.chat-input-area{background-color:#fff;border-top:1px solid var(--gray-200);bottom:0;box-shadow:0 -2px 10px #0000001a;left:0;min-height:100px;padding:1rem 1rem 2rem;position:fixed;right:0;z-index:10}}@media (max-width:480px){.chat-input-area{min-height:100px;padding:1rem .75rem 2.5rem}}@media (max-width:991.98px){.homework-help-page.mobile{padding-top:60px}.homework-help-page.mobile .homework-content{padding-top:0}.homework-help-page.mobile .homework-sidebar{display:none!important}.homework-help-page.mobile .chat-main-area{border-radius:0;position:relative;width:100%}}.mobile-fab{-webkit-tap-highlight-color:transparent;align-items:center;background-color:var(--primary-color);border:none;border-radius:50%;bottom:140px;box-shadow:0 4px 12px rgba(var(--primary-color-rgb),.3);color:#fff;cursor:pointer;display:flex;font-size:20px;height:56px;justify-content:center;position:fixed;right:20px;transition:all .2s ease;width:56px;z-index:1000}.mobile-fab:hover{background-color:var(--primary-dark);box-shadow:0 6px 16px rgba(var(--primary-color-rgb),.4);transform:scale(1.05)}.mobile-fab:active{transform:scale(.95)}.mobile-bottom-sheet-overlay{align-items:flex-end;animation:fadeInOverlay .2s ease-out;background-color:#00000080;bottom:0;display:flex;left:0;position:fixed;right:0;top:0;z-index:2000}.mobile-bottom-sheet{animation:slideUpBottomSheet .3s cubic-bezier(.25,.46,.45,.94);background-color:#fff;border-radius:16px 16px 0 0;display:flex;flex-direction:column;max-height:85vh;overflow:hidden;width:100%}.mobile-bottom-sheet-header{align-items:center;background-color:#fff;border-bottom:1px solid var(--gray-200);display:flex;flex-shrink:0;justify-content:space-between;padding:1.5rem 1.5rem 1rem;z-index:1}.mobile-bottom-sheet-header h3{color:var(--dark-color);font-size:1.3rem;font-weight:700;margin:0}.close-bottom-sheet{-webkit-tap-highlight-color:transparent;align-items:center;background:none;border:none;border-radius:50%;color:var(--gray-500);cursor:pointer;display:flex;font-size:1.5rem;justify-content:center;line-height:1;min-height:44px;min-width:44px;padding:.5rem;transition:all .2s ease}.close-bottom-sheet:hover{background-color:var(--gray-100);color:var(--gray-700)}.mobile-bottom-sheet-content{-webkit-overflow-scrolling:touch;flex:1 1;min-height:0;overflow-y:auto;padding:0 1.5rem 2rem}.mobile-reset-section{margin-bottom:1.5rem}.mobile-reset-button{-webkit-tap-highlight-color:transparent;align-items:center;background-color:var(--primary-color);border:none;border-radius:12px;box-shadow:0 2px 8px rgba(var(--primary-color-rgb),.2);color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;min-height:44px;padding:1rem 1.5rem;transition:all .2s ease;width:100%}.mobile-reset-button:hover{background-color:var(--primary-dark);box-shadow:0 4px 12px rgba(var(--primary-color-rgb),.3);transform:translateY(-1px)}.mobile-reset-button:active{transform:translateY(0)}.mobile-reset-button .reset-icon{font-size:1.1rem}.mobile-config-section,.mobile-history-section,.mobile-voice-section{border-bottom:1px solid var(--gray-200);margin-bottom:1.5rem;padding-bottom:1.5rem}.mobile-history-section{border-bottom:none;margin-bottom:0;padding-bottom:0}.mobile-config-section h4,.mobile-history-section h4,.mobile-voice-section h4{color:var(--primary-dark);font-size:1.1rem;font-weight:600;margin:0 0 1rem}.mobile-level-options{display:flex;flex-direction:column;gap:.75rem}.mobile-level-option{-webkit-tap-highlight-color:transparent;align-items:center;background-color:#fff;border:2px solid var(--gray-300);border-radius:12px;cursor:pointer;display:flex;justify-content:flex-start;min-height:44px;padding:1rem;position:relative;text-align:left;transition:all .2s ease;-webkit-user-select:none;user-select:none}.mobile-level-option:active{transform:scale(.98)}.mobile-level-option.active{background-color:rgba(var(--primary-color-rgb),.05);border-color:var(--primary-color);box-shadow:0 2px 8px rgba(var(--primary-color-rgb),.15)}.mobile-level-option input[type=radio]{display:none}.mobile-level-option .option-title{color:var(--gray-800);font-size:1rem;font-weight:600}.mobile-voice-option{-webkit-tap-highlight-color:transparent;align-items:center;background-color:var(--gray-50);border:1px solid var(--gray-200);border-radius:12px;display:flex;min-height:44px;padding:1rem}.mobile-voice-option input[type=checkbox]{height:18px;margin-right:.75rem;width:18px}.mobile-voice-option span{color:var(--gray-700);font-size:1rem}.mobile-session-list{-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;max-height:200px;overflow-y:auto}.mobile-session-item{-webkit-tap-highlight-color:transparent;background-color:#fff;border:1px solid var(--gray-300);border-radius:8px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:44px;padding:.75rem;transition:all .2s ease}.mobile-session-item:active{background-color:rgba(var(--primary-color-rgb),.05);transform:scale(.98)}.mobile-session-title{color:var(--gray-800);font-size:.9rem;font-weight:500;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-session-date{color:var(--gray-500);font-size:.75rem}.mobile-refresh-history-btn{-webkit-tap-highlight-color:transparent;background-color:var(--gray-200);border:none;border-radius:8px;color:var(--gray-700);cursor:pointer;font-size:.9rem;font-weight:500;min-height:44px;padding:.75rem;transition:all .2s ease;width:100%}.mobile-refresh-history-btn:hover{background-color:var(--gray-300);color:var(--gray-800)}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}@keyframes slideUpBottomSheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (max-width:991.98px){.level-option,.session-item,button,input[type=checkbox],input[type=radio]{min-height:44px;min-width:44px}.level-option:active,.session-item:active,button:active{transform:scale(.98)}*{-webkit-tap-highlight-color:transparent}.messages-container,.mobile-bottom-sheet,.mobile-session-list{-webkit-overflow-scrolling:touch;will-change:scroll-position}}.login-container{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 200px);padding:2rem 1rem}.login-card{background-color:#fff;border:1px solid var(--gray-300);border-radius:var(--border-radius-md);box-shadow:var(--box-shadow);max-width:420px;padding:2.5rem;width:100%}.login-card h2{color:var(--gray-900);font-family:var(--heading-font);font-size:2rem;font-weight:600;margin-bottom:.5rem}.login-card h3{color:var(--gray-600);font-weight:500}.form-group,.login-card h3{margin-bottom:1.5rem}.form-group label{color:var(--gray-700);display:block;font-weight:500;margin-bottom:.5rem}.form-group input{border:1px solid var(--gray-300);border-radius:var(--border-radius-md);font-size:1rem;padding:.75rem;transition:border-color .2s,box-shadow .2s;width:100%}.form-group input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #3a7bee33;outline:none}.form-group.checkbox{align-items:center;display:flex;margin-bottom:1rem}.form-group.checkbox input{margin-right:10px;width:auto}.form-group.checkbox label{color:var(--gray-600);cursor:pointer;font-size:.9rem;font-weight:400;margin-bottom:0}.login-button{background-color:var(--middle-light);border:none;border-radius:var(--border-radius-md);color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem;transition:background-color .2s,transform .2s;width:100%}.login-button:hover{background-color:var(--primary-dark);transform:translateY(-2px)}.login-button:disabled{background-color:var(--gray-400);cursor:not-allowed;transform:none}.error-message{background-color:#c628281a;color:#c62828}.error-message,.success-message{border-radius:var(--border-radius-md);font-size:.875rem;margin-bottom:1rem;padding:.75rem}.success-message{background-color:#2e7d321a;color:#2e7d32}.info-message{background-color:#0d47a11a;border-radius:var(--border-radius-md);color:#0d47a1;font-size:.875rem;margin-bottom:1rem;padding:.75rem}.signup-link{color:var(--gray-600);font-size:.95rem;margin-top:1.8rem;text-align:center}.signup-link a{color:var(--primary-color);font-weight:500;text-decoration:none}.signup-link a:hover{text-decoration:underline}.forgot-password{font-size:.85rem;margin-top:.5rem;text-align:right}.forgot-password a{color:var(--gray-600);text-decoration:none;transition:color .2s}.forgot-password a:hover{color:var(--primary-color);text-decoration:underline}.mt-3{margin-top:1.5rem}.text-center{text-align:center}.text-center a{color:var(--primary-color);text-decoration:none}.text-center a:hover{text-decoration:underline}.password-hint{color:var(--gray-600);display:block;font-size:.8rem;line-height:1.4;margin-top:.5rem}.form-links{display:flex;justify-content:space-between;margin-top:1.5rem}.text-button{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:.9rem;text-decoration:underline}.text-button:hover{color:var(--primary-dark)}.back-link{margin-top:1.5rem;text-align:center}.back-link a{color:var(--primary-color);text-decoration:none}.back-link a:hover{text-decoration:underline}.auth-title h2{background:linear-gradient(90deg,var(--dark-color),var(--light-color));-webkit-background-clip:text;background-clip:text;color:#0000;display:inline-block;font-size:2.5rem;font-weight:700;letter-spacing:-.03em;margin-bottom:.5rem}@media (max-width:768px){.login-container{padding:1rem}.login-card{padding:1.5rem}.login-card h2{font-size:1.7rem}}
/*# sourceMappingURL=main.cbfae277.css.map*/