.base-chatbot{transition:grid-template-columns var(--chatbot-transition-duration)cubic-bezier(.19,1,.22,1);grid-template-rows:100vh;grid-template-columns:1fr 0;width:100%;height:100vh;display:grid;position:relative;overflow:hidden}.base-chatbot.base-chatbot--resizing,.base-chatbot.base-chatbot--resizing .base-chatbot__container>*{transition:none}.base-chatbot__container{grid-column:1;width:100%;min-width:0;position:relative;overflow-x:hidden;overflow-y:auto}.base-chatbot__container>*{transition:width var(--chatbot-transition-duration)cubic-bezier(.19,1,.22,1);width:100%}.base-chatbot__chatbot{width:var(--chatbot-width);max-width:var(--chatbot-width);background-color:var(--chatbot-background);color:var(--chatbot-text-color);box-shadow:var(--chatbot-box-shadow);opacity:0;transition:transform var(--chatbot-transition-duration)cubic-bezier(.19,1,.22,1),opacity var(--chatbot-transition-duration)cubic-bezier(.19,1,.22,1),width 0s;will-change:transform,opacity;z-index:100;flex-direction:column;grid-column:2;min-width:0;height:100%;display:flex;position:relative;overflow:hidden;transform:translate(100%)}.base-chatbot__chatbot>*{flex-direction:column;height:100%;display:flex}.base-chatbot__chatbot>* .chatbot__content{flex-direction:column;flex:1;display:flex;overflow:hidden}.base-chatbot__chatbot>* .chatbot__content .chat-messages{flex:1;overflow-y:auto}.base-chatbot__chatbot>* .chatbot__content .chatbot__input-container{flex-shrink:0;margin-top:auto}.base-chatbot__button-container{z-index:101;bottom:var(--chatbot-button-bottom);right:var(--chatbot-button-right);opacity:1;transition:opacity .3s ease-in-out,right var(--chatbot-transition-duration)cubic-bezier(.19,1,.22,1);position:fixed}.base-chatbot__button-container--hidden{opacity:0;pointer-events:none}.base-chatbot--enabled{grid-template-columns:1fr var(--chatbot-width)}.base-chatbot--enabled .base-chatbot__chatbot{opacity:1;transform:translate(0)}.base-chatbot--enabled .base-chatbot__button-container:not(.base-chatbot__button-container--hidden){right:calc(var(--chatbot-width) + var(--chatbot-button-right))}.base-chatbot.chatbot-closing{grid-template-columns:1fr 0}.base-chatbot.chatbot-closing .base-chatbot__chatbot{opacity:0;transform:translate(100%)}.base-chatbot.chatbot-closing .base-chatbot__button-container:not(.base-chatbot__button-container--hidden){right:var(--chatbot-button-right)}.base-chatbot__chatbot:focus-within{outline:none}.base-chatbot__chatbot{contain:layout style}.base-chatbot--enabled{--chatbot-is-open:1}.base-chatbot__resize-overlay{z-index:9999;cursor:col-resize;-webkit-user-select:none;user-select:none;background-color:transparent;position:fixed;top:0;bottom:0;left:0;right:0}.chat-header-container{background-color:#fff}.chat-header{--chat-header-height:64px;--chat-header-padding:var(--ui-space-xs);--chat-header-divider-height:30px;height:var(--chat-header-height);padding:0 var(--chat-header-padding);border-bottom:var(--ui-stroke-1)solid var(--ui-color-neutral-grey-200);background-color:#fff;justify-content:space-between;align-items:center;display:flex;position:relative}.chat-header__left,.chat-header__right{align-items:center;gap:var(--ui-space-xs);flex:none;display:flex}.chat-header__left{justify-content:flex-start}.chat-header__center{flex:auto;justify-content:center;align-items:center;display:flex}.chat-header__right{justify-content:flex-end}.chat-header__close-button.chat-button--icon-only.chat-button--small{padding:var(--ui-space-xxxs)var(--ui-space-xs)}.chat-header__divider{width:var(--ui-stroke-1);height:var(--chat-header-divider-height);background-color:var(--ui-color-neutral-grey-200)}.status-modal__content{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:24px;display:flex}.status-modal__icon{justify-content:center;align-items:center;width:48px;height:56px;display:flex}.status-modal__bot-icon{background-image:var(--tangerine-ai-bot-happy);background-position:50%;background-repeat:no-repeat;background-size:cover;width:48px;height:56px}.status-modal__bot-icon--error{background-image:var(--tangerine-ai-bot-sad)}.status-modal__text{flex-direction:column;gap:8px;display:flex}.status-modal__title{font-family:var(--font-first);margin:0;font-size:22px;font-weight:600;line-height:32px}.status-modal__title--success{color:#333}.status-modal__message{font-family:var(--font-second);color:#4e4e4e;margin:0;font-size:16px;font-weight:600;line-height:24px}.chat-mermaid-card{cursor:pointer;background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin:8px 0;transition:all .2s}.chat-mermaid-card:hover{transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.1)}.chat-mermaid-card--error{color:#e04949;box-shadow:none;cursor:default;background:#fef0ef;border-color:#e04949;padding:8px}.chat-mermaid-card--error:hover{box-shadow:none;border-color:#e04949;transform:none}.chat-mermaid-card__preview{padding:8px;overflow:hidden}.chat-mermaid-card__preview .diagram-mermaid,.chat-mermaid-card__preview .diagram-mermaid *{pointer-events:none;-webkit-user-select:none;user-select:none}.chat-mermaid-card__footer{background-color:#f2f2f2;border-top:1px solid #e0e0e0;border-radius:0 0 8px 8px;padding:16px}.chat-mermaid-card__footer__content{justify-content:space-between;align-items:center;gap:8px;display:flex}.chat-mermaid-card__footer__title{color:#333;align-items:center;gap:4px;font-size:16px;font-weight:600;display:flex}.chat-mermaid-card__footer .icon{color:#333}.chat-checkbox{font-size:14px;display:block}.chat-checkbox__label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:8px;display:flex}.chat-checkbox__input-wrapper{flex-shrink:0;margin-top:2px;position:relative}.chat-checkbox__input{opacity:0;width:0;height:0;position:absolute}.chat-checkbox__custom{background-color:#fff;border:2px solid #e0e0e0;border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;transition:all .2s;display:flex;position:relative}.chat-checkbox__custom:after{content:"";opacity:0;border-radius:4px;transition:opacity .2s;position:absolute;top:-2px;bottom:-2px;left:-2px;right:-2px}.chat-checkbox__checkmark{opacity:0;font-size:12px;transition:all .2s;transform:scale(.8)}.chat-checkbox__content{flex-direction:column;flex:1;gap:4px;display:flex}.chat-checkbox__text{font-family:var(--font-second);color:#333;font-size:14px;font-weight:600;line-height:1.6}.chat-checkbox__description{color:#767676;font-size:12px;line-height:1.4}.chat-checkbox__label:hover .chat-checkbox__custom{border-color:var(--color-first);background-color:var(--color-first-alpha)}.chat-checkbox__input:checked+.chat-checkbox__custom{background-color:var(--color-first);border-color:var(--color-first)}.chat-checkbox__input:checked+.chat-checkbox__custom .chat-checkbox__checkmark{opacity:1;transform:scale(1)}.chat-checkbox__label:active .chat-checkbox__custom{background-color:var(--color-first);border-color:var(--color-first);transform:scale(.95)}.chat-checkbox__label:active .chat-checkbox__custom:after{opacity:.2;background-color:var(--color-first)}.chat-checkbox__input:focus-visible+.chat-checkbox__custom{outline:2px solid var(--color-first);outline-offset:2px}.chat-checkbox--disabled .chat-checkbox__label{cursor:not-allowed}.chat-checkbox--disabled .chat-checkbox__custom{opacity:.5;background-color:#f2f2f2;border-color:#e0e0e0}.chat-checkbox--disabled .chat-checkbox__text,.chat-checkbox--disabled .chat-checkbox__description{opacity:.5}.chat-checkbox--disabled .chat-checkbox__label:hover .chat-checkbox__custom{background-color:#f2f2f2;border-color:#e0e0e0}.chat-checkbox--position-right .chat-checkbox__label{flex-direction:row-reverse;justify-content:space-between}.chat-checkbox--position-right .chat-checkbox__input-wrapper{margin-top:0}.chat-checkbox--position-right .chat-checkbox__content{flex:1}.exit-practice-dialog{--exit-practice-dialog-mascot-width:5rem;--exit-practice-dialog-mascot-height:5.875rem}.exit-practice-dialog .footer-buttons .button--variant-secondary-ghost{--button-color:var(--ui-color-brand-fod-primary-a)}.exit-practice-dialog .MuiDialogContent-root{border-top:1px solid var(--ui-color-neutral-grey-200);border-bottom:1px solid var(--ui-color-neutral-grey-200)}.exit-practice-dialog__content{align-items:center;gap:var(--ui-space-xs);display:flex}.exit-practice-dialog__mascot{width:var(--exit-practice-dialog-mascot-width);height:var(--exit-practice-dialog-mascot-height);background-image:var(--tangerine-ai-bot-look-up);background-position:50%;background-repeat:no-repeat;background-size:contain;flex-shrink:0}.exit-practice-dialog__body{font-family:var(--ui-font-family-body);font-size:var(--ui-font-size-16);font-weight:var(--ui-font-weight-medium);line-height:var(--ui-line-height-24);color:var(--ui-color-neutral-grey-900);flex:1;min-width:0;margin:0}.feedback-modal__content{--feedback-modal-content-gap:var(--ui-space-md);gap:var(--feedback-modal-content-gap);flex-direction:column;display:flex}.feedback-modal__subtitle{font-family:var(--ui-font-family-body);font-size:var(--ui-font-size-16);font-weight:var(--ui-font-weight-regular);line-height:var(--ui-line-height-24);color:var(--ui-color-text-secondary);margin:0}.feedback-modal__field{gap:var(--ui-space-xxs);flex-direction:column;display:flex}.sidebar-feedback{--sidebar-feedback-gap:var(--ui-space-xs);gap:var(--sidebar-feedback-gap);flex-direction:column;display:flex}.sidebar-feedback__prompt{font-family:var(--ui-font-family-body);font-size:var(--ui-font-size-12);font-weight:var(--ui-font-weight-regular);line-height:var(--ui-line-height-18);color:var(--ui-color-text-secondary);margin:0}.sidebar-feedback--collapsed{align-items:center}.teacher-ai-analytics-panel__header{justify-content:space-between;align-items:center;padding-bottom:16px;display:flex}.teacher-ai-analytics-panel__header-titles{flex-direction:column;gap:4px;display:flex}.teacher-ai-analytics-panel__title{font-family:var(--font-first);color:#333;margin:0;font-size:26px;font-weight:700;line-height:40px}.teacher-ai-analytics-panel__subtitle{font-family:var(--font-second);color:#4e4e4e;margin:0;font-size:16px;font-weight:600;line-height:24px}.teacher-ai-analytics-panel__header-filters{align-items:center;gap:16px;display:flex}.teacher-ai-analytics-panel__filter{min-width:200px}.teacher-ai-analytics-panel__content{flex-direction:column;gap:24px;display:flex}.teacher-ai-analytics-panel__content-tabs{border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;padding:16px 4px}.unit-metrics-card{align-items:flex-start;gap:24px;width:100%;padding:8px 0;display:flex}.unit-metrics-card__info{flex-direction:column;flex:1;gap:8px;display:flex}.unit-metrics-card__title,.unit-metrics-card__title .text-html *{font-size:18px;font-weight:600;font-family:var(--font-first);color:#4e4e4e;margin:0;line-height:28px}.unit-metrics-card__recommendation-tag{background-color:#fff0f0;border-radius:8px;align-self:flex-start;align-items:center;gap:8px;padding:4px 8px;display:inline-flex}.unit-metrics-card__recommendation-tag--all-good{background-color:#eefaf4}.unit-metrics-card__recommendation-tag--all-good .unit-metrics-card__recommendation-icon,.unit-metrics-card__recommendation-tag--all-good .unit-metrics-card__recommendation-text,.unit-metrics-card__recommendation-tag--all-good .icon{color:#135f3e}.unit-metrics-card__recommendation-icon{color:#ba1f33;font-size:20px}.unit-metrics-card__recommendation-text{font-size:16px;font-weight:500;font-family:var(--font-second);color:#ba1f33;line-height:24px}.unit-metrics-card__progress{flex:4;min-width:0}.teacher-analytics-view__loading{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:400px;display:flex}.teacher-analytics-view__loading p{color:#767676;font-size:14px}.teacher-analytics-view__error{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:400px;display:flex}.teacher-analytics-view__error p{color:#dc3545;max-width:500px;font-size:14px}.teacher-analytics-view__header-container{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.teacher-analytics-view__header-container .teacher-analytics-view__class-selector{min-width:200px;max-width:300px;margin-left:auto}.teacher-analytics-view__subject-selector{min-width:200px;max-width:300px}.teacher-analytics-view__units-grid{flex-direction:column;gap:16px;width:100%;display:flex}.teacher-analytics-view__sections-container{flex-direction:column;gap:16px;display:flex}.teacher-analytics-view__section-separator{border-bottom:1px solid #eee4dc;margin:16px 0}.teacher-analytics-view__recommendations{gap:var(--spacing-lg);flex-direction:column;width:100%;display:flex}.teacher-analytics-view__section{display:block}.teacher-analytics-view__section-title{color:#333;font-size:22px;font-weight:700;font-family:var(--font-first);margin:0 0 24px}.teacher-analytics-view__legend{justify-content:flex-end;gap:24px;margin-top:16px;display:flex}.teacher-analytics-view__legend-item{align-items:center;gap:8px;display:flex}.teacher-analytics-view__legend-color{border-radius:4px;flex-shrink:0;width:16px;height:16px}.teacher-analytics-view__legend-color--mastered{background-color:#0095a2}.teacher-analytics-view__legend-color--in-progress{background-color:#00b4c5}.teacher-analytics-view__legend-color--not-started{background-color:#d4fbff}.teacher-analytics-view__legend-text{font-size:14px;font-weight:500;font-family:var(--font-second);color:#4e4e4e;line-height:1}.empty-state{padding:var(--ui-space-xs)var(--ui-space-lg);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state__icon{border-radius:var(--ui-radius-xxl);margin-bottom:var(--ui-space-md);justify-content:center;align-items:center;width:36px;height:28px;display:flex}.empty-state__icon--success{background-color:var(--ui-color-comp-green-200)}.empty-state__icon--success .icon--color-default{color:var(--ui-color-comp-green-700)}.empty-state__icon--warning{background-color:var(--ui-color-yellow-100)}.empty-state__icon--warning .icon--color-default{color:var(--ui-color-orange-400)}.empty-state__icon--muted{background-color:var(--ui-color-neutral-grey-200)}.empty-state__icon--muted .icon--color-default{color:var(--ui-color-neutral-grey-600)}.empty-state__icon--info{background-color:var(--ui-color-comp-blue-100)}.empty-state__icon--info .icon--color-default{color:var(--ui-color-blue-600)}.empty-state__icon--error{background-color:var(--ui-color-orange-100)}.empty-state__icon--error .icon--color-default{color:var(--ui-color-orange-800)}.empty-state__icon--neutral{background-color:var(--ui-color-orange-200)}.empty-state__icon--neutral .icon--color-default{color:var(--ui-color-orange-800)}.empty-state__icon--strengths{background-color:var(--ui-color-darkgreen-200)}.empty-state__icon--strengths .icon--color-default{color:var(--ui-color-darkgreen-800)}.empty-state__title{font-family:var(--ui-font-family-heading);font-size:var(--ui-font-size-16);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-neutral-grey-700);margin:0 0 var(--ui-space-xs);line-height:var(--ui-line-height-24)}.empty-state__description{font-family:var(--ui-font-family-body);font-size:var(--ui-font-size-16);color:var(--ui-color-neutral-grey-700);margin:0}.vertical-kc-timeline{--timeline-marker-width:16px;--timeline-dot-size:12px;--timeline-line-width:1px;background-color:#f9f9f9;border-radius:8px;flex-direction:column;gap:16px;margin:0;padding:8px;list-style:none;display:flex}.vertical-kc-timeline__item{grid-template-columns:auto var(--timeline-marker-width)1fr;min-height:var(--timeline-dot-size);align-items:center;gap:8px;display:grid;position:relative}.vertical-kc-timeline__date{text-align:right;font-family:var(--font-second);color:#4e4e4e;flex-direction:column;align-items:flex-end;min-width:111px;font-size:12px;line-height:18px;display:flex}.vertical-kc-timeline__item--last .vertical-kc-timeline__date{font-family:var(--font-second-bold)}.vertical-kc-timeline__marker{width:var(--timeline-marker-width);justify-content:center;align-self:stretch;align-items:center;height:100%;display:flex;position:relative}.vertical-kc-timeline__marker:after{content:"";width:var(--timeline-line-width);background-color:#8e0d8e;height:50%;position:absolute;top:50%;left:50%;transform:translate(-50%)}.vertical-kc-timeline__item:not(.vertical-kc-timeline__item--last) .vertical-kc-timeline__marker:after{height:calc(100% + 16px)}.vertical-kc-timeline__item:first-child .vertical-kc-timeline__marker:before{content:"";width:var(--timeline-line-width);background-color:#8e0d8e;height:50%;position:absolute;top:0;left:50%;transform:translate(-50%)}.vertical-kc-timeline__dot{width:var(--timeline-dot-size);height:var(--timeline-dot-size);z-index:1;background-color:#e875e6;border-radius:50%}.vertical-kc-timeline__item--last .vertical-kc-timeline__dot{background-color:#b00fb0;box-shadow:0 0 0 3px rgba(209,22,218,.15)}.vertical-kc-timeline__status-label{font-family:var(--font-second);color:#333;font-size:16px;line-height:24px}.vertical-kc-timeline__item--last .vertical-kc-timeline__status-label{font-family:var(--font-second-bold)}.special-needs-selector .select-customizable__label{margin-bottom:8px}.empty-state-analytics{text-align:center;padding:var(--spacing-3xl)var(--spacing-xl);flex-direction:column;justify-content:center;align-items:center;min-height:400px;display:flex}.empty-state-analytics__icon{color:var(--color-text-muted);margin-bottom:var(--spacing-lg);font-size:64px}.empty-state-analytics__message{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0 0 var(--spacing-md)0}.empty-state-analytics__description{font-size:var(--font-size-base);color:var(--color-text-secondary);max-width:500px;margin:0}