.tutor-toast{z-index:60;border:1px solid var(--border);background:var(--background);color:var(--foreground);white-space:nowrap;opacity:0;pointer-events:none;border-radius:999px;padding:.5rem 1rem;font-size:.8rem;font-weight:500;transition:opacity .2s,transform .2s;position:fixed;top:1.25rem;left:50%;transform:translate(-50%)translateY(-.5rem)}.tutor-toast--visible{opacity:1;transform:translate(-50%)translateY(0)}.tutor-progress{border:1px solid var(--border);background:var(--background);height:2.125rem;color:var(--muted-foreground);border-radius:.625rem;align-items:center;gap:.1rem;padding-inline:.75rem;font-size:.78rem;font-weight:500;display:inline-flex}.tutor-progress__count{color:var(--foreground);font-variant-numeric:tabular-nums;font-weight:700}.tutor-progress__sep{opacity:.35;margin-inline:.1rem}.tutor-progress__total{font-variant-numeric:tabular-nums}.tutor-student-progress{z-index:45;border:1px solid var(--border);background:var(--background);height:2.125rem;color:var(--muted-foreground);border-radius:.625rem;align-items:center;gap:.1rem;padding-inline:.75rem;font-size:.78rem;font-weight:500;display:inline-flex;position:fixed;bottom:1.5rem;right:1.5rem}.tutor-student-progress__label{margin-inline-start:.3rem}.tutor-reveal-bar{z-index:45;align-items:center;gap:.5rem;display:flex;position:fixed;bottom:4.125rem;right:1.5rem}.tutor-reveal-btn{border:1px solid color-mix(in oklch, var(--primary) 40%, var(--border));background:color-mix(in oklch, var(--primary) 8%, var(--background));height:2.125rem;color:color-mix(in oklch, var(--primary) 88%, var(--foreground));letter-spacing:-.005em;cursor:pointer;border-radius:.625rem;align-items:center;gap:.4375rem;padding-inline:.75rem .8125rem;font-size:.78rem;font-weight:550;transition:background .15s,border-color .15s;display:inline-flex}.tutor-reveal-btn:hover:not(:disabled):not(.is-revealed){background:color-mix(in oklch, var(--primary) 13%, var(--background));border-color:color-mix(in oklch, var(--primary) 55%, var(--border))}.tutor-reveal-btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.tutor-reveal-btn.is-revealed{background:color-mix(in oklch, #22c55e 8%, var(--background));border-color:color-mix(in oklch, #22c55e 42%, var(--border));color:color-mix(in oklch, #16a34a 88%, var(--foreground));cursor:default}.tutor-reveal-btn__icon{flex-shrink:0;width:.8125rem;height:.8125rem}.tutor-mode-bar{z-index:45;position:fixed;bottom:1.5rem;right:1.5rem}.tutor-mode-switch{border:1px solid var(--border);background:var(--background);height:2.125rem;color:var(--muted-foreground);letter-spacing:-.005em;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:.625rem;align-items:center;gap:.4375rem;padding-inline:.75rem .8125rem;font-size:.78rem;font-weight:550;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.tutor-mode-switch:hover:not(:disabled){border-color:color-mix(in oklch, var(--primary) 45%, var(--border));color:var(--foreground)}.tutor-mode-switch:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.tutor-mode-switch.is-active{background:color-mix(in oklch, var(--primary) 9%, var(--background));border-color:color-mix(in oklch, var(--primary) 48%, var(--border));color:color-mix(in oklch, var(--primary) 88%, var(--foreground))}.tutor-mode-switch__icon{opacity:.75;flex-shrink:0;width:.8125rem;height:.8125rem}.tutor-mode-switch.is-active .tutor-mode-switch__icon{opacity:1}.tutor-mode-switch__label{line-height:1}.tutor-mode-switch__indicator{background:color-mix(in oklch, var(--muted-foreground) 30%, var(--border));border-radius:50%;flex-shrink:0;width:.375rem;height:.375rem;margin-inline-start:.125rem;transition:background .15s,opacity .15s}.tutor-mode-switch.is-active .tutor-mode-switch__indicator{background:var(--primary);animation:2.4s ease-in-out infinite tutor-indicator-pulse}@keyframes tutor-indicator-pulse{0%,to{opacity:1}50%{opacity:.45}}.tutorat-home-slot{margin:0 clamp(1rem,3vw,1.5rem) 1rem}.tutorat-home-slot__card{border:1px solid var(--border);background:var(--card);color:inherit;border-radius:.875rem;align-items:center;gap:.875rem;padding:.9rem 1rem;text-decoration:none;transition:border-color .12s,background .12s;display:flex}.tutorat-home-slot__card:hover{border-color:color-mix(in oklch, var(--primary) 35%, var(--border));background:color-mix(in oklch, var(--primary) 4%, var(--card))}.tutorat-home-slot__icon{background:color-mix(in oklch, var(--primary) 10%, var(--background));width:2.25rem;height:2.25rem;color:color-mix(in oklch, var(--primary) 80%, var(--foreground));border-radius:.625rem;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.tutorat-home-slot__body{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.tutorat-home-slot__title{letter-spacing:-.01em;font-size:.92rem;font-weight:650}.tutorat-home-slot__meta{color:var(--muted-foreground);font-size:.78rem}.tutorat-home-slot__badge{background:color-mix(in oklch, var(--primary) 12%, var(--card));min-width:1.5rem;height:1.5rem;color:color-mix(in oklch, var(--primary) 85%, var(--foreground));border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding-inline:.45rem;font-size:.72rem;font-weight:700;display:inline-flex}.tutorat-home-slot__chevron{color:var(--muted-foreground);flex-shrink:0}.tutorat-hub--full,.tutorat-console{width:100%;max-width:none;margin:0;padding:0}.tutorat-console{min-height:calc(100dvh - var(--header-offset,0px));background:radial-gradient(ellipse 130% 70% at 50% -25%, color-mix(in oklch, var(--primary) 11%, transparent), transparent 55%), var(--background)}.tutorat-hub,.tutorat-page,.tutorat-player,.tutorat-animateur{width:min(100%,52rem);margin-inline:auto;padding:clamp(1.25rem,3vw,2rem) clamp(1rem,3vw,1.5rem) 3rem}.tutorat-hub__title,.tutorat-player__title,.tutorat-animateur__title{letter-spacing:-.02em;font-size:clamp(1.35rem,3vw,1.75rem);font-weight:700}.tutorat-hub__lead,.tutorat-player__lead,.tutorat-animateur__code{color:var(--muted-foreground);margin-top:.45rem;font-size:.92rem;line-height:1.55}.tutorat-join{border:1px solid var(--border);background:var(--card);border-radius:1rem;margin-top:1.5rem;padding:1.25rem}.tutorat-join__head{margin-bottom:1rem}.tutorat-join__title{letter-spacing:-.01em;margin:0;font-size:1rem;font-weight:650}.tutorat-join__lead{color:var(--muted-foreground);margin:.25rem 0 0;font-size:.82rem}.tutorat-join__form{flex-wrap:wrap;gap:.55rem;display:flex}.tutorat-join__input,.tutorat-course-panel__select{border:1px solid var(--border);background:var(--background);letter-spacing:.08em;text-transform:uppercase;border-radius:.6rem;flex:1;min-width:8rem;padding:.5rem .75rem;font-family:ui-monospace,monospace;font-size:.95rem;transition:border-color .12s}.tutorat-join__input:focus,.tutorat-course-panel__select:focus{border-color:color-mix(in oklch, var(--primary) 55%, var(--border));outline:none}.tutorat-join__error,.tutorat-course-panel__error{color:var(--destructive,#c0392b);margin-top:.5rem;font-size:.82rem}.tutorat-course-panel{border:1px solid var(--border);background:var(--card);border-radius:1rem;margin-top:1.25rem;padding:1.25rem}.tutorat-course-panel__head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.tutorat-course-panel__title{letter-spacing:-.01em;margin:0;font-size:1rem;font-weight:650}.tutorat-course-panel__lead{color:var(--muted-foreground);margin:.25rem 0 0;font-size:.82rem}.tutorat-course-panel__role-badge{border:1px solid var(--border);text-transform:uppercase;letter-spacing:.07em;height:1.5rem;color:var(--muted-foreground);border-radius:999px;flex-shrink:0;align-items:center;padding-inline:.55rem;font-size:.65rem;font-weight:700;display:inline-flex}.tutorat-course-panel__row{flex-wrap:wrap;gap:.55rem;display:flex}.tutorat-section{border:1px solid color-mix(in srgb, var(--border) 78%, transparent);background:var(--course-block-surface,var(--card));border-radius:1rem;margin-top:1.35rem;padding:1rem 1.1rem}.tutorat-section__title{margin-bottom:.65rem;font-size:1rem;font-weight:650}.tutorat-section__body{font-size:.95rem;line-height:1.75}.tutorat-section__body--code{white-space:pre-wrap;background:var(--code-panel-bg,color-mix(in oklch, var(--muted) 40%, var(--card)));border-radius:.75rem;padding:.85rem .95rem;font-family:ui-monospace,monospace;font-size:.84rem;line-height:1.65}.tutorat-section__body--latex{font-size:1rem}.tutorat-section__code-static{white-space:pre-wrap}.tutorat-inline-text__code{background:color-mix(in oklch, var(--muted) 70%, transparent);border-radius:.3rem;padding:.1em .35em;font-family:ui-monospace,monospace;font-size:.86em}.tutorat-hub__header{margin-bottom:1.5rem}.tutorat-hub__hero{align-items:flex-start;gap:1rem;display:flex}.tutorat-hub__hero-icon{background:color-mix(in oklch, var(--primary) 10%, var(--background));width:2.75rem;height:2.75rem;color:color-mix(in oklch, var(--primary) 82%, var(--foreground));border-radius:.75rem;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.tutorat-hub__grid{gap:1.25rem;display:grid}@media (min-width:56rem){.tutorat-hub__grid{grid-template-columns:1fr 1fr;align-items:start}}.tutorat-hub__column{flex-direction:column;gap:1rem;min-width:0;display:flex}.tutorat-hub__block-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted-foreground);align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:.72rem;font-weight:700;display:flex}.tutorat-hub__live-dot{background:var(--primary);border-radius:50%;width:.45rem;height:.45rem;animation:2.4s ease-in-out infinite tutor-indicator-pulse}.tutorat-hub__active-list{gap:.55rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.tutorat-hub__empty{color:var(--muted-foreground);margin-top:.75rem;font-size:.82rem;line-height:1.55}.tutorat-hub__code-snippet{background:color-mix(in oklch, var(--muted) 55%, transparent);border-radius:.3rem;padding:.1em .35em;font-family:ui-monospace,monospace;font-size:.8em}.tutorat-join-card__icon,.tutorat-launch-card__icon{background:color-mix(in oklch, var(--primary) 10%, var(--background));width:2.25rem;height:2.25rem;color:color-mix(in oklch, var(--primary) 80%, var(--foreground));border-radius:.625rem;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.tutorat-join-card__back{color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;margin-bottom:.75rem;padding:0;font-size:.78rem;font-weight:600;display:inline-flex}.tutorat-join-card__back:hover{color:var(--foreground)}.tutorat-launch-card__badge{border:1px solid var(--border);text-transform:uppercase;letter-spacing:.07em;height:1.5rem;color:var(--muted-foreground);border-radius:999px;flex-shrink:0;align-items:center;padding-inline:.55rem;font-size:.65rem;font-weight:700;display:inline-flex}.tutorat-launch-card__summary{color:var(--muted-foreground);margin:0;font-size:.82rem;line-height:1.5}.tutorat-launch-card__hint{color:var(--muted-foreground);align-items:center;gap:.25rem;font-size:.75rem;display:inline-flex}.tutorat-page-picker{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.tutorat-page-picker__item{border:1px solid var(--border);background:var(--background);text-align:left;cursor:pointer;border-radius:.75rem;justify-content:space-between;align-items:center;gap:.75rem;width:100%;padding:.75rem .875rem;transition:border-color .12s,background .12s;display:flex}.tutorat-page-picker__item:hover{border-color:color-mix(in oklch, var(--primary) 30%, var(--border))}.tutorat-page-picker__item.is-selected{border-color:color-mix(in oklch, var(--primary) 45%, var(--border));background:color-mix(in oklch, var(--primary) 6%, var(--background))}.tutorat-page-picker__title{color:var(--foreground);font-size:.88rem;font-weight:600}.tutorat-page-picker__meta{color:var(--muted-foreground);white-space:nowrap;font-size:.75rem}.tutorat-group-picker{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.tutorat-group-picker__item{border:1px solid var(--border);background:var(--background);text-align:left;cursor:pointer;border-radius:.75rem;align-items:flex-start;gap:.75rem;width:100%;padding:.8rem .9rem;transition:border-color .12s,background .12s;display:flex}.tutorat-group-picker__item:hover{border-color:color-mix(in oklch, var(--primary) 28%, var(--border))}.tutorat-group-picker__item.is-selected{border-color:color-mix(in oklch, var(--primary) 48%, var(--border));background:color-mix(in oklch, var(--primary) 6%, var(--background))}.tutorat-group-picker__icon{background:color-mix(in oklch, var(--muted) 45%, var(--background));width:2rem;height:2rem;color:var(--muted-foreground);border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.tutorat-group-picker__item.is-selected .tutorat-group-picker__icon{background:color-mix(in oklch, var(--primary) 12%, var(--background));color:color-mix(in oklch, var(--primary) 80%, var(--foreground))}.tutorat-group-picker__text{flex-direction:column;gap:.15rem;min-width:0;display:flex}.tutorat-group-picker__name{font-size:.88rem;font-weight:650}.tutorat-group-picker__hint{color:var(--muted-foreground);font-size:.76rem}.tutorat-active-session{border:1px solid var(--border);background:var(--card);text-align:left;cursor:pointer;border-radius:.875rem;justify-content:space-between;align-items:center;gap:1rem;width:100%;padding:.9rem 1rem;transition:border-color .12s,background .12s;display:flex}.tutorat-active-session:hover{border-color:color-mix(in oklch, var(--primary) 32%, var(--border));background:color-mix(in oklch, var(--primary) 4%, var(--card))}.tutorat-active-session__pulse{background:var(--primary);border-radius:50%;flex-shrink:0;width:.5rem;height:.5rem;animation:2.4s ease-in-out infinite tutor-indicator-pulse}.tutorat-active-session__body{flex:1;align-items:center;gap:.75rem;min-width:0;display:flex}.tutorat-active-session__code{letter-spacing:.1em;font-family:ui-monospace,monospace;font-size:1rem;font-weight:700}.tutorat-active-session__page{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.tutorat-active-session__action{color:var(--muted-foreground);flex-shrink:0;align-items:center;gap:.25rem;font-size:.8rem;font-weight:600;display:inline-flex}.tutorat-hub__crumb{color:var(--muted-foreground);align-items:center;gap:.35rem;margin-bottom:.5rem;font-size:.78rem;display:flex}.tutorat-hub__crumb a{color:inherit;text-decoration:none}.tutorat-hub__crumb a:hover{text-decoration:underline}.tutorat-hub__section{margin-top:1.5rem}.tutorat-hub__section-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted-foreground);align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:.72rem;font-weight:700;display:flex}.tutorat-hub__section-dot{background:var(--primary);border-radius:50%;flex-shrink:0;width:.45rem;height:.45rem;animation:2.4s ease-in-out infinite tutor-indicator-pulse}.tutorat-hub__sessions{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.tutorat-session-item{border:1px solid var(--border);background:var(--card);border-radius:.875rem;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.125rem;text-decoration:none;transition:border-color .12s,background .12s;display:flex}.tutorat-session-item:hover{border-color:color-mix(in oklch, var(--primary) 30%, var(--border));background:color-mix(in oklch, var(--primary) 3%, var(--card))}.tutorat-session-item__left{align-items:center;gap:.875rem;min-width:0;display:flex}.tutorat-session-item__dot{background:var(--primary);border-radius:50%;flex-shrink:0;width:.5rem;height:.5rem}.tutorat-session-item__code{letter-spacing:.1em;color:var(--foreground);font-family:ui-monospace,monospace;font-size:1.05rem;font-weight:700}.tutorat-session-item__page{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.tutorat-hub__active-link{border:1px solid var(--border);color:inherit;border-radius:.55rem;align-items:center;gap:.55rem;padding:.45rem .65rem;text-decoration:none;display:inline-flex}.tutorat-hub__active-code{letter-spacing:.08em;font-family:ui-monospace,monospace;font-weight:700}.tutorat-blank-field{vertical-align:baseline;display:inline}.tutorat-blank-field.is-code{vertical-align:middle;display:inline-block}.tutorat-blank-field.is-latex{justify-content:center;margin-block:.75rem;display:flex}.tutorat-blank-field__input,.tutorat-blank-field__open-modal{border:none;border-bottom:2px solid color-mix(in oklch, var(--primary) 55%, var(--border));background:color-mix(in oklch, var(--primary) 8%, transparent);min-width:4rem;max-width:24rem;font:inherit;color:inherit;field-sizing:content;text-align:center;border-radius:.2rem .2rem 0 0;outline:none;padding:.1rem .35rem;display:inline}.tutorat-blank-field__input:focus-visible,.tutorat-blank-field__open-modal:focus-visible{border-bottom-color:var(--primary);background:color-mix(in oklch, var(--primary) 13%, transparent);outline:none}.tutorat-blank-field__open-modal{cursor:pointer;color:color-mix(in oklch, var(--primary) 70%, var(--muted-foreground));font-style:italic}.tutorat-blank-field--readonly .tutorat-blank-field__input:disabled{opacity:1;cursor:default;color:inherit;-webkit-text-fill-color:currentColor}.tutorat-blank-field--readonly .tutorat-blank-field__open-modal[aria-disabled=true]{cursor:default;pointer-events:none}.tutorat-blank-field__preview-btn{cursor:pointer;text-align:inherit;background:0 0;border:none;padding:0;display:inline}.tutorat-blank-field.is-preview .tutorat-blank-field__preview-btn{border-bottom:2px solid color-mix(in oklch, var(--primary) 55%, var(--border));background:color-mix(in oklch, var(--primary) 8%, transparent);border-radius:.2rem .2rem 0 0;padding:.1rem .35rem;display:inline}.tutorat-blank-field--correct .tutorat-blank-preview,.tutorat-blank-field--correct .tutorat-blank-field__empty{color:color-mix(in oklch, #16a34a 85%, var(--foreground));background:#22c55e1f;background:lab(70.2187% -57.9808 39.4382/.12);border-bottom:2px solid #22c55eb3;border-bottom:2px solid lab(70.2187% -57.9808 39.4382/.7);border-radius:.25rem;padding:.05rem .3rem;display:inline}.tutorat-blank-field--incorrect .tutorat-blank-preview,.tutorat-blank-field--incorrect .tutorat-blank-field__empty{border-bottom:2px solid color-mix(in oklch, var(--destructive) 65%, transparent);background:color-mix(in oklch, var(--destructive) 10%, transparent);color:color-mix(in oklch, var(--destructive) 85%, var(--foreground));border-radius:.25rem;padding:.05rem .3rem;display:inline}.tutorat-blank-field--neutral-revealed .tutorat-blank-preview,.tutorat-blank-field--neutral-revealed .tutorat-blank-field__empty{border-bottom:2px solid color-mix(in oklch, var(--muted-foreground) 35%, var(--border));background:color-mix(in oklch, var(--muted) 40%, transparent);color:color-mix(in oklch, var(--muted-foreground) 88%, var(--foreground));border-radius:.25rem;padding:.05rem .3rem;display:inline}.tutorat-blank-field--neutral-revealed.tutorat-blank-field--readonly .tutorat-blank-field__input:disabled{border-bottom-color:color-mix(in oklch, var(--muted-foreground) 35%, var(--border));background:color-mix(in oklch, var(--muted) 40%, transparent);color:color-mix(in oklch, var(--muted-foreground) 88%, var(--foreground))}.tutorat-blank-field__correction{align-items:baseline;gap:.2rem;margin-inline-start:.3rem;display:inline-flex}.tutorat-blank-field__correction-arrow{color:var(--muted-foreground);flex-shrink:0;font-size:.75em}.tutorat-blank-field__correction .tutorat-blank-preview{color:color-mix(in oklch, #16a34a 85%, var(--foreground));background:#22c55e1a;background:lab(70.2187% -57.9808 39.4382/.1);border-bottom:2px solid #22c55e99;border-bottom:2px solid lab(70.2187% -57.9808 39.4382/.6);border-radius:.25rem;padding:.05rem .3rem;font-weight:600;display:inline}.tutorat-blank-preview--revealed{font-weight:600}.tutorat-blank-preview__inline-code{font-family:ui-monospace,monospace}.tutorat-blank-modal-overlay{z-index:80;background:color-mix(in srgb, var(--foreground) 42%, transparent);-webkit-backdrop-filter:blur(6px);place-items:center;padding:1rem;animation:.12s tutorat-overlay-in;display:grid;position:fixed;inset:0}@keyframes tutorat-overlay-in{0%{opacity:0}to{opacity:1}}.tutorat-blank-modal{border:1px solid var(--border);background:var(--card);border-radius:1.25rem;width:min(100%,44rem);max-height:min(92vh,48rem);padding:0;animation:.15s cubic-bezier(.34,1.15,.64,1) tutorat-modal-in;overflow:auto}@keyframes tutorat-modal-in{0%{opacity:0;transform:scale(.96)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}.tutorat-blank-modal__header{border-bottom:1px solid color-mix(in oklch, var(--border) 60%, transparent);justify-content:space-between;align-items:flex-start;gap:.75rem;padding:1.375rem 1.5rem 1.125rem;display:flex}.tutorat-blank-modal__title-group{flex-direction:column;gap:.25rem;display:flex}.tutorat-blank-modal__kind-label{text-transform:uppercase;letter-spacing:.07em;color:var(--primary);font-size:.7rem;font-weight:700}.tutorat-blank-modal__title{letter-spacing:-.01em;font-size:1rem;font-weight:650;line-height:1.3}.tutorat-blank-modal__title-id{color:var(--muted-foreground);font-weight:500}.tutorat-blank-modal__close{color:var(--muted-foreground);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.5rem;flex-shrink:0;padding:.375rem;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.tutorat-blank-modal__close:hover{background:color-mix(in oklch, var(--muted) 60%, transparent);border-color:var(--border);color:var(--foreground)}.tutorat-blank-modal__body{flex-direction:column;gap:1rem;padding:1.25rem 1.5rem;display:flex}.tutorat-blank-modal__editor{border:1px solid var(--border);background:color-mix(in oklch, var(--muted) 20%, var(--background));resize:vertical;border-radius:.75rem;width:100%;min-height:8rem;padding:.875rem 1rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.875rem;line-height:1.65;transition:border-color .12s,background .12s}.tutorat-blank-modal__editor:focus{border-color:color-mix(in oklch, var(--primary) 55%, var(--border));background:var(--background);outline:none}.tutorat-blank-modal__input{border:1px solid var(--border);background:color-mix(in oklch, var(--muted) 20%, var(--background));border-radius:.75rem;width:100%;padding:.75rem 1rem;font-size:.9375rem;line-height:1.5;transition:border-color .12s,background .12s}.tutorat-blank-modal__input:focus{border-color:color-mix(in oklch, var(--primary) 55%, var(--border));background:var(--background);outline:none}.tutorat-blank-modal__preview-wrap{background:color-mix(in oklch, var(--muted) 28%, var(--card));border:1px solid color-mix(in oklch, var(--border) 55%, transparent);border-radius:.875rem;overflow:hidden}.tutorat-blank-modal__preview-label{text-transform:uppercase;letter-spacing:.07em;color:var(--muted-foreground);border-bottom:1px solid color-mix(in oklch, var(--border) 45%, transparent);padding:.5rem 1rem;font-size:.68rem;font-weight:700;display:block}.tutorat-blank-modal__preview{justify-content:center;align-items:center;min-height:3.5rem;padding:1.25rem;display:flex}.tutorat-blank-modal__preview-empty{color:color-mix(in oklch, var(--muted-foreground) 55%, transparent);font-size:.82rem;font-style:italic}.tutorat-blank-modal__footer{border-top:1px solid color-mix(in oklch, var(--border) 60%, transparent);justify-content:flex-end;gap:.5rem;padding:1rem 1.5rem 1.375rem;display:flex}.tutorat-player__banner{border-radius:.6rem;margin-top:.85rem;padding:.55rem .75rem;font-size:.84rem;font-weight:600}.tutorat-player__banner--open{background:color-mix(in oklch, var(--primary) 10%, var(--card));color:color-mix(in oklch, var(--primary) 75%, var(--foreground))}.tutorat-player__banner--locked{background:color-mix(in oklch, var(--muted) 50%, var(--card))}.tutorat-player__banner--revealed{background:color-mix(in oklch, var(--primary) 14%, var(--card));border:1px solid color-mix(in oklch, var(--primary) 28%, var(--border))}.tutorat-player__footer{margin-top:1.5rem}.tutorat-animateur__code-value{letter-spacing:.12em;font-family:ui-monospace,monospace;font-size:1.35rem}.tutorat-animateur__actions{flex-wrap:wrap;gap:.55rem;margin-top:1rem;display:flex}.tutorat-animateur__subs-list{gap:.4rem;margin-top:.65rem;display:grid}.tutorat-animateur__subs-item{background:var(--course-block-inset,var(--muted));border-radius:.55rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .65rem;display:flex}.tutorat-animateur__subs-badge.is-submitted{color:color-mix(in oklch, var(--primary) 75%, var(--foreground));font-weight:600}.tutorat-page-shell{flex-direction:column;gap:1rem;display:flex}.tutorat-session-bar{border:1px solid var(--border);background:var(--card);border-radius:.875rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.875rem 1rem;display:flex}.tutorat-session-bar--locked{border-color:color-mix(in oklch, var(--muted-foreground) 18%, var(--border));background:color-mix(in oklch, var(--muted) 18%, var(--card))}.tutorat-session-bar--revealed{border-color:color-mix(in oklch, #22c55e 45%, var(--border));background:linear-gradient(135deg, color-mix(in oklch, #22c55e 13%, var(--card)) 0%, color-mix(in oklch, #22c55e 6%, var(--card)) 60%, var(--card) 100%);padding-block:1rem}.tutorat-session-bar__revealed-icon{color:#16a34a;flex-shrink:0;width:1.25rem;height:1.25rem;margin-top:.075rem}.tutorat-session-bar__revealed-kicker{color:color-mix(in oklch, #15803d 90%, var(--foreground));text-transform:uppercase;letter-spacing:.08em;vertical-align:middle;background:#22c55e29;background:lab(70.2187% -57.9808 39.4382/.16);border:1px solid #22c55e61;border:1px solid lab(70.2187% -57.9808 39.4382/.38);border-radius:.35rem;align-items:center;margin-right:.5rem;padding:.1rem .45rem .1rem .35rem;font-size:.62rem;font-weight:700;line-height:1.6;display:inline-flex}.tutorat-session-bar--revealed .tutorat-session-bar__title{color:color-mix(in oklch, #15803d 85%, var(--foreground));font-weight:700}.tutorat-session-bar--revealed .tutorat-session-bar__hint{color:color-mix(in oklch, #16a34a 55%, var(--muted-foreground))}.tutorat-session-bar__sent--revealed{background:color-mix(in oklch, #22c55e 16%, var(--card));border-color:color-mix(in oklch, #22c55e 40%, var(--border));color:color-mix(in oklch, #15803d 85%, var(--foreground))}.tutorat-session-bar__info{flex:1;align-items:flex-start;gap:.625rem;min-width:0;display:flex}.tutorat-session-bar__dot{border-radius:50%;flex-shrink:0;width:.5rem;height:.5rem;margin-top:.3rem}.tutorat-session-bar__dot.is-open{background:var(--primary)}.tutorat-session-bar__dot.is-locked{background:var(--muted-foreground)}.tutorat-session-bar__dot.is-revealed{background:#22c55e}.tutorat-session-bar__dot.is-closed{background:var(--muted-foreground);opacity:.45}.tutorat-session-bar__text{min-width:0}.tutorat-session-bar__title{color:var(--foreground);margin:0;font-size:.9rem;font-weight:650}.tutorat-session-bar__hint{color:var(--muted-foreground);margin:.15rem 0 0;font-size:.75rem;line-height:1.4}.tutorat-session-bar__group{color:color-mix(in oklch, var(--primary) 70%, var(--muted-foreground));font-weight:600}.tutorat-session-bar__right{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.5rem .75rem;display:flex}.tutorat-session-bar__code{letter-spacing:.1em;color:var(--foreground);border:1px solid var(--border);background:var(--background);border-radius:.45rem;align-items:center;gap:.25rem;padding:.25rem .625rem;font-family:ui-monospace,monospace;font-size:.88rem;font-weight:700;display:inline-flex}.tutorat-session-bar__saving{color:var(--muted-foreground);letter-spacing:0;font-size:.75rem;font-weight:400}.tutorat-session-bar__sent{background:color-mix(in oklch, #22c55e 10%, var(--card));border:1px solid color-mix(in oklch, #22c55e 30%, var(--border));height:2rem;color:color-mix(in oklch, #16a34a 80%, var(--foreground));border-radius:999px;align-items:center;padding-inline:.75rem;font-size:.78rem;font-weight:600;display:inline-flex}.tutorat-session-bar__actions{flex-wrap:wrap;gap:.4rem;display:flex}.tutorat-aware-html,.tutorat-inline-template{display:inline}.code-panel__tutor-code{white-space:pre-wrap;word-break:break-word;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82rem;line-height:1.55}.tutorat-blank-slot{vertical-align:baseline;display:inline}.tutorat-blank-slot:has(.is-latex){width:100%;display:block}.tutorat-blank-live-preview{vertical-align:baseline;border-bottom:1.5px dashed color-mix(in oklch, var(--muted-foreground) 45%, transparent);background:color-mix(in oklch, var(--muted) 18%, transparent);border-radius:.15rem .15rem 0 0;min-width:3.5rem;height:.85em;margin-inline:.15em;display:inline-block}.tutorat-html-host .tutorat-blank-field:not(.is-latex){vertical-align:baseline;max-width:100%;display:inline-flex}.tutorat-html-host .tutorat-blank-field.is-latex{justify-content:center;width:100%;max-width:100%;margin-block:.75rem;display:flex}.tutorat-html-host .prose p{display:block}.tutorat-blank-choice-group{flex-wrap:wrap;gap:.4rem;margin-block:.25rem;display:flex}.tutorat-blank-choice-option{border:1px solid var(--border);background:var(--background);cursor:pointer;color:var(--muted-foreground);-webkit-user-select:none;user-select:none;border-radius:.5rem;align-items:center;gap:.4rem;padding:.3rem .7rem;font-size:.88rem;font-weight:500;transition:border-color .12s,background .12s,color .12s;display:inline-flex}.tutorat-blank-choice-option:hover:not(.is-disabled){border-color:color-mix(in oklch, var(--primary) 45%, var(--border));color:var(--foreground)}.tutorat-blank-choice-option.is-selected{border-color:color-mix(in oklch, var(--primary) 55%, var(--border));background:color-mix(in oklch, var(--primary) 10%, var(--background));color:color-mix(in oklch, var(--primary) 85%, var(--foreground));font-weight:600}.tutorat-blank-choice-option.is-disabled{opacity:.6;cursor:default}.tutorat-blank-choice-radio{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.tutorat-blank-choice-label{line-height:1}.tutorat-blank-choice-static{border:1px solid color-mix(in oklch, var(--border) 80%, transparent);background:color-mix(in oklch, var(--muted) 30%, var(--background));border-radius:.4rem;padding:.2rem .55rem;font-size:.88rem;font-weight:600;display:inline-flex}.tutorat-blank-choice-static.is-correct{border-color:color-mix(in oklch, #22c55e 55%, var(--border));background:color-mix(in oklch, #22c55e 10%, var(--background));color:color-mix(in oklch, #16a34a 85%, var(--foreground))}.tutorat-blank-choice-static.is-incorrect{border-color:color-mix(in oklch, var(--destructive) 55%, var(--border));background:color-mix(in oklch, var(--destructive) 10%, var(--background));color:color-mix(in oklch, var(--destructive) 85%, var(--foreground))}.td-console,.td-root{width:100%;max-width:none;padding:0 0 max(2.5rem, calc(env(safe-area-inset-bottom,0px) + 1.5rem));flex-direction:column;gap:0;margin:0;display:flex}.td-console__hero{border-bottom:1px solid var(--border);background:color-mix(in oklch, var(--card) 92%, var(--background))}.td-console__accent{background:var(--primary);width:100%;height:4px}.td-console__hero-inner{flex-direction:column;gap:1.1rem;padding:clamp(1rem,2.5vw,1.35rem) clamp(1.25rem,4vw,2rem) clamp(1.25rem,3vw,1.5rem);display:flex}.td-console__crumb{color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.78rem;display:flex}.td-console__crumb a{color:inherit;text-decoration:none}.td-console__crumb a:hover{color:var(--foreground);text-decoration:underline}.td-console__hero-main{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.td-console__hero-copy{flex:1;min-width:0}.td-console__kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground);align-items:center;gap:.35rem;font-size:.68rem;font-weight:700;display:inline-flex}.td-console__title{letter-spacing:-.03em;text-wrap:balance;margin:.35rem 0 0;font-size:clamp(1.45rem,3.2vw,2.15rem);font-weight:700;line-height:1.12}.td-console__lead{max-width:42rem;color:var(--muted-foreground);margin:.45rem 0 0;font-size:.92rem;line-height:1.55}.td-console__status{border:1px solid var(--border);background:var(--background);text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground);border-radius:999px;flex-shrink:0;align-items:center;gap:.4rem;padding:.35rem .75rem;font-size:.72rem;font-weight:700;display:inline-flex}.td-console__status-dot{background:#22c55e;border-radius:999px;width:.45rem;height:.45rem;animation:1.8s ease-in-out infinite td-console-pulse;box-shadow:0 0 0 3px #22c55e40;box-shadow:0 0 0 3px lab(70.2187% -57.9808 39.4382/.25)}@keyframes td-console-pulse{0%,to{opacity:1}50%{opacity:.45}}.td-console__status--live{border-color:color-mix(in oklch, #22c55e 40%, var(--border));background:color-mix(in oklch, #22c55e 10%, var(--background));color:color-mix(in oklch, #15803d 88%, var(--foreground))}.td-console__status--closed{border-color:color-mix(in oklch, var(--muted-foreground) 30%, var(--border));background:color-mix(in oklch, var(--muted) 35%, var(--background))}.td-console__command{border:1px solid color-mix(in oklch, var(--primary) 22%, var(--border));background:linear-gradient(135deg, color-mix(in oklch, var(--primary) 7%, var(--card)) 0%, var(--card) 55%);border-radius:1rem;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem 1.5rem;padding:1rem 1.15rem;display:flex}.td-console__code-block{flex-direction:column;gap:.35rem;min-width:min(100%,16rem);display:flex}.td-console__code-row{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.td-console__actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.td-console__body{padding:clamp(1.15rem, 2.5vw, 1.5rem) clamp(1.25rem, 4vw, 2rem) max(1rem, calc(env(safe-area-inset-bottom,0px) + .5rem));flex-direction:column;gap:1.25rem;display:flex}.td-console__stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}@media (min-width:768px){.td-console__stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.td-console__stat{-moz-column-gap:.65rem;border:1px solid var(--border);background:var(--card);border-radius:.95rem;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;gap:.1rem .65rem;padding:.9rem 1rem;display:grid;box-shadow:0 1px 2px #00000008}.td-console__stat--wide{grid-column:1/-1}@media (min-width:768px){.td-console__stat--wide{grid-column:auto}}.td-console__stat-icon{background:color-mix(in oklch, var(--primary) 10%, var(--background));width:2.25rem;height:2.25rem;color:var(--primary);border-radius:.65rem;grid-row:1/span 2;place-items:center;display:grid}.td-console__stat-value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:800;line-height:1}.td-console__stat-value--inline{font-size:1rem}.td-console__stat-sub{color:var(--muted-foreground);font-size:.85rem;font-weight:600}.td-console__stat-label{color:var(--muted-foreground);letter-spacing:.02em;font-size:.72rem;font-weight:600}.td-console__stat-wide{flex-direction:column;gap:.35rem;min-width:0;display:flex}.td-console__stat-bar-row{align-items:center;gap:.55rem;display:flex}.td-console__stat-bar-row .td-stat__bar{flex:1;min-width:0}.td-console__grid{grid-template-columns:1fr;align-items:start;gap:1rem;display:grid}@media (min-width:1080px){.td-console__grid{grid-template-columns:minmax(0,22rem) minmax(0,1fr);gap:1.15rem}}.td-console__pilot{flex-direction:column;gap:.85rem;min-width:0;display:flex}.td-console__card{border:1px solid var(--border);background:var(--card);border-radius:1rem;overflow:hidden;box-shadow:0 1px 2px #00000008}.td-console__card--participants{flex-direction:column;min-height:min(70vh,40rem);display:flex}.td-console__card--live{border-color:color-mix(in oklch, var(--primary) 28%, var(--border))}.td-console__card-toggle{cursor:pointer;width:100%;color:var(--foreground);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.75rem;padding:.95rem 1.1rem;display:flex}.td-console__card-toggle:hover{background:color-mix(in oklch, var(--muted) 22%, transparent)}.td-console__card-toggle-label{align-items:center;gap:.55rem;font-size:.92rem;font-weight:650;display:inline-flex}.td-console__card-head{border-bottom:1px solid color-mix(in oklch, var(--border) 55%, transparent);align-items:flex-start;gap:.65rem;padding:1rem 1.1rem .85rem;display:flex}.td-console__card-head--split{flex-wrap:wrap;justify-content:space-between;align-items:center}.td-console__card-head-main{align-items:center;gap:.65rem;min-width:0;display:flex}.td-console__card-icon{background:color-mix(in oklch, var(--muted) 45%, var(--background));width:2rem;height:2rem;color:var(--muted-foreground);border-radius:.55rem;flex-shrink:0;place-items:center;display:grid}.td-console__card-icon--live{background:color-mix(in oklch, var(--primary) 12%, var(--background));color:var(--primary)}.td-console__card-title{letter-spacing:-.01em;align-items:center;gap:.45rem;margin:0;font-size:.95rem;font-weight:700;display:inline-flex}.td-console__card-desc{color:var(--muted-foreground);margin:.2rem 0 0;font-size:.78rem;line-height:1.45}.td-console__card-body{padding:1rem 1.1rem 1.1rem}.td-console__card-body--flush{flex:1;min-height:0;padding:0;overflow:auto}.td-console__card--flat .td-console__card-body{padding-top:.85rem}.td-console__empty{color:var(--muted-foreground);margin:0;font-size:.85rem;line-height:1.55}.td-console__tabs-wrap{border:1px solid var(--border);background:color-mix(in oklch, var(--muted) 28%, var(--background));border-radius:1rem;flex-wrap:wrap;gap:.45rem;padding:.2rem;display:flex}.td-console__tab{min-width:min(100%,9rem);color:var(--muted-foreground);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.75rem;flex:auto;justify-content:center;align-items:center;gap:.45rem;padding:.65rem .85rem;font-size:.82rem;font-weight:650;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;display:inline-flex}.td-console__tab:hover{color:var(--foreground);background:color-mix(in oklch, var(--card) 70%, transparent)}.td-console__tab.is-active{color:var(--foreground);border-color:color-mix(in oklch, var(--primary) 28%, var(--border));background:var(--card);box-shadow:0 1px 3px #0000000f}.td-console__tab-count{background:color-mix(in oklch, var(--primary) 12%, var(--muted));font-variant-numeric:tabular-nums;min-width:1.35rem;height:1.35rem;color:var(--primary);border-radius:999px;place-items:center;padding:0 .35rem;font-size:.68rem;font-weight:700;display:inline-grid}.td-console__tab-panels{min-width:0}.td-console__tab-panel{border:1px solid var(--border);background:var(--card);border-radius:1rem;padding:1rem;box-shadow:0 1px 2px #00000008}.td-console__tab-panel[hidden]{display:none}.td-console__tab-empty{text-align:center;flex-direction:column;align-items:center;gap:.45rem;padding:clamp(2rem,6vw,3rem) 1.25rem;display:flex}.td-console__tab-empty-icon{background:color-mix(in oklch, var(--primary) 10%, var(--background));width:3rem;height:3rem;color:var(--primary);border-radius:.85rem;place-items:center;display:grid}.td-console__tab-empty-title{color:var(--foreground);margin:.35rem 0 0;font-size:.95rem;font-weight:700}.td-console__tab-empty-hint{max-width:28rem;color:var(--muted-foreground);margin:0;font-size:.82rem;line-height:1.55}.td-console__copies-head{border-bottom:1px solid color-mix(in oklch, var(--border) 55%, transparent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;margin-bottom:.85rem;padding-bottom:.85rem;display:flex}.td-console__copies-lead{color:var(--muted-foreground);margin:0;font-size:.82rem;line-height:1.45}.td-live-q-grid{gap:.85rem;margin:0;padding:0;list-style:none;display:grid}@media (min-width:900px){.td-live-q-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr))}}.td-live-q{border:1px solid var(--border);background:var(--background);border-radius:.95rem;grid-template-columns:auto 1fr;gap:.85rem 1rem;padding:1rem 1.05rem;transition:border-color .15s,box-shadow .15s;display:grid}.td-live-q.is-active{border-color:color-mix(in oklch, var(--primary) 45%, var(--border));box-shadow:0 0 0 1px color-mix(in oklch, var(--primary) 18%, transparent)}.td-live-q.is-revealed:not(.is-active){border-color:color-mix(in oklch, #22c55e 35%, var(--border))}.td-live-q__aside{flex-direction:column;align-items:center;gap:.35rem;display:flex}.td-live-q__icon{background:linear-gradient(145deg, color-mix(in oklch, var(--primary) 18%, var(--background)), color-mix(in oklch, var(--primary) 8%, var(--card)));width:2.5rem;height:2.5rem;color:var(--primary);border-radius:.75rem;place-items:center;display:grid;box-shadow:inset 0 1px #ffffff14}.td-live-q__icon.is-pulse{animation:1.8s ease-in-out infinite td-live-q-pulse}@keyframes td-live-q-pulse{0%,to{box-shadow:inset 0 1px 0 #ffffff14, 0 0 0 0 color-mix(in oklch, var(--primary) 35%, transparent)}50%{box-shadow:inset 0 1px 0 #ffffff14, 0 0 0 6px color-mix(in oklch, var(--primary) 0%, transparent)}}.td-live-q__index{letter-spacing:.04em;color:var(--muted-foreground);font-size:.68rem;font-weight:700}.td-live-q__main{flex-direction:column;gap:.65rem;min-width:0;display:flex}.td-live-q__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem .75rem;display:flex}.td-live-q__label{letter-spacing:-.01em;margin:0;font-size:.92rem;font-weight:700}.td-live-q__kind{color:var(--muted-foreground);margin:.15rem 0 0;font-size:.72rem;font-weight:600}.td-live-q__badges{flex-wrap:wrap;gap:.35rem;display:flex}.td-live-q__badge{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .55rem;font-size:.65rem;font-weight:700;display:inline-flex}.td-live-q__badge--live{border:1px solid color-mix(in oklch, #22c55e 40%, var(--border));background:color-mix(in oklch, #22c55e 12%, var(--background));color:color-mix(in oklch, #15803d 88%, var(--foreground))}.td-live-q__badge-dot{background:#22c55e;border-radius:999px;width:.35rem;height:.35rem;animation:1.8s ease-in-out infinite td-console-pulse}.td-live-q__badge--done{border:1px solid color-mix(in oklch, #22c55e 30%, var(--border));background:color-mix(in oklch, #22c55e 8%, var(--background));color:color-mix(in oklch, #15803d 80%, var(--foreground))}.td-live-q__stem{color:var(--foreground);-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:0;font-size:.85rem;line-height:1.55;display:-webkit-box;overflow:hidden}.td-live-q__stem-fallback{color:var(--muted-foreground);margin:0;font-size:.82rem;font-style:italic}.td-live-q__actions{flex-wrap:wrap;gap:.45rem;margin-top:.15rem;display:flex}.td-grp{flex-direction:column;gap:1.15rem;display:flex}.td-grp__head{border-bottom:1px solid color-mix(in oklch, var(--border) 55%, transparent);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem 1.25rem;padding-bottom:1rem;display:flex}.td-grp__head-copy{flex:1;min-width:min(100%,20rem)}.td-grp__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground);margin:0;font-size:.68rem;font-weight:700}.td-grp__title{letter-spacing:-.02em;margin:.35rem 0 0;font-size:1.05rem;font-weight:700}.td-grp__lead{max-width:36rem;color:var(--muted-foreground);margin:.45rem 0 0;font-size:.84rem;line-height:1.55}.td-grp__summary{flex-wrap:wrap;gap:.55rem;display:flex}.td-grp__stat{border:1px solid color-mix(in oklch, var(--primary) 22%, var(--border));background:color-mix(in oklch, var(--primary) 6%, var(--background));border-radius:.85rem;flex-direction:column;justify-content:center;align-items:center;gap:.1rem;min-width:5.5rem;padding:.75rem 1rem;display:flex}.td-grp__stat--muted{border-color:var(--border);background:color-mix(in oklch, var(--muted) 35%, var(--background))}.td-grp__stat-value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--foreground);font-size:1.35rem;font-weight:800;line-height:1}.td-grp__stat-label{letter-spacing:.03em;text-transform:uppercase;color:var(--muted-foreground);font-size:.68rem;font-weight:650}.td-grp__create{border:1px dashed color-mix(in oklch, var(--primary) 35%, var(--border));background:color-mix(in oklch, var(--primary) 5%, var(--background));border-radius:.95rem;flex-direction:column;gap:.55rem;padding:1rem 1.05rem;display:flex}.td-grp__create-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted-foreground);font-size:.72rem;font-weight:700}.td-grp__create-row{flex-wrap:wrap;align-items:stretch;gap:.55rem;display:flex}.td-grp__create-input{background:var(--card);border-radius:.7rem;flex:14rem;min-width:0;height:2.5rem}.td-grp__create-btn{flex-shrink:0;height:2.5rem;padding-inline:1rem}.td-grp__grid{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}@media (min-width:720px){.td-grp__grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr))}}.td-grp__card{border:1px solid var(--border);background:var(--background);border-radius:.95rem;flex-direction:column;gap:.85rem;padding:1rem 1.05rem;transition:border-color .15s,box-shadow .15s;display:flex}.td-grp__card:hover{border-color:color-mix(in oklch, var(--primary) 28%, var(--border));box-shadow:0 2px 8px #0000000a}.td-grp__card-main{align-items:flex-start;gap:.85rem;min-width:0;display:flex}.td-grp__avatar{letter-spacing:.04em;width:2.75rem;height:2.75rem;color:var(--primary);background:linear-gradient(145deg, color-mix(in oklch, var(--primary) 16%, var(--background)), color-mix(in oklch, var(--primary) 6%, var(--card)));border-radius:.8rem;flex-shrink:0;place-items:center;font-size:.78rem;font-weight:800;display:grid;box-shadow:inset 0 1px #ffffff14}.td-grp__card-copy{flex:1;min-width:0}.td-grp__card-name{letter-spacing:-.01em;overflow-wrap:anywhere;margin:0;font-size:.95rem;font-weight:700;line-height:1.25}.td-grp__card-meta{color:var(--muted-foreground);align-items:center;gap:.35rem;margin:.35rem 0 0;font-size:.78rem;font-weight:600;display:inline-flex}.td-grp__card-actions{border-top:1px solid color-mix(in oklch, var(--border) 45%, transparent);flex-wrap:wrap;align-items:center;gap:.45rem;padding-top:.15rem;display:flex}.td-grp__confirm-label{color:color-mix(in oklch, var(--destructive) 80%, var(--foreground));flex:100%;font-size:.78rem;font-weight:650}.td-grp__delete-btn{margin-left:auto}.td-grp__empty{border:1px dashed var(--border);background:color-mix(in oklch, var(--muted) 18%, var(--background));border-radius:.95rem}.td-crumb{color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:.25rem;font-size:.78rem;display:flex}.td-crumb a{color:inherit;text-decoration:none}.td-crumb a:hover{text-decoration:underline}.td-hero__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.td-hero__title-wrap{flex-direction:column;gap:.35rem;min-width:0;display:flex}.td-hero__badge{border:1px solid var(--border);text-transform:uppercase;letter-spacing:.06em;width:fit-content;color:var(--muted-foreground);border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .55rem;font-size:.68rem;font-weight:700;display:inline-flex}.td-hero__title{letter-spacing:-.02em;font-size:1.25rem!important}.td-hero__body{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.25rem;display:flex;padding-top:1rem!important}.td-code-hero__row{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.td-panel{overflow:hidden}.td-panel__toggle{cursor:pointer;width:100%;color:var(--foreground);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:.9rem 1.125rem;display:flex}.td-panel__toggle:hover{background:color-mix(in oklch, var(--muted) 25%, transparent)}.td-panel__toggle-label{align-items:center;gap:.5rem;font-size:.9rem;font-weight:650;display:inline-flex}.td-panel__count{background:color-mix(in oklch, var(--muted) 50%, var(--card));min-width:1.25rem;height:1.25rem;color:var(--muted-foreground);border-radius:999px;justify-content:center;align-items:center;padding-inline:.35rem;font-size:.68rem;font-weight:700;display:inline-flex}.td-panel__body{border-top:1px solid color-mix(in oklch, var(--border) 50%, transparent);padding-top:0!important}.td-participants-card .td-participants__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.td-header{border:1px solid var(--border);background:var(--card);border-radius:1.125rem;padding:1.25rem 1.375rem}.td-header__top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.td-header__page-name{color:var(--muted-foreground);font-size:.82rem;font-weight:500}.td-header__main{flex-wrap:wrap;align-items:flex-start;gap:1.25rem;display:flex}.td-code-hero{border:1px solid var(--border);background:var(--background);border-radius:.875rem;flex-direction:column;flex-shrink:0;align-items:flex-start;gap:.375rem;padding:1rem 1.375rem;display:flex}.td-code-hero__label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted-foreground);font-size:.65rem;font-weight:700}.td-code-hero__value{letter-spacing:.22em;color:var(--foreground);font-family:ui-monospace,monospace;font-size:2.5rem;font-weight:700;line-height:1}.td-header__control{flex-direction:column;flex:1;gap:.875rem;min-width:0;display:flex}.td-status-badge{letter-spacing:-.01em;border-radius:999px;align-self:flex-start;align-items:center;height:2rem;padding-inline:.75rem;font-size:.78rem;font-weight:600;display:inline-flex}.td-status-badge--open{background:color-mix(in oklch, var(--primary) 12%, var(--card));color:color-mix(in oklch, var(--primary) 80%, var(--foreground));border:1px solid color-mix(in oklch, var(--primary) 28%, var(--border))}.td-status-badge--locked{background:color-mix(in oklch, var(--muted) 60%, var(--card));color:var(--muted-foreground);border:1px solid var(--border)}.td-status-badge--revealed{background:color-mix(in oklch, #22c55e 10%, var(--card));color:color-mix(in oklch, #16a34a 80%, var(--foreground));border:1px solid color-mix(in oklch, #22c55e 32%, var(--border))}.td-status-badge--closed{background:color-mix(in oklch, var(--muted) 40%, var(--card));color:color-mix(in oklch, var(--muted-foreground) 65%, var(--foreground));border:1px solid var(--border)}.td-header__actions{flex-wrap:wrap;gap:.5rem;display:flex}.td-stats{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.75rem;display:grid}.td-stat{border:1px solid var(--border);background:var(--card);border-radius:1rem;flex-direction:column;align-items:center;gap:.25rem;padding:1rem .75rem;display:flex}.td-stat--wide{flex-direction:row;grid-column:span 2;align-items:center;gap:.625rem}.td-stat__value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:1.75rem;font-weight:700;line-height:1}.td-stat--wide .td-stat__value{white-space:nowrap;font-size:1rem;font-weight:700}.td-stat__label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground);font-size:.73rem;font-weight:600}.td-stat--wide .td-stat__label{white-space:nowrap;font-size:.73rem}.td-stat__bar{background:color-mix(in oklch, var(--muted) 70%, var(--border));border-radius:999px;flex:1;height:.5rem;overflow:hidden}.td-stat__bar-fill{background:var(--primary);border-radius:999px;height:100%;transition:width .3s;display:block}.td-badge{letter-spacing:.01em;white-space:nowrap;border-radius:999px;align-items:center;height:1.5rem;padding-inline:.5rem;font-size:.7rem;font-weight:600;display:inline-flex}.td-badge--draft{background:color-mix(in oklch, var(--muted) 55%, var(--card));color:var(--muted-foreground);border:1px solid var(--border)}.td-badge--submitted{background:color-mix(in oklch, var(--primary) 10%, var(--card));color:color-mix(in oklch, var(--primary) 80%, var(--foreground));border:1px solid color-mix(in oklch, var(--primary) 28%, var(--border))}.td-progress-bar{align-items:center;gap:.4rem;display:inline-flex}.td-progress-bar__track{background:color-mix(in oklch, var(--muted) 65%, var(--border));border-radius:999px;flex-shrink:0;width:5rem;height:.4rem;overflow:hidden}.td-progress-bar__fill{background:var(--primary);border-radius:999px;height:100%;transition:width .25s;display:block}.td-progress-bar__fill--full{background:#22c55e}.td-progress-bar__label{color:var(--muted-foreground);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.75rem;font-weight:600}.td-progress-bar__sep{opacity:.45;margin-inline:.05rem}.td-analytics{border:1px solid var(--border);background:var(--card);border-radius:1rem;overflow:hidden}.td-analytics__toggle{cursor:pointer;width:100%;color:var(--foreground);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:.875rem 1.125rem;font-size:.9rem;font-weight:650;transition:background .1s;display:flex}.td-analytics__toggle:hover{background:color-mix(in oklch, var(--muted) 30%, transparent)}.td-analytics__toggle-chevron{color:var(--muted-foreground);font-size:.7rem}.td-analytics__list{border-top:1px solid color-mix(in oklch, var(--border) 45%, transparent);gap:.75rem;margin-top:.875rem;padding:0 1.125rem 1rem;display:grid}.td-analytic-item{border:1px solid var(--border);background:color-mix(in oklch, var(--muted) 18%, var(--background));border-radius:.75rem;flex-direction:column;gap:.5rem;padding:.875rem 1rem;display:flex}.td-analytic-item__header{align-items:center;gap:.5rem;display:flex}.td-analytic-item__id{color:var(--foreground);font-size:.88rem;font-weight:650}.td-analytic-item__kind{text-transform:uppercase;letter-spacing:.07em;color:var(--primary);background:color-mix(in oklch, var(--primary) 10%, transparent);border-radius:.3rem;padding:.1rem .4rem;font-size:.68rem;font-weight:700}.td-analytic-item__row{align-items:center;gap:.5rem;display:flex}.td-analytic-item__label{color:var(--muted-foreground);flex-shrink:0;width:5rem;font-size:.72rem;font-weight:600}.td-fill-bar{flex:1;align-items:center;gap:.4rem;display:inline-flex}.td-fill-bar__track{background:color-mix(in oklch, var(--muted) 65%, var(--border));border-radius:999px;flex:1;height:.45rem;overflow:hidden}.td-fill-bar__fill{background:var(--primary);border-radius:999px;height:100%;transition:width .3s;display:block}.td-fill-bar__label{color:var(--muted-foreground);font-variant-numeric:tabular-nums;text-align:right;width:2.5rem;font-size:.72rem;font-weight:600}.td-analytic-item__answers{flex-direction:column;gap:.3rem;display:flex}.td-analytic-item__answers-label{text-transform:uppercase;letter-spacing:.07em;color:var(--muted-foreground);font-size:.68rem;font-weight:700}.td-analytic-item__answers-list{flex-wrap:wrap;gap:.3rem;display:flex}.td-top-answer{border:1px solid var(--border);background:var(--background);border-radius:.4rem;align-items:center;gap:.35rem;padding:.2rem .5rem;font-size:.78rem;display:inline-flex}.td-top-answer.is-model{border-color:color-mix(in oklch, #22c55e 45%, var(--border));background:color-mix(in oklch, #22c55e 8%, var(--background))}.td-top-answer__text{color:var(--foreground);font-family:ui-monospace,monospace;font-size:.75rem;font-weight:600}.td-top-answer__count{background:color-mix(in oklch, var(--muted) 65%, var(--border));min-width:1.1rem;height:1.1rem;color:var(--muted-foreground);border-radius:999px;justify-content:center;align-items:center;padding-inline:.2rem;font-size:.65rem;font-weight:700;display:inline-flex}.td-participants{background:var(--card);border:1px solid var(--border);border-radius:1rem;overflow:hidden}.td-participants__header{border-bottom:1px solid color-mix(in oklch, var(--border) 45%, transparent);justify-content:space-between;align-items:center;gap:.75rem;padding:.875rem 1.125rem;display:flex}.td-participants__title{align-items:center;gap:.5rem;margin:0;font-size:.9rem;font-weight:650;display:flex}.td-participants__count{background:color-mix(in oklch, var(--muted) 55%, var(--border));min-width:1.4rem;height:1.4rem;color:var(--muted-foreground);border-radius:999px;justify-content:center;align-items:center;padding-inline:.3rem;font-size:.72rem;font-weight:700;display:inline-flex}.td-participants__filter{border:1px solid var(--border);background:var(--background);cursor:pointer;border-radius:.5rem;padding:.35rem .6rem;font-size:.82rem}.td-participants__empty{color:var(--muted-foreground);text-align:center;padding:1.5rem 1.125rem;font-size:.84rem}.td-participants__list{flex-direction:column;gap:0;display:flex}.td-participant{border-top:1px solid color-mix(in oklch, var(--border) 40%, transparent)}.td-participant:first-child{border-top:none}.td-participant__header{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.75rem;width:100%;padding:.65rem 1.125rem;transition:background .1s;display:flex}.td-participant__header:hover{background:color-mix(in oklch, var(--muted) 22%, transparent)}.td-participant.is-expanded .td-participant__header{background:color-mix(in oklch, var(--muted) 18%, transparent)}.td-participant__identity{align-items:center;gap:.65rem;min-width:0;display:flex}.td-participant__avatar{background:color-mix(in oklch, var(--primary) 12%, var(--background));border:1px solid color-mix(in oklch, var(--primary) 25%, var(--border));width:2rem;height:2rem;color:color-mix(in oklch, var(--primary) 85%, var(--foreground));letter-spacing:.03em;border-radius:999px;flex-shrink:0;place-items:center;font-size:.68rem;font-weight:800;display:grid}.td-participant__name{color:var(--foreground);align-items:center;gap:.4rem;min-width:0;font-size:.88rem;font-weight:600;display:flex}.td-participant__group-tag{background:color-mix(in oklch, var(--primary) 12%, var(--card));border:1px solid color-mix(in oklch, var(--primary) 25%, var(--border));height:1.25rem;color:color-mix(in oklch, var(--primary) 75%, var(--foreground));text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-radius:.35rem;flex-shrink:0;align-items:center;padding-inline:.4rem;font-size:.68rem;font-weight:700;display:inline-flex}.td-participant__right{flex-shrink:0;align-items:center;gap:.625rem;display:flex}.td-participant__chevron{color:var(--muted-foreground);flex-shrink:0;font-size:.6rem}.td-participant__answers{background:color-mix(in oklch, var(--muted) 14%, transparent);border-top:1px solid color-mix(in oklch, var(--border) 35%, transparent);gap:0;padding:0 1.125rem .75rem;display:grid}.td-answer-row{border-bottom:1px solid color-mix(in oklch, var(--border) 25%, transparent);align-items:baseline;gap:.5rem;padding:.35rem 0;font-size:.82rem;display:flex}.td-answer-row:last-child{border-bottom:none}.td-answer-row--correct .td-answer-row__value{color:color-mix(in oklch, #16a34a 85%, var(--foreground))}.td-answer-row--incorrect .td-answer-row__value{color:color-mix(in oklch, var(--destructive) 80%, var(--foreground))}.td-answer-row__id{min-width:8rem;max-width:12rem;color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;font-size:.75rem;font-weight:600;overflow:hidden}.td-answer-row__value{word-break:break-all;flex:1;font-family:ui-monospace,monospace;font-size:.78rem}.td-answer-row__empty{color:color-mix(in oklch, var(--muted-foreground) 50%, transparent);font-style:italic}.td-answer-row__status{flex-shrink:0;font-size:.82rem;font-weight:700}.td-answer-row__status.is-ok{color:#16a34a}.td-answer-row__status.is-ko{color:var(--destructive,#c0392b)}.tutorat-hub__masthead{border-bottom:1px solid var(--border);margin-bottom:1.5rem;padding-bottom:1.25rem}.tutorat-hub__layout{gap:1.25rem;display:grid}.tutorat-hub__layout--staff{grid-template-columns:1fr}@media (min-width:56rem){.tutorat-hub__layout--staff{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start}}.tutorat-hub__panel-icon{background:color-mix(in oklch, var(--muted) 45%, var(--background));width:2.25rem;height:2.25rem;color:var(--muted-foreground);border-radius:.625rem;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.tutorat-hub__active-staff{border-top:1px solid color-mix(in oklch, var(--border) 55%, transparent);padding-top:.5rem}.tutorat-hub__active-staff-label{text-transform:uppercase;letter-spacing:.07em;color:var(--muted-foreground);margin:0 0 .5rem;font-size:.68rem;font-weight:700}.tutorat-hub__active-staff-list{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.tutorat-hub__active-staff-item{border:1px solid var(--border);color:inherit;border-radius:.65rem;align-items:center;gap:.75rem;padding:.65rem .75rem;text-decoration:none;transition:border-color .12s,background .12s;display:flex}.tutorat-hub__active-staff-item:hover{border-color:color-mix(in oklch, var(--primary) 35%, var(--border));background:color-mix(in oklch, var(--primary) 4%, var(--card))}.tutorat-hub__active-staff-code{letter-spacing:.08em;font-family:ui-monospace,monospace;font-weight:700}.tutorat-hub__active-staff-page{min-width:0;color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.82rem;overflow:hidden}.tutorat-hub__active-staff-action{color:var(--muted-foreground);font-size:.75rem;font-weight:600}.tutorat-launch__summary{color:var(--muted-foreground);margin:0;font-size:.82rem;line-height:1.5}.tutorat-launch{flex-direction:column;gap:.875rem;display:flex}.tutorat-blank-field.is-latex,.tutorat-blank-field.is-inline_latex,.tutorat-blank-field.is-code,.tutorat-blank-field.is-inline_code{position:relative}.tutorat-blank-field--revealable{cursor:help;outline-offset:2px;border-radius:.25rem;outline:1px dashed #0000}.tutorat-blank-field--revealable:hover{outline-color:color-mix(in oklch, var(--primary) 35%, transparent)}.tutorat-blank-popover{z-index:70;border:1px solid var(--border);background:var(--card);width:min(28rem,92vw);box-shadow:0 8px 28px color-mix(in srgb, var(--foreground) 12%, transparent);border-radius:.75rem;padding:.65rem;position:absolute;top:calc(100% + .35rem);left:0}.tutorat-blank-field.is-latex .tutorat-blank-popover{left:50%;transform:translate(-50%)}.tutorat-blank-popover__head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.tutorat-blank-popover__title{color:var(--muted-foreground);font-size:.72rem;font-weight:600}.tutorat-blank-popover__close{color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;padding:.2rem;display:inline-flex}.tutorat-blank-popover__split{grid-template-columns:1fr 1fr;align-items:start;gap:.5rem;display:grid}.tutorat-blank-popover__single{display:block}.tutorat-blank-popover__editor,.tutorat-blank-popover__input{border:1px solid var(--border);background:var(--background);resize:vertical;border-radius:.5rem;width:100%;padding:.5rem .6rem;font-family:ui-monospace,monospace;font-size:.8rem;line-height:1.5}.tutorat-blank-popover__preview{border:1px dashed color-mix(in oklch, var(--border) 80%, transparent);background:color-mix(in oklch, var(--muted) 25%, var(--background));border-radius:.5rem;min-height:2.5rem;padding:.45rem .55rem;font-size:.85rem;overflow:auto}.tutorat-blank-popover__preview-empty{color:var(--muted-foreground);font-size:.72rem}.tutorat-blank-popover__footer{justify-content:flex-end;margin-top:.5rem;display:flex}.tutorat-session-bar__staff-hint{opacity:.9;font-style:italic}.td-analytic-item__header{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.td-analytic-item__revealed{text-transform:uppercase;letter-spacing:.05em;color:color-mix(in oklch, #16a34a 80%, var(--foreground));margin-left:auto;font-size:.68rem;font-weight:700}.td-analytic-item__reveal-btn{margin-left:auto}.th-root{flex-direction:column;gap:2rem;width:100%;max-width:none;display:flex}.th-head{border-bottom:1px solid var(--border);padding-bottom:1.75rem}.th-crumb{color:var(--muted-foreground);align-items:center;gap:.4rem;margin-bottom:1rem;font-size:.78rem;display:inline-flex}.th-crumb a{color:inherit;text-decoration:none;transition:color .14s}.th-crumb a:hover{color:var(--foreground);text-decoration:underline}.th-head__hero{align-items:flex-start;gap:1rem;display:flex}.th-head__icon{border:1px solid color-mix(in oklch, var(--primary) 22%, var(--border));background:color-mix(in oklch, var(--primary) 9%, var(--background));width:2.75rem;height:2.75rem;color:color-mix(in oklch, var(--primary) 80%, var(--foreground));border-radius:.75rem;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.th-head__title{letter-spacing:-.025em;color:var(--foreground);margin:0 0 .35rem;font-size:clamp(1.25rem,2.5vw,1.6rem);font-weight:700;line-height:1.2}.th-head__lead{color:var(--muted-foreground);margin:0;font-size:.9rem;line-height:1.55}.th-grid{align-items:start;gap:1.25rem;display:grid}@media (min-width:52rem){.th-grid--staff{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}.th-grid--student{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start}}.th-tips{border:1px solid color-mix(in oklch, var(--border) 80%, transparent);background:color-mix(in oklch, var(--muted) 22%, var(--card));border-radius:1rem;padding:1.25rem 1.375rem}.th-tips__heading{letter-spacing:-.005em;color:var(--foreground);margin:0 0 1rem;font-size:.8125rem;font-weight:700}.th-tips__list{flex-direction:column;gap:.875rem;margin:0;padding:0;list-style:none;display:flex}.th-tips__item{color:var(--muted-foreground);align-items:flex-start;gap:.75rem;font-size:.8375rem;line-height:1.55;display:flex}.th-tips__item strong{color:var(--foreground);font-weight:600}.th-tips__num{background:color-mix(in oklch, var(--primary) 12%, var(--background));border:1px solid color-mix(in oklch, var(--primary) 20%, var(--border));width:1.375rem;height:1.375rem;color:color-mix(in oklch, var(--primary) 80%, var(--foreground));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:.075rem;font-size:.68rem;font-weight:700;display:inline-flex}.th-panel{border:1px solid var(--border);background:var(--card);border-radius:1rem;overflow:hidden}.th-panel__header{border-bottom:1px solid color-mix(in oklch, var(--border) 65%, transparent);background:color-mix(in oklch, var(--muted) 18%, var(--card));align-items:flex-start;gap:.875rem;padding:1.125rem 1.375rem;display:flex}.th-panel__icon{border:1px solid color-mix(in oklch, var(--primary) 18%, var(--border));background:color-mix(in oklch, var(--primary) 8%, var(--background));width:2rem;height:2rem;color:color-mix(in oklch, var(--primary) 72%, var(--foreground));border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;margin-top:.125rem;display:inline-flex}.th-panel__title{letter-spacing:-.015em;color:var(--foreground);margin:0 0 .2rem;font-size:.9375rem;font-weight:650}.th-panel__desc{color:var(--muted-foreground);margin:0;font-size:.8rem;line-height:1.5}.th-panel__body{flex-direction:column;gap:1rem;padding:1.25rem 1.375rem;display:flex}.th-active{border-top:1px solid color-mix(in oklch, var(--border) 55%, transparent);padding-top:1rem}.th-active__label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted-foreground);align-items:center;gap:.4rem;margin:0 0 .6rem;font-size:.68rem;font-weight:700;display:flex}.th-active__dot{background:var(--primary);border-radius:50%;flex-shrink:0;width:.4rem;height:.4rem;animation:2.4s ease-in-out infinite tutor-indicator-pulse}.th-active__list{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.th-session-item{border:1px solid var(--border);background:var(--background);color:inherit;border-radius:.625rem;align-items:center;gap:.75rem;padding:.65rem .875rem;text-decoration:none;transition:border-color .12s,background .12s;display:flex}.th-session-item:hover{border-color:color-mix(in oklch, var(--primary) 35%, var(--border));background:color-mix(in oklch, var(--primary) 4%, var(--background))}.th-session-item__pulse{background:var(--primary);border-radius:50%;flex-shrink:0;width:.45rem;height:.45rem;animation:2.4s ease-in-out infinite tutor-indicator-pulse}.th-session-item__code{letter-spacing:.1em;color:var(--foreground);flex-shrink:0;font-family:ui-monospace,monospace;font-size:.92rem;font-weight:700}.th-session-item__page{min-width:0;color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.8rem;overflow:hidden}.th-session-item__action{color:var(--muted-foreground);flex-shrink:0;font-size:.75rem;font-weight:600;transition:color .12s}.th-session-item:hover .th-session-item__action{color:color-mix(in oklch, var(--primary) 80%, var(--foreground))}.tutorat-blank-field--inactive{border:1px dashed color-mix(in oklch, var(--muted-foreground) 35%, var(--border));min-width:2.5rem;color:var(--muted-foreground);opacity:.55;-webkit-user-select:none;user-select:none;border-radius:.35rem;justify-content:center;padding:.15rem .45rem;font-size:.85em;display:inline-flex}.td-scenario{flex-direction:column;gap:.75rem;display:flex}.td-scenario__head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.td-scenario__label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground);font-size:.72rem;font-weight:700}.td-scenario__counter{color:var(--muted-foreground);font-size:.8rem}.td-scenario__steps{flex-wrap:wrap;gap:.35rem;display:flex}.td-scenario__step{border:1px solid var(--border);color:var(--muted-foreground);border-radius:999px;padding:.25rem .55rem;font-size:.75rem}.td-scenario__step.is-active{border-color:var(--primary);color:var(--foreground);background:color-mix(in oklch, var(--primary) 10%, var(--background))}.td-scenario__step.is-done{opacity:.65}.td-scenario__hint{color:var(--muted-foreground);margin:0;font-size:.8125rem}.td-scenario__actions{flex-wrap:wrap;gap:.5rem;display:flex}.td-group-stats{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.65rem;display:grid}.td-group-stat{border:1px solid var(--border);background:var(--card);border-radius:.75rem;padding:.65rem .85rem}.td-group-stat__name{font-size:.875rem;font-weight:600;display:block}.td-group-stat__meta{color:var(--muted-foreground);margin-top:.2rem;font-size:.75rem;display:block}html.tutor-console-mode .course-shell__sidebar,html.tutor-console-mode .course-shell__main>.flex.h-12,html.tutor-console-mode .course-page-header,html.tutor-console-mode .tutor-mode-bar{display:none!important}html.tutor-console-mode main{max-width:none!important;padding:0!important}html.tutor-console-mode .course-shell__main{width:100%;max-width:none}html.tutor-console-mode .course-shell__scroll>div,html.tutor-console-mode .course-shell__split-content>div{max-width:none!important;padding:0!important}html.tutor-console-mode .course-shell{max-height:calc(100dvh - var(--header-offset,0px));height:calc(100dvh - var(--header-offset,0px))!important}html.tutor-console-mode .course-shell__scroll{flex:auto;min-height:0;overflow-y:auto!important}html.tutor-console-mode .tutorat-console{min-height:auto}html.tlq-projo-mode>body>header,html.tlq-projo-mode .tutorat-session-bar,html.tlq-projo-mode .page-transition,html.tlq-session-mode>body>header,html.tlq-session-mode .page-transition,html.tlq-session-mode .tutor-mode-bar{display:none!important}html.tlq-projo-mode,html.tlq-projo-mode body,html.tlq-session-mode,html.tlq-session-mode body{height:100%;overflow:hidden}html.tlq-projo-mode main,html.tlq-session-mode main{flex:auto;height:100dvh;min-height:0;max-height:100dvh;overflow:hidden;max-width:none!important;margin:0!important;padding:0!important}html.tlq-projo-mode .page-slide-wrapper,html.tlq-session-mode .page-slide-wrapper{flex-direction:column;flex:auto;height:100%;min-height:0;display:flex;overflow:hidden}html.tlq-projo-mode .course-shell,html.tlq-session-mode .course-shell{flex:auto;min-height:0;max-height:100%;height:100%!important}html.tlq-projo-mode .course-shell__sidebar,html.tlq-session-mode .course-shell__sidebar{display:none!important}html.tlq-projo-mode .course-shell__main,html.tlq-session-mode .course-shell__main{flex:auto;width:100%;max-width:none;min-height:0;max-height:100%;height:100%!important}html.tlq-projo-mode .course-shell__main>.flex.h-12,html.tlq-session-mode .course-shell__main>.flex.h-12{display:none!important}html.tlq-projo-mode .course-shell__scroll>div,html.tlq-projo-mode .course-shell__split-content>div,html.tlq-session-mode .course-shell__scroll>div,html.tlq-session-mode .course-shell__split-content>div{flex-direction:column;height:100%;min-height:0;display:flex;max-width:none!important;padding:0!important}html.tlq-projo-mode .course-shell__scroll,html.tlq-projo-mode .course-shell__split-content,html.tlq-session-mode .course-shell__scroll,html.tlq-session-mode .course-shell__split-content{flex:auto;height:100%;min-height:0;overflow:hidden!important}html.tlq-projo-mode .course-page-header,html.tlq-session-mode .course-page-header{display:none!important}html.tlq-session-mode .tlq-screen__course .tutorat-session-bar{display:flex!important}html.tlq-session-mode .tlq-screen,html.tlq-projo-mode .tlq-screen{flex:1;min-height:0}.tlq-overlay{z-index:60;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000073;justify-content:center;align-items:flex-end;padding:1rem;display:flex;position:fixed;inset:0}.tlq-overlay__panel{border:1px solid var(--border);background:var(--card);border-radius:1rem;width:min(42rem,100%);max-height:min(85vh,36rem);padding:1.25rem 1.35rem 1.35rem;overflow:auto;box-shadow:0 24px 60px #00000040}.tlq-overlay__kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--primary);font-size:.7rem;font-weight:700}.tlq-overlay__label{color:var(--muted-foreground);margin-top:.15rem;font-size:.85rem}.tlq-overlay__stem{margin-top:.85rem;font-size:1.05rem;line-height:1.55}.tlq-overlay__options{gap:.55rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.tlq-overlay__option{border:1px solid var(--border);background:var(--background);text-align:left;border-radius:.75rem;align-items:center;gap:.65rem;width:100%;padding:.75rem .85rem;transition:border-color .15s,background .15s;display:flex}.tlq-overlay__option:not(:disabled):hover{border-color:color-mix(in oklab, var(--primary) 40%, var(--border))}.tlq-overlay__option.is-selected{border-color:var(--primary);background:color-mix(in oklab, var(--primary) 8%, var(--background))}.tlq-overlay__option.is-correct{border-color:var(--success,#16a34a);background:color-mix(in oklab, #16a34a 10%, var(--background))}.tlq-overlay__option.is-wrong{border-color:var(--destructive);background:color-mix(in oklab, var(--destructive) 8%, var(--background))}.tlq-overlay__option-marker{border:2px solid var(--border);border-radius:999px;flex-shrink:0;width:.85rem;height:.85rem}.tlq-overlay__option.is-selected .tlq-overlay__option-marker{border-color:var(--primary);background:var(--primary)}.tlq-overlay__option-text{flex:1;font-size:.95rem}.tlq-overlay__hint,.tlq-overlay__feedback{margin:.85rem 0 0;font-size:.85rem}.tlq-overlay__feedback.is-ok{color:#16a34a;font-weight:600}.tlq-overlay__feedback.is-ko{color:var(--destructive);font-weight:600}.tlq-controls__list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.td-console .tlq-controls__item{background:var(--background);border-radius:.85rem}.td-console .tlq-controls__item.is-active{border-color:color-mix(in oklch, var(--primary) 50%, var(--border));box-shadow:0 0 0 1px color-mix(in oklch, var(--primary) 15%, transparent)}.tlq-controls__item{border:1px solid var(--border);background:var(--background);border-radius:.85rem;padding:.85rem}.tlq-controls__item.is-active{border-color:color-mix(in oklab, var(--primary) 45%, var(--border));box-shadow:0 0 0 1px color-mix(in oklab, var(--primary) 20%, transparent)}.tlq-controls__item-head{align-items:flex-start;gap:.65rem;display:flex}.tlq-controls__index{background:var(--muted);border-radius:999px;flex-shrink:0;place-items:center;width:1.6rem;height:1.6rem;font-size:.75rem;font-weight:700;display:grid}.tlq-controls__item-text{flex:1;min-width:0}.tlq-controls__item-title{font-size:.9rem;font-weight:600}.tlq-controls__item-preview{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;margin-top:.15rem;font-size:.78rem;overflow:hidden}.tlq-controls__item-badges{flex-direction:column;gap:.25rem;display:flex}.tlq-controls__badge{text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border);border-radius:999px;padding:.15rem .45rem;font-size:.65rem;font-weight:700}.tlq-controls__badge.is-live{color:var(--primary);border-color:color-mix(in oklab, var(--primary) 35%, var(--border))}.tlq-controls__badge.is-done{color:#16a34a}.tlq-controls__item-actions{flex-wrap:wrap;gap:.45rem;margin-top:.65rem;display:flex}.tlq-quick-add{border:1px dashed var(--border);background:color-mix(in oklab, var(--muted) 15%, transparent);border-radius:.75rem;gap:.55rem;padding:.85rem;display:grid}.tlq-quick-add__options{gap:.45rem;display:grid}.tlq-quick-add__correct{align-items:center;gap:.5rem;font-size:.85rem;display:flex}.tlq-quick-add__actions{gap:.45rem;display:flex}.tlq-screen,.tlq-projo{background:var(--background);width:100%;height:100%;min-height:0;color:var(--foreground);flex-direction:column;flex:auto;display:flex;overflow:hidden}.tlq-screen__top,.tlq-projo__top{z-index:50;border-bottom:1px solid var(--border);background:var(--card);box-shadow:0 1px 0 color-mix(in oklch, var(--border) 65%, transparent);flex-shrink:0;position:sticky;top:0}.tlq-screen__body{flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.tlq-screen--answer-ok:after,.tlq-screen--answer-ko:after{content:"";pointer-events:none;z-index:55;position:fixed;inset:0}.tlq-screen--answer-ok:after{box-shadow:inset 0 0 0 4px #22c55e,inset 0 0 48px 12px #22c55e47;box-shadow:inset 0 0 0 4px lab(70.2187% -57.9808 39.4382),inset 0 0 48px 12px lab(70.2187% -57.9808 39.4382/.28)}.tlq-screen--answer-ko:after{box-shadow:inset 0 0 0 4px var(--destructive), inset 0 0 48px 12px color-mix(in oklch, var(--destructive) 28%, transparent)}.tlq-live-modal{min-height:0;padding:clamp(1rem, 3vw, 2rem) clamp(1.25rem, 4vw, 2.5rem) max(2rem, calc(env(safe-area-inset-bottom,0px) + 1.5rem));overscroll-behavior:contain;background:radial-gradient(ellipse 120% 80% at 50% 0%, color-mix(in oklch, var(--primary) 8%, transparent), transparent 58%), color-mix(in oklch, var(--muted) 22%, var(--background));flex:auto;justify-content:center;align-items:center;display:flex;overflow-y:auto}.tlq-live-modal__panel{border:1px solid color-mix(in oklch, var(--primary) 22%, var(--border));background:var(--card);border-radius:1.15rem;width:min(44rem,100%);max-height:min(88vh,52rem);padding:clamp(1.1rem,2.5vw,1.35rem) clamp(1.15rem,3vw,1.5rem) clamp(1.15rem,2.5vw,1.35rem);overflow:auto;box-shadow:0 24px 60px #00000024,0 2px 8px #0000000f}.tlq-live-modal__head{border-bottom:1px solid color-mix(in oklch, var(--border) 55%, transparent);margin-bottom:.85rem;padding-bottom:.75rem}.tlq-live-modal__kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--primary);margin:0;font-size:.68rem;font-weight:700}.tlq-live-modal__label{color:var(--muted-foreground);margin:.2rem 0 0;font-size:.82rem}.tlq-live-modal__body .qcm-q{gap:1rem}.tlq-live-modal__foot{border-top:1px solid color-mix(in oklch, var(--border) 45%, transparent);margin-top:1rem;padding-top:.85rem}.tlq-live-modal__hint,.tlq-live-modal__feedback{color:var(--muted-foreground);margin:0;font-size:.88rem}.tlq-live-modal__feedback.is-ok{color:#16a34a;font-weight:650}.tlq-live-modal__feedback.is-ko{color:var(--destructive);font-weight:650}.tlq-live-modal__feedback.is-muted{color:var(--muted-foreground);font-style:italic}.tlq-screen--projector .tlq-screen__body{flex-direction:column;flex:auto;align-items:stretch;min-height:0;display:flex}.tlq-projo-stage{flex-shrink:0;width:min(68rem,96vw);margin-block:auto;margin-inline:auto}.tlq-projo-q{text-align:left;flex-direction:column;align-items:stretch;gap:clamp(1.5rem,4vw,2.75rem);width:100%;display:flex}.tlq-projo-q__label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted-foreground);text-align:center;margin:0;font-size:clamp(.95rem,2.2vw,1.1rem);font-weight:700}.tlq-projo-q__stem{text-wrap:balance;text-align:center;font-size:clamp(1.75rem,4.8vw,2.85rem);font-weight:600;line-height:1.4}.tlq-projo-q__prose{font-size:inherit;line-height:inherit}.tlq-projo-q__opts{gap:clamp(.85rem,2.2vw,1.15rem);margin:0;padding:0;list-style:none;display:grid}.tlq-projo-q__opt{border:2px solid var(--border);background:var(--card);border-radius:1rem;grid-template-columns:auto 1fr;align-items:start;gap:clamp(1rem,2.6vw,1.45rem);padding:clamp(1.05rem,2.6vw,1.45rem) clamp(1.25rem,3.2vw,1.75rem);display:grid}.tlq-projo-q__opt.is-correct{border-color:color-mix(in oklch, #22c55e 55%, var(--border));background:color-mix(in oklch, #22c55e 10%, var(--card))}.tlq-projo-q__letter{letter-spacing:.02em;width:clamp(2.75rem,6.5vw,3.75rem);height:clamp(2.75rem,6.5vw,3.75rem);color:var(--primary);background:color-mix(in oklch, var(--primary) 12%, var(--background));border-radius:.75rem;flex-shrink:0;place-items:center;font-size:clamp(1.25rem,3vw,1.65rem);font-weight:800;display:grid}.tlq-projo-q__opt-text{min-width:0;padding-top:.45rem;font-size:clamp(1.35rem,3.4vw,1.95rem);line-height:1.35}.tlq-projo-q__opt--bool .tlq-projo-q__opt-text{font-weight:700}.tlq-projo-q__hint{text-align:center;color:var(--muted-foreground);margin:0;font-size:clamp(1.15rem,2.8vw,1.45rem)}.tlq-projo-q__code{border:1px solid var(--border);background:var(--muted);border-radius:.85rem;margin:0;padding:clamp(1.15rem,2.6vw,1.55rem);font-size:clamp(1.05rem,2.4vw,1.35rem);line-height:1.5;overflow-x:auto}.tlq-projo-q__code-fill{width:min(100%,62rem);margin-inline:auto}.tlq-projo-q__code-fill .qcm-code-fill{margin:0}.tlq-projo-q__code-fill .qcm-code-fill__pre,.tlq-projo-q .qcm-code-fill__pre{padding:clamp(1.15rem,2.5vw,1.5rem) clamp(1.25rem,2.8vw,1.65rem);font-size:clamp(1.05rem,2.4vw,1.35rem);line-height:1.65}.tlq-projo-q .qcm-code-fill__blank{min-width:4rem;padding:.18rem .7rem .22rem;font-size:clamp(1rem,2.2vw,1.25rem)}.tlq-projo-q .qcm-code-fill__chrome .code-panel__label{font-size:clamp(.85rem,1.8vw,1rem)}.tlq-projo-q .qcm-code-fill--complete .code-panel__body,.tlq-projo-q .qcm-code-fill--complete .code-panel__body pre,.tlq-projo-q .qcm-code-fill--complete .code-panel__body pre code,.tlq-projo-q .qcm-code-fill--complete .code-panel__line-num{font-size:clamp(1.05rem,2.4vw,1.35rem);line-height:1.65}.tlq-live-modal--projector{padding:clamp(1.25rem, 3vw, 2rem) clamp(1.25rem, 4vw, 2.5rem) max(2rem, calc(env(safe-area-inset-bottom,0px) + 1.5rem));background:0 0}.tlq-live-modal__panel--flat{width:min(52rem,100%);max-height:none;box-shadow:none;background:0 0;border:none;border-radius:0;padding:0;overflow:visible}.tlq-live-modal__label--projector{letter-spacing:.04em;text-transform:uppercase;color:var(--muted-foreground);margin:0 0 1rem;font-size:.82rem;font-weight:650}.tlq-screen__projector-main--question-only .tlq-live-modal{width:100%}.tlq-screen__projector-main--question-only .tlq-live-modal__body .qcm-q__stem{font-size:clamp(1.05rem,2.2vw,1.35rem)}.tlq-screen__accent-bar,.tlq-projo__accent-bar{background:var(--primary);width:100%;height:4px}.tlq-screen__top-inner,.tlq-projo__top-inner{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.25rem 2rem;padding:clamp(1rem,2.5vw,1.5rem) clamp(1.25rem,4vw,2.5rem);display:flex}.tlq-screen__top-right{flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem;display:flex}.tlq-screen__brand,.tlq-projo__brand{flex:1;align-items:stretch;gap:0;min-width:0;display:flex}.tlq-screen__pastille.course-color-pastille--bar,.tlq-projo__pastille.course-color-pastille--bar{border-radius:.25rem 0 0 .25rem;align-self:stretch;width:5px;min-height:100%}.tlq-screen__brand-text,.tlq-projo__brand-text{min-width:0;padding-left:.875rem}.tlq-screen__brand-row,.tlq-projo__brand-row{flex-wrap:wrap;align-items:center;gap:.45rem .65rem;display:flex}.tlq-screen__kicker,.tlq-projo__kicker{letter-spacing:.07em;text-transform:uppercase;color:var(--muted-foreground);font-size:.72rem;font-weight:700}.tlq-screen__status,.tlq-projo__status{border:1px solid color-mix(in oklab, var(--primary) 35%, var(--border));background:color-mix(in oklab, var(--primary) 10%, var(--background));color:var(--primary);text-transform:uppercase;letter-spacing:.06em;border-radius:999px;align-items:center;gap:.3rem;padding:.18rem .55rem;font-size:.65rem;font-weight:700;display:inline-flex}.tlq-screen__status--revealed,.tlq-projo__status--revealed{border-color:color-mix(in oklch, #16a34a 40%, var(--border));background:color-mix(in oklch, #16a34a 10%, var(--background));color:#16a34a}.tlq-screen__course-title,.tlq-projo__course-title{letter-spacing:-.03em;text-wrap:balance;margin:.35rem 0 0;font-size:clamp(1.5rem,3.5vw,2.5rem);font-weight:700;line-height:1.12}.tlq-screen__course-meta,.tlq-projo__course-meta{color:var(--muted-foreground);margin:.35rem 0 0;font-size:.875rem}.tlq-screen__page-title,.tlq-projo__page-title{color:var(--muted-foreground);margin:.25rem 0 0;font-size:clamp(.95rem,2vw,1.125rem);line-height:1.4}.tlq-screen__code.td-code-hero,.tlq-projo__code.td-code-hero{min-width:min(100%,14rem)}.tlq-screen__code .td-code-hero__value,.tlq-projo__code .td-code-hero__value{letter-spacing:.18em;color:var(--primary);font-size:clamp(1.75rem,4vw,2.75rem)}.tlq-screen__course{overscroll-behavior:contain;min-height:0;padding:clamp(1rem, 2.5vw, 1.5rem) clamp(1.25rem, 4vw, 2.5rem) max(2.5rem, calc(env(safe-area-inset-bottom,0px) + 1.75rem));flex-direction:column;flex:auto;gap:1rem;display:flex;overflow-y:auto}.tlq-screen__course .course-content{min-height:0;padding-bottom:max(1rem, calc(env(safe-area-inset-bottom,0px) + .5rem))}.tlq-screen .tlq-live-fs.qcm-session{width:100%;max-width:none;min-height:0;padding:clamp(.75rem, 2vw, 1.25rem) clamp(1.25rem, 4vw, 2.5rem) max(2rem, calc(env(safe-area-inset-bottom,0px) + 1.5rem));overscroll-behavior:contain;flex:auto;margin-inline:0;overflow-y:auto}.tlq-live-fs__label{letter-spacing:.07em;text-transform:uppercase;color:var(--primary);margin:0 0 .75rem;font-size:.75rem;font-weight:700}.tlq-live-fs__hint,.tlq-live-fs__feedback{color:var(--muted-foreground);margin:1rem 0 0;font-size:.9rem}.tlq-live-fs__feedback.is-ok{color:#16a34a;font-weight:650}.tlq-live-fs__feedback.is-ko{color:var(--destructive);font-weight:650}.tlq-screen__projector-main{overscroll-behavior:contain;width:min(100%,72rem);min-height:0;padding:clamp(1.25rem, 3vw, 2rem) clamp(1.25rem, 4vw, 2.5rem) max(2.5rem, calc(env(safe-area-inset-bottom,0px) + 1.75rem));flex:auto;grid-template-columns:1fr;align-content:start;gap:clamp(1rem,2.5vw,1.5rem);margin:0 auto;display:grid;overflow-y:auto}.tlq-screen__projector-main.tlq-screen__projector-main--question-only{grid-template-columns:unset;align-items:center;align-content:unset;width:100%;max-width:none;padding:clamp(1rem, 3vw, 2rem) clamp(1.5rem, 5vw, 3rem) max(1.5rem, calc(env(safe-area-inset-bottom,0px) + 1rem));flex-direction:column;margin:0;display:flex}@media (min-width:960px){.tlq-screen__projector-main{grid-template-columns:1.1fr .9fr}.tlq-screen__projector-q{grid-column:1/-1}}.tlq-screen__projector-hint{border-top:1px solid var(--border);color:var(--muted-foreground);text-align:center;margin-top:1rem;padding-top:.85rem;font-size:clamp(.95rem,2vw,1.05rem)}.tlq-projo--idle{min-height:100dvh}.tlq-projo__idle-main{flex:1;place-items:center;padding:clamp(1.5rem,4vw,3rem);display:grid}.tlq-projo__idle-card{border:1px solid var(--border);background:var(--card);text-align:center;border-radius:1rem;width:min(100%,40rem);padding:clamp(1.75rem,4vw,2.5rem);box-shadow:0 1px 2px #0000000a}.tlq-projo__idle-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--primary);font-size:.72rem;font-weight:700}.tlq-projo__idle-title{letter-spacing:-.02em;margin:.5rem 0 0;font-size:clamp(1.5rem,3.5vw,2.25rem);font-weight:700;line-height:1.15}.tlq-projo__idle-hint{color:var(--muted-foreground);margin:.85rem 0 0;font-size:1rem;line-height:1.55}.tlq-projo__main{flex:1;grid-template-columns:1fr;align-content:start;gap:clamp(1rem,2.5vw,1.5rem);width:min(100%,72rem);margin:0 auto;padding:clamp(1.25rem,3vw,2rem) clamp(1.25rem,4vw,2.5rem) 2.5rem;display:grid;overflow:auto}@media (min-width:960px){.tlq-projo__main{grid-template-columns:1.1fr .9fr}.tlq-projo__question-card,.tlq-projo--revealed .tlq-projo__correction{grid-column:1/-1}}.tlq-projo__question-card{border:1px solid var(--border);background:var(--card);border-radius:1rem;padding:clamp(1.25rem,3vw,2rem)}.tlq-projo__label{letter-spacing:.07em;text-transform:uppercase;color:var(--primary);font-size:.75rem;font-weight:700}.tlq-projo__stem{letter-spacing:-.02em;color:var(--foreground);margin-top:.65rem;font-size:clamp(1.5rem,3.2vw,2.75rem);font-weight:700;line-height:1.22}.tlq-projo__stem :where(p,li,h1,h2,h3){color:inherit}.tlq-projo__waiting{border-top:1px solid var(--border);color:var(--muted-foreground);margin-top:1.25rem;padding-top:1rem;font-size:clamp(.95rem,2vw,1.05rem)}.tlq-screen__panel,.tlq-projo__panel{border:1px solid var(--border);background:var(--card);border-radius:1rem;padding:1.125rem 1.25rem}.tlq-screen__panel-head,.tlq-projo__panel-head{align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.tlq-screen__panel-title,.tlq-projo__panel-title{flex:1;font-size:.9rem;font-weight:650}.tlq-screen__panel-meta,.tlq-projo__panel-meta{font-variant-numeric:tabular-nums;font-size:.95rem}.tlq-screen__bars,.tlq-projo__bars{gap:.85rem;margin:0;padding:0;list-style:none;display:grid}.tlq-screen__bar-row,.tlq-projo__bar-row{gap:.4rem;display:grid}.tlq-screen__bar-top,.tlq-projo__bar-top{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.tlq-screen__bar-label,.tlq-projo__bar-label{font-size:clamp(.95rem,2vw,1.15rem);font-weight:600;line-height:1.3}.tlq-screen__bar-meta,.tlq-projo__bar-meta{font-variant-numeric:tabular-nums;flex-shrink:0;align-items:center;gap:.5rem;display:flex}.tlq-screen__bar-badge,.tlq-projo__bar-badge{text-transform:uppercase;letter-spacing:.05em;background:color-mix(in oklch, #16a34a 12%, var(--background));color:#16a34a;border:1px solid color-mix(in oklch, #16a34a 30%, var(--border));border-radius:999px;padding:.15rem .45rem;font-size:.62rem;font-weight:700}.tlq-screen__bar-count,.tlq-projo__bar-count{color:var(--muted-foreground);font-weight:700}.tlq-screen__bar-pct,.tlq-projo__bar-pct{text-align:right;min-width:2.5rem;color:var(--foreground);font-weight:800}.tlq-screen__bar-track,.tlq-projo__bar-track{background:var(--muted);border-radius:999px;height:.75rem;overflow:hidden}.tlq-screen__bar-fill,.tlq-projo__bar-fill{border-radius:inherit;background:var(--primary);height:100%;transition:width .4s cubic-bezier(.22,1,.36,1);display:block}.tlq-screen__bar-fill.is-correct,.tlq-projo__bar-fill.is-correct{background:#16a34a}.tlq-screen__correction,.tlq-projo__correction{border:1px solid color-mix(in oklch, #16a34a 40%, var(--border));background:color-mix(in oklch, #16a34a 8%, var(--card));border-radius:1rem;padding:1.25rem 1.5rem}.tlq-screen__correction-kicker,.tlq-projo__correction-kicker{text-transform:uppercase;letter-spacing:.08em;color:#16a34a;font-size:.72rem;font-weight:700}.tlq-screen__correction-answer,.tlq-projo__correction-answer{letter-spacing:-.02em;margin-top:.35rem;font-size:clamp(1.35rem,3vw,2rem);font-weight:800;line-height:1.2}.tlq-screen__correction-meta,.tlq-projo__correction-meta{color:var(--muted-foreground);margin-top:.45rem;font-size:.95rem}.tutor-live-q{border:1px solid var(--border);background:var(--card);border-radius:1rem;padding:1.1rem 1.25rem;animation:.35s tutor-live-q-in}@keyframes tutor-live-q-in{0%{opacity:0;transform:translateY(.35rem)}to{opacity:1;transform:translateY(0)}}.tutor-live-q--active{border-color:color-mix(in oklab, var(--primary) 40%, var(--border));box-shadow:0 0 0 1px color-mix(in oklab, var(--primary) 15%, transparent)}.tutor-live-q--revealed{border-color:color-mix(in oklab, #16a34a 35%, var(--border))}.tutor-live-q__label{text-transform:uppercase;letter-spacing:.06em;color:var(--primary);margin-bottom:.5rem;font-size:.75rem;font-weight:700}.tutor-live-q__stem{font-size:1.05rem;line-height:1.55}.tutor-live-q__options{gap:.5rem;margin:.85rem 0 0;padding:0;list-style:none;display:grid}.tutor-live-q__option{border:1px solid var(--border);background:var(--background);text-align:left;border-radius:.75rem;align-items:center;gap:.65rem;width:100%;padding:.7rem .85rem;display:flex}.tutor-live-q__option:not(:disabled):hover{border-color:color-mix(in oklab, var(--primary) 35%, var(--border))}.tutor-live-q__option.is-selected{border-color:var(--primary);background:color-mix(in oklab, var(--primary) 8%, var(--background))}.tutor-live-q__option.is-correct{background:color-mix(in oklab, #16a34a 10%, var(--background));border-color:#16a34a}.tutor-live-q__option.is-wrong{border-color:var(--destructive)}.tutor-live-q__option-marker{border:2px solid var(--border);border-radius:999px;flex-shrink:0;width:.85rem;height:.85rem}.tutor-live-q__option.is-selected .tutor-live-q__option-marker{border-color:var(--primary);background:var(--primary)}.tutor-live-q__hint,.tutor-live-q__feedback{margin:.75rem 0 0;font-size:.85rem}.tutor-live-q__feedback.is-ok{color:#16a34a;font-weight:600}.tutor-live-q__feedback.is-ko{color:var(--destructive);font-weight:600}
.tutor-activity{border:1px solid var(--border);background:var(--card);border-radius:1rem;padding:1rem 1.15rem}.tutor-activity__title,.tutor-activity__question{margin:0 0 .65rem;font-weight:600}.tutor-activity__meta{color:var(--muted-foreground);margin:0;font-size:.8125rem}.tutor-activity__options{flex-wrap:wrap;gap:.4rem;display:flex}.tutor-activity__option{border:1px solid var(--border);background:var(--background);cursor:pointer;border-radius:999px;padding:.45rem .85rem;font-size:.875rem;transition:background .12s,border-color .12s}.tutor-activity__option.is-selected{border-color:var(--primary);background:color-mix(in oklch, var(--primary) 12%, var(--background))}.tutor-activity__btn{border:1px solid var(--border);background:var(--foreground);color:var(--background);cursor:pointer;border-radius:.5rem;padding:.4rem .75rem;font-size:.8125rem}.tutor-activity__btn--primary{background:var(--primary);color:var(--primary-foreground);border-color:#0000}.tutor-activity__btn--ghost{color:var(--foreground);background:0 0}.tutor-activity--timer .tutor-activity__timer-display{font-variant-numeric:tabular-nums;letter-spacing:.04em;margin:.5rem 0;font-size:clamp(2rem,6vw,3rem);font-weight:800}.tutor-activity__step-nav{flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem;display:flex}.tutor-activity__step-dot{border:1px solid var(--border);background:var(--background);cursor:pointer;border-radius:999px;width:2rem;height:2rem;font-size:.75rem;font-weight:600}.tutor-activity__step-dot.is-current{background:var(--foreground);color:var(--background)}.tutor-activity__step-dot.is-done{background:color-mix(in oklch, var(--primary) 15%, var(--background))}.tutor-activity__flashcard{border:1px dashed var(--border);background:var(--muted);cursor:pointer;text-align:center;border-radius:.85rem;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:9rem;padding:1.25rem;transition:transform .2s;display:flex}.tutor-activity__flashcard.is-flipped{background:color-mix(in oklch, var(--primary) 8%, var(--muted))}.tutor-activity__flashcard-nav{justify-content:center;align-items:center;gap:.5rem;margin-top:.65rem;display:flex}.tutor-activity__svg-canvas{border:1px solid var(--border);background:var(--muted) center / contain no-repeat;border-radius:.65rem;min-height:14rem;position:relative}.tutor-activity__svg-zone{border:2px dashed color-mix(in oklch, var(--primary) 55%, transparent);background:color-mix(in oklch, var(--primary) 8%, transparent);cursor:pointer;border-radius:.35rem;position:absolute}.tutor-activity__svg-zone.is-selected{background:color-mix(in oklch, var(--primary) 22%, transparent);border-style:solid}.tutorat-blank-ordering{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.tutorat-blank-ordering__item{border:1px solid var(--border);background:var(--background);border-radius:.45rem;align-items:center;gap:.4rem;padding:.35rem .5rem;display:flex}.tutorat-blank-matching__row{grid-template-columns:1fr 1fr;align-items:center;gap:.5rem;margin-bottom:.35rem;display:grid}.tutorat-blank-tf{gap:.35rem;display:inline-flex}.tutorat-blank-tf__btn{border:1px solid var(--border);background:var(--background);cursor:pointer;border-radius:999px;padding:.25rem .65rem;font-size:.8125rem}.tutorat-blank-tf__btn.is-selected{background:var(--foreground);color:var(--background)}.tutor-scenario-bar{border-bottom:1px solid var(--border);background:color-mix(in oklch, var(--primary) 6%, var(--background));flex-wrap:wrap;align-items:center;gap:.5rem;padding:.65rem 1rem;display:flex}.tutor-scenario-bar__steps{flex-wrap:wrap;flex:1;gap:.35rem;display:flex}.tutor-scenario-bar__step{border:1px solid var(--border);background:var(--card);border-radius:999px;padding:.25rem .55rem;font-size:.75rem}.tutor-scenario-bar__step.is-active{border-color:var(--primary);font-weight:600}.tutor-scenario-bar__step.is-done{opacity:.55}
.course-correction-trigger{align-items:center;gap:.75rem;padding:.25rem 0;display:flex}.course-correction-trigger__rule{background:var(--border);flex:1;height:1px;transition:background-color .2s}.course-correction-trigger__btn{border:1px solid var(--border);color:var(--muted-foreground);background:var(--background);cursor:pointer;border-radius:999px;flex-shrink:0;align-items:center;gap:.4rem;padding:.3rem .8rem .3rem .6rem;font-size:.75rem;font-weight:600;transition:border-color .18s,color .18s,background-color .18s;display:inline-flex}.course-correction-trigger__btn:hover{border-color:color-mix(in oklch, var(--primary) 40%, var(--border));color:var(--primary);background:color-mix(in oklch, var(--primary) 6%, var(--background))}.course-correction-trigger--active .course-correction-trigger__btn{border-color:color-mix(in oklch, var(--primary) 50%, var(--border));color:var(--primary);background:color-mix(in oklch, var(--primary) 9%, var(--background))}.course-correction-trigger--active .course-correction-trigger__rule{background:color-mix(in oklch, var(--primary) 30%, var(--border))}.course-shell__split{flex-direction:row;display:flex}.course-shell__split-content{overscroll-behavior:contain;flex:1;min-width:0}.course-correction-panel{border-left:1px solid var(--border);background:var(--bg-secondary,var(--card));overscroll-behavior:contain;flex-direction:column;flex-shrink:0;width:clamp(22rem,42%,44rem);display:flex;overflow-y:auto}.course-correction-panel__head{z-index:1;border-bottom:1px solid var(--border);background:var(--bg-secondary,var(--card));box-shadow:0 1px 0 color-mix(in oklch, var(--border) 60%, transparent);justify-content:space-between;align-items:center;gap:.75rem;padding:.875rem 1.25rem;display:flex;position:sticky;top:0}.course-correction-panel__title{color:var(--primary);align-items:center;gap:.5rem;font-size:.875rem;font-weight:700;display:flex}.course-correction-panel__close{border:1px solid var(--border);width:2rem;height:2rem;color:var(--muted-foreground);cursor:pointer;background:0 0;border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .15s,background-color .15s,color .15s;display:flex}.course-correction-panel__close:hover{border-color:color-mix(in oklch, var(--foreground) 20%, var(--border));background:var(--accent-bg);color:var(--foreground)}.course-correction-panel__body{flex:1;padding:1.25rem 1.5rem}@media (max-width:767px){.course-shell__split{flex-direction:column}.course-correction-panel{border-left:none;border-top:1px solid var(--border);width:100%;max-height:55vh}}
.grades-page{width:100%}.grades-page-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:2rem;width:100%;margin-bottom:2rem;padding-bottom:1.75rem;scroll-margin-top:5rem;display:flex}@media (max-width:640px){.grades-page-header{flex-direction:column;align-items:flex-start;gap:1.25rem}}.grades-page-header__body{border-left:3px solid var(--course-color,var(--primary));flex:1;min-width:0;padding-left:1.15rem}.grades-page-header__kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--muted-foreground);margin:0 0 .35rem;font-size:.6875rem;font-weight:700}.grades-page-header__title{letter-spacing:-.035em;text-wrap:balance;max-width:none;color:var(--foreground);margin:0;font-size:clamp(1.5rem,3.5vw,2.25rem);font-weight:700;line-height:1.12}.grades-page-header__meta{color:var(--muted-foreground);margin:.45rem 0 0;font-size:.875rem}.grades-page-header__stats{flex-shrink:0;align-items:flex-start;gap:0 2rem;margin:0;padding:0;list-style:none;display:flex}@media (max-width:640px){.grades-page-header__stats{gap:0 1.5rem}}.grades-page-header__stat{text-align:right;min-width:4rem}.grades-page-header__stat-label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted-foreground);margin:0;font-size:.5625rem;font-weight:700}.grades-page-header__stat-value{font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--foreground);margin:.2rem 0 0;font-size:1.375rem;font-weight:800}.grades-page-header__stat-hint{color:var(--muted-foreground);margin:.1rem 0 0;font-size:.5625rem}.grades-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:1.5rem 0 1rem;display:flex}.grades-toolbar__title{border-left:2px solid var(--course-color,var(--primary));letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground);margin:0;padding-left:.65rem;font-size:.8125rem;font-weight:700}.grades-view-toggle{border:1px solid var(--border);background:color-mix(in oklch, var(--muted) 35%, transparent);border-radius:999px;gap:.15rem;padding:.2rem;display:inline-flex}.grades-view-toggle__btn{color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.45rem .85rem;font-size:.75rem;font-weight:600;transition:background .15s,color .15s}.grades-view-toggle__btn.is-active{background:var(--course-color,var(--primary));color:var(--primary-foreground);box-shadow:0 1px 4px color-mix(in oklch, var(--course-color,var(--primary)) 30%, transparent)}.grades-subject{border:1px solid color-mix(in oklch, var(--course-color,var(--primary)) 25%, var(--border));border-left:3px solid var(--course-color,var(--primary));background:var(--card);box-shadow:0 1px 3px color-mix(in oklch, var(--foreground) 4%, transparent);border-radius:1rem;margin-bottom:1.75rem;overflow:hidden}.grades-subject__head{border-bottom:1px solid var(--border);background:color-mix(in oklch, var(--muted) 8%, var(--card));flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;padding:.875rem 1rem .875rem 0;display:flex}.grades-subject__accent{flex-shrink:0;align-self:stretch;width:.35rem;margin-right:.875rem}.grades-subject__identity{flex:1;min-width:0}.grades-subject__name{letter-spacing:.04em;text-transform:uppercase;color:var(--foreground);align-items:center;gap:.5rem;margin:0;font-size:.9375rem;font-weight:800;display:flex}.grades-subject__meta{color:var(--muted-foreground);margin:.2rem 0 0;font-size:.6875rem;font-weight:600}.grades-subject__average{text-align:right}.grades-subject__average-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground);margin:0;font-size:.625rem;font-weight:700}.grades-subject__average-value{font-variant-numeric:tabular-nums;color:var(--foreground);margin:.1rem 0 0;font-size:1.25rem;font-weight:800}.grades-subject__link{color:var(--muted-foreground);margin-top:.35rem;font-size:.6875rem;font-weight:600;text-decoration:none;display:inline-flex}.grades-subject__link:hover{color:var(--foreground);text-decoration:underline}.grades-entry-list{margin:0;padding:0;list-style:none}.grades-entry{border-top:1px solid var(--border);align-items:flex-start;gap:.875rem;padding:.875rem 1rem;transition:background .12s;display:flex}.grades-entry:first-child{border-top:none}.grades-entry:hover{background:color-mix(in oklch, var(--muted) 6%, transparent)}.grades-entry__date{border:1px solid color-mix(in oklch, var(--course-color,var(--primary)) 25%, var(--border));background:color-mix(in oklch, var(--course-color,var(--primary)) 10%, var(--card));text-align:center;width:2.75rem;height:2.75rem;color:var(--muted-foreground);border-radius:.5rem;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;font-size:.625rem;font-weight:700;line-height:1.1;display:flex}.grades-entry__date-day{color:var(--foreground);font-size:.8125rem;font-weight:800}.grades-entry__body{flex:1;min-width:0}.grades-entry__title{color:var(--foreground);margin:0;font-size:.9375rem;font-weight:700;line-height:1.35}.grades-entry__meta{color:var(--muted-foreground);margin:.2rem 0 0;font-size:.75rem}.grades-entry__score-wrap{shrink:0;text-align:right}.grades-entry__score{border:1px solid color-mix(in oklch, var(--course-color,var(--primary)) 25%, var(--border));background:color-mix(in oklch, var(--course-color,var(--primary)) 10%, var(--card));font-variant-numeric:tabular-nums;color:var(--foreground);border-radius:.35rem;margin:0;padding:.15rem .45rem;font-size:1rem;font-weight:800;display:inline-block}.grades-entry__percent{font-variant-numeric:tabular-nums;color:var(--muted-foreground);margin:.1rem 0 0;font-size:.6875rem}.grades-entry__action{color:var(--primary);margin-top:.35rem;font-size:.6875rem;font-weight:700;text-decoration:none;display:inline-flex}.grades-entry__action:hover{text-decoration:underline}.grades-entry--pending .grades-entry__score{border-color:var(--border);background:color-mix(in oklch, var(--muted) 40%, transparent);color:var(--muted-foreground);font-size:.75rem;font-weight:600}.grades-empty{border:1px dashed var(--border);background:color-mix(in oklch, var(--muted) 25%, transparent);text-align:center;border-radius:1rem;padding:2.5rem 1.5rem}.grades-empty__title{margin:0;font-size:1.0625rem;font-weight:700}.grades-empty__text{max-width:24rem;color:var(--muted-foreground);margin:.5rem auto 0;font-size:.875rem}@media (prefers-reduced-motion:reduce){.grades-entry,.grades-view-toggle__btn,.grades-tabs__tab,.grades-markbook__row{transition:none}}.grades-transcript-page{width:100%;max-width:none;min-height:calc(100dvh - var(--header-offset,3.75rem));--grades-gutter:clamp(1.25rem, 3vw, 3rem);background:var(--background);flex-direction:column;flex:1;display:flex}.grades-transcript-header-band{padding:clamp(1.75rem, 4vw, 2.5rem) var(--grades-gutter)}.grades-transcript-header-band .grades-page-header{margin-bottom:0}.grades-transcript-tabs-band{top:var(--header-offset,3.75rem);z-index:20;border-bottom:1px solid var(--border);background:var(--background);position:sticky}.grades-tabs{width:100%}.grades-tabs__scroll{padding:.45rem var(--grades-gutter);overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;align-items:center;gap:.2rem;display:flex;overflow-x:auto}.grades-tabs__scroll::-webkit-scrollbar{display:none}.grades-tabs__tab{color:var(--muted-foreground);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;flex-shrink:0;align-items:center;gap:.4rem;padding:.42rem .85rem;font-size:.75rem;font-weight:600;line-height:1.2;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;display:inline-flex}.grades-tabs__tab:hover{background:color-mix(in oklch, var(--muted) 50%, transparent);color:var(--foreground);border-color:var(--border)}.grades-tabs__tab.is-active{background:var(--primary);color:var(--primary-foreground);box-shadow:0 1px 4px color-mix(in oklch, var(--primary) 30%, transparent);border-color:#0000;font-weight:700}.grades-tabs__tab--subject{max-width:12rem}.grades-tabs__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.grades-tabs__avg{font-variant-numeric:tabular-nums;background:color-mix(in oklch, var(--primary-foreground) 15%, transparent);color:inherit;opacity:.85;border-radius:999px;flex-shrink:0;padding:.1rem .35rem;font-size:.625rem;font-weight:800}.grades-tabs__tab:not(.is-active) .grades-tabs__avg{background:color-mix(in oklch, var(--muted) 60%, transparent);color:var(--foreground);opacity:1}.grades-tabs__divider{background:var(--border);flex-shrink:0;width:1px;height:1.1rem;margin-inline:.15rem}.grades-transcript-main{width:100%;max-width:none;padding:clamp(1.25rem, 3vw, 1.75rem) var(--grades-gutter) clamp(4.5rem, 8vw, 5.5rem);background:var(--background);flex:1}.grades-transcript-main .grades-panels{width:100%;max-width:none;box-shadow:none;background:0 0;border:none;border-radius:0;margin:0;padding:0;overflow:visible}.grades-panels{padding:1.25rem clamp(1rem,2.5vw,1.5rem) 1.5rem}.grades-panel-head{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem 1.5rem;margin-bottom:1.25rem;padding-bottom:1.25rem;display:flex}.grades-panel-head__copy{border-left:3px solid var(--primary);flex:1;min-width:0;max-width:40rem;padding-left:1.15rem}.grades-panel-head--subject .grades-panel-head__copy{border-left-color:var(--panel-accent,var(--primary))}.grades-panel-head__eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--muted-foreground);margin:0;font-size:.6875rem;font-weight:700}.grades-panel-head__title{letter-spacing:-.025em;color:var(--foreground);margin:.4rem 0 0;font-size:clamp(1.25rem,2.5vw,1.625rem);font-weight:700;line-height:1.15}.grades-panel-head__meta{color:var(--muted-foreground);margin:.45rem 0 0;font-size:.8125rem;line-height:1.45}.grades-panel-head__link{color:var(--muted-foreground);margin-top:.55rem;font-size:.75rem;font-weight:600;text-decoration:none;display:inline-flex}.grades-panel-head__link:hover{color:var(--foreground);text-underline-offset:3px;text-decoration:underline}.grades-panel-head__aside{border:1px solid var(--border);text-align:right;background:0 0;border-radius:.55rem;flex-shrink:0;min-width:5.5rem;padding:.65rem .85rem}.grades-panel-head__stat-label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted-foreground);margin:0;font-size:.5625rem;font-weight:700}.grades-panel-head__stat-value{font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--foreground);margin:.2rem 0 0;font-size:1.375rem;font-weight:800}.grades-panel__empty{border:1px dashed var(--border);text-align:center;color:var(--muted-foreground);background:0 0;border-radius:.5rem;margin:0;padding:2rem 1rem;font-size:.875rem}.grades-panel--general{padding:0}.grades-panel--general .grades-general{margin:0}.grades-panel--general .grades-markbook__table-wrap{background:0 0;border:none;border-radius:0;overflow-x:auto}.grades-transcript-page .grades-markbook__table-wrap,.grades-transcript-page .grades-markbook__table thead,.grades-transcript-page .grades-bulletin__head{background:0 0}.grades-transcript-page .grades-markbook__table-wrap{border:none;border-radius:0}.grades-markbook__table-wrap{border:1px solid var(--border);background:var(--background);border-radius:.55rem;overflow-x:auto}.grades-markbook__table{border-collapse:collapse;width:100%;min-width:min(100%,36rem);font-size:.8125rem}.grades-markbook__table thead{background:color-mix(in oklch, var(--muted) 32%, var(--card));border-bottom:1px solid var(--border)}.grades-markbook__table th{letter-spacing:.08em;text-transform:uppercase;text-align:left;color:var(--muted-foreground);white-space:nowrap;padding:.4rem .65rem;font-size:.6rem;font-weight:700}.grades-markbook__table td{border-top:1px solid color-mix(in oklch, var(--border) 75%, transparent);vertical-align:middle;padding:.45rem .65rem}.grades-panel--general .grades-markbook__table{min-width:0;font-size:.75rem}.grades-panel--general .grades-markbook__table th{padding:.35rem .55rem}.grades-panel--general .grades-markbook__table td{padding:.3rem .55rem}.grades-panel--general .grades-markbook__average{min-width:2rem;padding:.08rem .3rem;font-size:.75rem}.grades-markbook__row{transition:background-color .12s}.grades-markbook__row:hover{background:color-mix(in oklch, var(--primary) 5%, transparent)}.grades-markbook__table th.grades-markbook__col--num,.grades-markbook__table th.grades-markbook__col--action,.grades-markbook__col--num,.grades-markbook__col--action{text-align:right;white-space:nowrap}.grades-markbook__col--hide-sm{display:none}@media (min-width:640px){.grades-markbook__col--hide-sm{display:table-cell}}.grades-markbook__subject{max-width:100%;font:inherit;color:var(--foreground);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;padding:0;font-weight:700;display:inline-flex}.grades-markbook__subject:hover .grades-markbook__subject-name{text-underline-offset:3px;text-decoration:underline}.grades-markbook__subject-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.grades-markbook__meta{color:var(--muted-foreground);font-size:.75rem}.grades-markbook__num{font-variant-numeric:tabular-nums;font-weight:600}.grades-markbook__average{font-variant-numeric:tabular-nums;text-align:center;background:color-mix(in oklch, var(--course-color,var(--primary)) 12%, var(--muted));min-width:2.35rem;color:var(--foreground);border-radius:.25rem;padding:.12rem .35rem;font-size:.8125rem;font-weight:800;display:inline-block}.grades-markbook__average--empty{color:var(--muted-foreground);background:0 0;font-weight:600}.grades-markbook__actions{justify-content:flex-end;align-items:center;gap:.35rem;display:inline-flex}.grades-markbook__go{width:1.65rem;height:1.65rem;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:.35rem;justify-content:center;align-items:center;padding:0;transition:color .12s,background-color .12s;display:inline-flex}.grades-markbook__go:hover{color:var(--foreground);background:color-mix(in oklch, var(--muted) 40%, transparent)}.grades-markbook__link{color:var(--muted-foreground);white-space:nowrap;font-size:.625rem;font-weight:600;text-decoration:none}.grades-markbook__link:hover{color:var(--foreground);text-decoration:underline}.grades-subject--panel{box-shadow:none;background:0 0;border:none;border-radius:0;margin-bottom:0;overflow:visible}.grades-subject--panel .grades-panel-head{margin-bottom:1rem}.grades-bulletin{border:1px solid var(--border);background:var(--background);border-radius:.55rem;overflow:hidden}.grades-transcript-page .grades-bulletin{background:0 0;border:none;border-radius:0}.grades-bulletin__head{border-bottom:1px solid var(--border);background:color-mix(in oklch, var(--muted) 32%, var(--card));letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground);grid-template-columns:4.5rem 1fr 5.5rem;gap:.75rem;padding:.5rem 1rem;font-size:.625rem;font-weight:700;display:none}@media (min-width:640px){.grades-bulletin__head{display:grid}.grades-bulletin__list .grades-entry{grid-template-columns:4.5rem 1fr 5.5rem;align-items:center;gap:.75rem;display:grid}.grades-bulletin__list .grades-entry__date{text-align:left;background:0 0;border:none;border-radius:0;flex-direction:row;gap:.2rem;width:auto;height:auto;padding:.15rem 0;font-size:.75rem;font-weight:600}.grades-bulletin__list .grades-entry__date-day{font-size:.8125rem}.grades-bulletin__list .grades-entry__score-wrap{text-align:right}}.grades-bulletin--chrono .grades-bulletin__list .grades-entry__meta{font-weight:500}
.home-page{--home-gutter:clamp(1.25rem, 3vw, 3rem);width:100%;max-width:none}.home-page__inner{width:100%;max-width:none;padding-inline:var(--home-gutter);margin-inline:auto}.home-page__inner--narrow{max-width:48rem}.home-page__inner--wide{max-width:80rem}.home-section--contrast .home-page__eyebrow{color:color-mix(in oklch, var(--background) 70%, transparent)}.home-section--contrast .home-page__title{color:var(--background)}.home-section--accent-surface{background:color-mix(in oklch, var(--home-section-accent,var(--primary)) 8%, var(--background))}.home-page__intro--accent{border-left-color:var(--home-section-accent,var(--primary))}.home-page__intro.text-center{border-left:none;border-top:3px solid var(--primary);padding-top:.85rem;padding-left:0}.home-page__intro.text-center.home-page__intro--accent{border-top-color:var(--home-section-accent,var(--primary))}.home-page__intro.text-right{border-left:none;border-right:3px solid var(--primary);padding-left:0;padding-right:1.15rem}.home-page__intro.text-right.home-page__intro--accent{border-right-color:var(--home-section-accent,var(--primary))}.home-nested-blocks__item>.home-carousel--nested,.home-nested-blocks__item>.home-features--nested,.home-nested-blocks__item>.home-quick-links--nested{margin-inline:0}.home-carousel--cards .home-carousel__slide--card{border:1px solid var(--border);background:var(--card);box-shadow:0 1px 3px color-mix(in oklch, var(--foreground) 6%, transparent);border-radius:1rem;overflow:hidden}.home-carousel--compact .home-carousel__slide--compact .home-carousel__slide-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.home-carousel--compact .home-carousel__body{padding-block:.85rem}.home-config-grid__cell{min-width:0}.home-banner{border:1px solid var(--border);background:var(--muted);border-radius:.75rem;padding:.85rem 1rem}.home-banner--info{background:color-mix(in oklch, var(--primary) 8%, var(--muted));border-color:color-mix(in oklch, var(--primary) 25%, var(--border))}.home-banner--success{background:color-mix(in oklch, #4a7c59 10%, var(--muted));border-color:color-mix(in oklch, #4a7c59 30%, var(--border))}.home-banner--warning{background:color-mix(in oklch, #b7a66a 14%, var(--muted));border-color:color-mix(in oklch, #b7a66a 35%, var(--border))}.home-banner--accent{background:color-mix(in oklch, var(--primary) 12%, var(--card));border-color:color-mix(in oklch, var(--primary) 35%, var(--border))}.home-banner__message{color:var(--foreground)}.home-stats--cards{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.home-stats--cards .home-stats__item{border:1px solid var(--border);background:var(--card);border-radius:1rem;padding:1rem 1.1rem}.home-stats--inline{flex-wrap:wrap;gap:1.25rem 2rem;margin:0;padding:0;list-style:none;display:flex}.home-stats--minimal{text-align:center;grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.home-stats__icon{color:var(--primary);margin-bottom:.35rem;display:inline-flex}.home-stats__value{letter-spacing:-.03em;color:var(--foreground);margin:0;font-size:clamp(1.5rem,3vw,2rem);font-weight:800;line-height:1.1}.home-stats__suffix{color:var(--muted-foreground);margin-left:.12em;font-size:.72em;font-weight:700}.home-stats__label{color:var(--muted-foreground);margin:.35rem 0 0;font-size:.8125rem;font-weight:600}.home-stats__hint{color:color-mix(in oklch, var(--muted-foreground) 85%, transparent);margin:.2rem 0 0;font-size:.6875rem}.home-page__intro{border-left:3px solid var(--primary);max-width:42rem;padding-left:1.15rem}@media (min-width:640px){.home-page__intro{padding-left:1.35rem}}.home-page__eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--muted-foreground);margin:0;font-size:.6875rem;font-weight:700}.home-page__title{letter-spacing:-.03em;text-wrap:balance;color:var(--foreground);margin:.45rem 0 0;font-size:clamp(1.5rem,3vw,2.25rem);font-weight:700;line-height:1.12}.home-page__intro>:not(:first-child){margin-top:.55rem}.home-hero--split{min-height:min(48vh,26rem)!important}.home-hero__layout{align-items:start;gap:1.25rem;display:grid}@media (min-width:768px){.home-hero__layout{grid-template-columns:minmax(0,1fr) 17.5rem;gap:1.35rem}}@media (min-width:1024px){.home-hero__layout{grid-template-columns:minmax(0,1fr) 19rem;gap:1.5rem}}.home-hero__actions{margin-top:1.5rem}.home-hero__layout .home-page__intro{max-width:none}.home-hero__aside{border:1px solid var(--border);background:var(--card);border-radius:.75rem;padding:.65rem 0 .45rem}@media (min-width:900px){.home-hero__aside{margin-top:.15rem}}.home-hero__aside-label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted-foreground);margin:0;padding:0 .9rem .5rem;font-size:.5625rem;font-weight:700}.home-hero__highlights{margin:0;padding:0;list-style:none}.home-hero__highlight{border-top:1px solid color-mix(in oklch, var(--border) 75%, transparent);color:inherit;grid-template-columns:auto 1fr auto;align-items:start;gap:.65rem;padding:.7rem .9rem;text-decoration:none;transition:background-color .12s;display:grid}.home-hero__highlights li:first-child .home-hero__highlight{border-top:none}a.home-hero__highlight:hover{background:color-mix(in oklch, var(--muted) 22%, transparent)}.home-hero__highlight-icon{background:color-mix(in oklch, var(--primary) 10%, var(--muted));width:1.75rem;height:1.75rem;color:var(--foreground);border-radius:.4rem;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.home-hero__highlight-copy{flex-direction:column;gap:.12rem;min-width:0;display:flex}.home-hero__highlight-title-row{flex-wrap:wrap;align-items:center;gap:.3rem .4rem;display:flex}.home-hero__highlight-title{color:var(--foreground);font-size:.8125rem;font-weight:700;line-height:1.25}.home-hero__highlight-meta{background:color-mix(in oklch, var(--muted) 40%, transparent);letter-spacing:.05em;text-transform:uppercase;color:var(--muted-foreground);border-radius:.2rem;padding:.06rem .35rem;font-size:.5rem;font-weight:700}.home-hero__highlight-desc{color:var(--muted-foreground);font-size:.6875rem;line-height:1.35}.home-hero__highlight-arrow{color:var(--muted-foreground);margin-top:.1rem}a.home-hero__highlight:hover .home-hero__highlight-arrow{color:var(--foreground)}
.home-carousel{--hc-autoplay-ms:7s;padding-block:1.35rem 1.75rem}@media (min-width:640px){.home-carousel{padding-block:1.5rem 2rem}}.home-carousel__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem 1.25rem;margin-bottom:1rem;display:flex}.home-carousel__intro{flex:1;min-width:0;max-width:36rem;margin-bottom:0}.home-carousel__controls{flex-shrink:0;align-items:center;gap:.5rem;display:inline-flex}.home-carousel__nav-btn{border:1px solid var(--border);background:var(--card);width:2.25rem;height:2.25rem;color:var(--foreground);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;transition:background-color .15s;display:inline-flex}.home-carousel__nav-btn:hover{background:color-mix(in oklch, var(--muted) 30%, var(--card))}.home-carousel__counter{font-variant-numeric:tabular-nums;min-width:3.25rem;color:var(--muted-foreground);justify-content:center;align-items:baseline;gap:.15rem;margin:0;display:inline-flex}.home-carousel__counter-current{color:var(--foreground);font-size:1rem;font-weight:800}.home-carousel__counter-sep{opacity:.45;font-size:.6875rem}.home-carousel__counter-total{font-size:.6875rem;font-weight:700}.home-carousel__tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:0;margin-bottom:1rem;display:flex}.home-carousel__tab{color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.55rem .9rem;font-size:.8125rem;font-weight:600;line-height:1.2;transition:color .15s,border-color .15s;position:relative}.home-carousel__tab:hover{color:var(--foreground)}.home-carousel__tab.is-active{color:var(--foreground);border-bottom-color:var(--primary)}.home-carousel__viewport{border:1px solid var(--border);background:var(--card);border-radius:.85rem;overflow:hidden}.home-carousel__content{margin-left:0!important}.home-carousel__item{min-width:0}.home-carousel__link-wrap{color:inherit;outline:none;text-decoration:none;display:block}.home-carousel__link-wrap:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.home-carousel__slide{grid-template-columns:1fr;display:grid}@media (min-width:768px){.home-carousel__slide{grid-template-columns:1.15fr 1fr;min-height:15rem}}.home-carousel__media{aspect-ratio:16/10;background:var(--muted);position:relative;overflow:hidden}@media (min-width:768px){.home-carousel__media{aspect-ratio:auto;min-height:15rem}}.home-carousel__media img,.home-carousel__media .home-carousel__placeholder{width:100%;height:100%}.home-carousel__placeholder{color:var(--muted-foreground);justify-content:center;align-items:center;font-size:.875rem;display:flex}.home-carousel__body{border-top:1px solid var(--border);flex-direction:column;justify-content:center;gap:.5rem;padding:1.15rem 1.25rem;display:flex}@media (min-width:768px){.home-carousel__body{border-top:none;border-left:1px solid var(--border);padding:1.35rem 1.5rem}}.home-carousel__slide-title{letter-spacing:-.02em;color:var(--foreground);margin:0;font-size:clamp(1.0625rem,2vw,1.375rem);font-weight:700;line-height:1.2}.home-carousel__slide-desc{color:var(--muted-foreground);margin:0;font-size:.8125rem;line-height:1.55}.home-carousel__link{color:var(--foreground);align-items:center;gap:.3rem;margin-top:.25rem;font-size:.75rem;font-weight:700;display:inline-flex}.home-carousel__dots{flex-wrap:wrap;gap:.4rem;margin-top:.85rem;display:flex}.home-carousel__dot{background:color-mix(in oklch, var(--foreground) 16%, transparent);cursor:pointer;border:none;border-radius:999px;width:1.75rem;height:.28rem;padding:0;position:relative;overflow:hidden}.home-carousel__dot.is-active{background:color-mix(in oklch, var(--primary) 20%, transparent);width:2.25rem}.home-carousel__dot-progress{border-radius:inherit;background:var(--primary);width:0;position:absolute;inset:0 auto 0 0}.home-carousel__dot.is-animating .home-carousel__dot-progress{animation:home-carousel-autoplay var(--hc-autoplay-ms) linear forwards}@keyframes home-carousel-autoplay{0%{width:0}to{width:100%}}@media (prefers-reduced-motion:reduce){.home-carousel__dot.is-animating .home-carousel__dot-progress{width:100%;animation:none}}
