@keyframes slideIn{0%{opacity:0;transform:translate(100%)}60%{opacity:1;transform:translate(0)}80%{opacity:1;transform:translate(-15%)}to{opacity:1;transform:translate(0)}}.chatbot-button{cursor:pointer;z-index:100;transition:opacity .5s linear;animation:.6s ease-out forwards slideIn;display:flex;position:fixed;bottom:7em;right:2em}.chatbot-button__image{background-image:var(--tangerine-ai-bot);background-position:50%;background-repeat:no-repeat;background-size:cover;width:100px;height:100px}.chatbot-button:focus{outline:none}.chat-button{font-family:var(--font-first);cursor:pointer;color:inherit;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;gap:12px;padding:0;font-weight:700;text-decoration:none;transition:all .2s ease-in-out;display:inline-flex;position:relative}.chat-button--large{height:40px;padding:8px 12px;font-size:18px}.chat-button--small{gap:8px;height:30px;padding:2px 8px;font-size:16px}.chat-button--icon-only{gap:0}.chat-button--icon-only.chat-button--large{padding:8px}.chat-button--icon-only.chat-button--small{padding:4px}.chat-button--icon-only .chat-button__text{display:none}.chat-button--icon-only{color:var(--color-tangerine-ai,#bc3ebc)}.chat-button--icon-only:active{color:var(--color-tangerine-ai-dark,#741571)}.chat-button--brand.chat-button--contained{color:#fff;background:var(--color-tangerine-ai-gradient,linear-gradient(111deg,#e14de3 12.58%,#8c2a89 100%))}.chat-button--brand.chat-button--contained:hover:not(:disabled){background:var(--color-tangerine-ai-gradient-reverse,linear-gradient(291deg,#e14de3 12.5%,#8c2a89 99.91%))}.chat-button--brand.chat-button--contained:active:not(:disabled){background:var(--color-tangerine-ai-dark,#741571)}.chat-button--brand.chat-button--contained.chat-button--has-shadow.chat-button--large{box-shadow:0 3px rgba(188,62,188,.3)}.chat-button--brand.chat-button--contained.chat-button--has-shadow.chat-button--large:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px rgba(188,62,188,.3)}.chat-button--brand.chat-button--contained.chat-button--has-shadow.chat-button--large:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 3px rgba(188,62,188,.3)}.chat-button--brand.chat-button--contained.chat-button--has-shadow.chat-button--small{box-shadow:0 3px rgba(188,62,188,.3)}.chat-button--brand.chat-button--contained.chat-button--has-shadow.chat-button--small:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px rgba(188,62,188,.3)}.chat-button--brand.chat-button--contained.chat-button--has-shadow.chat-button--small:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 3px rgba(188,62,188,.3)}.chat-button--brand.chat-button--outlined{color:var(--color-tangerine-ai,#bc3ebc);border:1px solid var(--color-tangerine-ai,#bc3ebc);background-color:#fff}.chat-button--brand.chat-button--outlined.chat-button--has-shadow.chat-button--large{box-shadow:0 3px rgba(188,62,188,.2)}.chat-button--brand.chat-button--outlined.chat-button--has-shadow.chat-button--large:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px rgba(188,62,188,.2)}.chat-button--brand.chat-button--outlined.chat-button--has-shadow.chat-button--large:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 3px rgba(188,62,188,.2)}.chat-button--brand.chat-button--outlined.chat-button--has-shadow.chat-button--small{box-shadow:0 3px rgba(188,62,188,.2)}.chat-button--brand.chat-button--outlined.chat-button--has-shadow.chat-button--small:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px rgba(188,62,188,.2)}.chat-button--brand.chat-button--outlined.chat-button--has-shadow.chat-button--small:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 3px rgba(188,62,188,.2)}.chat-button--brand.chat-button--outlined:hover:not(:disabled),.chat-button--brand.chat-button--outlined:active:not(:disabled){color:var(--color-tangerine-ai-dark,#741571);background-color:var(--color-tangerine-ai-alpha,rgba(188,62,188,.15));border-color:var(--color-tangerine-ai-dark,#741571)}.chat-button--brand.chat-button--text{color:var(--color-tangerine-ai,#bc3ebc);font-family:var(--font-first);background-color:transparent;border-radius:8px}.chat-button--brand.chat-button--text:hover:not(:disabled){color:var(--color-tangerine-ai-dark,#741571);background-color:var(--color-tangerine-ai-alpha,rgba(188,62,188,.15))}.chat-button--brand.chat-button--text.chat-button--icon-only:hover:not(:disabled){background-color:var(--color-tangerine-ai-lighter,#d068d0);color:var(--color-tangerine-ai,#bc3ebc)}.chat-button--brand.chat-button--text.chat-button--icon-only:active:not(:disabled){background-color:var(--color-tangerine-ai-lighter,#d068d0);color:var(--color-tangerine-ai-dark,#741571)}.chat-button--brand.chat-button--text:not(.chat-button--icon-only):hover:not(:disabled),.chat-button--brand.chat-button--text:not(.chat-button--icon-only):active:not(:disabled){color:var(--color-tangerine-ai-dark,#741571);background-color:var(--color-tangerine-ai-alpha,rgba(188,62,188,.15))}.chat-button:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.chat-button__text{font-family:var(--font-first);font-weight:700;line-height:26px}.chat-button__icon{color:inherit}.chat-header-container{background-color:#fff;border-bottom:1px solid #f2f2f2}.chat-header{background-color:#fff;justify-content:space-between;align-items:center;padding:14px 16px;display:flex;position:relative}.chat-header__left,.chat-header__right{flex:none;align-items:center;gap:8px;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__button{cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:8px;transition:background-color .2s;display:flex}.chat-header__button:hover{cursor:pointer}.chat-header__badge{background-color:var(--color-tangerine-ai,#bc3ebc);color:#fff;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:8px;padding:0 6px;font-size:12px;font-weight:700;display:flex}.chat-header__divider{background-color:#f2f2f2;width:1px;height:30px;margin:0 8px}.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-d3-modal .dialog__content{padding:0;overflow:hidden}.chat-d3-modal__content{background-color:#f2f2f2;width:100%;height:80vh;position:relative}.chat-d3-modal__iframe{background-color:#fff;border:none;width:100%;height:100%}.tool-indicator{border:1px solid var(--color-tangerine-ai,#bc3ebc);background-color:#fff;border-radius:8px;align-items:center;margin:8px 0;padding:8px 12px;animation:.3s ease-in-out fadeIn;display:flex}.tool-indicator--error{color:#e04949;background:#fef0ef;border-color:#e04949}.tool-indicator__icon{color:var(--color-tangerine-ai,#bc3ebc);flex-shrink:0;margin-right:12px}.tool-indicator__icon .icon{color:var(--color-tangerine-ai,#bc3ebc)}.tool-indicator__content{flex:1;justify-content:space-between;align-items:center;gap:12px;display:flex}.tool-indicator__message{font-family:var(--font-second);color:#333;font-size:16px;font-weight:500;line-height:1.4}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.chat-badge{border-radius:16px;align-items:center;gap:4px;padding:4px 8px;font-size:14px;display:inline-flex}.chat-badge__emoji{font-size:inherit}.chat-badge__text{font-family:var(--font-second);color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:600;line-height:26px}.chat-badge--practice{background-color:#d6f6ff}.chat-badge--practice .chat-badge__text{color:#0a3366}.chat-badge--study{background-color:#ffe8ff}.chat-badge--study .chat-badge__text{color:#6b0a6b}.chat-badge--revision{background-color:#fff3e0}.chat-badge--revision .chat-badge__text{color:#e65100}.topic-ranking-detail{border-radius:var(--border-radius-01);background-color:#fff;border:1px solid #e0e0e0;border-top:none;border-top-left-radius:0;border-top-right-radius:0;margin-top:4px;padding:8px 24px 16px}.topic-ranking-detail__summary{align-items:center;gap:24px;padding-bottom:8px;display:flex}.topic-ranking-detail__summary-item{font-family:var(--font-second);color:#333;align-items:center;gap:8px;font-size:14px;font-weight:500;line-height:18px;display:flex}.topic-ranking-detail__summary-item svg{flex-shrink:0}.topic-ranking-detail__summary-item .icon--color-default{color:#333}.topic-ranking-detail__table{flex-direction:column;margin-top:8px;display:flex}.topic-ranking-detail__table-header{align-items:center;gap:16px;padding-bottom:2px;display:flex}.topic-ranking-detail__table-header-label{font-family:var(--font-second);color:#4e4e4e;text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600;line-height:16px}.topic-ranking-detail__table-header-label--student{flex:1;min-width:0}.topic-ranking-detail__table-header-label--queries{flex-shrink:0;min-width:150px}.topic-ranking-detail__table-body{flex-direction:column;display:flex}.topic-ranking-detail__user-row{border-radius:var(--border-radius-01);justify-content:space-between;align-items:center;gap:16px;min-height:36px;padding:4px 8px;display:flex}.topic-ranking-detail__user-row:nth-child(2n){background-color:#f9f9f9}.topic-ranking-detail__user-info{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.topic-ranking-detail__user-name{font-family:var(--font-second);color:#333;white-space:nowrap;font-size:14px;font-weight:500;line-height:20px}.topic-ranking-detail__extended-badge{font-family:var(--font-second);white-space:nowrap;color:#4e4e4e;background-color:#fffaea;border-radius:16px;align-items:center;gap:4px;padding:2px 8px;font-size:14px;font-weight:500;line-height:18px;display:inline-flex}.topic-ranking-detail__extended-badge .icon--color-default{color:#d18436}.topic-ranking-detail__user-queries{flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;min-width:200px;padding-right:8px;display:flex}.topic-ranking-detail__user-bar{background-color:#f2f2f2;border-radius:3px;width:120px;height:8px;overflow:hidden}.topic-ranking-detail__user-bar-fill{border-radius:3px;height:100%;transition:width .3s}.topic-ranking-detail__user-frequency{font-family:var(--font-first);text-align:right;min-width:32px;font-size:14px;font-weight:700;line-height:20px}.topic-ranking-detail__loading{border-left:2px solid #e0e0e0;justify-content:center;align-items:center;margin-top:4px;padding:16px;display:flex}.topic-ranking-detail__error,.topic-ranking-detail__empty{margin-top:4px;padding:8px 16px 8px 24px}.topic-ranking-detail__error p,.topic-ranking-detail__empty p{font-family:var(--font-second);color:#767676;text-align:center;margin:0;font-size:14px}.topic-ranking-detail--color-1 .topic-ranking-detail__user-bar-fill{background-color:#8e0d8e}.topic-ranking-detail--color-1 .topic-ranking-detail__user-frequency{color:#8e0d8e}.topic-ranking-detail--color-2 .topic-ranking-detail__user-bar-fill{background-color:#97033a}.topic-ranking-detail--color-2 .topic-ranking-detail__user-frequency{color:#97033a}.topic-ranking-detail--color-3 .topic-ranking-detail__user-bar-fill{background-color:#992e19}.topic-ranking-detail--color-3 .topic-ranking-detail__user-frequency{color:#992e19}.topic-ranking-detail--color-4 .topic-ranking-detail__user-bar-fill{background-color:#996008}.topic-ranking-detail--color-4 .topic-ranking-detail__user-frequency{color:#996008}.topic-ranking-detail--color-5 .topic-ranking-detail__user-bar-fill{background-color:#487201}.topic-ranking-detail--color-5 .topic-ranking-detail__user-frequency{color:#487201}.topic-ranking-detail--color-6 .topic-ranking-detail__user-bar-fill{background-color:#0a6910}.topic-ranking-detail--color-6 .topic-ranking-detail__user-frequency{color:#0a6910}.topic-ranking-detail--color-7 .topic-ranking-detail__user-bar-fill{background-color:#02788a}.topic-ranking-detail--color-7 .topic-ranking-detail__user-frequency{color:#02788a}.topic-ranking-detail--color-8 .topic-ranking-detail__user-bar-fill{background-color:#0f4f99}.topic-ranking-detail--color-8 .topic-ranking-detail__user-frequency{color:#0f4f99}.stat-card{--stat-card-icon-size:36px;--stat-card-toggle-size:24px;border:1px solid #e0e0e0;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;display:flex}.stat-card--expandable{flex-direction:column;align-items:stretch}.stat-card__row{align-items:center;gap:16px;width:100%;display:flex}.stat-card__row--clickable{font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;margin:0;padding:0}.stat-card__row--clickable:hover .stat-card__toggle{color:#333}.stat-card__row--clickable:focus-visible{outline:2px solid var(--color-first);outline-offset:2px}.stat-card__icon{width:var(--stat-card-icon-size);height:var(--stat-card-icon-size);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.stat-card__icon--success{color:#28a773;background-color:#e6fbfc}.stat-card__icon--success .icon--color-default{color:#02788a}.stat-card__icon--rollback{color:#e04949;background-color:#ffeaed}.stat-card__icon--rollback .icon--color-default{color:#97033a}.stat-card__icon--timeline{color:#8e0d8e;background-color:#fff1ff}.stat-card__icon--timeline .icon--color-default{color:#8e0d8e}.stat-card__icon--time{color:#0a6910;background-color:#d7fedb}.stat-card__icon--time .icon--color-default{color:#0a6910}.stat-card__icon--group{background-color:#fffad6}.stat-card__icon--group .icon--color-default{color:#996008}.stat-card__icon--mastery{color:#8e0d8e;background-color:#fff1ff}.stat-card__icon--mastery .icon--color-default{color:#8e0d8e}.stat-card__description{font-family:var(--font-second);color:#4e4e4e;background-color:#f9f9f9;border-radius:8px;margin:0;padding:8px;font-size:14px;line-height:20px}.stat-card__info{flex:1;gap:8px;min-width:0;display:flex}.stat-card--layout-inline .stat-card__info{flex-direction:row-reverse;justify-content:flex-end;align-items:baseline}.stat-card--layout-spread{gap:0}.stat-card--layout-spread .stat-card__info{flex-direction:row;justify-content:space-between}.stat-card--layout-stacked .stat-card__info{flex-direction:column;align-items:flex-start;gap:2px}.stat-card__value{font-family:var(--font-second);color:#333;flex-shrink:0;font-weight:700}.stat-card--layout-inline .stat-card__value,.stat-card--layout-spread .stat-card__value{font-size:18px;line-height:26px}.stat-card__label{font-family:var(--font-second);color:#4e4e4e;font-size:14px;line-height:20px}.stat-card__toggle{width:var(--stat-card-toggle-size);height:var(--stat-card-toggle-size);cursor:pointer;color:#767676;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:transform .4s;display:flex}.stat-card__toggle svg{width:var(--stat-card-toggle-size);height:var(--stat-card-toggle-size)}.stat-card__toggle--expanded{transform:rotate(180deg)}.severity-badge{flex-direction:column;flex-shrink:0;align-items:flex-start;gap:2px;display:flex}.severity-badge__label{font-family:var(--font-second);color:#767676;font-size:14px;font-weight:500;line-height:18px}.severity-badge__row{align-items:center;gap:4px;display:flex}.severity-badge__level{font-family:var(--font-second);color:#333;font-size:14px;font-weight:500;line-height:16px}.severity-badge--horizontal{flex-direction:row;align-items:center;gap:4px}.prerequisite-progress-bar{--prerequisite-bar-height:6px;--prerequisite-bar-radius:3px;flex-direction:column;gap:4px;display:flex}.prerequisite-progress-bar__name{font-family:var(--font-second);color:#333;font-size:16px;font-weight:500;line-height:24px}.prerequisite-progress-bar__name--clickable{text-align:left;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;text-decoration:underline}.prerequisite-progress-bar__name--clickable:hover{color:#2566c0}.prerequisite-progress-bar__name--clickable:focus-visible{color:#2566c0}.prerequisite-progress-bar__bar-wrapper{padding-top:16px;position:relative}.prerequisite-progress-bar__marker{color:#ababab;line-height:0;position:absolute;top:-1px;transform:translate(-50%)}.prerequisite-progress-bar__marker .icon__wrapper svg{width:12px;height:12px}.prerequisite-progress-bar__bar{height:var(--prerequisite-bar-height);border-radius:var(--prerequisite-bar-radius);background-color:#e0e0e0;overflow:hidden}.prerequisite-progress-bar__bar-fill{height:100%;transition:width .3s}.prerequisite-progress-bar--mastered .prerequisite-progress-bar__bar-fill{background-color:#4adea0}.prerequisite-progress-bar--reviewing .prerequisite-progress-bar__bar-fill{background-color:#facc15}.prerequisite-progress-bar__footer{justify-content:space-between;align-items:center;gap:8px;padding-top:4px;display:flex}.prerequisite-progress-bar__status{font-family:var(--font-second);color:#333;border-radius:16px;padding:2px 8px;font-size:14px;font-weight:500;line-height:24px}.prerequisite-progress-bar__status--mastered{background-color:#cef8ea}.prerequisite-progress-bar__status--reviewing{background-color:#fff1c2}.prerequisite-progress-bar__mastery{font-family:var(--font-second);color:#4e4e4e;font-size:14px;line-height:20px}.prerequisite-progress-bar__mastery strong{font-family:var(--font-second-bold);color:#333}.learning-block-content{flex-direction:column;gap:16px;padding:16px;display:flex}.learning-block-content__header{flex-direction:column;display:flex}.learning-block-content__label-row{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.learning-block-content__label-group{align-items:center;gap:4px;display:flex}.learning-block-content__kc-info{flex-direction:column;gap:2px;display:flex}.learning-block-content__kc-statement{font-family:var(--font-second);color:#333;margin:0;font-size:18px;font-weight:500;line-height:26px}.learning-block-content__locations{flex-direction:column;gap:2px;margin:0;padding-left:16px;list-style:disc;display:flex}.learning-block-content__location{font-family:var(--font-second);color:#767676;margin:0;font-size:14px;line-height:20px}.learning-block-content__stats{flex-direction:column;gap:8px;display:flex}