@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.fsb{position:fixed;top:0;left:0;height:100vh;width:64px;background:var(--bg-dark);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:var(--space-5) var(--space-3);gap:0;z-index:100;overflow:visible;transition:width .22s cubic-bezier(.22,.61,.36,1);color:var(--text-light-xx)}.fsb--expanded{width:240px}.fsb__brand{display:flex;align-items:center;justify-content:center;height:40px;padding:0 var(--space-2);margin-bottom:var(--space-7);width:100%;box-sizing:border-box;position:relative}.fsb__brand-mark{width:28px;height:28px;flex:0 0 28px;object-fit:contain;display:block;transition:opacity .14s ease}.fsb__brand-wordmark{height:28px;width:0;margin-left:0;opacity:0;transform:translate(-4px);transition:opacity .16s ease 40ms,transform .18s ease 40ms;pointer-events:none;display:block;overflow:hidden}.fsb--expanded .fsb__brand-mark{opacity:0;width:0;flex:0 0 0;margin-right:0}.fsb--expanded .fsb__brand-wordmark{opacity:1;width:auto;transform:translate(0);pointer-events:auto}.fsb__group{display:flex;flex-direction:column;gap:var(--space-1)}.fsb__group--nav,.fsb__group--stats{margin-bottom:var(--space-7)}.fsb__group--user{gap:var(--space-1);margin-bottom:var(--space-7)}.fsb__group--profile{gap:var(--space-1)}.fsb__item{display:flex;align-items:center;gap:var(--space-3);height:40px;padding:0 var(--space-2);border:none;outline:none;background:transparent;color:var(--text-light-xx);border-radius:8px;cursor:pointer;text-align:left;font-size:var(--ts-base);font-weight:var(--weight-medium);white-space:nowrap;transition:background .14s ease,color .14s ease;width:100%;box-sizing:border-box}.fsb__item:hover:not(:disabled){background:var(--bg-dark-l);color:var(--text-light)}.fsb__item:focus,.fsb__item:focus-visible,.fsb__submenu-item:focus,.fsb__submenu-item:focus-visible{outline:none;box-shadow:none}.fsb__item--active{background:var(--bg-dark-l);color:var(--text-light)}.fsb__item--static{cursor:default}.fsb__item--static:hover{background:transparent;color:var(--text-light-xx)}.fsb__item--disabled,.fsb__item:disabled{opacity:.45;cursor:not-allowed}.fsb__item--disabled:hover,.fsb__item:disabled:hover{background:transparent;color:var(--text-light-xx)}.fsb__icon{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px}.fsb__icon--text{font-size:var(--ts-sm);font-weight:var(--weight-bold);color:var(--text-light-xx);letter-spacing:.02em}.fsb__label{opacity:0;transform:translate(-4px);transition:opacity .16s ease 40ms,transform .18s ease 40ms;pointer-events:none}.fsb--expanded .fsb__label{opacity:1;transform:translate(0);pointer-events:auto}.fsb__item--user{height:auto;min-height:40px;align-items:center;padding-top:var(--space-1);padding-bottom:var(--space-1)}.fsb__label--stack{display:flex;flex-direction:column;align-items:flex-start;gap:2px;line-height:1.2}.fsb__user-name{color:inherit;font-size:var(--ts-base);font-weight:var(--weight-medium)}.fsb__user-tier{color:var(--text-light-xx);font-size:var(--ts-sm);font-weight:var(--weight-regular, 400);opacity:.75}.fsb__profile-wrap{position:relative}.fsb__submenu{position:absolute;bottom:calc(100% + var(--space-2));left:0;width:220px;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:var(--space-2);display:flex;flex-direction:column;gap:2px;box-shadow:0 8px 24px #00000059;z-index:10}.fsb__submenu-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:transparent;border:none;border-radius:6px;color:var(--text-light-x);font-size:var(--ts-base);font-weight:var(--weight-normal);cursor:pointer;text-align:left;transition:background .12s ease,color .12s ease}.fsb__submenu-item:hover:not(:disabled){background:var(--bg-dark-xl);color:var(--text-light)}.fsb__submenu-item:disabled{opacity:.5;cursor:not-allowed}.fsb__submenu-divider{height:1px;background:var(--border);margin:var(--space-1) 0}button.fsb-hamburger,.fsb-backdrop,button.fsb__close{display:none}@media(max-width:768px){button.fsb-hamburger{display:inline-flex;align-items:center;justify-content:center;position:fixed;top:var(--space-3);left:var(--space-3);width:40px;height:40px;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--bg-dark);color:var(--text-light);cursor:pointer;z-index:130;outline:none}button.fsb-hamburger:hover{border-color:var(--border);background:var(--bg-dark-l)}button.fsb-hamburger:focus,button.fsb-hamburger:focus-visible{outline:none;box-shadow:none;border-color:var(--border)}.fsb-backdrop{display:block;position:fixed;inset:0;background:#0000008c;z-index:110;animation:fsb-fade .18s ease}@keyframes fsb-fade{0%{opacity:0}to{opacity:1}}.fsb{width:280px;transform:translate(-100%);transition:transform .26s cubic-bezier(.22,.61,.36,1);z-index:120;padding-top:var(--space-10)}.fsb--mobile-open{transform:translate(0)}.fsb--mobile-open .fsb__label{opacity:1;transform:translate(0);pointer-events:auto}.fsb--mobile-open .fsb__brand-mark{opacity:0;width:0;flex:0 0 0;margin-right:0}.fsb--mobile-open .fsb__brand-wordmark{opacity:1;width:auto;transform:translate(0);pointer-events:auto}button.fsb__close{display:inline-flex;align-items:center;justify-content:center;position:absolute;top:var(--space-3);right:var(--space-3);width:36px;height:36px;padding:0;border:none;outline:none;background:transparent;color:var(--text-light-xx);border-radius:8px;cursor:pointer}.fsb__close:hover{background:var(--bg-dark-l);color:var(--text-light)}.fsb__close:focus,.fsb__close:focus-visible{outline:none;box-shadow:none}}.app-layout{min-height:100vh;background:var(--bg-dark)}.app-layout__main{margin-left:64px;min-height:100vh}@media(max-width:768px){.app-layout__main{margin-left:0;padding-top:56px}}.login-page{width:100vw;height:100vh;background-color:#141413;color:#faf9f5;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto}.login-header{padding:1.2rem 2.5rem;flex-shrink:0}.logo{height:32px;width:auto;display:block}.login-content{flex:1 0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem;padding:2.5rem 3rem;max-width:1400px;width:100%;margin:0 auto;align-items:center;overflow:hidden}.login-left{display:flex;flex-direction:column;gap:2.5rem;max-width:450px}.login-title{font-size:3rem;font-weight:600;line-height:1.2;margin:0;color:#faf9f5}.login-form{display:flex;flex-direction:column;gap:1rem;background-color:transparent;padding:2rem;border-radius:16px;border:1px solid var(--border)}.login-error{padding:.75rem 1rem;background-color:var(--color-danger-bg);border:1px solid var(--color-danger-border);border-radius:8px;color:var(--color-danger);font-size:.875rem;text-align:center}.login-input{padding:.875rem 1rem;background-color:var(--bg-dark);border:1px solid var(--border);border-radius:8px;color:var(--text-light);font-size:.95rem;transition:all .2s ease;width:100%}.login-input::placeholder{color:var(--text-light-xx)}.login-input:focus{outline:none;border-color:var(--button-bg-primary);background-color:var(--bg-dark-l)}.login-input:disabled{opacity:.5;cursor:not-allowed}.password-input-container{position:relative;width:100%}.password-input-container .login-input{padding-right:3rem}.password-toggle-btn{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-light-xx);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.password-toggle-btn:hover{color:var(--text-light)}.password-toggle-btn:focus{outline:none;color:var(--button-bg-primary)}.login-button{padding:.875rem 1rem;background-color:var(--button-bg-primary);color:var(--button-text-primary);border:none;border-radius:999px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:.5rem}.login-button:hover{background-color:var(--button-bg-primary-hover);transform:translateY(-1px)}.login-button:active{transform:translateY(0)}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-divider{text-align:center;color:var(--text-light-xx);font-size:.85rem;letter-spacing:.04em}.login-google-btn{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;padding:.875rem 1rem;background:transparent;border:1px solid var(--border);border-radius:999px;color:var(--text-light);font-size:.95rem;font-weight:500;font-family:inherit;cursor:pointer;transition:border-color .2s ease,background-color .2s ease}.login-google-btn:hover{border-color:var(--border-hover);background-color:var(--bg-dark-l)}.login-google-btn:disabled{opacity:.6;cursor:not-allowed}.login-google-icon{width:18px;height:18px}.login-right{display:flex;align-items:center;justify-content:center;height:100%;max-height:calc(100vh - 180px)}@media(max-width:1200px){.login-content{padding:2rem 2.5rem;gap:2rem}.login-title{font-size:2.5rem}.login-left{gap:2rem}}@media(max-width:1024px){.login-page{height:auto;min-height:100vh;overflow-y:auto}.login-content{grid-template-columns:1fr;padding:2rem;gap:2.5rem;max-width:100%;box-sizing:border-box}.login-left{max-width:500px;width:95%;margin:0 auto;box-sizing:border-box}.login-title{font-size:2.5rem;text-align:center}.login-right{max-height:500px;width:95%;max-width:600px;margin:0 auto;box-sizing:border-box}}@media(max-width:640px){.login-header{padding:1rem}.logo{height:28px}.login-content{padding:1rem;gap:1.5rem;max-width:100%;box-sizing:border-box}.login-title{font-size:1.75rem;max-width:95%;margin:0 auto;word-wrap:break-word}.login-form{padding:1.25rem;width:95%;min-width:200px;max-width:95%;margin:0 auto;box-sizing:border-box}.login-left{gap:1.5rem;width:95%;min-width:200px;max-width:95%;margin:0 auto;align-items:center;box-sizing:border-box}.login-right{max-height:400px;width:95%;min-width:200px;max-width:95%;margin:0 auto;box-sizing:border-box}.login-input,.login-button{font-size:.9rem;box-sizing:border-box}}.login-footer{flex-shrink:0;padding:.4rem 2.5rem;line-height:1;text-align:center}.login-footer a{color:#999;font-size:.75rem;font-weight:300;text-decoration:none}.login-footer a:hover{color:#faf9f5;text-decoration:underline}.login-footer-sep{color:#666;margin:0 .6rem;font-size:.75rem}.login-footer-copy{color:#999;font-size:.75rem;font-weight:300}.animated-chat{width:100%;max-width:550px;height:100%;max-height:550px;background-color:#1a1a1a;border-radius:16px;padding:.75rem;overflow:hidden;box-shadow:0 8px 32px #0006;border:1px solid rgba(255,255,255,.05);font-family:var(--font-sans);box-sizing:border-box}.animated-chat-messages{display:flex;flex-direction:column;gap:.875rem;height:100%;overflow-y:auto;pointer-events:none}.animated-chat-messages::-webkit-scrollbar{display:none}.animated-chat-messages{-ms-overflow-style:none;scrollbar-width:none}.message{display:flex;align-items:flex-start;gap:.75rem;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animated-chat .message-content{padding:.875rem 1rem;border-radius:12px;max-width:85%;word-wrap:break-word;font-size:.875rem;line-height:1.6;white-space:pre-wrap;font-family:var(--font-sans)}.ai-icon{flex-shrink:0;width:32px;height:32px;border-radius:50%;background-color:#fed060;margin-top:.25rem;overflow:hidden;display:inline-flex;align-items:center;justify-content:center}.ai-icon img{width:100%;height:100%;object-fit:cover;transform:translateY(1px) scale(1.15)}.ai-message{justify-content:flex-start}.ai-message .message-content{background-color:#2a2a2a;color:#faf9f5;border:1px solid rgba(255,255,255,.1)}.student-message{justify-content:flex-end}.student-message .message-content{background-color:#4b8aff;color:#faf9f5}.animated-chat .message-content .code-block{background-color:#0006;border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:.75rem .875rem;margin:.5rem 0;overflow-x:auto;font-family:JetBrains Mono,Fira Code,Consolas,Monaco,monospace;font-size:.8rem;line-height:1.6}.animated-chat .message-content .code-block code{color:#e8e8e8;background:none;padding:0;font-family:inherit}.animated-chat .message-content .inline-code{background-color:#4b8aff33;border:1px solid rgba(75,138,255,.3);border-radius:4px;padding:.2rem .4rem;font-family:JetBrains Mono,Fira Code,Consolas,Monaco,monospace;font-size:.85em;color:#4b8aff;font-weight:500}.animated-chat .ai-message .inline-code{color:#fed060;background-color:#fed06026;border-color:#fed0604d}.animated-chat .message-content strong{font-weight:var(--weight-bold);color:inherit}.typing-indicator{padding:0}.typing-dots{display:flex;gap:6px;align-items:center;background-color:#2a2a2a;border:1px solid rgba(255,255,255,.1);padding:.875rem 1rem;border-radius:12px}.typing-dots span{width:8px;height:8px;background-color:#fed060;border-radius:50%;animation:typingBounce 1.4s infinite ease-in-out}.typing-dots span:nth-child(1){animation-delay:0s}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.7}30%{transform:translateY(-10px);opacity:1}}@media(max-width:1024px){.animated-chat{max-height:450px}}@media(max-width:640px){.animated-chat{padding:.875rem;max-height:400px;width:100%;min-width:200px;box-sizing:border-box}.message{gap:.5rem}.ai-icon{width:28px;height:28px;font-size:.65rem}.message-content{font-size:.8rem;max-width:90%;padding:.75rem .875rem;box-sizing:border-box}.animated-chat-messages{gap:.75rem}.message-content .code-block{font-size:.7rem;padding:.6rem;box-sizing:border-box}.message-content .inline-code{font-size:.75em;padding:.1rem .3rem}}:root{--text-light: hsl(0, 0%, 95%);--text-light-x: hsl(0, 0%, 70%);--text-light-xx: hsl(0, 0%, 50%);--text-light-xxx: hsl(180, 50%, 45%);--text-dark: hsl(0, 0%, 5%);--bg-dark: hsl(0, 0%, 10%);--bg-dark-l: hsl(0, 0%, 18%);--bg-dark-xl: hsl(0, 0%, 25%);--bg: hsl(0, 0%, 15%);--card-bg: hsl(0, 0%, 15%);--card-hover-bg: hsl(0, 0%, 20%);--bg-light: hsl(0, 0%, 92%);--button-bg: hsl(0, 0%, 10%);--button-bg-hover: hsl(0, 0%, 13%);--button-bg-primary: hsl(229, 100%, 66%);--button-bg-primary-hover: hsl(229, 100%, 63%);--button-text-primary: hsl(0, 0%, 95%);--color-completed: hsl(116, 45%, 45%);--color-in-progress: hsl(229, 100%, 70%);--color-not-covered: hsl(0, 0%, 30%);--color-warn: hsl(45, 96%, 56%);--color-warn-bg: hsla(38, 92%, 50%, .15);--color-warn-bg-strong: hsla(45, 96%, 50%, .22);--color-warn-border: hsla(38, 92%, 50%, .3);--color-danger: hsl(0, 84%, 60%);--color-danger-hover: hsl(0, 73%, 51%);--color-danger-bg: hsla(0, 84%, 60%, .1);--color-danger-border: hsla(0, 84%, 60%, .35);--color-xp: hsl(47, 90%, 60%);--color-rank-gold: hsl(47, 100%, 60%);--color-rank-gold-grad-end: hsl(47, 50%, 30%);--color-rank-silver: hsl(0, 0%, 90%);--color-rank-silver-grad-end: hsl(0, 0%, 30%);--color-rank-bronze: hsl(21, 70%, 55%);--color-rank-bronze-grad-end: hsl(21, 40%, 30%);--border: hsl(0, 0%, 25%);--border-hover: hsl(0, 0%, 40%);--border-chip-active: hsl(0, 0%, 50%);--backdrop-color: hsla(0, 0%, 0%, .55);--backdrop-blur: 3px;--scrollbar-width: 10px;--scrollbar-thumb: hsl(0, 0%, 28%);--scrollbar-thumb-hover: hsl(0, 0%, 38%);--scrollbar-track: transparent;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-7: 1.75rem;--space-10: 2.5rem;--space-15: 3.75rem;--space-25: 6.25rem;--space-40: 10rem;--space-60: 15rem}[data-theme=light]{--text-light: hsl(0, 0%, 5%);--text-light-x: hsl(0, 0%, 30%);--text-light-xx: hsl(0, 0%, 45%);--text-light-xxx: hsl(180, 50%, 35%);--text-dark: hsl(0, 0%, 95%);--bg-dark: hsl(0, 0%, 96%);--bg-dark-l: hsl(0, 0%, 88%);--bg: hsl(0, 0%, 92%);--bg-light: hsl(0, 0%, 15%);--button-bg-primary: hsl(240, 100%, 70%);--button-bg-primary-hover: hsl(240, 100%, 63%);--color-completed: hsl(47, 100%, 32%);--color-in-progress: hsl(194, 100%, 32%);--color-not-covered: hsl(0, 0%, 78%);--border: hsl(0, 0%, 72%)}:root{--weight-thin: 100;--weight-extralight: 200;--weight-light: 300;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--ts-xs: .75rem;--ts-sm: .875rem;--ts-base: 1rem;--ts-md: 1.125rem;--ts-lg: 1.25rem;--ts-xl: 1.5rem;--ts-2xl: 2.25rem;--ts-3xl: 3rem;--ts-4xl: 4rem}:root{--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica", "Arial", sans-serif;--text-xs: 11px;--text-sm: 12px;--text-base: 13px;--text-md: 14px;--text-lg: 15px;--text-xl: 16px;--text-2xl: 18px;--text-3xl: 20px;--text-4xl: 24px;--text-5xl: 36px;font-family:var(--font-sans);line-height:1.5;font-weight:var(--weight-normal);color-scheme:dark;color:#faf9f5;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(max-width:768px){:root{--text-lg: 14px;--text-xl: 14px;--text-2xl: 16px;--text-3xl: 18px;--text-4xl: 20px;--text-5xl: 26px}}@media(max-width:480px){:root{--text-5xl: 22px}}.page-loader-spin{animation:page-loader-spin .8s linear infinite}@keyframes page-loader-spin{to{transform:rotate(360deg)}}#root{width:100%;height:100vh;overflow:hidden}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:block;min-width:320px;min-height:100vh;width:100%;overflow:hidden;font-family:var(--font-sans)}input,textarea,select{font-family:inherit}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:focus,button:focus-visible{outline:none;border-color:transparent;box-shadow:none}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{margin:0;padding:0;box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg);color:#faf9f5}.app-container{display:flex;flex-direction:row;height:100vh;height:100dvh;width:100%;overflow:hidden}.main-content{flex:1 1 auto;width:100%;display:flex;flex-direction:column;align-items:stretch;background-color:var(--bg);height:100vh;height:100dvh;overflow:hidden;min-width:0;box-sizing:border-box;position:relative}.mute-button{background-color:transparent;border:1px solid #2A2A2A;color:#faf9f5;width:36px;height:36px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0;flex-shrink:0}.mute-button:hover{background-color:#242424;border-color:#3a3a3a}.mute-button svg{width:18px;height:18px}.subtopic-section{flex-shrink:0;align-self:stretch;background-color:var(--bg);border-bottom:none;padding:16px 24px;width:100%;box-sizing:border-box;transition:background-color .3s ease-out}.subtopic-section--streak-pulse{background-color:#f2590d40}.subtopic-section--freeze-pulse{background-color:#25c0f440}.subtopic-controls-container{display:flex;align-items:center;gap:16px;width:100%}.topic-name-display{font-size:var(--ts-sm);font-weight:var(--weight-medium);color:var(--text-light-x);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:250px;flex-shrink:1}.subtopic-count-wrapper{position:relative;flex-shrink:0}.subtopic-count-button{display:flex;align-items:center;gap:6px;background-color:transparent;border:1px solid var(--border);color:var(--text-light-xx);padding:8px 12px;border-radius:6px;cursor:pointer;font-size:var(--ts-sm);font-weight:var(--weight-normal);transition:all .2s ease}.subtopic-count-button:focus,.subtopic-count-button:focus-visible{outline:none}.subtopic-count-button:hover{background-color:#1d1d1d;border-color:#3a3a3a}.dropdown-chevron-inline{transition:transform .2s ease}.dropdown-chevron-inline.chevron-open{transform:rotate(180deg)}.subtopic-dropdown-overlay{position:absolute;top:calc(100% + 8px);left:0;z-index:1000;min-width:300px}.header-secondary-row{display:contents}.topic-progress-inline-header{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.topic-progress-inline-header .topic-progress-track{flex:1;height:4px;background-color:var(--color-not-covered);border-radius:2px;overflow:hidden}.topic-progress-inline-header .topic-progress-fill{height:100%;background:var(--color-completed);border-radius:2px;transition:width .3s ease}.topic-progress-inline-header .topic-progress-count{color:#888;font-size:var(--ts-sm);font-weight:var(--weight-light);white-space:nowrap;flex-shrink:0}.hamburger-button{display:none;background-color:transparent;border:none;color:#faf9f5;width:36px;height:36px;cursor:pointer;padding:0;flex-shrink:0}.hamburger-button svg{width:24px;height:24px}.hamburger-button:hover{opacity:.8}.chat-container{flex:1;align-self:stretch;overflow-y:auto;overflow-x:hidden;padding:24px;background-color:var(--bg);min-width:0;width:100%;box-sizing:border-box}.chat-messages{width:100%;min-width:0;overflow-wrap:break-word;word-wrap:break-word;padding-bottom:56px}.chat-container::-webkit-scrollbar{width:8px}.chat-container::-webkit-scrollbar-track{background:#1a1a1a}.chat-container::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:4px}.chat-container::-webkit-scrollbar-thumb:hover{background:#3a3a3a}.empty-state{text-align:center;padding:60px 20px;color:#6a6a6a}.empty-state h2{font-size:var(--text-4xl);font-weight:var(--weight-semibold);color:#faf9f5;margin-bottom:12px}.empty-state-avatar{width:90px;height:90px;border-radius:50%;overflow:hidden;margin:0 auto 20px;background-color:transparent;border:none}.empty-state-avatar img{width:100%;height:100%;display:block;object-fit:cover;transform:translateY(2px) scale(1.15);transform-origin:center}.empty-state p{font-size:var(--text-lg);color:#8a8a8a;max-width:500px;margin:0 auto}.colab-float-wrapper{position:absolute;bottom:100px;right:32px;display:flex;flex-direction:column;align-items:flex-end;gap:10px;transition:bottom .2s ease}.has-usage-banner .colab-float-wrapper{bottom:140px}.has-two-banners .colab-float-wrapper{bottom:178px}.colab-float-btn{position:relative;display:flex;align-items:center;padding:8px;background-color:#242322;border:1px solid #2A2A2A;border-radius:10px;text-decoration:none;cursor:pointer;transition:background-color .2s ease,border-color .2s ease;z-index:10}.colab-float-btn:hover{background-color:#2c2b29;border-color:#3a3a3a}.colab-float-btn:after{content:"Open Colab";position:absolute;bottom:calc(100% + 8px);right:0;background-color:#1a1a1a;color:#faf9f5;font-size:var(--text-sm);font-weight:var(--weight-medium);padding:4px 10px;border-radius:6px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s ease}.colab-float-btn:hover:after{opacity:1}.colab-float-btn.panel-open:after{display:none}.colab-float-icon{width:48px;height:auto;flex-shrink:0;display:block}.input-area{flex-shrink:0;align-self:stretch;background-color:var(--bg);border-top:none;padding:var(--space-1) 24px 20px;width:100%;box-sizing:border-box}.input-container{max-width:900px;margin:0 auto;display:flex;gap:10px;align-items:flex-end;background-color:#2d2d2d;border-radius:28px;padding:8px 8px 8px 20px;border:none;transition:background-color .2s ease;box-sizing:border-box}.input-container:focus-within{background-color:#333}.chat-input{flex:1;background-color:transparent;border:none;color:#faf9f5;font-size:var(--text-lg);font-family:inherit;resize:none;outline:none;max-height:150px;min-height:24px;overflow-y:auto;line-height:24px;padding:8px 0;align-self:center}.chat-input::placeholder{color:#6a6a6a}.chat-input:disabled{opacity:.5;cursor:not-allowed}.chat-input::-webkit-scrollbar{width:6px}.chat-input::-webkit-scrollbar-track{background:transparent}.chat-input::-webkit-scrollbar-thumb{background:#4a4a4a;border-radius:3px}.send-button{background-color:var(--button-bg-primary);border:none;padding:0;color:var(--button-text-primary);width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0;align-self:flex-end;position:relative}.send-button.is-streaming,.send-button.is-streaming:hover:not(:disabled){background-color:var(--bg-dark-l);color:#fff}.send-button.is-streaming:focus,.send-button.is-streaming:focus-visible{outline:none;box-shadow:none}.send-button.is-streaming:before{content:"";position:absolute;inset:-2px;border-radius:50%;padding:2px;background:conic-gradient(from 0deg,var(--button-bg-primary, hsl(229, 100%, 66%)) 0deg,var(--button-bg-primary, hsl(229, 100%, 66%)) 90deg,transparent 180deg,transparent 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:send-button-spin 1.2s linear infinite;pointer-events:none}@keyframes send-button-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.send-button[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background-color:var(--bg-dark-l);color:var(--text-light);font-size:var(--ts-xs);font-weight:var(--weight-normal);padding:4px 8px;border-radius:6px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s ease;z-index:10}.send-button[data-tooltip]:hover:not(:disabled):after{opacity:1}.send-button:hover:not(:disabled){background-color:var(--button-bg-primary-hover)}.send-button:active:not(:disabled){transform:scale(.95)}.send-button:disabled{background-color:#3a3a3a;color:#6a6a6a;cursor:not-allowed;opacity:.6}.send-button svg{width:20px;height:20px}.input-hint{width:100%;margin:8px 0 0;font-size:var(--text-sm);color:#6a6a6a;text-align:center}@media(max-width:768px){.hamburger-button{display:flex;align-items:center;justify-content:center}.subtopic-section{padding:12px 16px}.subtopic-controls-container{flex-wrap:wrap;gap:10px}.topic-name-display{flex:1;max-width:none}.header-secondary-row{display:flex;align-items:center;gap:10px;width:100%;order:10;padding-left:46px;margin-top:2px}.subtopic-count-button{padding:6px 10px}.topic-progress-inline-header .topic-progress-track{height:6px}.topic-progress-inline-header .topic-progress-count{font-size:10px}.mute-button{width:32px;height:32px}.mute-button svg{width:16px;height:16px}.chat-container{padding:16px 8px}.chat-messages{padding:0 4px}.input-area{padding:16px}.input-container{padding:6px 6px 6px 16px;border-radius:24px}.chat-input{font-size:16px;padding:6px 0}.send-button{width:36px;height:36px}.send-button svg{width:18px;height:18px}.empty-state{padding:40px 16px}}@keyframes wave{0%{transform:rotate(0)}15%{transform:rotate(18deg)}30%{transform:rotate(-10deg)}45%{transform:rotate(16deg)}60%{transform:rotate(-8deg)}75%{transform:rotate(12deg)}to{transform:rotate(0)}}.wave{display:inline-block;transform-origin:70% 70%;animation:wave 2s ease-in-out .3s 2;font-style:normal}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.loading-history{text-align:center;padding:16px;color:#f9fafb80;font-size:var(--text-md)}.dataset-float-btn{display:flex;align-items:center;gap:8px;padding:8px 12px;background-color:#242322;border:1px solid #2A2A2A;border-radius:10px;cursor:pointer;transition:background-color .2s ease,border-color .2s ease;outline:none;font-family:inherit}.dataset-float-btn:hover{background-color:#2c2b29;border-color:#3a3a3a}.dataset-float-btn:focus,.dataset-float-btn:focus-visible{outline:none;border-color:#2a2a2a}.dataset-float-btn.collapsed{padding:8px}.dataset-float-icon{display:flex;align-items:center;color:#fed060b3}.dataset-float-label{color:#faf9f5;font-size:var(--text-sm);white-space:nowrap}.dataset-float-dl-icon{color:#f9fafb66;flex-shrink:0}.summary-container{flex-shrink:0;margin:12px 20px 0;background:#242322;border:.5px solid rgba(250,249,245,.2);border-radius:12px;overflow:hidden;box-shadow:0 2px 16px #00000059}.summary-header{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s;border-radius:12px}.summary-header:hover{background:#ffffff0a}.summary-title{font-family:inherit;font-size:var(--text-base);font-weight:var(--weight-normal);color:#faf9f5;letter-spacing:.4px;flex:1}.summary-meta{font-size:var(--text-sm);color:#f9fafb59}.summary-toggle{font-size:var(--text-xs);color:#fed060b3}.summary-content{font-family:inherit;padding:12px 14px 14px;font-size:var(--text-md);line-height:1.6;color:#f9fafbbf;border-top:1px solid #2e2e2e;white-space:pre-wrap}
